目的:word文档转换成PDF
Office2007有一款插件SaveAsPdfAndXps.exe, 安装后可直接将Word文档另存为PDF;在装有Office2007(不带插件):抛出异常,什么意外错误的在装有Office2007(带插件):转换成功!关键部分代码:
  
using Word = Microsoft.Office.Interop.Word;Word.WdExportFormat wd = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;
object paramMissing = Type.Missing;
            Word.ApplicationClass wordApplication = new Word.ApplicationClass();
            Word.Document wordDocument = null;
            try
            {
                object paramSourceDocPath = sourcePath;
                string paramExportFilePath = targetPath;                Word.WdExportFormat paramExportFormat = exportFormat;
                bool paramOpenAfterExport = false;
                Word.WdExportOptimizeFor paramExportOptimizeFor =
                        Word.WdExportOptimizeFor.wdExportOptimizeForPrint;
                Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
                int paramStartPage = 0;
                int paramEndPage = 0;
                Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
                bool paramIncludeDocProps = true;
                bool paramKeepIRM = true;
                Word.WdExportCreateBooks paramCreateBooks =
                        Word.WdExportCreateBooks.wdExportCreateWordBooks;
                bool paramDocStructureTags = true;
                bool paramBitmapMissingFonts = true;
                bool paramUseISO19005_1 = false;                wordDocument = wordApplication.Documents.Open(
ref paramSourceDocPath, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing);                if (wordDocument != null)
                    wordDocument.ExportAsFixedFormat(paramExportFilePath,
                            paramExportFormat, paramOpenAfterExport,
                            paramExportOptimizeFor, paramExportRange, paramStartPage,
                            paramEndPage, paramExportItem, paramIncludeDocProps,
                            paramKeepIRM, paramCreateBooks, paramDocStructureTags,
                            paramBitmapMissingFonts, paramUseISO19005_1,
ref paramMissing);
                result = true;
            }现想在装有office2003或什么都没装的机子上都能运行??
有什么办法吗?
谢谢了....

解决方案 »

  1.   

    你为什么不找word to pdf 的控件?my blog
    http://ufo-crackerx.blog.163.com/
      

  2.   

    楼主到底是 2003  还是2007啊据我所知  2003和2007的外接程序有差别。  最好是分辨编译安装包。如果目标机器上没有OFFICE 那你的程序肯定不能运行啦。你可以检查注册表啊, 就是注册外接程序的那里 
    SOFTWARE / MICROSOFT / OFFICE / WORD 什么的  检查这些键值,查看版本的。
    确定以后 再安装注册呗。
      

  3.   

    有办法  LZ可以看看WordViewer  可以在.net里集成的   代码我不好公布   保密协议啊。西西
      

  4.   

    谢谢...COM引用独立于此应用程序--true
    结果8个错误52个警告,全是注册表项的问题真的没救了
      

  5.   

    幸好你的保密协议不是和我签的[email protected]
    你懂的....
      

  6.   

    用开源的项目来实现!使用iTextSharp操作PDF
    http://topic.csdn.net/u/20091225/18/4c16aa80-246e-4e87-b86c-4008555036c5.html?15270
      

  7.   

    谢谢
    iTextSharp主要是用来编辑、创建PDF的,若是读取Word在创建写入PDF...不大现实吧
      

  8.   

    万分感谢
    请发至此邮箱:[email protected]
      

  9.   

    http://www.pudn.com/downloads108/sourcecode/others/detail445552.html邮箱:[email protected]
    谁帮我下啊,拜谢!!