掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2023-06-19 11:57:35


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

技术领域

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

背景技术

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

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

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

方案一:.NET技术调用Office接口,

实现方法:通过Visual Studio开发工具使用.NET技术引用Office API,打开Word文档另存为Pdf文档,

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

方案二:Java POI技术做Word转换Pdf文档

实现方法:通过Java导入POI的jar包,调用XWPFDocument打开Word文档,然后调用函数PdfConverter.getInstance().convert();将Word文档转换成Pdf文档,

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

方案三:Java Page Office组件技术

实现方法:先安装Page Office组件,Java引用Page Office组件,创建WordDocument对象,调用函数webOpen()打开Word文档,再调用函数WebSaveAsPDF()将Word文档转换成Pdf文档。

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

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

发明内容

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

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

A、Import Win32com模块和Import Dispatch模块导入至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和安装Office2016 64位。

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

第四步、编写Python调用Word程序,传入word文件路径打开Word文档,在python程序编辑器导入模块import win32com和import Dispatch,写一个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文件转换完成。

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

相关技术
  • 一种改进WORD文档自动转PDF文档的新型方法
  • 一种PDF文档编辑器和PDF文档编辑方法
技术分类

06120113116351