补充:一下代码基于maven,现将依赖的jar包单独导出

地址:pdf jar

完整代码地址 也就两个文件

java读取pdf中的纯文字,这里使用的是pdfbox工具包

maven引入如下配置

  1.      <dependency>
  2. <groupId>net.sf.cssbox</groupId>
  3. <artifactId>pdf2dom</artifactId>
  4. <version>1.7</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.pdfbox</groupId>
  8. <artifactId>pdfbox</artifactId>
  9. <version>2.0.12</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.apache.pdfbox</groupId>
  13. <artifactId>pdfbox-tools</artifactId>
  14. <version>2.0.12</version>
  15. </dependency>

工具类直接读取

代码示例

  1.   /*
  2. 读取pdf文字
  3. */
  4. @Test
  5. public void readPdfTextTest() throws IOException {
  6. byte[] bytes = getBytes("D:\\code\\pdf\\HashMap.pdf");
  7. //加载PDF文档
  8. PDDocument document = PDDocument.load(bytes);
  9. readText(document);
  10. }
  11.  
  12. public void readText(PDDocument document) throws IOException {
  13. PDFTextStripper stripper = new PDFTextStripper();
  14. String text = stripper.getText(document);
  15. System.out.println(text);
  16. }

将pdf转换为html

效果图

代码示例

  1. /*
  2. pdf转换html
  3. */
  4. @Test
  5. public void pdfToHtmlTest() {
  6. String outputPath = "D:\\code\\pdf\\HashMap.html";
  7. byte[] bytes = getBytes("D:\\code\\pdf\\HashMap.pdf");
  8. // try() 写在()里面会自动关闭流
  9. try (BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(outputPath)),"UTF-8"));){
  10. //加载PDF文档
  11. PDDocument document = PDDocument.load(bytes);
  12. PDFDomTree pdfDomTree = new PDFDomTree();
  13. pdfDomTree.writeText(document,out);
  14. } catch (Exception e) {
  15. e.printStackTrace();
  16. }
  17. }
  18. /*
  19. 将文件转换为byte数组
  20. */
  21. private byte[] getBytes(String filePath){
  22. byte[] buffer = null;
  23. try {
  24. File file = new File(filePath);
  25. FileInputStream fis = new FileInputStream(file);
  26. ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
  27. byte[] b = new byte[1000];
  28. int n;
  29. while ((n = fis.read(b)) != -1) {
  30. bos.write(b, 0, n);
  31. }
  32. fis.close();
  33. bos.close();
  34. buffer = bos.toByteArray();
  35. } catch (FileNotFoundException e) {
  36. e.printStackTrace();
  37. } catch (IOException e) {
  38. e.printStackTrace();
  39. }
  40. return buffer;
  41. }

完整的一个上传pdf转换为HTML功能(今后转换pdf也不需要找什么第三方了,哈哈)

  1. @RequestMapping("ud")
  2. @Controller
  3. public class UpAndDownController {
  4. @RequestMapping("upload.do")
  5. @ResponseBody
  6. public Map<String,Object> upload(@RequestParam("file") MultipartFile file, HttpServletRequest request){
  7. Map<String, Object> map = new HashMap<>();
  8. map.put("code","200");
  9. try {
  10. PdfConvertUtil pdfConvertUtil = new PdfConvertUtil();
  11. String pdfName = file.getOriginalFilename();
  12. int lastIndex = pdfName.lastIndexOf(".pdf");
  13. String fileName = pdfName.substring(0, lastIndex);
  14. String htmlName = fileName + ".html";
  15. String realPath = ResourceUtils.getURL("classpath:").getPath() + "/templates/file";
  16. File f = new File(realPath);
  17. if(!f.exists()){
  18. f.mkdirs();
  19. }
  20. String htmlPath = realPath + "\\" + htmlName;
  21. pdfConvertUtil.pdftohtml(file.getBytes(), htmlPath);
  22. } catch (Exception e) {
  23. map.put("code","500");
  24. e.printStackTrace();
  25. }
  26. return map;
  27. }
  28.  
  29. }

可以使用postman调试

需要设置请求头 Content-Type 指定为 application/x-www-form-urlencoded

之后选择body选择form-data,OK

如果涉及到HTML页面直接加载PDF,无需插件

可以参考下

https://www.cnblogs.com/jacksoft/p/5302587.html

https://github.com/mozilla/pdf.js

java读取pdf文本转换html的更多相关文章

  1. [转].NET下读取PDF文本

    本文转自:http://blog.csdn.net/wangqiuyun/article/details/8548779 在.NET下读取PDF文本用到的类库主要有两个:PDFBox和iTextSha ...

  2. .Net ->> iTextSharp工具读取PDF文本内容

    分享一个开源的C#DLL,可以读取PDF文本内容. 地址:http://sourceforge.net/projects/itextsharp/ 这里还有相关的链接:http://www.codepr ...

  3. Java 读取PDF中的文本和图片

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取.   使用工具:Free Spire.PDF for Ja ...

  4. java读取pdf总结

    第三方软件 1.pdfbox PDFBox 0.7.3.PDFBox是一个开源的对pdf文件进行操作的库. PDFBox-0.7.3.jar加入classpath.同时FontBox1.0.jar加入 ...

  5. Java 读取PDF中的表格

    一.概述 本文以Java示例展示读取PDF中的表格的方法.这里导入Spire.PDF for Javah中的jar包,并使用其提供的相关及方法来实现获取表格中的文本内容.下表中整理了本次代码使用到的主 ...

  6. Java 读取Word文本/段落格式属性

    本文介绍通过Java后端程序代码来读取Word文本和段落格式的方法. 本次测试环境如下: Word版本:2013 编译环境:IntelliJ IDEA2018 Work库:free spire.doc ...

  7. java读取pdf和MS Office文档

    有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来. 还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:Font ...

  8. java读取pdf文档

    import java.io.*;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.pdfparser.PDFParser;import o ...

  9. Java 读取Word文本框中的文本/图片/表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

随机推荐

  1. Jackson教程

    Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson所依赖的jar包较少,简 ...

  2. Tengine-Ngnix高级版

    Tengine介绍 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫 ...

  3. elementUI 的el-pagination 分页功能

    <div class="block1"> <el-pagination @size-change="handleSizeChange" @cu ...

  4. 破解Pycharm 2019.2

    参考:https://www.cnblogs.com/pig66/p/11432446.html 1.下载补丁文件 https://pan.baidu.com/s/112tS3XjAENIHaJ-aS ...

  5. JS提示信息来检测相应id的标签

    2015-07~2015-08 (其中$为document.getElementById()) 使用span提示信息来检测相应id的标签,没有返回值 infoTips("LRYH" ...

  6. BUUCTF RE部分题目wp

    RE 1,easyre拖进ida,得到flag 2,helloworld 将文件拖入apk改之理,得到flag 3,xor拖进ida,就是简单异或,写脚本 glo=[0x66,0x0a,0x6b,0x ...

  7. 微信小程序生命周期、页面生命周期、组件生命周期

    1. 生命周期 App(全局) 位置:项目根目录app.js文件 App({ onLaunch (options) { // console.log('小程序初始化') }, onShow(optio ...

  8. 使用ReadStream方法读取文件事件传递过程

    const fs = require('fs'); let file = fs.createReadStream("filename.js"); file.on("ope ...

  9. createReadStream().pipe() Callback

    const stream = fs.createReadStream('<filepath>/example.pdf', {bufferSize: 64 * 1024}) stream.p ...

  10. Java自定义注解Annotation的使用

    从 jdk5开始,Java增加了对元数据的支持,也就是Annotation,Annotation其实就是对代码的一种特殊标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理.当然刚刚说了, ...