在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Aspose这套DLL专门用来对付Office的,想必不少人都用过,很方便,例如word转pdf: using Aspose.Words; Document doc = new Document(word文档的服务端路径,含文件名); doc.Save(要保存的pdf路径,含文件名, SaveFormat.Pdf); 搞定。 以上是题外话。 很可惜Aspose我没找到操作ppt的dll。。。。。 以下用Office Tool自带的类去写: using Microsoft.Office.Interop.PowerPoint; using Microsoft.Office.Core; Presentation p = new ApplicationClass().Presentations.Open(strPPTFilePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); p.SaveAs(strPDFSavePath, PpSaveAsFileType.ppSaveAsPDF, MsoTriState.msoTrue); ps:这里需要在服务端安装MS的SaveAsPDFandXPS.exe插件。 运行到SaveAs时出现经典问题:对 COM 组件的调用返回了错误HRESULT E_FAIL。 百度了一下这个错误,深有感慨:天下文章一般抄啊。。。。。 按照网上流行的处理方法试了一下,包括开启DTC以及修改DTC属性之类的方法,依然不起作用,搞了一下午,头都大了。。。 第二天早上,突然心血来潮,打开PPT,选项--另存为--PDF,发现PowerPoint报了个错误: “无法找到打印机 Microsoft XPS Document Writer”。 再打开Word,另存为PDF,没有此类错误。。。于是很奇怪。。。。。 奇怪归奇怪,马上打开Print Spooler服务。。。 NND,存上了。。俺这个鸡冻啊。。。。。。 总结:MS真操蛋。。。 |
请发表评论