c#-4.0 - online - pdf editor gratis en español completo
PDFsharp edita un archivo pdf (1)
Medio ambiente: biblioteca PDFsharp, Visual Studio 2012 y C # como idioma.
Estoy tratando de:
- lea Test1.pdf (Ancho = 17 pulgadas, Altura - 11 pulgadas) con 1 página
- agregarle un texto
- guárdelo como otro archivo (Test2.pdf)
Puedo hacer todo lo siguiente. Pero cuando abro el archivo Test2.pdf, el tamaño de la página se reduce a Ancho = 11 pulgadas, Altura - 11 pulgadas. Estos archivos PDF que estoy usando son Hojas de especificaciones de productos que he descargado de Internet. Creo que esto está sucediendo solo en ciertos tipos de archivos y no estoy seguro de cómo diferenciar estos archivos.
Código que se proporciona a continuación:
//File dimentions - Width = 17 inches, Height - 11 inches (Tabloid Format)
PdfDocument pdfDocument = PdfReader.Open(@"D:/Test1.pdf", PdfDocumentOpenMode.Modify);
PdfPage page = pdfDocument.Pages[0];
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
//When the file is saved dimentions change to - Width = 11 inches, Height - 11 inches
pdfDocument.Save(@"D:/Test2.pdf");
He subido el archivo aquí Test1.pdf
=============================================== =============================
Según lo sugerido por el equipo de PDFsharp, el código debería ser el siguiente:
PdfDocument PDFDoc = PdfReader.Open(@"D:/Test1.pdf", PdfDocumentOpenMode.Import);
PdfDocument PDFNewDoc = new PdfDocument();
for (int Pg = 0; Pg < PDFDoc.Pages.Count; Pg++)
{
PdfPage pp = PDFNewDoc.AddPage(PDFDoc.Pages[Pg]);
XGraphics gfx = XGraphics.FromPdfPage(pp);
XFont font = new XFont("Arial", 10, XFontStyle.Regular);
gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, pp.Width, pp.Height), XStringFormats.BottomCenter);
}
PDFNewDoc.Save(@"D:/Test2.pdf");
En lugar de modificar el documento, cree un documento nuevo y copie las páginas del documento anterior al documento nuevo.
El código de muestra se puede encontrar en esta publicación en el foro de PDFsharp:
http://forum.pdfsharp.net/viewtopic.php?p=2637#p2637