精华内容
下载资源
问答
  • Python 批量将Word转化为PDF

    千次阅读 2019-02-25 22:13:19
    这不,就遇到一个需要批量将word转化为PDF的任务,在网上查找了一些资料,最终以十来行代码解决了问题。  此处只是使用python解决了该问题,并没有去深入python控制word的操作。  运行环境:windos、python3...

            生活中经常遇到一些小问题,有时使用代码去解决会节省很多时间,尤其是一些批量处理的问题。这不,就遇到一个需要批量将word转化为PDF的任务,在网上查找了一些资料,最终以十来行代码解决了问题。

            此处只是使用python解决了该问题,并没有去深入python控制word的操作。

            运行环境为:windos、python3(我使用的是anaconda3)

     

    from win32com import client as wc 
    import glob
    import re
    word = wc.Dispatch('Word.Application') 
    #glob批量获取指定目录下指定的所有文件的路径,返回路径列表。
    files = glob.glob("E:\\Word转pdf\\自然地理\\*.docx")
    print(files)
    for file_path in files:
        names = re.findall(r'自然地理\\(.*?).docx',file_path)[0]
        print(names)
        doc = word.Documents.Open(file_path) 
        doc.SaveAs('E:\\Word转pdf\\自然地理\\%s.pdf'%names,17)
        doc.Close() 
    word.Quit()

     

    希望给有需要的人解决了问题。如有不对请见谅,欢迎大家留言给意见。

    展开全文
  • 今天,我就来跟大家分享一下如何顺利完成WordPDF,如果你想get这个技能,不妨继续往下看吧~方法一:利用office软件中的Word来实现WordPDF步骤一:找到相关文件夹,双击打开需要转化为PDF的Wo...

    电脑怎么把Word转成PDF?大家在学习办公的过程中经常需要将Word文档转为PDF文件,但是网上相关的软件和工具的质量不一而足,我们该如何正确的选择工具来实现Word转PDF的目标呢?今天,我就来跟大家分享一下如何顺利完成Word转PDF,如果你想get这个技能,不妨继续往下看吧~

    方法一:利用office软件中的Word来实现Word转PDF

    步骤一:找到相关文件夹,双击打开需要转化为PDF的Word文档,进入文档编辑界面。

    721317dc72914ac4f1689f51bc3486a0.png

    小提示:如果您电脑中文件的默认打开方式不是Word2010,那么在打开文件之前,需要鼠标右键单击相关Word,然后再选择用Word2010打开此文档

    步骤二:进入文档编辑界面之后,先单击选项框中的文件,然后进入相关界面,再单击另存为。

    dfe1c62c0a18ffc913c37b12036ae07d.png

    步骤三:单击另存为之后,就可以选择文档的保存方式了,选择以PDF格式保存,这样就转化成PDF了。

    311c66ce841a2fb635d9fcb1a4839e3c.png

    方法二:用万兴PDF对Word进行一站式转化

    步骤一:打开万兴PDF,选择主界面上的PDF创建功能,然后就会出现弹框,找到需要转化成PDF文档的文件

    7bca572a0a8beb2fbb708f83fb7c62cf.png

    步骤二:单击打开,然后Word就直接转化为PDF了,是很方便的。

    f2878f8c63a751087ecec8131f3330b4.png

    目前PDF文档使用越来越多,但由于转化和编辑相对比较复杂,我们经常先用Word文档编辑好之后再转换成PDF格式,但这样只适合与单个文件的使用,如果多个文件需要转化为PDF的话,操作上就会比较麻烦,那么是否有快速批量处理的方法呢?

    当然方法是存在的,就是使用我们的万兴PDF进行一站式操作。

    Word转PDF的批量处理

    步骤一:打开万兴PDF,进入PDF创建面板之后,利用键盘上的ctrl键连续单击,选择你所想要转化的Word文档

    bdd99cc5a541c0775bf7d465094abb57.png

    步骤二:然后单击打开,马上就可以看见由Word批量转化的PDF文档了

    f5f32015088bf5bba39d04573d365cc6.png

    当然了,如果您把Word转化为PDF之后还想对PDF进行编辑等一系列操作,那么,万兴PDF您值得拥有。

    它可以针对 PDF文档的全功能编辑工具,它能够进行 PDF 编辑、PDF 格式转换、文档中图片 OCR 文字识别、批注、签名、密码保护、数字签名等功能,并且可以实现非常受欢迎的 PDF 转 Word功能。拥有 WindoWs、macOS、iOS、Android 四大平台客户端。关键是容易上手,便于操作。

    展开全文
  • 相信大家对于java应该都不陌生了,毕竟作为一款计算机语言它的使用频率...java如何将word转化为pdf文件 背景:日常开发ERP系统,会有一些工单或者合同之类需要填写打印。我们就会其word模板来通过系统自动化填写...

    相信大家对于java应该都不陌生了,毕竟作为一款计算机语言它的使用频率还是非常高的。很多朋友知道java能进行程序编写,今天小编就给大家介绍一下如何使用java里的jacob来进行word转成pdf格式文件的具体操作,有需要的朋友赶紧一起来看看吧!

    java如何将word转化为pdf文件
    背景:日常开发ERP系统,会有一些工单或者合同之类需要填写打印。我们就会将其word模板来通过系统自动化填写并转换为PDF格式(PDF文件打印可保证文件质量,是一种通用的格式。文件不易去修改,比较稳定)。所以我们将通过jacob来实现这些功能。

    准备工作:

    1.服务器需要安装office2007,因为我们就是调用这个来实现转换。

    2.需要安装插件jacob,安装jacob-1.14.3-x86.dll到jdkjdk1.7.0jrein(你自己电脑安装的jdk)

    3.需要使用jacob-1.14.3.jar包

    maven代码如下:

    <dependency>
      <groupId>net.sf.jacob-project</groupId>
      <artifactId>jacob</artifactId>
      <version>1.14.3</version>
    </dependency>

    4.假如通过以上准备工作未成功转换,就下载一个SaveAsPDFandXPS.exe组件(office2007里的)。我就是通过这个组件才完成转换。

    5.上面的在系统为windows7中就可以了,假如你的项目需要发布到服务器(服务器系统一般都是windows2008)。则还需要一步。在上面的基础上再安装安装jacob-1.14.3-x64.dll到jdkjdk1.7.0jrein(你自己电脑安装的jdk)中。很多人在win7下都能成功转换,但在win2008就是出问题。我就是通过磨了一天的时间,看了各种日志才发现问题。

    一、工具类(OperationIo.java),这里面可以不做任何修改,复制粘贴就可以了。

    package com.repair.util.pub;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import javax.imageio.ImageIO;
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.ComThread;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;
    
    public class OperationIO {
        
        static final int wdFormatPDF = 17;// PDF 格式   
        /**
         * WORD转换PDF
         * @param sfileName WORD文件存在位置
         * @param toFileName PDF文件存放位置
         */      
        public static void wordToPDF(String sfileName,String toFileName){    
            System.out.println("启动Word...");      
            long start = System.currentTimeMillis();   
            ActiveXComponent app = null;  
            Dispatch doc = null;  
            try {      
                //调用office word
                app = new ActiveXComponent("Word.Application");      
                app.setProperty("Visible", new Variant(false));  
                Dispatch docs = app.getProperty("Documents").toDispatch();    
                doc = Dispatch.call(docs,  "Open" , sfileName).toDispatch();  
                System.out.println("打开文档..." + sfileName);  
                System.out.println("转换文档到PDF..." + toFileName);      
                File tofile = new File(toFileName);      
                if (tofile.exists()) {      
                    tofile.delete();      
                }      
                Dispatch.call(doc,      
                              "SaveAs",      
                              toFileName, // FileName      
                              wdFormatPDF);      
                long end = System.currentTimeMillis();      
                System.out.println("转换完成..用时:" + (end - start) + "ms.");  
                  
                    
            } catch (Exception e) {      
                System.out.println("========Error:文档转换失败:" + e.getMessage());      
            } finally {  
                Dispatch.call(doc,"Close",false);  
                System.out.println("关闭文档");  
                if (app != null)      
                    app.invoke("Quit", new Variant[] {});      
                }  
              //如果没有这句话,winword.exe进程将不会关闭  
               ComThread.Release();     
        }  
        
        /**
         * 递归删除目录下的所有文件及子目录下所有文件
         * @param dir 将要删除的文件目录
         * @return boolean Returns "true" if all deletions were successful.
         *                 If a deletion fails, the method stops attempting to
         *                 delete and returns "false".
         */
        public static boolean deleteDir(File dir) {
            if (dir.isDirectory()) {
                String[] children = dir.list();
                for (int i=0; i<children.length; i++) {
                    boolean success = deleteDir(new File(dir, children[i]));
                    if (!success) {
                        return false;
                    }
                }
            }
            // 目录此时为空,可以删除
            return dir.delete();
        }
        /**
         * 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
         * @param imgFilePath 图片地址路径
         */
        public static String GetImageStr(String imgFilePath) {// 
            byte[] data = null;
             
            // 读取图片字节数组
            try {
              InputStream in = new FileInputStream(imgFilePath);
              data = new byte[in.available()];
              in.read(data);
              in.close();
            } catch (IOException e) {
              e.printStackTrace();
            }
             
            // 对字节数组Base64编码
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);// 返回Base64编码过的字节数组字符串
          }
        
        
        /** 
         * 将二进制转换为图片 
         *  
         * @param base64String 
         */  
        public static void base64StringToImage(String base64String,String imageoutpath) {  
            try {  
                BASE64Decoder decoder = new sun.misc.BASE64Decoder(); 
                byte[] bytes1 = decoder.decodeBuffer(base64String);  
                ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);  
                BufferedImage bi1 = ImageIO.read(bais);  
                File w2 = new File(imageoutpath);// 可以是jpg,png,gif格式  
                ImageIO.write(bi1, "jpg", w2);// 不管输出什么格式图片,此处不需改动  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }


    二、业务类(PrintWordToPdf.java) ,这里:

    package com.hjm.Test;
     
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.io.Writer;
    import java.util.HashMap;
    import java.util.Map;
     
    import com.engineering.pojos.pub.gcRecordArchive;
    import com.repair.util.pub.OperationIO;
     
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    import freemarker.template.TemplateException;
     
    public class PrintWordToPdf {
     
        public static void main(String[] args) {
            //创建一个Configuration的实例
            Configuration configuration = new Configuration();
            //设置编码
            configuration.setDefaultEncoding("utf-8");
            //创建Map对象,来保存要填写的数据
            Map<String, Object> paraMap = new HashMap<String, Object>();
            //下面这些是我测试的一些数据
            paraMap.put("ReceivingParty", "中国民航");
            
            paraMap.put("PackingListNo", 10087);
            
            paraMap.put("ConNo", 10088);
            
            try {
                //调用模板的文件夹,new File("D:\\测试")是一个绝对路径,你可以自己设置为服务器路径。
                configuration.setDirectoryForTemplateLoading(new File("D:\\测试"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            Template t = null;
            try {
                //获取模板文件
                t = configuration.getTemplate("FMO-08 Packing List.ftl"); // 获取模板文件
            } catch (IOException e) {
                e.printStackTrace();
            }
            //生成一个文件保存的文件夹
            File file =new File("D:\\最终"); 
            //判断文件夹是否存在,存在删除并重创
            if  (!file .exists()  && !file .isDirectory())      
            {       
                file.mkdir();    
            } else   
            {  
                boolean b = OperationIO.deleteDir(file);
                if(b){
                    file.mkdir();
                }
            } 
            //填写数据后生成的word文件。
            String outfilepath = "D:/最终\\结果"+".doc";
            File outFile = new File(outfilepath); // 导出文件
            Writer out = null;
            try {
                try {
                    out = new BufferedWriter(new OutputStreamWriter(
                            new FileOutputStream(outFile),"utf-8"));
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e1) {
                e1.printStackTrace();
            }
            try {
                t.process(paraMap,out); // 将填充数据填入模板文件并输出到目标文件
                out.flush();
                out.close();
                //转换PDF的文件
                OperationIO.wordToPDF(outfilepath,"D:/最终\\结果"+".pdf");
            } catch (TemplateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    总结:通过以上代码,就可以在模板中填写好数据,并将其生成word文件与其pdf文件。

    上面给大家介绍的使用jacob实现word转换为pdf格式文件主要还是通过调用模板文件来达成的。文章中都给大家列出了详细的示范代码,大家可以直接将代码填入来进行操作。如果大家对于上述内容还有什么不明白的地方也可以给小编留言,大家一起交流探讨一番。

    展开全文
  • 如何将word转化为pdf(Java版)

    万次阅读 多人点赞 2017-11-15 22:31:37
    前言:最近做一个项目,需要一个word转化为pdf的功能,于是自己通过在网上找各种资料。测试了好几个方法,最后决定使用jacob(Java COM Bridge)操作office的方式,主要的原因是这边word文件涉及到的内容和样式比较...

    ####前言:最近做一个项目,需要一个word转化为pdf的功能,于是自己通过在网上找各种资料。测试了好几个方法,最后决定使用jacob(Java COM Bridge)操作office的方式,主要的原因是这边word文件涉及到的内容和样式比较复杂,如果使用其他方法,例如docx4j不能够很好的处理(也可能是我没有深入研究的原因)。网上虽然已经有很多类似的教程了,有些说的很详细,但是有些说的确并不太清楚,自己结合其他文章总结一下
    ####1、下载相关的jar包和dll文件
    放在了云盘里面,免费给大家下载
    链接: https://pan.baidu.com/s/1nvutQxb 密码: qgpi
    ####2、引入jar文件和dll文件
    jar文件的引入就不多说了,关于dll文件,放在jdk文件下面的bin目录下
    ####3、具体代码

    package transform;
    
    import java.io.File;
    
    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Dispatch;
    
    public class Word2Pdf {
    	public static void main(String args[]) {
    		ActiveXComponent app = null;
    		String wordFile = "e:/个人成长规划报告.doc";
    	   String pdfFile = "e:/个人成长规划报告.pdf";
    	   System.out.println("开始转换...");
    	   // 开始时间
    	   long start = System.currentTimeMillis();  
    	   try {
    	   	// 打开word
    	   	app = new ActiveXComponent("Word.Application");
    	   	// 设置word不可见,很多博客下面这里都写了这一句话,其实是没有必要的,因为默认就是不可见的,如果设置可见就是会打开一个word文档,对于转化为pdf明显是没有必要的
    	   	//app.setProperty("Visible", false);
    	   	// 获得word中所有打开的文档
    	   	Dispatch documents = app.getProperty("Documents").toDispatch();
    	   	System.out.println("打开文件: " + wordFile);
    	   	// 打开文档
    	   	Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
    	   	// 如果文件存在的话,不会覆盖,会直接报错,所以我们需要判断文件是否存在
    	   	File target = new File(pdfFile);  
             if (target.exists()) {  
             	target.delete();
             }
    	   	System.out.println("另存为: " + pdfFile);
    	   	// 另存为,将文档报错为pdf,其中word保存为pdf的格式宏的值是17
    	   	Dispatch.call(document, "SaveAs", pdfFile, 17);
    	   	// 关闭文档
    	   	Dispatch.call(document, "Close", false);
    	   	// 结束时间
    	   	long end = System.currentTimeMillis();
    	   	System.out.println("转换成功,用时:" + (end - start) + "ms");
    	   }catch(Exception e) {
    	   	System.out.println("转换失败"+e.getMessage());
    	   }finally {
    			// 关闭office
    	   	app.invoke("Quit", 0);
    	   }
    	}
    }
    
    

    后续需要的话,会继续对jacob进行深入研究

    展开全文
  • 转化时需要的jar包和pom: jar包地址如下:链接:https://pan.baidu.com/s/1w1aMvTYqMKRhrRtum88HbQ提取码:y1qg <!-- https://mvnrepository.com/artifact/com.aspose/aspose-words --> <dependency>...
  • 使用jacob将word转化为pdf

    千次阅读 2017-12-29 15:21:08
    4.下载好的jacob-1.18中的jacob-1.18-x64.dll文件复制到jdk的bin目录下,以及jre的bin目录下 5、方法调用完美实现 public static void main(String[] args) {  Test d = new Test();  d....
  • 同时对于很多商用的项目来说,可能每天需要大量的进行Word到Pdf的转化,今天就给大家提供一个高速接口,只需要将Word文件通过HTTP上传,就可以快速转化Pdf,下载即可。 接口对接文档如下 产品名称: Word2Pdf 接口...
  • 1.因为我是springboot项目,所以新建如下目录,并aspose-word jar包放在目录下 2.在pom文件中添加显示依赖(添加显示依赖的方法有多种,可自行选择) &lt;dependency&gt; &lt;groupId&gt;...
  • 同一个项目包,在不同机子上出现不同的情况,什么一台机子上能正常转换,另一台机子上转换的时候路径会多个斜杆? 异常的机子 [img=https://img-bbs.csdn.net/upload/202007/21/1595322588_795308.png][/img] ...
  • 1、下载安装 linux 下载rpm包 # wget ...Normal 4、docx文件转化为pdf libreoffice7.0 --invisible --language=zh-CN --convert-to pdf test.docx --outdir /home/data/libreOffice/
  • 在wps下面,讲word转化为pdf文件,并且对pdf文件进行注释操作! 第二步:
  • (下面的使用方法百度一搜一堆,我就不再重复造轮子了...缺点:免费版只能转化最多3页的word文档 Spire.Doc for Java插件使用的时候我的运行报了异常,关于jvm的,后来发现是内存问题,在idea启动添加参数完美解决...
  • 我在做一个小项目,有个功能是上传word,pdf,txt等文档,然后在前台显示出来,只能将word转化为pdf,然后将pdf转化swf再用flexparer显示出来。前台用的是flex,后台用java写的,我用的jar包是jacob 1.19这个版本...
  • http://hi.baidu.com/pengjun/blog/item/d247a2cc703cf71800e928ec.html
  • Word转化为PDF插件

    2018-07-20 15:37:55
    可以将word转化为PDF文档,高效清晰 可以将word转化为PDF文档,高效清晰
  • pdf打印机,将word转化为pdf,直接虚拟打印机生成
  • Word转化为PDF

    2011-06-04 19:08:00
    1.以前都是用Adobe Acrobat或者Foxit Reader来将Word转化为PDF,但是发现是用Adobe Acrobat和Foxit Reader将Word转化为PDF后,目录中的超链接无法自动跳转了。 2.最近发现是用Microsoft Office 2010 Word的另存...
  • word转化为PDF

    2010-06-30 22:42:02
    这是本人收集到的word 转化为pdf 工具和pdf转化为word文档工具挺好用的,而且是免费的生成pdf后不在页面上显示试用版本的字样,非常不错的欢迎大家使用。
  • word 转化为 pdf 绿色版

    2009-03-02 19:11:13
    word 转化为 pdf 绿色版 word 转化为 pdf 绿色版 word 转化为 pdf 绿色版
  • java开发wed项目时,我想实现word自动转化为PDF文档。但是这个功能是在用户这边处理的,从而减小服务器压力。...有没有JS将word转化为PDF的相关技术。希望各位朋友有思路的可以提供下建议。谢谢了。
  • microsoft word转化为pdf的软件
  • 可以将word文件转化为PDF文件,我用过了,很好用的哦
  • word转化为pdf软件,必须07版word
  • 不用下载麻烦的pdf虚拟打印机了,制作生成pdf直接使用这个 word转化为pdf格式转换器就行了,转化pdf文件快速方便,支持批量转换。办公学习使用它还是非常省事儿的。官方网站 http://www.easy-pdf-word.com
  • 将pdf转化为word,修改pdf,创建合并pdf .
  • word excel ppt 转化为pdf

    2013-09-06 16:24:44
    word excel ppt 转化为pdf
  • java无水印将word文件转化为pdf文件
  • 又或是为了防止他人私自篡改文件文档的内容,也同样需要将word转化为pdf格式。所以大家不论是学生还是职场职员,今后难免会遇到word转pdf的操作要求。今天小编就会教给大家word文档怎样转化为pdf格式。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,252
精华内容 4,500
关键字:

怎么将word转化为pdf