《用C实现生成PDF文档和将WORD转换为PDF.docVIP

《用C实现生成PDF文档和将WORD转换为PDF.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《用C实现生成PDF文档和将WORD转换为PDF

用C#.NET实现生成PDF文档和将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.FileSystemObject); 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) + fso.GetBaseName(files(0)) + .log; try{ var doc = word.Documents.Open(docfile); //WORD文件转成PS文件; word.PrintOut(false, false, 0, psfile); doc.Close(0); //PS文件转成PDF文件; PDF.FileToPDF(psfile,pdffile,); fso.GetFile(psfile).Delete();//删除PS脚本文件 fso.GetFile(logfile).De

文档评论(0)

tiantiande + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档