首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

将Word文档转换成pdf时分出错

2013-07-09 
将Word文档转换成pdf时候出错本帖最后由 tengz5201314 于 2013-07-05 12:22:23 编辑private static void W

将Word文档转换成pdf时候出错
本帖最后由 tengz5201314 于 2013-07-05 12:22:23 编辑


 private static void WordToPDF(object filepath, string target)
        {
            object paramMissing = Type.Missing;
            Word.ApplicationClass wordApplication = new Word.ApplicationClass();
            Word.Document wordDocument = null;
            try
            {
                object paramSourceDocPath = target;
                string paramExportFilePath = filepath.ToString();

                Word.WdExportFormat paramExportFormat =  Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;
                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.WdExportCreateBookmarks paramCreateBookmarks =


                        Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
                bool paramDocStructureTags = true;
                bool paramBitmapMissingFonts = true;
                bool paramUseISO19005_1 = false;
                //Open的时候整个跳出了,没有任何错误.页面一直显示在load转圈圈中
                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, paramCreateBookmarks, paramDocStructureTags,
                            paramBitmapMissingFonts, paramUseISO19005_1,
                            ref paramMissing);
            }
            finally
            {
                if (wordDocument != null)
                {
                    wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
                    wordDocument = null;
                }
                if (wordApplication != null)
                {
                    wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
                    wordApplication = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();


            } 

        }

Word PDF .net C#
[解决办法]
没搞过pdf
不过,瞧瞧的告诉你,其实用C#4.0写com代码是很简洁的
C#3
        static void Main()
        {
            object missing = Type.Missing;
            var app = new Application { Visible = false };
            app.Documents.Add(ref missing, ref missing, ref missing, ref missing);
            Document doc = app.ActiveDocument;
            Paragraph para = doc.Paragraphs.Add(ref missing);
            para.Range.Text = "Thank goodness for C# 4";
            object filename = "demo.doc";
            object format = WdSaveFormat.wdFormatDocument97;
            doc.SaveAs(ref filename, ref format,
                       ref missing, ref missing, ref missing,
                       ref missing, ref missing, ref missing,
                       ref missing, ref missing, ref missing,
                       ref missing, ref missing, ref missing,


                       ref missing, ref missing);
            doc.Close(ref missing, ref missing, ref missing);
            app.Application.Quit(ref missing, ref missing, ref missing);
        }



C#4代码

        static void Main()
        {
            var app = new Application { Visible = false };
            app.Documents.Add();
            Document doc = app.ActiveDocument;
            Paragraph para = doc.Paragraphs.Add();
            para.Range.Text = "Thank goodness for C# 4";
            doc.SaveAs(FileName: "test.doc",
                       FileFormat: WdSaveFormat.wdFormatDocument97);
            doc.Close();
            app.Application.Quit();
        }

[解决办法]
http://blog.csdn.net/yeness/article/details/7754486

热点排行