Ambiente - Libreria PDFsharp, Visual Studio 2012 e C# come lingua.PDFsharp modifica di un file pdf
sto provando a:
- lettura Test1.pdf (larghezza = 17 pollici, altezza - 11 pollici) con 1 pagina
- aggiungere del testo ad esso
- salvarlo come un altro file (Test2.pdf)
Sono in grado di eseguire tutte le operazioni seguenti. Ma quando apro il file Test2.pdf la dimensione della pagina si riduce a Larghezza = 11 pollici, Altezza - 11 pollici. Questi file PDF che sto utilizzando sono Fogli di specifiche del prodotto che ho scaricato da internet. Credo che questo stia accadendo solo su alcuni tipi di file e non sono sicuro di come differenziare questi file.
codice riportato qui di seguito:
//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");
Ho caricato il file qui Test1.pdf
======================== ================================================== ========
come suggerito dal team PDFsharp il codice dovrebbe essere la seguente:
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");
tenta di modificare la pagina dal PDFNewDoc.Pages (non PDFDoc.Pages) - oppure prendere la pagina restituita dalla AddPage(). –
Ho provato a eseguire questo codice. Il suo PdfReader non esiste nel contesto corrente? –