C#實現Word轉為PDF的方法
更新時間:2019年01月23日 10:22:59 作者:chenqiangdage
今天小編就為大家分享一篇關于C#實現Word轉為PDF的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
這里主要提供一種將word文檔轉成PDF文檔的實現;
具體實現看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
{
//構造函數
public WordConverter()
{ }
/// <summary>
/// 轉換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;
}
//主動激活垃圾回收器,主要是避免超大批量轉文檔時,內存占用過多,而垃圾回收器并不是時刻都在運行!
GC.Collect();
GC.WaitForPendingFinalizers();
}
return true;
}
}
}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
C#中使用async和await實現異步Udp通訊的示例代碼
本文主要介紹了C#中使用async和await實現異步Udp通訊的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
Unity3D UGUI實現縮放循環(huán)拖動卡牌展示效果
這篇文章主要為大家詳細介紹了Unity3D UGUI實現縮放循環(huán)拖動展示卡牌效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
Unity性能優(yōu)化Shader函數ShaderUtil.GetShaderGlobalKeywords用法示例
這篇文章主要為大家介紹了Unity性能優(yōu)化Shader函數ShaderUtil.GetShaderGlobalKeywords用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09

