PDFsharp Bearbeiten einer pdf-Datei

Umwelt - PDFsharp Bibliothek, Visual Studio 2012 und C# als Sprache.

Ich versuche mich zu:

  1. Lesen Test1.pdf (Breite = 17 cm, Höhe – 11 cm) mit 1 Seite
  2. fügen Sie etwas text, um es
  3. speichern Sie es als eine andere Datei (Test2.pdf)

Ich bin in der Lage, alles zu tun, die folgenden. Aber wenn ich öffnen Sie die Datei Test2.pdf die Größe der Seite wird immer reduziert auf Breite = 11 cm, Höhe – 11 cm.
Diese PDF-Dateien, die ich verwende, sind Produkt-Datenblättern, die ich aus dem internet heruntergeladen haben. Ich glaube, das passiert nur bestimmte Dateitypen, und ich bin nicht sicher, wie unterscheiden sich diese Dateien.

Unten angegebenen Code ein:

//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");

Hochgeladen habe ich die Datei hier Test1.pdf

==================================================================================

Wie vorgeschlagen, durch die PDFsharp Team der code sollte wie folgt sein:

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

InformationsquelleAutor der Frage Yuvi Dagar | 2013-07-15

Schreibe einen Kommentar