首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

C#兑现office文档转换为PDF或xps的一些方法

2012-10-12 
C#实现office文档转换为PDF或xps的一些方法这段时间一直在研究office文档转为PDF或xps格式的方法。查找了一

C#实现office文档转换为PDF或xps的一些方法

这段时间一直在研究office文档转为PDF或xps格式的方法。查找了一些资料。一下是我所知道的一些方法代码支持任意office格式需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS下载地址[url]http://www.microsoft.com/downloads/details.aspx?FamilyId=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en[/url]这是一个微软官方出的office插件。安装好之后,打开VS,以VS2005为例新建windows应用程序项目添加以下com组件的引用Microsoft Word 12.0 Object LibraryMicrosoft PowerPoint 12.0 Object LibraryMicrosoft Excel 12.0 Object Library?------------------------------------------------------using Word = Microsoft.Office.Interop.Word;
using Excel = Microsoft.Office.Interop.Excel;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;using Microsoft.Office.Core;?我们可以使用一个枚举类型来决定生成文件的类型Word.WdExportFormat wd = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;Excel.XlFixedFormatType excelType = Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF;
PowerPoint.PpSaveAsFileType ppType = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF;?这里Word跟Excel我使用了ExportAsFixedFormat,PowerPoint我使用了SaveAs方法。对于Word跟PowerPoint效果是一样的,只是SaveAs方法支持的格式更多。但是Excel似乎不支持SaveAs方法,呵呵----------------Word转换方法C#兑现office文档转换为PDF或xps的一些方法private?bool?Convert(string?sourcePath,?string?targetPath, Word.WdExportFormat exportFormat)?
C#兑现office文档转换为PDF或xps的一些方法????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????bool?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?paramMissing = Type.Missing;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Word.ApplicationClass wordApplication =?new?Word.ApplicationClass();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Word.Document wordDocument =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????try?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????object?paramSourceDocPath = sourcePath;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????string?paramExportFilePath = targetPath;?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????Word.WdExportFormat paramExportFormat = exportFormat;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramOpenAfterExport =?false;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????Word.WdExportOptimizeFor paramExportOptimizeFor =?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????Word.WdExportOptimizeFor.wdExportOptimizeForPrint;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????int?paramStartPage = 0;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????int?paramEndPage = 0;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramIncludeDocProps =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramKeepIRM =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????Word.WdExportCreateBookmarks paramCreateBookmarks =?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramDocStructureTags =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramBitmapMissingFonts =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????bool?paramUseISO19005_1 =?false;?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????wordDocument = wordApplication.Documents.Open(?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramSourceDocPath,?ref?paramMissing,?ref?paramMissing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramMissing,?ref?paramMissing,?ref?paramMissing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramMissing,?ref?paramMissing,?ref?paramMissing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramMissing,?ref?paramMissing,?ref?paramMissing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramMissing,?ref?paramMissing,?ref?paramMissing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????ref?paramMissing);?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(wordDocument !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????wordDocument.ExportAsFixedFormat(paramExportFilePath,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????paramExportFormat, paramOpenAfterExport,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????paramExportOptimizeFor, paramExportRange, paramStartPage,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????paramEndPage, paramExportItem, paramIncludeDocProps,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????paramBitmapMissingFonts, paramUseISO19005_1,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????????????ref?paramMissing);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????result =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????finally?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(wordDocument !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????wordDocument.Close(ref?paramMissing,?ref?paramMissing,?ref?paramMissing);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????wordDocument =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(wordApplication !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????wordApplication.Quit(ref?paramMissing,?ref?paramMissing,?ref?paramMissing);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????wordApplication =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????return?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????}Excel转换方法C#兑现office文档转换为PDF或xps的一些方法private?bool?Convert(string?sourcePath,?string?targetPath, XlFixedFormatType targetType)?
C#兑现office文档转换为PDF或xps的一些方法????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????bool?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?missing = Type.Missing;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????ApplicationClass application =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Workbook workBook =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????try?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????application =?new?ApplicationClass();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????object?target = targetPath;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????object?type = targetType;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????missing, missing, missing, missing, missing, missing, missing, missing, missing);?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????workBook.ExportAsFixedFormat(targetType, target, XlFixedFormatQuality.xlQualityStandard,?true,?false, missing, missing, missing, missing);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????result =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????catch?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????result =?false;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????finally?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(workBook !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????workBook.Close(true, missing, missing);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????workBook =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(application !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????application.Quit();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????application =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????return?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????}PowerPoint转换方法C#兑现office文档转换为PDF或xps的一些方法????????????????private?bool?Convert(string?sourcePath,?string?targetPath, PpSaveAsFileType targetFileType)?
C#兑现office文档转换为PDF或xps的一些方法????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????bool?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?missing = Type.Missing;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????ApplicationClass application =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Presentation persentation =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????try?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????application =?new?ApplicationClass();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????result =?true;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????catch?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????result =?false;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????finally?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(persentation !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????persentation.Close();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????persentation =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????if?(application !=?null)?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????application.Quit();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????????????application =?null;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.Collect();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????????????GC.WaitForPendingFinalizers();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????}?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????return?result;?
C#兑现office文档转换为PDF或xps的一些方法????????????????}?如果是word文档或者Excel文档想要转换xps格式,我们还可以有一种方法,那就是利用xps虚拟打印机实现。安装了.NetFrameWork3.5之后,默认会在系统中安装XPS虚拟打印机,我们将其设置为默认打印机。Microsoft XPS Document Writerword文档打印为xpsC#兑现office文档转换为PDF或xps的一些方法????????????????public?void?PrintWord(string?wordfile)?
C#兑现office文档转换为PDF或xps的一些方法????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????oWord.ApplicationClass word =?new?oWord.ApplicationClass();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Type wordType = word.GetType();?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????//打开WORD文档?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????oWord.Documents docs = word.Documents;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Type docsType = docs.GetType();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?objDocName = wordfile;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????oWord.Document doc = (oWord.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod,?null, docs,?new?Object[] { objDocName,?true,?true?});?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????//打印输出到指定文件?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????//可以使用 doc.PrintOut();方法,次方法调用中的参数设置较繁琐,建议使用 Type.InvokeMember 来调用时可以不用将PrintOut的参数设置全,只设置4个主要参数?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Type docType = doc.GetType();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?printFileName = wordfile +?".xps";?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????docType.InvokeMember("PrintOut", System.Reflection.BindingFlags.InvokeMethod,?null, doc,?new?object[] {?false,?false, oWord.WdPrintOutRange.wdPrintAllDocument, printFileName });?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????//退出WORD?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod,?null, word,?null);?
C#兑现office文档转换为PDF或xps的一些方法????????????????}Excel利用虚拟打印机转换为xpsC#兑现office文档转换为PDF或xps的一些方法????????????????public?void?PrintExcel(string?execlfile)?
C#兑现office文档转换为PDF或xps的一些方法????????????????{?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Excel.ApplicationClass eapp =?new?Excel.ApplicationClass();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Type eType = eapp.GetType();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Excel.Workbooks Ewb = eapp.Workbooks;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Type elType = Ewb.GetType();?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?objelName = execlfile;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Excel.Workbook ebook = (Excel.Workbook)elType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod,?null, Ewb,?new?Object[] { objelName,?true,?true?});?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????object?printFileName = execlfile +?".xps";?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????Object oMissing = System.Reflection.Missing.Value;?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????ebook.PrintOut(oMissing, oMissing, oMissing, oMissing, oMissing,?true, oMissing, printFileName);?
C#兑现office文档转换为PDF或xps的一些方法?
C#兑现office文档转换为PDF或xps的一些方法????????????????????????eType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod,?null, eapp,?null);?
C#兑现office文档转换为PDF或xps的一些方法????????????????},同样,如果系统安装了PDF虚拟打印机,如5D PDF之类的,我们也可以将其设置为默认打印机以达到转换为PDF格式的目的我们可以将这些方法放在windows service里面,实现文档的后台转换。

本文出自 “Sean Li 技术成就梦想!” 博客,请务必保留此出处http://seanli888.blog.51cto.com/345958/112268

热点排行