2013-06-13 12 views

Odpowiedz

18

Być może jednak, że nie chcesz, aby zawsze utworzyć plik PDF z domyślnym rozmiarze i marże, więc iTextSharp zapewnia sposoby, aby dostosować te ustawienia. 2 pozostałych konstruktorów do obiektu dokumentu:

public Document(iTextSharp.text.Rectangle pageSize); 
    public Document(iTextSharp.text.Rectangle pageSize, float, float, float, float); 

Pierwszy z nich mogą być używane w ten sposób:

var doc = nowy dokument (PageSize.A5);

Klasa PageSize zawiera wiele obiektów Rectangle reprezentujących najczęściej spotykane rozmiary papieru od A0 do A10, B0 do B10, LEGAL, LEDGER, LETTER, POSTCARD, TABLOID i tak dalej. Jeśli chcesz zastosować niestandardowy format, który nie jest dostępny w klasie pageSize, można zdefiniować własny obiekt Rectangle, ustawić jego właściwości i przekazać, że do konstruktora jako argument:

var doc = new Document(new Rectangle(100f, 300f)); 
PdfWriter.GetInstance(doc, new FileStream(path + "/Doc2.pdf", FileMode.Create)); 
doc.Open(); 
    doc.Add(new Paragraph("This is a custom size")); 
doc.Close(); 
+0

szczegółów można uzyskać od http://www.mikesdotnetting.com/Article/80/Create-PDFs-in-ASP.NET-getting-started-with-iTextSharp –

+0

Dzięki przyjacielu, to działa na mnie :) – Senps

+5

Dla odniesienia, istnieje 72 punktów na cal. –

1

poniższy kod pokaże, jak zaimplementować niestandardowy plik PDF za pomocą współrzędnych PDF w C# .net. Do tego zadania musisz znać współrzędne pdf.

BaseFont f_cn; 
    string poath = Server.MapPath("~/fonts/CALIBRI.TTF"); 

f_cn = BaseFont.CreateFont(poath, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); 

using (System.IO.FileStream fs = new FileStream(Server.MapPath("~/TempPdf") + "\\" + "download.pdf", FileMode.Create)) 
      { 
Document document = new Document(PageSize.A4, 25, 25, 30, 30); 
       PdfWriter writer = PdfWriter.GetInstance(document, fs);     
       Paragraph p = new Paragraph(); 
       // Add meta information to the document 
       document.AddAuthor("Mikael Blomquist"); 
       document.AddCreator("Sample application using iTestSharp"); 
       document.AddKeywords("PDF tutorial education"); 
       document.AddSubject("Document subject - Describing the steps creating a PDF document"); 
       document.AddTitle("The document title - Amplified Resource Group"); 
       // Open the document to enable you to write to the document 
       document.Open(); 
       // Makes it possible to add text to a specific place in the document using 
       // a X & Y placement syntax. 
       PdfContentByte cb = writer.DirectContent; 
       cb.SetFontAndSize(f_cb, 16); 
       // First we must activate writing 
       cb.BeginText(); 
       // Add an image to a fixed position from disk 
       iTextSharp.text.Image png = iTextSharp.text.Image.GetInstance(Server.MapPath("~/images/arg.png")); 
       png.SetAbsolutePosition(200, 738); 
       cb.AddImage(png); 
       writeText(cb, "Header", 30, 718, f_cb, 14); 
} 
private void writeText(PdfContentByte cb, string Text, int X, int Y, BaseFont font, int Size) 
    { 
     cb.SetFontAndSize(font, Size); 
     cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, Text, X, Y, 0); 
    } 
Powiązane problemy