ASP.NET实现将word文档转换成pdf的方法
本文实例讲述了ASP.NET实现将word文档转换成pdf的方法,分享给大家供大家参考。具体实现步骤如下:
一、添加引用
usingMicrosoft.Office.Interop.Word;
二、转换方法
1、方法
///<summary>
///把Word文件转换成pdf文件
///</summary>
///<paramname="sourcePath">需要转换的文件路径和文件名称</param>
///<paramname="targetPath">转换完成后的文件的路径和文件名名称</param>
///<returns>成功返回true,失败返回false</returns>
publicstaticboolWordToPdf(stringsourcePath,stringtargetPath)
{
boolresult=false;
WdExportFormatwdExportFormatPDF=WdExportFormat.wdExportFormatPDF;//转换格式1.wdExportFormatPDF转换成pdf格式2.wdExportFormatXPS转换成xps格式
objectmissing=Type.Missing;
Microsoft.Office.Interop.Word.ApplicationClassapplicationClass=null;
Documentdocument=null;
try
{
applicationClass=newMicrosoft.Office.Interop.Word.ApplicationClass();
objectinputfileName=sourcePath;//需要转格式的文件路径
stringoutputFileName=targetPath;//转换完成后PDF或XPS文件的路径和文件名名称
WdExportFormatexportFormat=wdExportFormatPDF;//导出文件所使用的格式
boolopenAfterExport=false;//转换完成后是否打开
WdExportOptimizeForwdExportOptimizeForPrint=WdExportOptimizeFor.wdExportOptimizeForPrint;//导出方式1.wdExportOptimizeForPrint针对打印进行导出,质量较高,生成的文件大小较大。2.wdExportOptimizeForOnScreen针对屏幕显示进行导出,质量较差,生成的文件大小较小。
WdExportRangewdExportAllDocument=WdExportRange.wdExportAllDocument;//导出全部内容(枚举)
intfrom=0;//起始页码
intto=0;//结束页码
WdExportItemwdExportDocumentContent=WdExportItem.wdExportDocumentContent;//指定导出过程中是否只包含文本或包含文本的标记.1.wdExportDocumentContent:导出文件没有标记,2.导出文件有标记
boolincludeDocProps=true;//指定是否包含新导出的文件在文档属性
boolkeepIRM=true;//
WdExportCreateBookmarkswdExportCreateWordBookmarks=WdExportCreateBookmarks.wdExportCreateWordBookmarks;//1.wdExportCreateNoBookmarks:不要在导出文件中创建书签,2.wdExportCreateHeadingBookmarks:标题和文本框导出的文件中创建一个书签,3.wdExportCreateWordBookmarks每个字的书签,其中包括除包含页眉和页脚中的所有书签导出的文件中创建一个书签。
booldocStructureTags=true;
boolbitmapMissingFonts=true;
boolUseISO19005_1=false;//生成的文档是否符合ISO19005-1(PDF/A)
document=applicationClass.Documents.Open(refinputfileName,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing);
if(document!=null)
{
document.ExportAsFixedFormat(outputFileName,exportFormat,openAfterExport,wdExportOptimizeForPrint,wdExportAllDocument,from,to,wdExportDocumentContent,includeDocProps,keepIRM,wdExportCreateWordBookmarks,docStructureTags,bitmapMissingFonts,UseISO19005_1,refmissing);
}
result=true;
}
catch
{
result=false;
}
finally
{
if(document!=null)
{
document.Close(refmissing,refmissing,refmissing);
document=null;
}
if(applicationClass!=null)
{
applicationClass.Quit(refmissing,refmissing,refmissing);
applicationClass=null;
}
}
returnresult;
}2、简洁方法
///<summary>
///把Word文件转换成pdf文件
///</summary>
///<paramname="sourcePath">需要转换的文件路径和文件名称</param>
///<paramname="targetPath">转换完成后的文件的路径和文件名名称</param>
///<returns>成功返回true,失败返回false</returns>
publicstaticboolWordToPdf(objectsourcePath,stringtargetPath)
{
boolresult=false;
WdExportFormatwdExportFormatPDF=WdExportFormat.wdExportFormatPDF;
objectmissing=Type.Missing;
Microsoft.Office.Interop.Word.ApplicationClassapplicationClass=null;
Documentdocument=null;
try
{
applicationClass=newMicrosoft.Office.Interop.Word.ApplicationClass();
document=applicationClass.Documents.Open(refsourcePath,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing);
if(document!=null)
{
document.ExportAsFixedFormat(targetPath,wdExportFormatPDF,false,WdExportOptimizeFor.wdExportOptimizeForPrint,WdExportRange.wdExportAllDocument,0,0,WdExportItem.wdExportDocumentContent,true,true,WdExportCreateBookmarks.wdExportCreateWordBookmarks,true,true,false,refmissing);
}
result=true;
}
catch
{
result=false;
}
finally
{
if(document!=null)
{
document.Close(refmissing,refmissing,refmissing);
document=null;
}
if(applicationClass!=null)
{
applicationClass.Quit(refmissing,refmissing,refmissing);
applicationClass=null;
}
}
returnresult;
}三、调用
OfficeToPdf.WordToPdf("d:\\1234.doc","d:\\1234.pdf");
希望本文所述对大家的asp.net程序设计有所帮助。