Środowisko - biblioteka PDFsharp, Visual Studio 2012 i C# jako język.PDFsharp edytuj plik PDF
Próbuję:
- odczytu Test1.pdf (szerokość = 17 cali, wysokość - 11 cali) z 1 stronie
- dodać jakiś tekst do niego
- zapisać go jako innego pliku (Test2.pdf)
Jestem w stanie wykonać wszystkie poniższe czynności. Ale kiedy otwieram plik Test2.pdf, rozmiar strony zmniejsza się do szerokości = 11 cali, wysokość - 11 cali. Te pliki PDF, których używam, to Arkusze specyfikacji produktów pobrane z Internetu. Wierzę, że dzieje się tak tylko na niektórych typach plików i nie jestem pewien, jak rozróżnić te pliki.
kod podany poniżej:
//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");
Przesłałem plik tutaj Test1.pdf
======================== ================================================== ========
sugerowane przez PDFsharp zespołu kod powinien wyglądać następująco:
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");
Spróbuj zmodyfikować stronę z PDFNewDoc.Pages (nie PDFDoc.Pages) - lub wziąć stronę zwrócony przez addPage(). –
Próbowałem uruchomić ten kod. Mówi, że PdfReader nie istnieje w bieżącym kontekście? –