Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.1k views
in Technique[技术] by (71.8m points)

java读取盖过章的pdf的文本内容

我最开始是使用的pdfbox读取的只包含文字的pdf,通过网络上的教程是搞定了,可是现在要读的pdf上不止有文字,还有印章,直接读取会导致最后几排的文字无法正常获取(可能被章盖住了,识别不了吧),我应该如何做才能得到文字
先谢谢各位大佬了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

可以试试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();
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...