C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
更新時(shí)間:2019年01月23日 10:22:59 作者:chenqiangdage
今天小編就為大家分享一篇關(guān)于C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
這里主要提供一種將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 類(lèi)
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#使用正則表達(dá)式過(guò)濾html標(biāo)簽
最近在開(kāi)發(fā)一個(gè)項(xiàng)目,其中有需求要求我們把一段html轉(zhuǎn)換為一般文本返回,使用正則表達(dá)式是明智的選擇,下面小編給介紹下C#使用正則表達(dá)式過(guò)濾html標(biāo)簽,需要的朋友參考下2016-08-08
C#/VB.NET實(shí)現(xiàn)在Word文檔中添加頁(yè)眉和頁(yè)腳
頁(yè)眉位于文檔中每個(gè)頁(yè)面的頂部區(qū)域,常用于顯示文檔的附加信息;頁(yè)腳位于文檔中每個(gè)頁(yè)面的底部的區(qū)域,常用于顯示文檔的附加信息。今天這篇文章就將為大家展示如何以編程的方式在在?Word?文檔中添加頁(yè)眉和頁(yè)腳2023-03-03

