2015-05-23 47 views
-1

我想在c#中使用iTextsharp获取/阅读旋转/ PDF页面的程度。我google了,但没有发现除了下面: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页面的轮换。

+0

它返回什么? –

+0

它返回诠释价值0,90,180,270或360 –

+1

而不是你正在寻找的程度? –

回答

1

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

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

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

每当ISO标准使用这个词,你面对一个规范性的规则(相当标准使用这个词在这种情况下您正面临推荐)。

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

+0

我需要pdf的旋转角度,而不是试图旋转。上面的工作为一些PDF和一些不是。 我只是问如何使用atalasoft或itextsharp获得pdf的旋转, –

+0

我在记事本中打开了一个pdf并检查了旋转值。值为旋转270,但上面的代码返回0.这是我遇到的问题 –

+0

向我们显示PDF。也许您正在查看未使用的页面字典(例如:因为它已在增量更新中被覆盖)。 –