最近在使用iText实现pdf文本内容的抽取,我使用PdfTextExtractor.getTextFromPage将每一页中的文本提取出来,但是提取出来的txt文件当中全是空格,没有一个文字,请问这是什么情况?是pdf文档的问题还是代码的问题啊?
public class GetText
{
public static void main(String[] args) throws DocumentException, IOException
{
String outputpath = "XXX.txt";//txt文件路径
PrintWriter writer = new PrintWriter(new FileOutputStream(outputpath));//txt文件写入流
String pdffilepath = "XXX.pdf";//pdf文件路径
inspect(writer,pdffilepath); //调用读取方法
writer.close();
}
public static void inspect(PrintWriter writer, String filename) throws IOException
{
try {
PdfReader reader = new PdfReader(filename); //读取pdf所使用的输出流
int PageNum = reader.getNumberOfPages();//获得页数
String content = ""; //存放读取出的文档内容
for (int i = 1; i <=PageNum; i++)
{
content += PdfTextExtractor.getTextFromPage(reader, i);//读取第i页的文档内容
}
writer.write(content);//写入文件内容
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
http://blog.csdn.net/wzumath/article/details/8260286
是不是文件的问题啊,你pdf里的是文字是文本还是图片啊。
我用你的代码是可以的。
楼主可以试试Spire.pdf for .net控件,我用过,它支持提取PDF文档中的信息,不管是文本还是图片都是可以的。而且不仅是文档中所有内容,也可提取指定内容的信息。下面是相关代码示例链接,你可以参考。
spire.pdf for .net产品获取链接: