一种改进WORD文档自动转PDF文档的新型方法技术

技术编号:29402718 阅读:31 留言:0更新日期:2021-07-23 22:40
本发明专利技术公开了一种改进WORD文档自动转PDF文档的新型方法,包括如下步骤:Import Win32com模块和Import Dispatch模块导入至Python程序,建立主函数并在主函数中命名word变量,使用函数打开word程序,在主函数中命名变量doc,调用函数进行读写,根据函数中的参数为word文件路径,并实行函数打开需要转换的word文档,调用函数执行打印word文档操作,Java调用Python程序,获取pdf文件;本申请利用Java程序调用Python打开Word程序调用Word打印机打印文档实现自动打印PDF,打印出来的Pdf基本和Word文档保持一致,不会出现格式不对,图片丢失等问题,有效解决转换成功率。

【技术实现步骤摘要】
一种改进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_pyt本文档来自技高网
...

【技术保护点】
1.一种改进WORD文档自动转PDF文档的新型方法,其特征在于,包括如下步骤:/nA、Import Win32com模块和Import Dispatch模块导入至Python程序;/nB、建立主函数并在主函数中命名word变量,使用函数打开word程序;/nC、在主函数中命名变量doc,调用函数doc.Documents.Open(file_open_path)对进行读写,根据函数中的参数为word文件路径,并实行函数打开需要转换的word文档;/nD、调用函数doc.PrintOut(OutputFileName=file_out_path),其中函数的参数为打印输出的Pdf文件路径,执行打印word文档操作;/nE、Java调用Python程序,获取pdf文件。/n

【技术特征摘要】
1.一种改进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文件。


2.根据权利要求1所述的一种改进WORD文档自动转PDF文档的新型方法,其特征在于:所述步骤E中,具体为Java代码通过执行cmd命令,调用python程序ma...

【专利技术属性】
技术研发人员:罗强
申请(专利权)人:上海动永网络科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1