C# 如何在.NET中获取pdf文档中的页面方向?

C# 如何在.NET中获取pdf文档中的页面方向?,c#,.net,vb.net,pdf,C#,.net,Vb.net,Pdf,如何在.NET中获取pdf文档中的页面方向? pdf文档可能包含纵向和横向页面。。。里格斯 任何帮助都将不胜感激。使用iTextSharp,您可以非常轻松地做到这一点: ''//File to test Dim TestFileName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf") ''//Create an object to read the

如何在.NET中获取pdf文档中的页面方向? pdf文档可能包含纵向和横向页面。。。里格斯


任何帮助都将不胜感激。

使用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

使用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

通过直接的方法,您将获得大约95%的成功率。您需要页面尺寸,可以从MediaBox获得,但如果存在CropBox,您确实需要它,因为它可以将纵向页面裁剪为横向页面(反之亦然)。此外,您需要查看页面字典中的旋转条目,因为页面可以在任何罗盘点上旋转。为了让生活变得特别有趣,页面的内容可以以任何方向呈现。你可以有一个“直立”的肖像页,上面的文字画得颠倒过来。

用直接的方法,你可以得到95%的效果。您需要页面尺寸,可以从MediaBox获得,但如果存在CropBox,您确实需要它,因为它可以将纵向页面裁剪为横向页面(反之亦然)。此外,您需要查看页面字典中的旋转条目,因为页面可以在任何罗盘点上旋转。为了让生活变得特别有趣,页面的内容可以以任何方向呈现。您可以有一个“竖直”的肖像页,上面的文字可以颠倒绘制。

这个问题对您有帮助吗?您是否已经在使用某个特定的库来阅读PDF,或者这是您的问题?此问题是否可以帮助您?您是否已经在使用某个特定的库来阅读PDF,或者这是您的问题?