- 8
- 0
- 约8.45千字
- 约 8页
- 2015-08-05 发布于安徽
- 举报
前言:由于一个客户的项目中需要将 WORD 文档转换成PDF格式,故写了本篇实站教程
需求分析:客户的项目以B/S结构为主,提供一个 WORD 文件在后台自动转换成PDF,经过实际测试,如果该篇
WORD 文档有100多页的话,转换需要 20 分钟左右的时间(环境:CPU是奔腾M 1.6G,512M 内存),整个 CPU的占用率
近乎 95%~100%,此结果告诉客户以后,客户提议:到客户下班后,自动转换PDF,同时如果使用人确认要查看该PDF
文档,如果没有转换,提供给客户选择,是现在转换成PDF,还是由服务器在客户下班后,自动转换。
项目功能:按需求分析要写两个功能
第一为:B/S 结构后台转换,要提交给客户选择
第二为:Windows服务自动转换 WORD 文档到 PDF
这两个分类:核心的转换程序都是采用线程的方式执行,只不过第一个功能是针对一个 WORD 文件,第二个功
能针对所有未转换的 WORD文档.
分析到现在:我们开始实战转换了!
一:必备工具
安装必须的工具MS VS.Net2003,MS Office2003,Adobe Acrobat 7.0
Professional,postscript.exe,gs811w32.exe
MS VS.Net2003 的安装不说明
MS Office2003 的安装不说明
Adobe Acrobat 7.0 Professional安装说明
运行 setup.exe 文件,出现输入序列号,就运行注册机,用鼠标在第一行刷下就可以看见序列号,复制粘贴到
Adobe Acrobat 7.0 Professional 安装程序对话框,安装到最后出现注册时,点击PHONE...将安装程序中显示的
第二行序列号(第一行是刚才注册机生成的序列号)复制粘贴到注册机的第二行,点击右边的按钮,再用鼠标刷
第三行授权号就出来了,将其复制粘贴到安装程序的最后一行,完成安装注册!
postscript.exe默认安装就可以了,它是一个 PDF 转换时所需要的脚本
gs811w32.exe 默认安装就可以,它其实是个PDF 虚拟打印机的驱动
二:配置虚拟打印机
进入 Windows 的控制面板,进入打印机,点击添加打印机图标.在安装对话框上按一步,出现选择打印机
时,在制造商一栏中选择Generic,在打印机一栏中,选择MS Publisher Color Printer,然后一路按下一步,知
道安装结束.
三:开始写第一个程序(脚本程序)
为什么要使用脚本程序进行转换呢,其实实际测试过程中,使用PDF Distiller 的对象引用到C#后,转换成
功,但整个 PDF Distiller对象不能释放,第二次再转换时,就发生了错误,故此处使用脚本程序实现转换.这样我
们只要在C#的程序中调用脚本程序就可以实现WORD 到PDF的转换。
宿主脚本文件名:ConvertDoc2PDF.js
脚本文件内容:
var files = WScript.Arguments;
var fso = new ActiveXObject(Scripting.FileS stemObject);
var word = new ActiveXObject(Word.Application);
var PDF = new ActiveXObject(PDFDistiller.PDFDistiller.1);
word.ActivePrinter = MS Publisher Color Printer;
//files(0) 为 WORD文档文件名
//files(1) 为,转换后需要保存的路径
//调用 fso.GetBaseName(files(0))后,为无路径,无扩展名,的文件名
//files.length 为文件参数的个数,使用循环可以支持多个 WORD文档的转换
var docfile = files(0) ;
var psfile = files(1) + fso.GetBaseName(files(0)) + .ps ;
var pdffile = files(1) + fso.GetBaseName(files(0)) + .pdf ;
var logfile = files(1) + f
原创力文档

文档评论(0)