Dear Team,

I just examining iTextSharp 5.1.3 (11.30.2011) and I tried to make an  
invoice looks whit it.
I would like to add an one lined table with two cell (aligned left and  
right) into another tablle's cell.
But not all situation working well for me, in the TaxLine method it  
working, but in the ItemLine method (between "!!!!!!!!!!!!"):
-if the parent cell is aligned right i see the one lined table's right cell
-if the parent cell is aligned left i see the one lined table's left cell
-if the parent cell is unaligned i can not see one lined table's cell,  
the cell is empty

It is seems to me the cell inlined table's width is not equal with the  
cell width.

What is the error which i made in ItemLine method?

Best Regards,
Attila.


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.draw;
using iTextSharp.text.pdf.codec;

namespace ConsoleApplication1
{
     class PdfInvoice
     {

         public virtual void Write(Stream stream)
         {
             // step 1
             using (Document document = new Document(PageSize.A4, 34,  
34, 36, 12))
             {
                 // step 2
                 PdfWriter writer = PdfWriter.GetInstance(document, stream);
                 writer.PageEvent = new PdfPageEvent();
                 (writer.PageEvent as PdfPageEvent).Header = "Számla";
                 (writer.PageEvent as PdfPageEvent).Footer = "I01110055203";
                 // step 3
                 document.Open();
                 // step 4
                 PdfPTable itemTable = ItemHeader(11);
                 ItemLine(itemTable, 1, "852432000", "50991817110929",  
"Koncz Zsuzsa | \"...Elmondom hát mindenkinek...\" (CD)", 1, 2850,  
2850, 0, 2280, 2280, "25", 570, 2850);
                 ItemLine(itemTable, 2, "852439000", "50991817123653",  
"Koncz Zsuzsa | Budapest Sportaréna 2006 (DVD)", 1, 4387.5, 4387.5, 0,  
3510, 3510, "25", 877.5, 4387.5);
                 ItemLine(itemTable, 3, "852432000", "50099945742729",  
"Halász Judit | Csiribiri (CD)", 1, 2973.8, 2973.8, 0, 2143, 2143,  
"25", 594.75, 2973.75);
                 ItemLine(itemTable, 4, "852432000", "50991817111421",  
"Koncz Zsuzsa | ...Fordul a világ (CD)", 1, 2850, 2850, 0, 2280, 2280,  
"25", 570, 2850);
                 ItemLine(itemTable, 5, "852432000", "00886976803223",  
"Halász Judit,Alma eg | Nagy gyerek lemez (CD)", 1, 2678.8, 2678.8, 0,  
2143, 2143, "25", 535.75, 2678.75);
                 ItemLine(itemTable, 6, "852439000", "50999543395467",  
"Irigy Hónaljmirigy | Retro Klub (DVD+CD)", 1, 999, 999, 0, 799.2,  
799.2, "25", 199.8, 999);
                 ItemLine(itemTable, 7, "852432000", "50051865037521",  
"Zoltán Erika | Retrodisco Best Of+ (CD)", 1, 1140, 1140, 0, 1140,  
1140, "25", 228, 1140);
                 ItemLine(itemTable, 8, "852432000", "50399830101625",  
"Levantis,Tacoa | Tai Chi (3 CD)", 3, 1612.5, 4837.5, 0, 1290, 3870,  
"25", 967.5, 4837.5);
                 ItemLine(itemTable, 9, "852432000", "50999880481458",  
"Vigh Dániel | Zimme-Zum (CD)", 1, 2560, 2560, 0, 2048, 2048, "25",  
512, 2560);
                 int c = 0;
                 /*for (int i = 10; i <= 200; i++)
                 {
                     ItemLine(itemTable, i, "852432000",  
"50991817110929", "Levantis,Tacoa | Tai Chi (3 CD)", 3, 1612.5,  
4837.5, 0, 1290, 3870, "25", 967.5, 4837.5);
                     c += 3;
                 }*/
                 ItemSummaLine(itemTable, 11 + c);
                 document.Add(itemTable);
                 //
                 document.Add(new Paragraph("\n",  
FontFactory.GetFont("Courier", 4)));
                 //
                 PdfPTable taxTable = TaxHeader();
                 TaxLine(taxTable, "A", "5", 0, 0, 0, 0, 0, 0);
                 TaxLine(taxTable, "B", "15", 0, 0, 0, 0, 0, 0);
                 TaxLine(taxTable, "C", "20", 0, 0, 0, 0, 0, 0);
                 TaxLine(taxTable, "D", "25", 25277, 20221, 0, 20221,  
5055, 25277);
                 TaxLine(taxTable, "E", "", 0, 0, 0, 0, 0, 0);
                 TaxLine(taxTable, "", "", 25277, 20221, 0, 20221,  
5055, 25277);
                 document.Add(taxTable);
                 //
                 document.Add(new Chunk(new VerticalPositionMark()));
                 PdfPTable pays = new PdfPTable(1);
                 pays.TotalWidth = 380;
                 pays.LockedWidth = true;
                 pays.DefaultCell.Padding = 0;
                 PdfPTable pay = new PdfPTable(2);
                 pay.SetWidths(new int[] { 65, 316 });
                 pay.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
                 pay.DefaultCell.Border = Rectangle.NO_BORDER;
                 pay.AddCell(new Phrase("Fizetendö:",  
FontFactory.GetFont("Courier", 10)));
                 pay.AddCell(new Phrase("25 277 HUF",  
FontFactory.GetFont("Courier", 10)));
                 pays.AddCell(pay);
                 pays.DefaultCell.Border = Rectangle.NO_BORDER;
                 pays.AddCell(new Phrase("Huszontötezer -  
kettöszázhetvenhét HUF", FontFactory.GetFont("Courier", 8)));
                 document.Add(pays);
             }
         }

         private PdfPTable ItemHeader(Double quantity)
         {
             Font font = FontFactory.GetFont("Courier", 5);
             PdfPTable table = new PdfPTable(new float[] { 2, 3, 7,  
16, 3, 4, 5, 2, 5, 6, 6, 6 });
             table.WidthPercentage = 100f;
             table.DefaultCell.Padding = 1;
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("\nSSz", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("\nKSH", font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("\nEgyedi, EAN", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("\nMegnevezés", font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("Menny.\n  db", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("Fogy.ár.\nÁFA-val", font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("Fogy.érték\nÁFA-val", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("Eng\n  %", font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("Eng.egy.ár\nÁFA nélkül", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("Engedm. ért.\nÁFA nélkül", font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase("     ÁFA\n%        érték", font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase("  Eng. ért.\n  ÁFA-val", font));
             table.HeaderRows = 1;
             return table;
         }

         private void ItemLine(PdfPTable table, int idx, string ksh,  
string ean, string megn, Double menny, Double brEar, Double br, Double  
eng, Double neEar, Double ne, string kulcs, Double afa, Double brEng)
         {
             PdfPTable afaTable = new PdfPTable(new float[] { 1, 5 });
             PdfPCell ck = new PdfPCell(new Phrase(kulcs,  
FontFactory.GetFont("Courier", 5)));
             ck.Padding = 0;
             ck.NoWrap = true;
             ck.HorizontalAlignment = Element.ALIGN_LEFT;
             ck.Border = Rectangle.NO_BORDER;
             afaTable.AddCell(ck);
             PdfPCell cv = new PdfPCell(new Phrase(afa.ToString(),  
FontFactory.GetFont("Courier", 5)));
             cv.Padding = 0;
             cv.NoWrap = true;
             cv.HorizontalAlignment = Element.ALIGN_RIGHT;
             cv.Border = Rectangle.NO_BORDER;
             afaTable.AddCell(cv);
             //
             Font font = FontFactory.GetFont("Courier", 6);
             table.DefaultCell.NoWrap = true;
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
             table.AddCell(new Phrase(idx.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
             table.AddCell(new Phrase(ksh, FontFactory.GetFont("Courier", 4)));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase(ean, font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase(megn,  
FontFactory.GetFont("Courier", 4)));
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase(menny.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase(brEar.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase(br.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase((eng == 0 ? "" : eng.ToString()), font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             table.AddCell(new Phrase(neEar.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase(ne.ToString(), font));
             table.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
             // !!!!!!!!!!!!
             table.DefaultCell.HorizontalAlignment =  
Element.ALIGN_RIGHT; //ALIGN_UNDEFINED;
             table.AddCell(afaTable);
             // !!!!!!!!!!!!
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
             table.DefaultCell.BackgroundColor = BaseColor.WHITE;
             table.AddCell(new Phrase(brEng.ToString(), font));
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
         }

         private void ItemSummaLine(PdfPTable table, Double quantity)
         {
             Font font = FontFactory.GetFont("Courier", 5);
             table.DefaultCell.Border = Rectangle.NO_BORDER;
             table.DefaultCell.Colspan = 4;
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
             table.AddCell(new Phrase("Számlán szereplö mennyiség  
összesen:", font));
             table.DefaultCell.Colspan = 0;
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
             table.AddCell(new Phrase(quantity.ToString(), font));
             table.DefaultCell.Colspan = 7;
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
             table.AddCell(new Phrase("db", font));
             table.DefaultCell.Colspan = 0;
             table.DefaultCell.Border = Rectangle.LEFT_BORDER |  
Rectangle.TOP_BORDER | Rectangle.RIGHT_BORDER | Rectangle.BOTTOM_BORDER;
         }

         private PdfPTable TaxHeader()
         {
             Font font = FontFactory.GetFont("Courier", 6);
             PdfPTable table = new PdfPTable(new float[] { 2, 3, 3, 3,  
3, 3, 5 });
             table.WidthPercentage = 100f;

             PdfPCell c1 = new PdfPCell(new Phrase("Adó kulcsok  
szerint", font));
             PdfPCell c2 = new PdfPCell(new Phrase("Fogyasztói érték  
ÁFA-val", font));
             PdfPCell c3 = new PdfPCell(new Phrase("ÁFA nélküli  
elszámoló érték", font));
             PdfPCell c4 = new PdfPCell(new Phrase("Engedmény érték", font));
             PdfPCell c5 = new PdfPCell(new Phrase("ÁFA nélküli  
engedményes érték", font));
             PdfPCell c6 = new PdfPCell(new Phrase("ÁFA érték", font));
             PdfPCell c7 = new PdfPCell(new Phrase("Összesen", font));
             c1.NoWrap = false;
             c1.HorizontalAlignment = Element.ALIGN_CENTER;
             c2.NoWrap = false;
             c2.HorizontalAlignment = Element.ALIGN_CENTER;
             c3.NoWrap = false;
             c3.HorizontalAlignment = Element.ALIGN_CENTER;
             c4.NoWrap = false;
             c4.HorizontalAlignment = Element.ALIGN_CENTER;
             c5.NoWrap = false;
             c5.HorizontalAlignment = Element.ALIGN_CENTER;
             c6.NoWrap = true;
             c6.HorizontalAlignment = Element.ALIGN_CENTER;
             c7.NoWrap = true;
             c7.HorizontalAlignment = Element.ALIGN_CENTER;
             table.AddCell(c1);
             table.AddCell(c2);
             table.AddCell(c3);
             table.AddCell(c4);
             table.AddCell(c5);
             table.AddCell(c6);
             table.AddCell(c7);

             return table;
         }

         private void TaxLine(PdfPTable table, string k, string v,  
double v1, double v2, double v3, double v4, double v5, double o)
         {
             Font font = FontFactory.GetFont("Courier", 9);
             if (String.IsNullOrEmpty(k))
             {
                 font.SetStyle(Font.BOLD);
                 table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                 table.AddCell(new Phrase("Összesen", font));
             }
             else
             {
                 table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
                 PdfPTable t;
                 PdfPCell ck;
                 PdfPCell cv;
                 if (String.IsNullOrEmpty(v))
                 {
                     t = new PdfPTable(new float[] { 1, 3 });
                     ck = new PdfPCell(new Phrase(k + ":", font));
                     ck.Padding = 0;
                     ck.NoWrap = true;
                     ck.HorizontalAlignment = Element.ALIGN_LEFT;
                     ck.Border = Rectangle.NO_BORDER;
                     t.AddCell(ck);
                     cv = new PdfPCell(new Phrase("ÁFA körön kívüli",  
FontFactory.GetFont("Courier", 5)));
                     cv.Padding = 0;
                     cv.NoWrap = false;
                     cv.HorizontalAlignment = Element.ALIGN_RIGHT;
                     cv.Border = Rectangle.NO_BORDER;
                     t.AddCell(cv);
                     table.AddCell(t);
                 }
                 else
                 {
                     t = new PdfPTable(new float[] { 1, 2 });
                     ck = new PdfPCell(new Phrase(k + ":", font));
                     ck.Padding = 0;
                     ck.HorizontalAlignment = Element.ALIGN_LEFT;
                     ck.Border = Rectangle.NO_BORDER;
                     t.AddCell(ck);
                     cv = new PdfPCell(new Phrase(v + "%", font));
                     cv.Padding = 0;
                     cv.HorizontalAlignment = Element.ALIGN_RIGHT;
                     cv.Border = Rectangle.NO_BORDER;
                     t.AddCell(cv);
                     table.AddCell(t);
                 }
             }
             table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
             table.AddCell(new Phrase(v1.ToString(), font));
             table.AddCell(new Phrase(v2.ToString(), font));
             table.AddCell(new Phrase(v3.ToString(), font));
             table.AddCell(new Phrase(v4.ToString(), font));
             table.AddCell(new Phrase(v5.ToString(), font));
             table.AddCell(new Phrase(o.ToString(), font));
         }

         /**
          * Inner class of PdfPageEvent.
          */
         internal class PdfPageEvent : PdfPageEventHelper
         {
             /** The template with the total number of pages. */
             PdfTemplate totalPageNumber;

             /** The header text. */
             Font headerFont;
             public string Header { get; set; }

             /** The footer text. */
             Font footerFont;
             public string Footer { get; set; }

             /**
              * Creates the PdfTemplate that will hold the total  
number of pages.
              * @see com.itextpdf.text.pdf.PdfPageEventHelper#onOpenDocument(
              *      com.itextpdf.text.pdf.PdfWriter,  
com.itextpdf.text.Document)
              */
             public override void OnOpenDocument(PdfWriter writer,  
Document document)
             {
                 headerFont = FontFactory.GetFont("Courier", 12, Font.BOLD);
                 footerFont = FontFactory.GetFont("Courier", 6);
                 totalPageNumber = writer.DirectContent.CreateTemplate(30, 16);
             }

             /**
              * Adds a header to every page
              * @see com.itextpdf.text.pdf.PdfPageEventHelper#onEndPage(
              *      com.itextpdf.text.pdf.PdfWriter,  
com.itextpdf.text.Document)
              */
             public override void OnStartPage(PdfWriter writer,  
Document document)
             {
                 PdfPTable header = new PdfPTable(1);
                 header.TotalWidth = 527;
                 header.LockedWidth = true;
                 header.DefaultCell.Padding = 0;
                 header.DefaultCell.FixedHeight = 16;
                 header.DefaultCell.BorderColor = BaseColor.BLACK;

                 PdfPTable main = new PdfPTable(3);
                 main.SetWidths(new int[] { 28, 24, 2 });
                 main.DefaultCell.Padding = 0;
                 main.DefaultCell.Border = Rectangle.NO_BORDER;
                 main.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
                 //
                 main.AddCell(new Phrase(Header, headerFont));
                 //
                 Phrase pageNumber = new Phrase();
                 pageNumber.Add(new Chunk("Oldal:     ", footerFont));
                 pageNumber.Add(new Chunk(string.Format("{0} /",  
writer.PageNumber), headerFont));
                 main.AddCell(pageNumber);
                 //
                 PdfPCell cell = new  
PdfPCell(Image.GetInstance(totalPageNumber));
                 cell.BorderColor = iTextSharp.text.BaseColor.WHITE;
                 cell.Border = Rectangle.NO_BORDER;
                 main.AddCell(cell);
                 //
                 header.AddCell(main);
                 header.WriteSelectedRows(0, -1, 34,  
PageSize.A4.Height - 20, writer.DirectContent);
                 if (writer.PageNumber == 1)
                 {
                     PdfPTable invoiceInfos = new PdfPTable(1);
                     invoiceInfos.TotalWidth = 527;
                     invoiceInfos.LockedWidth = true;
                     invoiceInfos.DefaultCell.Padding = 0;
                     invoiceInfos.DefaultCell.BorderColor = BaseColor.BLACK;
                     PdfPTable parties = new PdfPTable(2);
                     parties.SetWidths(new int[] { 300, 227 });
                     parties.DefaultCell.Padding = 0;
                     parties.AddCell(InvoiceSeller(writer));
                     parties.AddCell(InvoiceBuyer(writer));
                     invoiceInfos.AddCell(parties);
                     invoiceInfos.AddCell(InvoiceDetails(writer));
                     document.Add(invoiceInfos);
                 }
             }

             /**
              * Adds a footer to every page
              * @see com.itextpdf.text.pdf.PdfPageEventHelper#onEndPage(
              *      com.itextpdf.text.pdf.PdfWriter,  
com.itextpdf.text.Document)
              */
             public override void OnEndPage(PdfWriter writer, Document  
document)
             {
                 PdfPTable footer = new PdfPTable(2);
                 footer.SetWidths(new int[] { 24, 84 });
                 footer.TotalWidth = 527;
                 footer.LockedWidth = true;
                 footer.DefaultCell.Padding = 0;
                 footer.DefaultCell.FixedHeight = 12;
                 footer.DefaultCell.Border = Rectangle.TOP_BORDER;
                 //
                 footer.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
                 footer.AddCell(new Phrase(Footer, footerFont));
                 //
                 footer.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
                 footer.AddCell(new Phrase("Készült a storeIT  
v0.7.1.1644 programmal. (c) 2005-2009 Pécsi Direkt Kft", footerFont));
                 //
                 footer.WriteSelectedRows(0, -1, 34, 16, writer.DirectContent);
             }

             /**
              * Fills out the total number of pages before the  
document is closed.
              * @see com.itextpdf.text.pdf.PdfPageEventHelper#onCloseDocument(
              *      com.itextpdf.text.pdf.PdfWriter,  
com.itextpdf.text.Document)
              */
             public override void OnCloseDocument(PdfWriter writer,  
Document document)
             {
                 /*
                  * NewPage() already called when closing the  
document; subtract 1
                  */
                 ColumnText.ShowTextAligned(
                   totalPageNumber, Element.ALIGN_LEFT,
                   new Phrase((writer.PageNumber - 1).ToString(), headerFont),
                   2, 4, 0
                 );
             }

             private PdfPTable InvoiceSeller(PdfWriter writer)
             {
                 PdfPTable seller = new PdfPTable(2);
                 seller.SetWidths(new int[] { 45, 255 });
                 seller.DefaultCell.Border = Rectangle.NO_BORDER;
                 //
                 PdfPTable image = new PdfPTable(1);
                 image.DefaultCell.Border = Rectangle.NO_BORDER;
                 image.AddCell(new Phrase("Számlkibocsátó",  
FontFactory.GetFont("Courier", 4)));
                 //
                 Image img =  
Image.GetInstance(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,  
"..\\..\\Images", "logo.gif"));
                 img.ScaleAbsolute(90, 90);
                 image.DefaultCell.Padding = 0;
                 image.DefaultCell.FixedHeight = 20;
                 image.AddCell(img);
                 seller.AddCell(image);
                 //
                 PdfPTable issuer = new PdfPTable(1);
                 issuer.DefaultCell.Padding = 0;
                 issuer.DefaultCell.PaddingBottom = 1;
                 issuer.DefaultCell.Border = Rectangle.NO_BORDER;
                 issuer.AddCell(new Phrase("Központi Hangbeszerzés",  
FontFactory.GetFont("Courier", 6)));
                 issuer.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
                 issuer.AddCell(new Phrase("Pécsi Direkt Kft.",  
FontFactory.GetFont("Courier", 6)));
                 issuer.DefaultCell.Border = Rectangle.NO_BORDER;
                 PdfPTable infos = new PdfPTable(2);
                 infos.SetWidths(new int[] { 30, 220 });
                 infos.DefaultCell.Border = Rectangle.NO_BORDER;
                 infos.DefaultCell.Padding = 0;
                 infos.DefaultCell.PaddingBottom = 1;
                 infos.AddCell(new Phrase("Telephely:",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("7630 Pécs, Üszögi-Kiserdő u  
1.", FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("Telefon:",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("+3672777273",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("Fax:",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("+3672777111",  
FontFactory.GetFont("Courier", 4)));
                 //
                 infos.AddCell(new Phrase("Raktár:",  
FontFactory.GetFont("Courier", 4)));
                 PdfPTable tax = new PdfPTable(3);
                 tax.SetWidths(new int[] { 100, 20, 100 });
                 tax.DefaultCell.Border = Rectangle.NO_BORDER;
                 tax.DefaultCell.Padding = 0;
                 tax.AddCell(new Phrase("",  
FontFactory.GetFont("Courier", 4)));
                 tax.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
                 tax.AddCell(new Phrase("Adósz:  ",  
FontFactory.GetFont("Courier", 4)));
                 tax.AddCell(new Phrase("11009498-2-41",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(tax);
                 //
                 infos.AddCell(new Phrase("Banksz.:",  
FontFactory.GetFont("Courier", 4)));
                 infos.AddCell(new Phrase("Raiffeisen B. -  
12072507-00151260-00100008", FontFactory.GetFont("Courier", 4)));
                 issuer.AddCell(infos);
                 seller.AddCell(issuer);
                 return seller;
             }

             private PdfPTable InvoiceBuyer(PdfWriter writer)
             {
                 PdfPTable buyer = new PdfPTable(2);
                 buyer.SetWidths(new int[] { 20, 207 });
                 buyer.DefaultCell.Border = Rectangle.NO_BORDER;
                 //
                 PdfPTable image = new PdfPTable(1);
                 image.DefaultCell.Border = Rectangle.NO_BORDER;
                 image.AddCell(new Phrase("Vevö",  
FontFactory.GetFont("Courier", 4)));
                 buyer.AddCell(image);
                 PdfPTable customer = new PdfPTable(1);
                 customer.DefaultCell.Padding = 0;
                 customer.DefaultCell.PaddingBottom = 1;
                 customer.DefaultCell.Border = Rectangle.NO_BORDER;
                 customer.AddCell(new Phrase("PICUR AJÁNDÉK KFT",  
FontFactory.GetFont("Courier", 6)));
                 customer.DefaultCell.Border = Rectangle.BOTTOM_BORDER;
                 customer.AddCell(new Phrase("Nagy Lászlóné",  
FontFactory.GetFont("Courier", 6)));
                 customer.DefaultCell.Border = Rectangle.NO_BORDER;
                 customer.AddCell(new Phrase("1128 Budapest",  
FontFactory.GetFont("Courier", 4)));
                 customer.AddCell(new Phrase("Márvámy utca 25. fsz.  
6.", FontFactory.GetFont("Courier", 4)));
                 customer.AddCell(new Phrase("",  
FontFactory.GetFont("Courier", 4)));
                 customer.AddCell(new Phrase("",  
FontFactory.GetFont("Courier", 4)));
                 customer.AddCell(new Phrase("",  
FontFactory.GetFont("Courier", 4)));
                 customer.AddCell(new Phrase("",  
FontFactory.GetFont("Courier", 4)));
                 buyer.AddCell(customer);
                 buyer.DefaultCell.Colspan = 2;
                 Phrase comment = new Phrase();
                 comment.Add(new Chunk("Megjegyzés:",  
FontFactory.GetFont("Courier", 5)));
                 comment.Add(new Chunk("182727",  
FontFactory.GetFont("Courier", 5, Font.BOLD)));
                 buyer.AddCell(comment);
                 return buyer;
             }

             private PdfPTable InvoiceDetails(PdfWriter writer)
             {
                 PdfPTable details = new PdfPTable(5);
                 details.SetWidths(new int[] { 105, 105, 105, 105, 105 });
                 //
                 PdfPTable invoiceNumber = new PdfPTable(1);
                 invoiceNumber.DefaultCell.Border = Rectangle.NO_BORDER;
                 invoiceNumber.DefaultCell.HorizontalAlignment =  
Element.ALIGN_CENTER;
                 invoiceNumber.AddCell(new Phrase("Számlaszám",  
FontFactory.GetFont("Courier", 4)));
                 invoiceNumber.AddCell(new Phrase("I01110055203",  
FontFactory.GetFont("Courier", 4)));
                 Barcode39 code39 = new Barcode39();
                 code39.Code = "I01110055203";
                 code39.BarHeight = 6;
                 code39.Font = null;
                  
invoiceNumber.AddCell(code39.CreateImageWithBarcode(writer.DirectContent,  
null, null));
                 details.AddCell(invoiceNumber);
                 //
                 PdfPTable issueDateTime = new PdfPTable(1);
                 issueDateTime.DefaultCell.Border = Rectangle.NO_BORDER;
                 issueDateTime.DefaultCell.HorizontalAlignment =  
Element.ALIGN_CENTER;
                 issueDateTime.AddCell(new Phrase("Bizonylat kelte",  
footerFont));
                 issueDateTime.AddCell(new Phrase("2011.05.05. 12:42",  
footerFont));
                 details.AddCell(issueDateTime);
                 //
                 PdfPTable taxPointDate = new PdfPTable(1);
                 taxPointDate.DefaultCell.Border = Rectangle.NO_BORDER;
                 taxPointDate.DefaultCell.HorizontalAlignment =  
Element.ALIGN_CENTER;
                 taxPointDate.AddCell(new Phrase("Teljesítés dátuma",  
footerFont));
                 taxPointDate.AddCell(new Phrase("2011.05.05.", footerFont));
                 details.AddCell(taxPointDate);
                 //
                 PdfPTable dueDateDateTime = new PdfPTable(1);
                 dueDateDateTime.DefaultCell.Border = Rectangle.NO_BORDER;
                 dueDateDateTime.DefaultCell.HorizontalAlignment =  
Element.ALIGN_CENTER;
                 dueDateDateTime.AddCell(new Phrase("Fizetési  
határidö", footerFont));
                 dueDateDateTime.AddCell(new Phrase("2011.05.13.",  
footerFont));
                 details.AddCell(dueDateDateTime);
                 //
                 PdfPTable paymentMeansID = new PdfPTable(1);
                 paymentMeansID.DefaultCell.Border = Rectangle.NO_BORDER;
                 paymentMeansID.DefaultCell.HorizontalAlignment =  
Element.ALIGN_CENTER;
                 paymentMeansID.AddCell(new Phrase("Fizetési mód",  
footerFont));
                 paymentMeansID.AddCell(new Phrase("Átutalás", footerFont));
                 details.AddCell(paymentMeansID);
                 //
                 return details;
             }
         }
     }
}

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
     class Program
     {
         static void Main(string[] args)
         {
             using (FileStream fs = new FileStream("test.pdf",  
FileMode.OpenOrCreate))
             {
                 new PdfInvoice().Write(fs);
             }
             System.Diagnostics.Process.Start("test.pdf");
         }
     }
}


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference 
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: 
http://itextpdf.com/themes/keywords.php

Reply via email to