使用iText的PdfTextExtractor进行错误的解析

时间:2011-09-08 20:45:09

标签: java itext

当我尝试阅读PDF文档的内容时,我遇到了问题。我正在使用带有Java的 iText 2.1.7 ,我需要分析PDF文档的内容:首先我使用 PdfTextExtractor getTextFromPage 方法并且它正常工作,但只有当页面只是文本时,如果它包含图像,那么我使用getTextFromPage获得的字符串是一组无意义的符号(可能是不同的字符编码?),我丢失了整个页面的内容。我尝试使用最后一个版本的iText并且工作正常,但如果我没有错,许可证将不是完全免费的(我正在为商业客户的Web应用程序工作,它可以动态提供PDF)所以我不能用它。如果您有任何建议,我将非常感激。

如果您需要,请输入以下代码:

PdfReader pdf = new PdfReader(doc);  //doc is just a byte[]
int pageCount = pdf.getNumberOfPages();
for (int i = 1; i <= pageCount; i++) {
    PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(pdf);
    String pageText = pdfTextExtractor.getTextFromPage(i);

提前致谢,问候。

1 个答案:

答案 0 :(得分:1)

我认为你的PDF有一个内嵌图像。我不认为iText 2.1.7会处理这个问题。 您可以找到有关许可证here

的信息