zoukankan      html  css  js  c++  java
  • C# word文档转换成PDF格式文档

    最近用到一个功能word转pdf,有个方法不错,挺方便的,直接调用即可,记录下

        方法:ConvertWordToPdf(string sourcePath, string targetPath)

        sourcePath:word文件路径

         targetPath:生成pdf文件路径

    注:两个路径都为绝对路径

    获取绝对路径:Server.MapPath("../zfjl/wj.docx");

      public static bool ConvertWordToPdf(string sourcePath, string targetPath)
            {
                Microsoft.Office.Interop.Word.WdExportFormat exportFormat;
                exportFormat = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;
                bool result;
                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.WdExportCreateBookmarks paramCreateBookmarks =
                            word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
                    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, paramCreateBookmarks, paramDocStructureTags,
                                paramBitmapMissingFonts, paramUseISO19005_1,
                                ref paramMissing);
                    result = true;
                }
                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();
                }
                return result;
            }
  • 相关阅读:
    Qt之界面数据存储与获取(使用setUserData()和userData())
    UML中关联(Association)、聚合(Aggregation)和合成(Composition)之间的区别
    Entity Framework Model First下改变数据库脚本的生成方式
    keepalive学习
    函数、极限、连续
    C#集合基础与运用
    面向查询服务的参数化查询
    WinDbg 命令手册
    知识管理方法论
    项目管理Project
  • 原文地址:https://www.cnblogs.com/zhangjd/p/8085073.html
Copyright © 2011-2022 走看看