PdfSharp - Wrong PDF page settings when document is opened in Acrobat
c#, pdfsharp
Solution
For some strange reason, PdfSharp seems not to behave the same with both the following:
Example 1 - It doesn't seem to associate the instance of PdfPage class to the PdfDocument even though the page settings are correct while calling and after having called the PdfDocument.Save() method.
var pdfDoc = new PdfDocument();
var pdfPage = pdfDoc.AddPage();
pdfPage.Orientation = PdfSharp.PageOrientation.Landscape;
pdfPage.Size = PdfSharp.PageSize.Letter;
pdfPage.Rotate = 0;
pdfDoc.Save(filename);
Example 2 - The same here...
var pdfDoc = new PdfDocument();
pdfDoc.Pages.Add();
pdfDoc.Pages[0].Orientation = PdfSharp.PageOrientation.Landscape;
pdfDoc.Pages[0].Size = PdfSharp.PageSize.Letter;
pdfDoc.Pages[0].Rotate = 0;
pdfDoc.Save(filename);
Example 3 - This seems to have solved my problem
var pdfPage = new PdfPage();
pdfPage.Orientation = PdfSharp.PageOrientation.Landscape;
pdfPage.Size = PdfSharp.PageSize.Letter;
pdfPage.Rotate = 0;
var pdfDoc = new PdfDocument();
pdfDoc.Pages.Add(pdfPage);
pdfDoc.Save(filename);
Anyone has any idea of what am I missing here? I seem to do the same in either of these examples, as far as I'm concerned.
Solution is:
var pdfPage = new PdfPage();
pdfPage.Size = PdfSharp.PageSize.Letter;
pdfPage.Orientation = PdfSharp.PageOrientation.Landscape;
pdfPage.Rotate = 0;
var pdfDoc = new PdfDocument();
pdfDoc.Pages.Add(pdfPage);
pdfDoc.Save(filename);
Set size first.
Thanks for any comments and/or answers!
Problem
I have written a piece of code which uses the PdfSharp library. The instance of `PdfSharp.Pdf.PdfDocument` created saves to disk as expected. The right content is displayed, but onto the wrong page settings. The default page settings for PdfSharp are: - `PdfSharp.PageSizes.A4` - `PdfSharp.PageOrientation.Portrait` My problem is that these settings seem to override the required settings. I create the instance of `PdfDocument` class and adds a new instance of `PdfPage` class to its Pages collection property. Then, I setup the page like this: - `PdfDocument.Pages[0].Size = PdfSharp.PageSizes.Letter` - `PdfDocument.Pages[0].Orientation = PdfSharp.PageOrientation.Landscape` - I draw the strings (this works fine) - I save the document to disk (this works fine) - `Process.Start(myPdfFilename)` - then Acrobat Reader opens with my document. - The page settings are A4 - Portrait... I'm quite confused. I know of an option within Acrobat Reader that allows the user to change the page orientation without changing the text direction. No matter whether I check this option or not, still the wrong settings keep going. Anyone has an idea? Thanks!