办公系统中MS Word文件转换为PDF技术方案

MS Word文件转换为PDF技术方案比较多,比较常见的方案是使用开源的OpenOffice,但是此方案存在兼容的问题,有些文件转换不了或出现问题。而采用现成的产品,成本又比较高。通过对各种Word转PDF解决方案的综合考察,采用在Windows平台调用Word接口的方案,是转换成功率最高的一种,在这里提供个折中的方案。

架设Windows服务器,并安装MS Office 2007,使用MS Office 2007转换PDF功能。 Office 2007 只需安装一个加载项,就能导出文件并将其保存为 PDF 和 XPS 格式,生成的也是高质量 PDF。2007 Microsoft Office加载项:Microsoft Save as PDF 或 XPS。

补充说明:Office 2007 with SP2 已经内置 Save As PDF/XPS 支持,也可直接在 Word 2007 中将 Word 另存为 PDF 了。如下图所示:

在Windows服务器上部署Java程序,用于接受应用服务器的请求,读取FTP上的相应文件至本地,并调用Microsoft Word的接口,将其转化为PDF格式,再推送至FTP相应位置。

可能存在的问题及应对策略:

(1)大量并发的问题

如果出现大量并发的情况,可能导致Windows服务器资源消耗过大,存在转换程序奔溃的风险。针对这种情况,可采用消息队列的机制,将请求写入消息队列,逐个处理。

(2)实时性的问题

转化文件需要一定时间,操作的实时性可能不友好。可加强服务器性能,缩短转化时间,或通过用户操作方式的改变,规避实时操作,改为延时操作。

(3)转化失败的问题

需要对转化程序的异常进行详细捕捉,并记录日志,用于后续处理及程序优化;同时给予用户详细的反馈信息,说明情况,并做到不影响后续的请求处理。

参考:

总结几种常见的Word转换PDF方法

感谢同事提供解决方案及实践,欢迎交流。

时间: 2024-10-25 21:19:29

办公系统中MS Word文件转换为PDF技术方案的相关文章

关于Asp.Net调用Office组件将Word文件转换为Pdf文件

1.首先安装 Microsoft Office 2007加载项:Microsoft Save as PDF-简体中文版:下载地址: http://download.microsoft.com/download/3/8/8/388812b2-0d3f-474e-a7ef-b095d3d0d3cd/SaveAsPDF.exe ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Java转换Word文件到PDF文件

使用Docx4j将Word文件转换为PDF文件: public static void convertDocxToPDF(String docxFilePath, String pdfPath) throws Exception { OutputStream os = null; try { // 加载文件 File docx = new File(docxFilePath); InputStream is = new FileInputStream(docx); WordprocessingM

如何在浏览器网页中显示word文件内容

如何在浏览器网页中显示word文件内容 把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileStream   fs   =   new   FileStream("c:\\1.doc",   FileMode.Open,   FileAccess.Read);  FileStream fs = new FileStream(Server.MapPath("files\\1

如何将caj文件转换为pdf?

论文我们都写过吧,网上下载的基本都是caj文件,我们很难对caj文件进行查看,别急,我知道如何将caj文件转换为pdf,所以会对你们有用的,详细的转换方法可以参考以下的步骤 方法/步骤 1在百度中去搜索关键词迅捷pdf在线转换器,然后进入首页操作 2进入后,在7个栏目中找到"文档转换"下的"caj转换"下的"caj转pdf"栏目 3接着"点击选择文件"添加caj文件,注意一定要是caj文件格式的 4添加之后再这里设置下参数,转

Linux系统中三类重要文件的作用与区别

文章来源 | IT笔录 Linux系统中,有三种文件类型出现的非常频繁,那就是profile.bash_profile.bashrc文件. 因为名称的缘故,很多人会把这三类文件的作用记混,因此我们今天就来详细盘点一下这三类文件的作用及区别. 1. profile文件 1.1 profile文件的作用 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效. 当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配

oa办公系统中工作流系统到底有什么作用?

作为当前应用最为广泛的企业管理软件,oa办公系统自有其"过人之处",工作流就是其中之一. 一.工作流是个什么东西? 工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率.更好的控制过程. 增强对客户的服务.有效管理业务流程等目的. 二.oa办公系统引入工作流之后会怎样? 在oa办公系统还没有引入工作流这个核心功能时,许多公司采用纸张表单,

Python中办公软件(读取word文件和读出保存别文件)

#读word文件import win32comimport win32com.client def readWordFile(path): #调用系统word功能,可以出来doc和docx两种文件 mw=win32com.client.Dispatch("Word.Application") #打开word文件 doc=mw.Documents.Open(path) for paragraphsin in doc.Paragraphs:#循环取出内容 line=paragraphsin

java将word文件转为pdf

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 = "C:/xxxxx.doc"; String pdfFile = "C

java将doc文件转换为pdf文件的三种方法

http://feifei.im/archives/93 —————————————————————————————————————————————— 项目要用到doc转pdf的功能,一番google之后总结出了三种方法(免费方案),于是一一试了一下,做个总结记录,下次要用直接查,省的忘了…… 方法1.poi读取doc + itext生成pdf (实现最方便,效果最差,跨平台) 方法2.jodconverter + openOffice (一般格式实现效果还行,复杂格式容易有错位,跨平台) 方法