C#实现Word转为PDF的方法
这里主要提供一种将word文档转成PDF文档的实现;
具体实现看c#代码:要引入Microsoft.Office.Interop.Word;版本12.0.0.0
usingSystem;
usingSystem.Collections.Generic;
usingSystem.IO;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Runtime.InteropServices;
usingMicrosoft.Office.Interop.Word;
//Office命名空间
namespaceOfficeToPdf
{
//excel类
classWordConverter
{
//构造函数
publicWordConverter()
{}
///
///转换word成PDF文档
///
///原文件路径
///pdf文件输出路径
///true成功
publicboolConverterToPdf(string_lstrInputFile,string_lstrOutFile)
{
Microsoft.Office.Interop.Word.ApplicationlobjWordApp=null;
DocumentobjDoc=null;
objectlobjMissing=System.Reflection.Missing.Value;
objectlobjSaveChanges=null;
try
{
ObjectlobjFileName=(Object)_lstrInputFile;
objDoc=lobjWordApp.Documents.Open(reflobjFileName,reflobjMissing,reflobjMissing,
reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,
reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing);
objDoc.Activate();
ObjectlobjOutPutFileName=(Object)_lstrOutFile;
objectlobjFileFormat=WdSaveFormat.wdFormatPDF;//保存格式为PDF
objDoc.SaveAs(reflobjOutPutFileName,reflobjFileFormat,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,
reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,reflobjMissing,
reflobjMissing,reflobjMissing,reflobjMissing);
lobjSaveChanges=WdSaveOptions.wdDoNotSaveChanges;
((_Document)objDoc).Close(reflobjSaveChanges,reflobjMissing,reflobjMissing);
objDoc=null;
((_Application)lobjWordApp).Quit(reflobjSaveChanges,reflobjMissing,reflobjMissing);
lobjWordApp=null;
}
catch(Exceptionex)
{
//其他日志操作;
returnfalse;
}
finally
{
if(objDoc!=null)
{
((_Document)objDoc).Close(reflobjSaveChanges,reflobjMissing,reflobjMissing);
Marshal.ReleaseComObject(objDoc);
objDoc=null;
}
if(lobjWordApp!=null)
{
((_Application)lobjWordApp).Quit(reflobjSaveChanges,reflobjMissing,reflobjMissing);
Marshal.ReleaseComObject(lobjWordApp);
lobjWordApp=null;
}
//主动激活垃圾回收器,主要是避免超大批量转文档时,内存占用过多,而垃圾回收器并不是时刻都在运行!
GC.Collect();
GC.WaitForPendingFinalizers();
}
returntrue;
}
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接