注:原文来至 《 java-pdf转word   》

一: java Pdf 文字 转 Word

废话不说,直接上图

很简单的用法:
1、new个PDFBox对象
2、调用pdfToDoc()方法,再传一个参数(文件路径)

最新jar下载地址:链接:https://pan.baidu.com/s/1snqjpSx 密码:jujg  或者加QQ群: 464429490(在群文件中)

二:Java  Pdf 图片表格 转 word

文章来源: 《 java-pdf转图片

很多人反应pdf转doc 图片丢失,表格丢失,样式丢失,编码问题等等。
没错这段代码就是只能把文字转为doc文件的

因为:stripper.writeText(doc,writer);
doc指doc文件
writer指 FileOutputStream fos=new FileOutputStream(“pdf文件地址”);
Writer writer=new OutputStreamWriter(fos,”UTF-8”);

所以我们想出了用js生成图片,或者pdf先转成图片

js全屏截图:

1 function takeScreenshot() {
2     html2canvas(document.body, {
3         onrendered: function(canvas) {
4             document.body.appendChild(canvas);
5         },
6     });
7 }

js生成pdf:

1 html2canvas(document.body, {
2   onrendered: function(canvas) {
3     var url = canvas.toDataURL();
4     //document.body.appendChild(canvas);
5     var doc = new jsPDF();
6    doc.setFontSize(40);
7    //doc.text(35, 25, "yanhui");
8
9    var imgAsDataURL = url;
10    doc.addImage(imgAsDataURL, 'JPEG', 15, 40, 420, 180);
11    doc.save('艳辉网.pdf');
12   },
13   width: 600,
14   height: 600
15 });

js预览pdf

1 window.onload = function () {
2          var success = new PDFObject({
3              url: "pdf/test.pdf",
4              pdfOpenParams: {
5                  scrollbars: '0',
6                  toolbar: '0',
7                  statusbar: '0'
8                  }
9           }).embed("pdf");
10      };

js那么强大,我们的java也不甘示弱

java实现pdf转图片 图片转pdf

1 //将pdf装图片 并且自定义图片得格式大小
2         File file = new File(pdfPath);
3         try {
4             PDDocument doc = PDDocument.load(file);
5             PDFRenderer renderer = new PDFRenderer(doc);
6             int pageCount = doc.getNumberOfPages();
7             for (int i = 0; i < pageCount; i++) {
8                 BufferedImage image = renderer.renderImageWithDPI(i, 240);
9                 BufferedImage srcImage = resize(image, image.getWidth(), image.getHeight());
10                 ImageIO.write(srcImage, "PNG", new File(pngPath.replace(".",i+".")));
11             }
12         } catch (IOException e) {
13             e.printStackTrace();
14         }

1 BufferedImage image = ImageIO.read(new FileInputStream(pngPath));
2          List<BufferedImage> images=new ArrayList<BufferedImage>();
3              BufferedImage srcImage = resize(image, image.getWidth(), image.getHeight());
4              images.add(srcImage);
5          //合成图片转pdf
6          createPDFFromImage(pdfPath,images);

java生成pdf,支持中文编码

1 Document document = createDoc(filename);
2         // 打开文档
3         document.open();
4         // 文档里写入
5         Paragraph centerPar = convertParToChinese("艳辉网", 20, bold, red);
6         centerPar.setAlignment(Element.ALIGN_CENTER);
7
8         document.add(centerPar);
9 //      document.add(new Paragraph("\n"));
10 //      document.add(convertParToChinese("黑色", 18, boldItalic, black));
11         document.add(new Paragraph("\n"));
12         document.add(convertParToChinese("你最爱上的艳辉博客,加QQ群494808400,即可获取更多java资料。", 12, normal, black));
13         document.add(new Paragraph("\n"));
14         // 文档写入图片
15         if (checkFile(imgPath)) {
16             Image image = writeImg(imgPath);
17             document.add(image);
18             document.add(new Paragraph("\n"));
19         }
20 //      document.add(new Paragraph("\n"));
21 //      // 生成三列表格
22 //      PdfPTable table = new PdfPTable(3);
23 //      // 设置表格具体宽度
24 //      table.setTotalWidth(90);
25 //      // 设置每一列所占的长度
26 //      table.setWidths(new float[] { 50f, 15f, 25f });
27 //      PdfPCell cell1 = new PdfPCell();
28 //      Paragraph para = new Paragraph("aaaaa");
29 //      cell1.setPhrase(para);
30 //      table.addCell(cell1);
31 //      table.addCell(new PdfPCell(new Phrase("IText")));
32 //      table.addCell(new PdfPCell(new Phrase("IText")));
33 //      document.add(table);
34
35 //      document.add(new Paragraph("\n"));
36 //      document.add(new Paragraph("\n"));
37         // PDF同行显示
38 //      Paragraph par = new Paragraph();
39 //      Chunk chunk1 = new Chunk( convertChunkByChinese("考试分数:", 20, bold, black));
40 //      Chunk chunk2 = new Chunk(convertChunkByChinese("93", 20, bold, red));
41 //      par.add(chunk1);
42 //      par.add(chunk2);
43 //      // 设置整体缩进
44 //      par.setFirstLineIndent(setting);
45 //      // 居中
46 //      Paragraph centerPar = convertParToChinese("剧中测试", 16, italic, black);
47 //      centerPar.setAlignment(Element.ALIGN_CENTER);
48 //      document.add(par);
49         // 新建章节
50         // 章节标题
51 //      Paragraph chapterTitle = new Paragraph(convertParToChinese("章节标题", 18, boldItalic, blue));
52 //      Chapter chapter1 = new Chapter(chapterTitle, 1);
53 //      chapter1.setNumberDepth(0);
54 //      Paragraph p = new Paragraph("test!!!!!");
55 //      chapter1.add(p);
56 //      document.add(chapter1);
57
58         //关闭文档
59         document.close();

还有pdf2word2.0

1 PDDocument doc=PDDocument.load(new File(name1));
2         int pagenumber=doc.getNumberOfPages();
3
4         name1 = name1.substring(0, name1.lastIndexOf("."));
5 //      String dirName = "D:\\pdf\\";// 创建目录D:\\pdf\\a.doc
6         String dirName = name1;// 创建目录D:\\pdf\\a.doc
7         //createDir(dirName);// 调用方法创建目录
8         String fileName = dirName + ".doc";// 创建文件
9         createFile(fileName);
10         FileOutputStream fos=new FileOutputStream(fileName);
11         Writer writer=new OutputStreamWriter(fos,"UTF-8");
12         PDFTextStripper stripper=new PDFTextStripper();
13
14 //      doc.addSignature(arg0, arg1, arg2);
15
16         stripper.setSortByPosition(true);//排序
17         //stripper.setWordSeparator("");//pdfbox对中文默认是用空格分隔每一个字,通过这个语句消除空格(视频是这么说的)
18         stripper.setStartPage(1);//设置转换的开始页
19         stripper.setEndPage(pagenumber);//设置转换的结束页
20         stripper.writeText(doc,writer);
21         writer.close();
22         doc.close();
23         System.out.println("pdf转换word成功!");

三:java-pdf转word3.0

注:原文来源 《 java-pdf转word3.0   》

java-pdf转word3.0

2.0是pdf转图片,现在出3.0图片再转成word,写1.0的时候目的是使用pdfbox.jar将pdf文件转成word文件,在wps中转的话需要充会员,如果使用java的话,只需要配置环境,大大节省了一笔money,渐渐大部分很多做java的都需要写这个需求,有的我加了别人,别人不提供源代码,只说了方法,但是我也很感激。。。有很多人加我QQ,就说我这个那个pdf转word能不能实现,说我没提供代码是不是骗子什么的,对于这个pdf转word要求保留样式,保留图片,,别人wps转也需要收钱的,他们开发不一定是用java开发的,你也可以用C++开发一个,这里pdf转word这个需求只是简单的实现文字转换,当然你也可以加QQ一起讨论,以后会出4.0 5.0 5.2 。。。版本的。说了很多煽情的话,是时候展现正真的技术了。

首先分享pdf转html:
这是小编在网上copy下来的,先整个下载pdf2htmlEX-v1.0文件夹

1 pdf2html("D:\\DesignSoftware\\pdf\\pdf2htmlEX-v1.0\\pdf2htmlEX.exe",
2                  "D:\\a.pdf",
3                  "D:\\HTMLPDF","a1.html");

意思是将D盘的a.pdf转成a1.html并保存在D盘HTMLPDF目录中。

然后分享的是html转word:
也是百度下来的

1 new Html2Doc().writeWordFile("D:/a3.html","D:/test222.doc",1);

意思是将D盘的a3.html转成test222.doc并保存在D盘目录中。
其中1表示本地html 2表示在线 在线并没有开放,我测试了在线的转成doc后样式全丢失,就像感觉怀疑人生。。。

本章博客的代码全部公开免费,因为大部分代码都是东拼西凑下来完成需求的,但是1.0和2.0的代码需要开通我们艳辉vip才能获取。

这样你的需求就能实现pdf转word时,只要pdf读取出图片,然后再将图片写入word文档,就能实现pdf转word保存图片的效果。然后有人就会问,保存图片却不能编辑,有毛线用啊。
所以可以看看2.0的,pdf转word时,我们先做一个word模板,然后再将数据填进去,这样word就能实现编辑效果,缺点就是要有固定的模板,变化能力差。想到更好的方法可留言。喷我也可留言,反正被喷都不是第一次,这部分代码可以免费下载,可以加QQ490647751,回复java-pdf转word3.0,即可获取代码学习。

小编想了pdf转html,html再转word,但是html转word样式和图片也丢失,无奈放弃。。。

java-pdf转word相关推荐

  1. java pdf转word,没页数限制,去除水印

    1.pom.xml的依赖引入 <dependency><groupId>org.javassist</groupId><artifactId>javas ...

  2. java pdf转word

    Java 是一种用于编写跨平台应用软件的面向对象的编程语言.如果你想将 PDF 转换为 Word 文档,你可以使用以下几种方法: 在线工具:可以使用在线 PDF 转换工具,例如 smallpdf.co ...

  3. java pdf 转word源码_Java 实现word模板转为pdf

    1. pom相关依赖 工具poi-tl (操作word文档模板) + jacob (将操作后的word模板转为pdf) com.deepoove poi-tl 1.9.1 com.jacob jaco ...

  4. java pdf转word 支持图片转换到word(最大程度的解决原PDF)

    依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</ar ...

  5. java pdf 转word

    使用java api 简单实现pdf文档转word文档功能. import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox ...

  6. 编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进

    压缩过的pdf勿进! 压缩过的pdf勿进! 压缩过的pdf勿进! 重要的事情说三遍. 主要是提供两种解决办法 第一种:转成同级目录word 第二种:直接console打印 java的好处之一就是取之不 ...

  7. Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

    目录 一.Java的打印简介 二.Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行 ...

  8. java 打印jpg、pdf、word

    转自: https://blog.csdn.net/vatxiongxiaohui/article/details/83985896 目录 一.Java的打印简介 二.Java打印实现 2.1 JPG ...

  9. java freemarker转PDF和Word

    最近项目要求做一个freemarker转PDF和Word的功能,因为以前没用过,遇到了很多坑所以在这里记录一下,方便自己以后用到,不说了直接上代码: 1.先说PDF的 (1)先做一个模板(用HTML页 ...

  10. java实现pdf转为word

    Installing Spire.Pdf.jar 如果您创建了⼀个 Maven 项⽬,您可以使⽤以下配置轻松地在您的应⽤程序中导⼊ jar.对于⾮ Maven 项⽬,请从此下载 jar ⽂件并⼿动 将 ...

最新文章

  1. 网络管理员&MCSE2003之12:第7章 使用组策略管理用户环境(下)
  2. 红队攻防之从边界突破到漫游内网(无cs和msf)
  3. python templates_python templates在哪
  4. boost::undirected_dfs用法的测试程序
  5. Why IBASE category 03 is filtered out in creation
  6. linux中的变量文件路径,Linux库文件和Shell可执行程序命令文件搜索路径变量的设置...
  7. 全网最细之N种内部类详细讲解
  8. C语言-字符串处理函数strcpy
  9. 网页检测 AdBlock 的 6 种方法
  10. Newtonsoft.Json 方法使用()
  11. 物联网卡对企业设备的重要性
  12. 记忆网络之在对话系统中的应用
  13. Java中系统属性Properties介绍 System.getProperty()参数大全
  14. 深入浅出mysql csdn_《深入浅出MySQL:数据库开发、优化与管理维护
  15. wcdma系统随机接入过程的流程图_随机接入过程
  16. oracle 有if语句吗,oracle的if语句
  17. 用python简易制作晋江城小说下载器(GUI+爬虫+多线程)
  18. 十大热门行业公布 成都仍是跳槽首选
  19. Stacked Hourglass Networks for Human Pose Estimation
  20. jmeter线程组之jp@gc - Ultimate Thread Group

热门文章

  1. linux配置c11,C11标准的泛型机制
  2. 通过Visio软件的宏编写Java代码
  3. excel处理html文件,html网页显示excel表格数据-html读取本地excel文件并展示
  4. phpcms v9 wap手机门户分页(显示首页末页)
  5. bootice添加黑苹果引导_Clover(四叶草)引导多系统(Linux亦可),黑苹果引导教程
  6. 用Python学《微积分B》(序)
  7. win10网络共享计算机名,手把手教你win10一键共享局域网的具体解决步骤
  8. STM32固件升级之 hypertrm(超级终端)使用(三)
  9. Unity 内置渲染管线、SRP、URP、HDRP区别
  10. Python 实现定时任务的八种方案