我正在使用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文件。
感谢您的帮助。