对于某些pdf,itextsharp文本提取失败

时间:2014-03-27 18:02:36

标签: itextsharp

我有几个PDF文件,其文字我无法从中提取。这些PDF文件是通过将Word文件转换为PDF来创建的。 我从pdf中提取文本的主要目的是索引其文本并使其可搜索。

PdfReader reader = new PdfReader(inFileName);
for (int page = 1; page <= reader.NumberOfPages; page++)
{
    // where  strPDFText is string builder 
    strPDFText.Append(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, page) + " ");
}                    
string str = strPDFText.ToString();

我得到一个空字符串。可能是同样的原因。我正在使用Itextsharp 5.5

1 个答案:

答案 0 :(得分:1)

虽然OP提供的示例PDF确实表明它是MS Word导出,但它根本不包含任何文本,只包含图像(偶然显示文本)。

PDF的内容是:

 /P <</MCID 0>> BDC BT
/F1 11.04 Tf
1 0 0 1 540.1 500.95 Tm
/GS7 gs
0 g
0 G
[( )] TJ
ET
 EMC  /P <</MCID 1>> BDC q
0.000000071 488.88 612 231.12 re
W* n
468 0 0 219.05 72 500.95 cm
/Image8 Do Q
 EMC 

如您所见,显示的唯一实际文本是单个空格([( )] TJ),剩下的唯一内容是位图图像(/Image8 Do)。

因此,

  

我得到一个空字符串。可能是同样的原因。

原因是您的文档中没有文字。