C# 将word/ppt文档转换为Pdf的三种方法

这篇具有很好参考价值的文章主要介绍了C# 将word/ppt文档转换为Pdf的三种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

      业务中,经常需要将office 文件上传并通过网页进行在线阅读,一种最普遍的方法就是转换office文件到pdf格式,以pdf文件方式进行在线预览。

       但将office 文件转换为Pdf的方法很多,各有利弊。

方法一:利用office自带的COM类型库组件实现转换Pdf功能。只要安装了office的服务器上都可以调用,不需要额外的第三方组件,功能也更加丰富和强大,几乎可以不受限制的操作office所有类型文件。缺点是部署问题多,发布到客户服务器进行调试的话问题很多。禁忌:1,开发的时候调用,不同office版本的COM组件,比如Microsoft.Office.Interop.Word是v14,那ppt、excel等组件都要统一版本,不然问题很多;2,部署的服务器上只能安装一个版本的office,比如开发时调用的Office 2010,那部署的服务器就只能装 office 2010,建议不要混装各种版本来匹配组件型号,最终会导致哪个都不能用;3,常见的故障问题和解决方法附录在该节末尾。

(1)利用Microsoft.Office.Interop.Word实现word转换pdf.

首先安装office 2010或其他更高版本。

添加引用Microsoft.Office.Interop. Word:

C#代码中添加引用:

using System.Text;

using Microsoft.Office.Interop.Word;

using WdExportFormat = Microsoft.Office.Interop.Word.WdExportFormat;

创建WordToPdf方法:

/// <summary>

        /// 把Word文件转换成pdf文件

        /// </summary>

        /// <param name="sourcePath">需要转换的文件路径和文件名称</param>

        /// <param name="targetPath">转换完成后的文件的路径和文件名名称</param>

        /// <returns>成功返回true,失败返回false</returns>

        public static bool WordToPdf(string sourcePath, string targetPath)

        {

           

            bool result = false;

            Microsoft.Office.Interop.Word.WdExportFormat wdExportFormatPDF = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;//转换格式1.wdExportFormatPDF转换成pdf格式 2.wdExportFormatXPS转换成xps格式

            object missing = Type.Missing;

            Microsoft.Office.Interop.Word.ApplicationClass applicationClass = null;

            Document document = null;

            try

            {

                applicationClass = new Microsoft.Office.Interop.Word.ApplicationClass();

                object inputfileName = sourcePath;//需要转格式的文件路径

                string outputFileName = targetPath;//转换完成后PDF或XPS文件的路径和文件名名称

                WdExportFormat exportFormat = wdExportFormatPDF;//导出文件所使用的格式

                bool openAfterExport = false;//转换完成后是否打开

                WdExportOptimizeFor wdExportOptimizeForPrint = WdExportOptimizeFor.wdExportOptimizeForPrint;//导出方式1.wdExportOptimizeForPrint针对打印进行导出,质量较高,生成的文件大小较大。2.wdExportOptimizeForOnScreen 针对屏幕显示进行导出,质量较差,生成的文件大小较小。

                WdExportRange wdExportAllDocument = WdExportRange.wdExportAllDocument;//导出全部内容(枚举)

                int from = 0;//起始页码

                int to = 0;//结束页码

                WdExportItem wdExportDocumentContent = WdExportItem.wdExportDocumentContent;//指定导出过程中是否只包含文本或包含文本的标记.1.wdExportDocumentContent:导出文件没有标记,2.导出文件有标记

                bool includeDocProps = true;//指定是否包含新导出的文件在文档属性

                bool keepIRM = true;//

                WdExportCreateBookmarks wdExportCreateWordBookmarks = WdExportCreateBookmarks.wdExportCreateWordBookmarks;//1.wdExportCreateNoBookmarks:不要在导出文件中创建书签,2.wdExportCreateHeadingBookmarks:标题和文本框导出的文件中创建一个书签,3.wdExportCreateWordBookmarks每个字的书签,其中包括除包含页眉和页脚中的所有书签导出的文件中创建一个书签。

                bool docStructureTags = true;

                bool bitmapMissingFonts = true;

                bool UseISO19005_1 = false;//生成的文档是否符合 ISO 19005-1 (PDF/A)

                document = applicationClass.Documents.Open(ref inputfileName, 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, ref missing);

                if (document != null)

                {

                    document.ExportAsFixedFormat(outputFileName, exportFormat, openAfterExport, wdExportOptimizeForPrint, wdExportAllDocument, from, to, wdExportDocumentContent, includeDocProps, keepIRM, wdExportCreateWordBookmarks, docStructureTags, bitmapMissingFonts, UseISO19005_1, ref missing);

                }

                result = true;

            }

            catch

            {

                result = false;

            }

            finally

            {

                if (document != null)

                {

                    document.Close(ref missing, ref missing, ref missing);

                    document = null;

                }

                if (applicationClass != null)

                {

                    applicationClass.Quit(ref missing, ref missing, ref missing);

                    applicationClass = null;

                }

            }

            return result;

        }

调用该方法:

CommonCls.ConvertPdf.WordToPdf(sourcefilepath, targetfilepath);

(2)利用Microsoft.Office.Interop.PowerPoint实现ppt转换pdf.

首先安装office 2010或其他更高版本。

添加引用Microsoft.Office.Interop. PowerPoint:

(3)利用Microsoft.Office.Interop.*组件实现转换pdf的常见问题和解决方法。

   未加载错误

引用错误

调试正常,发布到部署服务器时无法转换

方法二:利用Aspose类库将word,ppt文档转换为Pdf。这个方法不需要在执行转换任务的服务器上安装office软件,也不会引起各种各样office权限的奇怪问题;缺点是需要收费,同时与office的后台耦合功能上还有所不足。

(1)利用Aspose. Words.dll将本地word文档转化成pdf

将Aspose. Words.dll  拷贝到bin目录。

添加引用

C# 将word/ppt文档转换为Pdf的三种方法

创建WordToPdf方法

public static bool WordToPdf(string sourcePath, string targetPath)

      {

          try

          {

              //读取doc文档

              Document doc = new Document(sourcePath);

              //保存为PDF文件,此处的SaveFormat支持很多种格式,如图片,epub,rtf 等等

              doc.Save(targetPath, SaveFormat.Pdf);

              return true;

          }

          catch

          {

              return false;

          }

      }

在项目中,将文件上传后进行调用:

CommonCls.ConvertToPDF.WordToPdf(sourcefilepath, targetfilepath);

(2)利用Aspose.Slides.dll将本地ppt文档转化成pdf

将Aspose.Slides.dll  拷贝到bin目录。

添加引用

C# 将word/ppt文档转换为Pdf的三种方法

 文章来源地址https://www.toymoban.com/news/detail-401196.html

C#代码中引用:

  • using System.IO;
  • using Aspose.Slides;

创建PptToPdf方法:

public static bool PptToPdf(string sourcePath, string targetPath)

      {

          try

          {

              Crack();//调用Crack方法实现Aspose.Slides软破解

              //实例化ppt文件

              Presentation pres = new Presentation(sourcePath);

              //保存

              pres.Save(targetPath, Aspose.Slides.Export.SaveFormat.Pdf);

              return true;

          }

          catch

          {

              return false;

          }

      }

代码中的Crack()方法,是用来对Aspose.Slides进行破解。

调用该方法:

CommonCls.ConvertToPDF. PptToPdf (sourcefilepath, targetfilepath);

方法三:利用Spire类库实现office文件转换pdf.

(1)利用Microsoft.Office.Interop.Word实现word转换pdf.

待续....

资源截图:

C# 将word/ppt文档转换为Pdf的三种方法

C# 将word/ppt文档转换为Pdf的三种方法

下载地址:https://download.csdn.net/download/lanhai96/86744033

 

到了这里,关于C# 将word/ppt文档转换为Pdf的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用Python将Word文档转换为PDF的方法

    使用Python将Word文档转换为PDF的方法

    摘要: 文介绍了如何使用Python编程语言将Word文档转换为PDF格式的方法。我们将使用python-docx和pywin32库来实现这个功能,这些库提供了与Microsoft Word应用程序的交互能力。 正文: 在现实生活和工作中,我们可能会遇到将Word文档转换为PDF格式的需求。PDF格式具有广泛的应用,可

    2024年02月14日
    浏览(11)
  • SpringBoot导出Word文档的三种方式

    SpringBoot导出Word文档的三种方式

    1、直接在Java代码里创建Word文档,设置格式样式等,然后导出。(略) 需要的见:https://blog.csdn.net/qq_42682745/article/details/120867432 2、富文本转换后的HTML下载为Word文档。相当于把HTML转为Word导出 3、使用模板技术导出。固定格式、可以写入不同数据 其他: springboot版本:2.7.11 导

    2024年02月02日
    浏览(7)
  • 【word技巧】word文档如何转换为ppt文件?

    【word技巧】word文档如何转换为ppt文件?

    大家是否会遇到需要将word文档转换为ppt文件的情况?除了反反复复粘贴复制以外,还有其他方法可以转换文件格式,今天给大家分享word转换ppt方法。 首先我们先将word文件打开大纲模式 然后我们将文中的大标题设置为1级标题,副标题设置为2级标题,正文设置为3级标题,这

    2024年02月06日
    浏览(6)
  • Android 应用内打开Word、Excel、PPT、PDF等文档

    Android 应用内打开Word、Excel、PPT、PDF等文档

    Android平台中,可以使用以下几种方式打开Word和Excel文档: 预览图: 一:直接上传给第三方之后用webview打开         1、微软:         https://view.officeapps.live.com/op/view.aspx?src=文件链接         2、XDOC文档预览服务         http://www.xdocin.com/xdoc?_func=to_format=html_cache=tru

    2024年02月16日
    浏览(5)
  • 微信小程序查看word,excel,ppt以及pdf文件(文档)

    微信小程序查看word,excel,ppt以及pdf文件(文档)

     博主介绍: 本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮

    2024年02月07日
    浏览(61)
  • Word怎么转换成PDF文档?多个Word转换成PDF步骤分享

    Word怎么转换成PDF文档?多个Word转换成PDF步骤分享

    word文档是一种非常好用的文件格式,可以帮助用户们很好的保存图片和文字内容,不过并不是只有word这一种文档类文件格式,还有一种pdf文档也深受用户们的欢迎,在工作或者学习过程中这两种文档是可以互相转换格式的,那么Word怎么转换成PDF文档?下面小编就为大家介绍一

    2024年02月12日
    浏览(5)
  • 在线Word怎么转换成PDF?Word无法转换成PDF文档原因分析

    在线Word怎么转换成PDF?Word无法转换成PDF文档原因分析

    不同的文件格式使用方法是不一样的,而且也需要使用不同的工具才可以打开编辑内容,针对不同的场合用户们难免会用到各种各样的文件格式,要想在不修改内容的前提下提高工作效率,那就需要用到文件格式转换,那么在线Word怎么转换成PDF?接下来小编就为大家介绍一下

    2024年02月13日
    浏览(7)
  • 在java中如何使用openOffice进行格式转换,word,excel,ppt,pdf互相转换

    在java中如何使用openOffice进行格式转换,word,excel,ppt,pdf互相转换

    1.首先需要下载并安装openOffice,下载地址为: Apache OpenOffice download | SourceForge.net 2.安装后,可以测试下是否可用; 3.build.gradle中引入依赖: 4.创建工具类,启动openOffice服务的方法 5.结束openOffice服务的方法 7.在测试方法中进行格式转换,如,他可以是任意类型转换,如excel转换

    2024年02月14日
    浏览(10)
  • C# ppt文件转换为pdf文件

    使用第三方插件 Office 实现转换 1.Application方式转换 2.ApplicationClass方式转换 使用第三方插件 Spire.Presentation 实现转换 使用第三方插件 Aspose.Slides 实现转换 ppt转换帮助类

    2024年02月07日
    浏览(8)
  • 【已解决】PPT不能转换成PDF文档怎么办?

    【已解决】PPT不能转换成PDF文档怎么办?

    PPT可以转换成PDF文档,只需要点击PPT菜单页面中的【文件】选项,再点击【导出】即可转换,如果转换时发现【导出】选项不可选,无法完成转换怎么办?以下3种方法可以试试! 出现上面这种情况,我们可以看下PPT是否正处于“只读模式”,也就是PPT设置了限制保护,在打

    2024年02月06日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包