Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

itextsharp: how do i add a new page and write to it?

in vb.net i filled up the first page of a pdf document, how do i start from the second page?

like image 708
Alex Gordon Avatar asked Dec 21 '09 14:12

Alex Gordon


2 Answers

Document document = new Document(PageSize.A4, 0, 0, 50, 50);
System.IO.MemoryStream msReport = new System.IO.MemoryStream();

try {
    // creation of the different writers
    PdfWriter writer = PdfWriter.GetInstance(document, msReport);

    // we add some meta information to the document
    document.AddTitle("My Title");  
    document.AddAuthor("Me");
    document.Open();

    for (int i = 1; i <= 5; i++)
    {
        document.NewPage();
        iTextSharp.text.Table datatable = new iTextSharp.text.Table(3);
        datatable.Padding = 2;
        datatable.Spacing = 0;
        float[] headerwidths = { 6, 20, 32 };
        datatable.Widths = headerwidths;
        datatable.DefaultHorizontalAlignment = Element.ALIGN_LEFT;
        datatable.AddCell(i.ToString());
        datatable.AddCell("This is my name.");
        datatable.AddCell("0123456789");

        datatable.AddCell("No");
        datatable.AddCell("Yes");
        datatable.AddCell("No");

        document.Add(datatable);
     } 
} 
catch (Exception e) { 
    Console.Error.WriteLine(e.Message); 
} 

// we close the document 
document.Close(); 

Response.Clear(); 
Response.AddHeader("content-disposition", "attachment;filename=Export.pdf"); 
Response.ContentType = "application/pdf"; 
Response.BinaryWrite(msReport.ToArray()); 
Response.End(); 
like image 119
Gabe Avatar answered Nov 10 '22 17:11

Gabe


Do not mark this as the answer, this is just gmcalab's code converted to VB for your conveniance. His example answers your question quite handily.

Dim document As New Document(PageSize.A4, 0, 0, 50, 50) 
Dim msReport As New System.IO.MemoryStream() 

Try 
    ' creation of the different writers 
    Dim writer As PdfWriter = PdfWriter.GetInstance(document, msReport) 

    ' we add some meta information to the document 
    document.AddTitle("My Title") 
    document.AddAuthor("Me") 
    document.Open() 

    For i As Integer = 1 To 5 
        document.NewPage() 
        Dim datatable As New iTextSharp.text.Table(3) 
        datatable.Padding = 2 
        datatable.Spacing = 0 
        Dim headerwidths As Single() = {6, 20, 32} 
        datatable.Widths = headerwidths 
        datatable.DefaultHorizontalAlignment = Element.ALIGN_LEFT 
        datatable.AddCell(i.ToString()) 
        datatable.AddCell("This is my name.") 
        datatable.AddCell("0123456789") 

        datatable.AddCell("No") 
        datatable.AddCell("Yes") 
        datatable.AddCell("No") 

        document.Add(datatable) 
    Next 
Catch e As Exception 
    Console.[Error].WriteLine(e.Message) 
End Try 

' we close the document 
document.Close() 

Response.Clear() 
Response.AddHeader("content-disposition", "attachment;filename=Export.pdf") 
Response.ContentType = "application/pdf" 
Response.BinaryWrite(msReport.ToArray()) 
Response.[End]() 
like image 23
jball Avatar answered Nov 10 '22 17:11

jball