一种改进WORD文档自动转PDF文档的新型方法与流程

文档序号:26007431发布日期:2021-07-23 21:26阅读:237来源:国知局
一种改进WORD文档自动转PDF文档的新型方法与流程

本发明属于技术领域,具体涉及一种改进word文档自动转pdf文档的新型方法。



背景技术:

随着市场需求变化,日常工作中的使用的办公软件及文档管理大量的用到word文档转换pdf文档,这个时候就需要用工具来批量的将word文档转换成pdf文档,减少重复且繁杂的工作,提高工作效率。

为了解决这个问题,市场上就出现一些word文档自动转pdf文档的工具,比如:1、使用.net技术调用office接口来进行转换pdf;2、使用javapoi技术进行word文档转换pdf文档;3、使用javapageoffice组件技术进行word文档转换pdf文档;等等,这些方法都可以进行word文档转换pdf文档。

目前市场上的背景技术包括:

方案一:.net技术调用office接口,

实现方法:通过visualstudio开发工具使用.net技术引用officeapi,打开word文档另存为pdf文档,

缺陷:对office环境的要求比较高,必须要求服务器上安装的office版本和客户端安装的office版本一致,由于客户端office很难做到统一编辑的word文档上传到服务器出现格式错乱;

方案二:javapoi技术做word转换pdf文档

实现方法:通过java导入poi的jar包,调用xwpfdocument打开word文档,然后调用函数pdfconverter.getinstance().convert();将word文档转换成pdf文档,

缺陷:无法满足相对复杂格式的word文档,存在图片丢失问题等

方案三:javapageoffice组件技术

实现方法:先安装pageoffice组件,java引用pageoffice组件,创建worddocument对象,调用函数webopen()打开word文档,再调用函数websaveaspdf()将word文档转换成pdf文档。

缺陷:只能在windows操作系统安装,且无法满足复杂格式的word文档。

随着市场需求不断变化word文档格式要求越来越高,一些企业定制化的word文档格式复杂,传统的word自动转换pdf文档无法满足复杂格式需求,为此我们提出一种改进word文档自动转pdf文档的新型方法。



技术实现要素:

本发明的目的在于提供一种改进word文档自动转pdf文档的新型方法,以解决上述背景技术中提出的问题。

为了实现上述目的,本发明采用了如下技术方案:一种改进word文档自动转pdf文档的新型方法,包括如下步骤:

a、importwin32com模块和importdispatch模块导入至python程序;

b、建立主函数并在主函数中命名word变量,使用函数打开word程序;

c、在主函数中命名变量doc,调用函数doc.documents.open(file_open_path)对进行读写,根据函数中的参数为word文件路径,并实行函数打开需要转换的word文档;

d、调用函数doc.printout(outputfilename=file_out_path),其中函数的参数为打印输出的pdf文件路径,执行打印word文档操作;

e、java调用python程序,获取pdf文件。

进一步地,所述步骤e中,具体为java代码通过执行cmd命令,调用python程序main()函数,执行word文档打印pdf文档,java程序等待python程序执行完成,拿到pdf文件转换完成。

进一步地,函数为runtime.exec(file_python_path,file_open_path,file_out_path),其中参数file_python_path为python程序路径,参数file_open_path为word文档路径,参数file_out_path为输出的pdf文档路径。

进一步地,所述步骤c中函数参数file_open_path为word文件路径。

进一步地,所述步骤d中,函数参数file_out_path为打印输出的pdf文件路径。

相比于现有技术,本发明的有益效果在于:

本申请利用java程序调用python打开word程序调用word打印机打印文档实现自动打印pdf,打印出来的pdf基本和word文档保持一致,不会出现格式不对,图片丢失等问题,有效解决转换成功率,同时通过python调用word打印pdf的方法,具有功能开发简单,代码量少,简化重复繁杂工作的优点。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

图1为本发明的流程图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

参照图1,本发明提出的一种技术方案:

第一步、安装java开发工具idea和jdk1.8。

第二步、安装python3.7.9和安装office201664位。

第三步、设置虚拟打印机为microsoftprinttopdf,进入系统控制面板—>设备和打印机,找到microsoftprinttopdf打印机,右键设置为默认打印机。

第四步、编写python调用word程序,传入word文件路径打开word文档,在python程序编辑器导入模块importwin32com和importdispatch,写一个main()函数,在main()函数中命名word变量使用函数win32com.client.dispatch('word.application')打开word程序,设置word程序不显示word.visible=0和word.displayalerts=0不弹窗提示;

在main()函数中命名变量doc,然后调用函数doc.documents.open(file_open_path),函数中的参数file_open_path为word文件路径,执行函数打开需要转换的word文档;

调用函数doc.printout(outputfilename=file_out_path),其中参数file_out_path为打印输出的pdf文件路径,执行打印word文档操作。

第五步、java调用python程序,或取pdf文件,具体为java代码通过执行cmd命令,函数为runtime.exec(file_python_path,file_open_path,file_out_path),其中参数file_python_path为python程序路径,参数file_open_path为word文档路径,参数file_out_path为输出的pdf文档路径,调用python程序main()函数,执行word文档打印pdf文档,java程序等待python程序执行完成,拿到pdf文件转换完成。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1