java-pdf转word

注:原文来至 《 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样式和图片也丢失,无奈放弃。。。

原文地址:https://www.cnblogs.com/ios9/p/8661750.html

时间: 2024-10-16 23:49:28

java-pdf转word的相关文章

java操作excel,pdf,word等文件的方法

java 读取pdf.word.Excel文件 用到的jar: itextpdf-5.5.8.jar   (PDF) poi.jar public class FileUtils {     /**     * 判断文件是否存在     *     * @Title: isExcite     * @param @param filePath     * @param @return     * @return boolean 返回类型     * @throws     */    publi

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享 在此,先分享下写此文前的经历与感受,我所有的感觉浓缩到一个字,那就是:"坑",如果是两个字那就是"巨坑"=>因为这个需求一开始并不是这样子的,且听我漫漫道来: 一开始客户与我们商量的是将office和PDF上传,将此类文件解析成html格式,在APP端调用内置server直接以html"播放" 经历一个月~,两个月~,三个月~~~

允许嵌入到PDF,Word文档和其他文件的条形码控件UPC/EAN Barcode Font Advantage Package

IDAutomation的UPC/EAN Barcode Font Advantage Package是一个先进的字体产品,它所用的工具,宏和源代码可以使用一个单一的字体文件来创建UCC-12, UPCA, UPCE, EAN8, EAN13, JAN, ISBN 和Bookland条形码.该字体满足ANSI, ISO和IEC 2000规格说明要求(ISO 15420:2000). 具体功能: 为了创建合适的UPC和EAN条形码类型,打印的字符必须要从UPC/EAN条形码字体数据表上定义的表格上

iText导出pdf、word、图片

一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题. 二.iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. iText的

一款免费支持PDF、word、excel、PPT、jpeg之间互转线上软件

偶然发现的一款免费支持PDF.word.excel.PPT.jpeg之间互转,支持合并pdf.加密解密PDF的线上软件,首先声明,不是广告党,我自己试用过,确实是目前我用过最好用的,如果有朋友有更好的欢迎推荐. 重点: smallpdf ,对,就是它,支持线上转换,傻瓜式操作. 支持好多种转换: 不过目前我只试过word转PDF,和pdf转word.word转PDF一般offce软件都支持,没什么特别的,不过我发现PDF转word确实效果好,其它功能不知道用起来怎么样,希望用过的网友留言反馈,我

好用的支持PDF转Word文本的工具

我们都知道,借助PDF转换成Word转换器的帮助,可以非常轻松地实现PDF转换成为Word的需求.但是网 上那么多的转换器,你知道哪个好用么?现在的时代讲得就是方便和快捷!快速易操作才是王道. 现在网上那么多的PDF转Word转换器,那么到底哪个PDF转换成Word转换器好呢?国内知名的迅捷PDF转换 成Word转换器近期给了答案:全面升级提升转换效率.支持高质量精准解析和转换.多功能PDF转换功能 涵括八大转换模式,目前迅捷PDF转换成Word转换器已经不再仅仅局限于普通的PDF转换Word的

应对不同格式 轻松转换PDF、WORD、PPT、TXT常用文件

PDF.WORD.PPT.TXT,不同格式的文件是不是弄得你眼花缭乱?如何巧妙地将它们相互转换?你不会还在键盘上傻傻地一个字一个字敲吧?教你不同文件格式间的转换方式,轻松几键便能大功告成.职场之上,你一定用得到!

图文详解PDF与word、excel、ppt互转工具Solid PDF Tools v9的下载、安装与注册激活

很多同学经常询问小编有没有关于PDF转word.excel.ppt或者它们之间互转的软件,之前亦是美网络小编曾经给大家介绍过一款工具AnyBizSoft_PDF_Convert的下载.安装与注册激活使用教程,但是有部分小伙伴反映说安装时出现了问题,可能是系统不兼容导致的无法使用,为了解决小伙伴的难题,今天再给大家分享一款PDF与word.excel.ppt互转工具,那就是Solid PDF Tools v9中文版,下面亦是美网络给大家介绍一下它的下载.安装与注册激活教程吧. Solid PDF

精品软件 Aiseesoft PDF to Word Converter 专业的 PDF 转换器

Aiseesoft PDF to Word Converter 是一款专业的 PDF 转换器,可以将 PDF 文件高质量地转换为 Word 文档,支持转换 PDF 为 DOC.DOCX 或 RTF 格式,同时也支持批量转换. Aiseesoft PDF to Word Converter 既可以将一般文本 PDF 转换为 Word 文档,也可以转换扫描或图片 PDF,拥有强大的 OCR 文档识别功能,由于 Aiseesoft PDF2Word 使用的是著名的 ABBYY Finereader 的

PDF切割 pdf转word

因为国内的技术书籍通常比国外的晚2年左右,且因为翻译的回报太低,千字才80到300块,大多数只有100块左右,所以国内的翻译作品通常比较差. 国内的书籍少有PDF原版流出,大多数是影印版,内容多是一张张图片.而国外的书籍通常都能找到PDF原版. 有时候在阅读PDF的时候,有需求要转成word或者对其进行切割. pdf转word工具 链接: http://pan.baidu.com/s/1nvLi6F3   密码: mrdp pdf切割工具 链接: http://pan.baidu.com/s/1