itextsharp.NumberOfPages返回错误的值

时间:2014-08-18 15:28:54

标签: c# pdf itextsharp

我正在使用C#应用程序,并且我使用itextsharp(v5.5.2)来阅读pdf文档。
我有一个问题是阅读一些pdf文件,因为" PdfReader.NumberOfPages" attibute有时会返回错误的值。

即:一个文件包含18页(adobe reader)但属性" PdfReader.NumberOfPages"返回2.
当我尝试使用此代码(用于测试)以通过页码

从页面获取文本时
PdfReader reader = new PdfReader(fileInfo.FullName);
PdfReaderContentParser pdfReaderContentParser = new PdfReaderContentParser(reader);
ITextExtractionStrategy iTextExtractionStrategy = pdfReaderContentParser.ProcessContent(myPageNumber, new SimpleTextExtractionStrategy());
String pdfText = iTextExtractionStrategy.GetResultantText();

,我有结果:

if myPageNumber = 1  => return the text from the page 1 
if myPageNumber = 2  => return the text from the page 8!!! 
if myPageNumber = 3  => create an error as expected (the reader "see" only 2 pages)

我发现了这个问题的可能原因,但我不确定:字体类型的类型。
当我有" type1"在文件中,我没有遇到任何问题。但我有truetype字体类型的问题。 我不幸地无法分享有问题的pdf文件。

感谢您的帮助。

0 个答案:

没有答案