精华内容
下载资源
问答
  • Java pdf转word

    2020-12-28 15:02:23
    java pdf转word 直接上代码: public static void main(String[] args) { try { String pdfFile = “D:/不止代码.pdf”; PDDocument doc = PDDocument.load(new File(pdfFile)); int pagenumber = doc....

    java pdf转word

    直接上代码:
    public static void main(String[] args) {
    try {
    String pdfFile = “D:/不止代码.pdf”;
    PDDocument doc = PDDocument.load(new File(pdfFile));
    int pagenumber = doc.getNumberOfPages();
    pdfFile = pdfFile.substring(0, pdfFile.lastIndexOf("."));
    String fileName = pdfFile + “.doc”;
    File file = new File(fileName);
    if (!file.exists()) {
    file.createNewFile();
    }
    FileOutputStream fos = new FileOutputStream(fileName);
    Writer writer = new OutputStreamWriter(fos, “UTF-8”);
    PDFTextStripper stripper = new PDFTextStripper();
    stripper.setSortByPosition(true);// 排序
    stripper.setStartPage(1);// 设置转换的开始页
    stripper.setEndPage(pagenumber);// 设置转换的结束页
    stripper.writeText(doc, writer);
    writer.close();
    doc.close();
    System.out.println(“转换成功!”);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    pom引入

    org.apache.pdfbox
    pdfbox
    2.0.12

    备注:发表纯属做学习记录
    参考:https://yspxyz.blog.csdn.net/article/details/88656869?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai

    展开全文
  • java pdf 转word

    2020-10-03 17:00:05
    使用java api 简单实现pdf文档转word文档功能。 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.util.PDFTextStripper; import java.io.*; public class PdfToWord { public static...
    使用java api 简单实现pdf文档转word文档功能。
    
    import org.apache.pdfbox.pdmodel.PDDocument;
    import org.apache.pdfbox.util.PDFTextStripper;
    
    import java.io.*;
    
    public class PdfToWord {
    
        public static void main(String[] args) {
            String pdfPath =  "D:\\Tools\\Spring.pdf";
    
            try {
                PDDocument doc = PDDocument.load(new File(pdfPath));
                int pageNum = doc.getNumberOfPages();
                pdfPath = pdfPath.substring(0, pdfPath.lastIndexOf("."));
                String fileName = pdfPath+".doc";
                File file = new File(fileName);
                if(!file.exists()){
                    file.createNewFile();
                }
                FileOutputStream fos = new FileOutputStream(file);
                Writer writer = new OutputStreamWriter(fos,"UTF-8");
                PDFTextStripper textStripper = new PDFTextStripper();
                textStripper.setSortByPosition(true);
                textStripper.setStartPage(1);
                textStripper.setEndPage(pageNum);
                textStripper.writeText(doc,writer);
                writer.close();
                doc.close();
    
                System.out.println("转换成功");
    
            } catch (IOException e) {
                e.printStackTrace();
            }
    
    
        }
    
    }
    

    本文所用的jar包,pdfbox-1.8.2.jar,jdk 1.8 ,由于使用gradle构建 ,compile("org.apache.pdfbox:pdfbox:1.8.2"),也可以自行下载jar包。

    本来有个pdf文档90多页,但是有没有标签,阅读麻烦,作为一个程序员,果断使用程序实现,结果转换过来的文件没有格式,没有达到预期效果。

    展开全文
  • java pdf转word

    2020-01-13 09:02:15
    最近家人有个pdf 文档需要word ,我觉得很轻松就在网上搜索工具,竟然没有找到好用的工具,有几个像样的竟然需要银子?? pdf转换这么难吗?为什么需要花钱才能解决?强大的java,好用的apache 工具系列解决不了...

    最近家人有个pdf 文档需要转成word ,我觉得很轻松就在网上搜索工具,竟然没有找到好用的工具,有几个像样的竟然需要银子??

    pdf转换这么难吗?为什么需要花钱才能解决?强大的java,好用的apache 工具系列解决不了么 ?所以决定研究一下。

    首先找到了apache pdf 解析的依赖包:

    		<dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>2.0.4</version>
            </dependency>
            <dependency>
                <groupId>net.coobird</groupId>
                <artifactId>thumbnailator</artifactId>
                <version>0.4.8</version>
            </dependency>
    

    另外一个是图片处理的包。

    由于pdf 中包含图片和文字,所以我提取图片和文字添加到word 中就好,添加POI依赖。

    		<dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.9</version>
            </dependency>
    

    然后贴一下代码:

    public class Pdf2word {
        public static void main(String[] args) throws InvalidFormatException {
     
            try {
                String pdfFileName = "H:\\xuweichao.pdf";
                PDDocument pdf = PDDocument.load(new File(pdfFileName));
                int pageNumber = pdf.getNumberOfPages();
     
                String docFileName = pdfFileName.substring(0, pdfFileName.lastIndexOf(".")) + ".doc";
     
                File file = new File(docFileName);
                if (!file.exists()) {
                    file.createNewFile();
                }
                CustomXWPFDocument document = new CustomXWPFDocument();
                FileOutputStream fos = new FileOutputStream(docFileName);
     
                //提取每一页的图片和文字,添加到 word 中
                for (int i = 0; i < pageNumber; i++) {
     
                    PDPage page = pdf.getPage(i);
                    PDResources resources = page.getResources();
     
                    Iterable<COSName> names = resources.getXObjectNames();
                    Iterator<COSName> iterator = names.iterator();
                    while (iterator.hasNext()) {
                        COSName cosName = iterator.next();
     
                        if (resources.isImageXObject(cosName)) {
                            PDImageXObject imageXObject = (PDImageXObject) resources.getXObject(cosName);
                            File outImgFile = new File("H:\\img\\" + System.currentTimeMillis() + ".jpg");
                            Thumbnails.of(imageXObject.getImage()).scale(0.9).rotate(0).toFile(outImgFile);
     
     
                            BufferedImage bufferedImage = ImageIO.read(outImgFile);
                            int width = bufferedImage.getWidth();
                            int height = bufferedImage.getHeight();
                            if (width > 600) {
                                double ratio = Math.round((double) width / 550.0);
                                System.out.println("缩放比ratio:"+ratio);
                                width = (int) (width / ratio);
                                height = (int) (height / ratio);
     
                            }
     
                            System.out.println("width: " + width + ",  height: " + height);
                            FileInputStream in = new FileInputStream(outImgFile);
                            byte[] ba = new byte[in.available()];
                            in.read(ba);
                            ByteArrayInputStream byteInputStream = new ByteArrayInputStream(ba);
     
                            XWPFParagraph picture = document.createParagraph();
                            //添加图片
                            document.addPictureData(byteInputStream, CustomXWPFDocument.PICTURE_TYPE_JPEG);
                            //图片大小、位置
                            document.createPicture(document.getAllPictures().size() - 1, width, height, picture);
     
                        }
                    }
     
     
                    PDFTextStripper stripper = new PDFTextStripper();
                    stripper.setSortByPosition(true);
                    stripper.setStartPage(i);
                    stripper.setEndPage(i);
                    //当前页中的文字
                    String text = stripper.getText(pdf);
     
     
                    XWPFParagraph textParagraph = document.createParagraph();
                    XWPFRun textRun = textParagraph.createRun();
                    textRun.setText(text);
                    textRun.setFontFamily("仿宋");
                    textRun.setFontSize(11);
                    //换行
                    textParagraph.setWordWrap(true);
                }
                document.write(fos);
                fos.close();
                pdf.close();
                System.out.println("pdf转换解析结束!!----");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    public class CustomXWPFDocument extends XWPFDocument {
        public CustomXWPFDocument(InputStream in) throws IOException {
            super(in);
        }
     
        public CustomXWPFDocument() {
            super();
        }
     
        public CustomXWPFDocument(OPCPackage pkg) throws IOException {
            super(pkg);
        }
     
        /**
         * @param id
         * @param width
         *            宽
         * @param height
         *            高
         * @param paragraph
         *            段落
         */
        public void createPicture(int id, int width, int height,
                                  XWPFParagraph paragraph) {
            final int EMU = 9525;
            width *= EMU;
            height *= EMU;
            String blipId = getAllPictures().get(id).getPackageRelationship()
                    .getId();
            CTInline inline = paragraph.createRun().getCTR().addNewDrawing()
                    .addNewInline();
            String picXml = ""
                    + "<a:graphic xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\">"
                    + "   <a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">"
                    + "      <pic:pic xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">"
                    + "         <pic:nvPicPr>" + "            <pic:cNvPr id=\""
                    + id
                    + "\" name=\"Generated\"/>"
                    + "            <pic:cNvPicPr/>"
                    + "         </pic:nvPicPr>"
                    + "         <pic:blipFill>"
                    + "            <a:blip r:embed=\""
                    + blipId
                    + "\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"/>"
                    + "            <a:stretch>"
                    + "               <a:fillRect/>"
                    + "            </a:stretch>"
                    + "         </pic:blipFill>"
                    + "         <pic:spPr>"
                    + "            <a:xfrm>"
                    + "               <a:off x=\"0\" y=\"0\"/>"
                    + "               <a:ext cx=\""
                    + width
                    + "\" cy=\""
                    + height
                    + "\"/>"
                    + "            </a:xfrm>"
                    + "            <a:prstGeom prst=\"rect\">"
                    + "               <a:avLst/>"
                    + "            </a:prstGeom>"
                    + "         </pic:spPr>"
                    + "      </pic:pic>"
                    + "   </a:graphicData>" + "</a:graphic>";
     
            inline.addNewGraphic().addNewGraphicData();
            XmlToken xmlToken = null;
            try {
                xmlToken = XmlToken.Factory.parse(picXml);
            } catch (XmlException xe) {
                xe.printStackTrace();
            }
            inline.set(xmlToken);
     
            inline.setDistT(0);
            inline.setDistB(0);
            inline.setDistL(0);
            inline.setDistR(0);
     
            CTPositiveSize2D extent = inline.addNewExtent();
            extent.setCx(width);
            extent.setCy(height);
     
            CTNonVisualDrawingProps docPr = inline.addNewDocPr();
            docPr.setId(id);
            docPr.setName("图片名称");
            docPr.setDescr("描述信息");
        }
    }
    
    展开全文
  • Java PDF转Word

    2017-05-17 17:18:00
    为什么80%的码农都做不了架构师?>>> ...

     这里写图片描述

    这里写图片描述

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

    jar工具下载:链接:http://pan.baidu.com/s/1pKIKvkZ 密码:oord

    转载于:https://my.oschina.net/cccyb/blog/903104

    展开全文
  • Aspose.PDF For JAVA PDF转换WORD 用Aspose.PDF For JAVAPDF转换WORD Document doc = new Document(dataDir + "Test.pdf"); DocSaveOptions saveOptions = new DocSaveOptions(); saveOptions.setMode...
  • 可以完成PDFword的转换,美中不足的是转换完的有水印需要手动去除
  • zip文件解压,直接导入到eclipse里 有两个类 分别支持读取word和pdf转wordpdf转word样式百分百保留,license证书已pj,如需商业用途请购买正版证书
  • 使用java pdf word

    2020-09-08 18:04:37
    # 概述 遇到了一个需求,将pdf文件word文件。google了一圈,记录一下找到的解决方案。
  • Java pdf转word实例

    千次阅读 2017-11-22 19:03:12
    写了一个简单的转换,经测试是可以的,不过发现这个转换有大小的限制,小文件是... File file = new File("C:/Users/Administrator/Desktop/txt-book/Jpa/JPA教程.pdf"); PDDocument doc = null; try { doc =
  • java PDF转word的初步实现

    万次阅读 2019-03-19 10:45:27
    package com.springboot.springboot.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import org.apac...
  • java工程导成jar包 使用 bat 执行 jar 包。 --------------------------------------------------------------------------------------------------------------- ...Pdf2Word.java 解析pdf主类。 laq_.txt...
  • 网上java word转pdf比较少,要么就是要一大把积分让你下载,不借助外部软件就是这个最简单,还有一个 Spire.Doc free版(class被加密,转pdf限制3页) 把word转为pdf分为几步? 第一步,下载jar包,引入 ,jar包...
  • java PDF转WORD 只适合纯文本

    千次阅读 2016-06-13 08:50:50
    public class ConvertPdf2Word { public static void main(String[] args) throws IOException { System .out .println ( "Document converted started" ) ; XWPFDocument doc = new XWPFDocument() ; String...
  • javapdf转word

    2018-11-15 11:52:22
    javapdf转word 1
  • java实现PDF转word

    2020-12-03 16:19:31
    以SWT插件开发的方式实现PDF转word 文字生成图片 可直接运行完整代码 已经打成JAR包 以SWT插件开发的方式实现PDF转word 文字生成图片 可直接运行完整代码 已经打成JAR包
  • java-pdf转word

    2018-03-28 09:20:00
    注:原文来至 《 java-pdf转word 》 一: java Pdf 文字 转 Word 废话不说,直接上图 很简单的用法:1、new个PDFBox对象2、调用pdfToDoc()方法,再传一个参数(文件路径) 最新jar下载地址:链接:...
  • JAVA完成pdf转word

    2020-07-09 15:16:25
    JAVA完成pdf转word 直接代码 package com.baosight.mro.common.util; import org.pdfbox.pdmodel.PDDocument; import org.pdfbox.util.PDFTextStripper; import java.io.File; import java.io....
  • JavaPDF转WORD

    2020-09-01 14:33:21
    之前在逛网站时看到一个需求:实现将PDF中文字,图片,样式等word,xls,html等多种格式。 于是便尝试做了一下,总结如下(只有最下面的能实现,其他都只是我的总结): package com.lin.test; import org....
  • pdf 转word java代码

    2021-05-29 10:42:03
    想要pdf 转word java代码,目前我已经实现各种文件转pdf了</p>
  • Javapdf转word

    2021-04-12 16:04:35
    转换思路 使用第三方库Spire的免费版本,转换页数要求11页 输入一个pdf时候,小于11页直接转换,大于11页就先切分成子pdf ...java代码 pom.xml <repositories> <repository> <id>com.e-i
  • Java实现PDF转Word文档

    2021-04-21 11:01:11
    话不多说,直接上代码!!! ... import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.util.PDFTextStripper;...import java.io.*;... * @Description: PDF转Word */ public class PdfToWord {
  • javapdf转word

    2017-01-11 17:35:32
    *、javapdf转word 思路是:pdf转txt,txt利用poi转成word 类库:pdfbox  PS:乱码未解决:2017年1月11日17:37:21  http://bbs.csdn.net/topics/350214118尚未搞懂!!!   -------------------------------...
  • Javapdf转word

    2020-07-06 14:56:48
    package com.springcloud.learn.test; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import java.io.*; /** * @Author zlf ...public class pdfToWord {
  • java-pdf转word3.0

    千次阅读 2017-11-28 20:51:21
    java-pdf转word3.0 这是小编写1.0的时候http://blog.csdn.net/sinat_15153911/article/details/53926879这是2.0 http://blog.csdn.net/sinat_15153911/article/details/780042922.0是pdf转图片,现在出3.0图片再...
  • java开发PDF转Word

    2020-08-01 15:39:51
    -- PDF转world --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.20</version> PDFUtils.java ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,724
精华内容 689
关键字:

javapdf转word

java 订阅