我最开始是使用的pdfbox读取的只包含文字的pdf,通过网络上的教程是搞定了,可是现在要读的pdf上不止有文字,还有印章,直接读取会导致最后几排的文字无法正常获取(可能被章盖住了,识别不了吧),我应该如何做才能得到文字
先谢谢各位大佬了
可以试试Spire.PDF for Java控件,有免费版和商业版,除了操作文本上有限制区别外,均能够支持提取含有印章的PDF文档。以下代码可供参考。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.io.*;
public class ExtractText {
public static void main(String[] args) {
//创建PdfDocument实例
PdfDocument doc = new PdfDocument();
//加载PDF文件
doc.loadFromFile("C:UsersTest1DesktopSample.pdf");
//创建StringBuilder实例
StringBuilder sb = new StringBuilder();
PdfPageBase page;
//遍历PDF页面,获取每个页面的文本并添加到StringBuilder对象
for(int i= 0;i<doc.getPages().getCount();i++){
page = doc.getPages().get(i);
sb.append(page.extractText(true));
}
FileWriter writer;
try {
//将StringBuilder对象中的文本写入到文本文件
writer = new FileWriter("output/ExtractText.txt");
writer.write(sb.toString());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
doc.close();
}
}