pdfwriter para net generate generar asp c# pdf itextsharp

para - Tamaño de página personalizado en iTextSharp en C#.NET



itextsharp pdf (2)

A continuación, el código mostrará cómo implementar el PDF personalizado utilizando coordenadas PDF en C # .net. Para esta tarea, debe conocer las coordenadas en 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); }

Quiero crear un tamaño de página personalizado que sea (5 "X2") PDF usando iTextSharp en C #. ¿Hay alguna manera de hacer esto?

Document doc = new Document(iTextSharp.text.PageSize.A4, 15, 15, 0, 0);


Sin embargo, es posible que no desee crear siempre un PDF con el tamaño y los márgenes predeterminados, por lo que iTextSharp ofrece formas de personalizar estas configuraciones. Hay 2 constructores adicionales para el objeto Documento:

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

El primero se puede usar así:

var doc = new Document (PageSize.A5);

La clase PageSize contiene una cantidad de objetos Rectangle que representan los tamaños de papel más comunes de A0 a A10, B0 a B10, LEGAL, LEDGER, LETTER, POSTCARD, TABLOID, etc. Si desea aplicar un tamaño personalizado que no está disponible dentro de la clase PageSize, defina su propio objeto Rectangle, establezca sus propiedades y páselo al constructor como argumento:

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();