ava.lang.NoClassDefFoundError: org/fontbox/cmap/CMapParser
很明显了少了一个jar包,从了、org/fontbox/cmap/CMapParser来看,jar包名字可能带fontbox的名字,你在网络回上检索下 fontbox .jar试试能不能找到答这个jar包呢?
B. java解析pdf文字顺序不对
修复你的PDF软件或者调整页面顺序。
java解析pdf获取pdf中内容信息:
第一种 使用开源组织提供的开源框架 pdfboxapi ; https://pdfbox.apache.org/
特点:免费,功能强大,解析中文或许会存在乱码,默认格式有点乱,没有国产解析的那么美化。
想要按行读取:可以按照指定的模板,对pdf进行修改添加删除等操作,总之操作很骚,很强大。
1.pdfbox 需要带入依赖。
2.代码。
第二种使用国产的框架 Spire.PDF包含两种版本。
1 免费版。
https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-JAVA.html
友情提示: 免费版有 10 页的页数输出限制,在输出结果文档时只能输出前10页。将 PDF 文档转换为图片、word、HTML、XPS等格式时,仅支持转换前 10 页。如超出限制,可升级到商业版,我们仅对免费版进行不定期维护。
2 商业版本。
https://www.e-iceblue.cn/Introce/Spire-PDF-JAVA.html。
api。
http://e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html。
特点:商业版本收费,免费版本有限制,可供开发人员调试,解析格式友好,解析结果是按照行显示,对pdf 图形 ,水印 ,文本, 条形码等添加增删改操作,总之个人感觉比pdfbox顺手,但就是收费啊,谁让咱公司没钱呢。
主要功能:
只需 Free Spire.PDF for Java,无需 Adobe Acrobat。
Free Spire.PDF for Java 是一款完全独立的 PDF 类库。它的运行环境无需安装 Adobe Acrobat 或其他任何第三方组件。
多样化的PDF文档操作功能。
Free Spire.PDF for Java 支持画文本、图片、表格、条形码、形状到 PDF,提取文本和图片,创建、填充和删除 PDF 表单,添加文本/图片水印到 PDF,添加、更新和删除 PDF 书签,操作超链接、附件和注释,以及添加图片/文本印章到 PDF 等。
文档信息设置。
Free Spire.PDF for Java 支持设置 PDF 文档信息,例如文档属性设置,偏好设置(页面方向,页面大小,缩放比例等)。
高质量的文档转换功能。
Free Spire.PDF for Java 支持将 PDF 文档高质量地转换为 Word、HTML、XPS、图片、SVG 和 PDF/A 格式,以及将 XPS 文档高质量地转换为 PDF 格式。
文档安全性设置。
Free Spire.PDF for Java 支持给 PDF 文档添加和验证数字签名,加密和解密 PDF 文档,修改 PDF 文档的安全权限,以及检测签名后的 PDF 文档是否被修改。
易于集成。
开发人员可以轻易地将 Free Spire.PDF for Java 集成到 Java(J2SE和J2EE)应用程序中。
C. java 读取pdf, word, excel, ppt文档的内容,下了POI包,但是不知道怎么用,刚学java,求告诉一下怎么办
读取pdf需要下载pdfbox:
http://pdfbox.apache.org/
新建一个Project,然后把POI的src导入到该工程。
【How to create an Eclipse Project 】你可以参考:
http://mail-archives.apache.org/mod_mbox/poi-dev/201204.mbox/%3cCAPt+24QbEryNixQFuPhEsKx16oHcn_h5xEa0x9uMSEVYLe-fPw@mail.gmail.com%3e
D. 如何用java读取pdf文档的部分内容
你需要用到 api
https://pdfbox.apache.org/1.8/cookbook/textextraction.html
例子如下
importjava.io.File;
importjava.io.IOException;
importorg.apache.pdfbox.pdmodel.PDDocument;
importorg.apache.pdfbox.text.PDFTextStripper;
importorg.apache.pdfbox.text.PDFTextStripperByArea;
try{
PDDocumentdocument=null;
document=PDDocument.load(newFile("test.pdf"));
document.getClass();
if(!document.isEncrypted()){
PDFTextStripperByAreastripper=newPDFTextStripperByArea();
stripper.setSortByPosition(true);
PDFTextStripperTstripper=newPDFTextStripper();
Stringst=Tstripper.getText(document);
System.out.println("Text:"+st);
}
}catch(Exceptione){
e.printStackTrace();
}
E. java读取pdf判断文字旋转方向
嗯……关于java读取pdf的话,推荐阁下试试pdfbox这个工具,能够支持中文,但是缺点在于不能读取图片形式的pdf,比如将一篇文章照下来,存成图片,做的pdf识别不了。如果阁下想要做图像方面的文字识别的话,可以考虑使用tesseract这个工具,同样识别中文!关于文字的旋转方向……在下的思路是每次将文字进行九十度旋转,并进行识别,能识别出来的时候,计算出旋转角度即可!思路仅供参考,祝阁下学习愉快!