iTextsharp - 在C#中获取pdf页面的轮换

时间:2015-05-23 12:55:15

标签: c# pdf itextsharp

我正在尝试使用iTextsharp获取/读取c#中的pdf页面的旋转/度数。我用谷歌搜索完全,但除了下面我没有找到任何东西:

iTextSharp.text.pdf.PdfReader inputPdf = new iTextSharp.text.pdf.PdfReader(txtBrowse.Text);
int rotation = inputPdf.GetPageRotation(PageNo);
label1.Text = Convert.ToString(rotation);

上述代码无法正常返回。

请帮助我在c#中获取pdf页面的轮换。

1 个答案:

答案 0 :(得分:1)

在您的问题的评论中,您说您的代码返回0,90,180,270或360的int值。在您的问题中,您声称您的代码不起作用。您的评论与您的​​问题相矛盾。

请阅读ISO-32000-1(这是PDF的ISO标准),更多specifically Table 30 ("Entries in a page object")。它定义了这样的Rotate条目(文字复制/粘贴):

  

页面顺时针旋转的度数   显示或打印时该值应为90的倍数。   默认值:0。

每当ISO标准使用 这个词时,你就会遇到一个规范性规则(相反,当标准使用“em> 这个词的时候, 面对推荐)。

您在评论中所说的内容符合PDF规范。如果您希望返回任何其他值,那么您的期望是错误的。另请参阅How do I rotate the contents of a PDF page to an arbitrary angle?