Как я могу получить ориентацию страницы в документе PDF в .NET? - PullRequest
1 голос
/ 20 января 2012

Как я могу получить ориентацию страницы в документе PDF в .NET? Документ в формате pdf может содержать книжные и альбомные страницы ... Rigth?

Любая помощь будет с благодарностью.

Ответы [ 2 ]

3 голосов
/ 20 января 2012

Используя iTextSharp, вы можете сделать это довольно легко:

''//File to test
Dim TestFileName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf")
''//Create an object to read the PDF
Dim Reader As New iTextSharp.text.pdf.PdfReader(TestFileName)
''//Get the page size of the first page (iTextSharp page numbers start at 1)
Dim Rect = Reader.GetPageSize(1)
''//Compare the dimensions of the rectangle returned. For simplicity I'm saying that a square object is portraint, too
Dim IsPortrait = Rect.Height >= Rect.Width
1 голос
/ 24 января 2012

С прямыми подходами вы получите около 95% пути.Вам понадобятся размеры страницы, которые вы можете получить из MediaBox, но на самом деле вам нужен CropBox, если он существует, потому что он может обрезать портретную страницу в альбомную (или наоборот).Кроме того, вам нужно взглянуть на запись «Поворот» в словаре страниц, поскольку страница может вращаться в любой точке компаса.И просто для того, чтобы сделать жизнь особенно интересной, содержимое страницы может быть отображено в любой ориентации.Вы можете иметь «вертикальную» портретную страницу с текстом, нарисованным вверх ногами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...