C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
這里主要提供一種將word文檔轉(zhuǎn)成PDF文檔的實(shí)現(xiàn);
具體實(shí)現(xiàn)看c#代碼:要引入Microsoft.Office.Interop.Word;版本12.0.0.0
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Runtime.InteropServices; using Microsoft.Office.Interop.Word; //Office 命名空間 namespace OfficeToPdf { //excel 類 class WordConverter { //構(gòu)造函數(shù) public WordConverter() { } /// <summary> /// 轉(zhuǎn)換word 成PDF文檔 /// </summary> /// <param name="_lstrInputFile">原文件路徑</param> /// <param name="_lstrOutFile">pdf文件輸出路徑</param> /// <returns>true 成功</returns> public bool ConverterToPdf(string _lstrInputFile, string _lstrOutFile) { Microsoft.Office.Interop.Word.Application lobjWordApp = null; Document objDoc = null; object lobjMissing = System.Reflection.Missing.Value; object lobjSaveChanges = null; try { Object lobjFileName = (Object)_lstrInputFile; objDoc = lobjWordApp.Documents.Open(ref lobjFileName, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing); objDoc.Activate(); Object lobjOutPutFileName = (Object)_lstrOutFile; object lobjFileFormat = WdSaveFormat.wdFormatPDF; //保存格式為PDF objDoc.SaveAs(ref lobjOutPutFileName,ref lobjFileFormat, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing, ref lobjMissing); lobjSaveChanges = WdSaveOptions.wdDoNotSaveChanges; ((_Document)objDoc).Close(ref lobjSaveChanges, ref lobjMissing, ref lobjMissing); objDoc = null; ((_Application)lobjWordApp).Quit(ref lobjSaveChanges, ref lobjMissing, ref lobjMissing); lobjWordApp = null; } catch (Exception ex) { //其他日志操作; return false; } finally { if (objDoc != null) { ((_Document)objDoc).Close(ref lobjSaveChanges, ref lobjMissing, ref lobjMissing); Marshal.ReleaseComObject(objDoc); objDoc = null; } if (lobjWordApp != null) { ((_Application)lobjWordApp).Quit(ref lobjSaveChanges, ref lobjMissing, ref lobjMissing); Marshal.ReleaseComObject(lobjWordApp); lobjWordApp = null; } //主動(dòng)激活垃圾回收器,主要是避免超大批量轉(zhuǎn)文檔時(shí),內(nèi)存占用過(guò)多,而垃圾回收器并不是時(shí)刻都在運(yùn)行! GC.Collect(); GC.WaitForPendingFinalizers(); } return true; } } }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
C# 7.2中結(jié)構(gòu)體性能問(wèn)題的解決方案
這篇文章主要給大家介紹了關(guān)于C# 7.2中結(jié)構(gòu)體性能問(wèn)題的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08C#SuperSocket的搭建并配置啟動(dòng)總結(jié)
在本篇文章里我們給大家總結(jié)了關(guān)于C#SuperSocket的搭建并配置啟動(dòng)的相關(guān)內(nèi)容,正在學(xué)習(xí)的朋友們跟著參考下。2019-05-05C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼
本文主要介紹了C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Unity3D UGUI實(shí)現(xiàn)縮放循環(huán)拖動(dòng)卡牌展示效果
這篇文章主要為大家詳細(xì)介紹了Unity3D UGUI實(shí)現(xiàn)縮放循環(huán)拖動(dòng)展示卡牌效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02Unity性能優(yōu)化Shader函數(shù)ShaderUtil.GetShaderGlobalKeywords用法示例
這篇文章主要為大家介紹了Unity性能優(yōu)化Shader函數(shù)ShaderUtil.GetShaderGlobalKeywords用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09C#通過(guò)反射獲取當(dāng)前工程中所有窗體并打開(kāi)的方法
這篇文章主要介紹了C#通過(guò)反射獲取當(dāng)前工程中所有窗體并打開(kāi)的方法,涉及C#針對(duì)窗體的獲取與顯示等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#實(shí)現(xiàn)Excel動(dòng)態(tài)生成PivotTable
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)Excel動(dòng)態(tài)生成PivotTable的相關(guān)方法,感興趣的小伙伴們可以參考一下2016-04-04