C#实现Word转PDF的方法总结

 更新时间:2023年10月07日 09:35:30   作者:Eric Zhou  
这篇文章主要为大家详细介绍了C#中实现Word转PDF的常用方法,文中的示例代码讲解详细,具有一定的学习价值,有需要的小伙伴可以参考下

在.NET中,你可以使用Microsoft.Office.Interop.Word库来进行Word到PDF的转换。这是一个示例代码,但请注意这需要在你的系统上安装Microsoft Office。

在开始前,你需要添加对Microsoft.Office.Interop.Word的引用,步骤如下:

  • 在你的项目中右键选择"Add Reference"。
  • 在弹出的窗口中选择"COM"选项卡。
  • 在列表中找到并选择"Microsoft Word XX.X Object Library"(XX.X为版本号)。
using System;
using Microsoft.Office.Interop.Word;
public class WordToPdfConverter
{
    public void ConvertWordToPdf(string wordFilePath, string pdfFilePath)
    {
        // 创建一个Word应用实例
        Application wordApp = new Application();
        // 创建一个Word文档对象,并打开Word文件
        Document wordDoc = wordApp.Documents.Open(wordFilePath);
        try
        {
            // 将Word文档保存为PDF文件
            wordDoc.SaveAs2(pdfFilePath, WdSaveFormat.wdFormatPDF);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error converting file: " + ex.Message);
        }
        finally
        {
            // 关闭Word文档
            wordDoc.Close();
            // 退出Word应用
            wordApp.Quit();
        }
    }
}

可以这样使用这个类:

WordToPdfConverter converter = new WordToPdfConverter();
converter.ConvertWordToPdf(@"C:\path\to\input.docx", @"C:\path\to\output.pdf");

这段代码将会打开指定的Word文件,将其保存为PDF文件,然后关闭Word文档和应用。

注意:这种方法需要在运行代码的机器上安装Microsoft Word。

另外,可以使用WPS的COM组件来实现Word到PDF的转换,代码示例如下:

首先,需要在项目中添加对KWPS和KWPS.Application的引用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KWPSLib;
namespace WPSConvertToPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个WPS Application对象
            KWPS.ApplicationClass wpsApp = new KWPS.ApplicationClass();
            // 打开WPS文档
            KWPS.Document wpsDoc = wpsApp.Documents.Open(@"D:\Test.docx", Type.Missing, Type.Missing);
            try
            {
                // 将WPS文档保存为PDF文件
                wpsDoc.ExportAsFixedFormat(@"D:\Test.pdf", WdExportFormat.wdExportFormatPDF);
                Console.WriteLine("转换成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error converting file: " + ex.Message);
            }
            finally
            {
                // 关闭WPS文档
                wpsDoc.Close(Type.Missing, Type.Missing, Type.Missing);
                // 退出WPS应用
                wpsApp.Quit(Type.Missing, Type.Missing, Type.Missing);
            }
        }
    }
}

这种方法同样需要在运行代码的机器上安装WPS Office,并且需要在项目中添加对KWPS和KWPS.Application的引用。

要添加KWPS和KWPS.Application的引用,需要在项目中做以下步骤:

  • 右键单击项目名称,然后选择"Add"->"Reference"。
  • 在弹出的对话框中,选择"COM"选项卡。
  • 在列表中找到并选择"Kingsoft Office"或者"WPS Office"(取决于你的系统安装了哪个版本)。
  • 确保"Kingsoft Office"或"WPS Office"的复选框被选中,然后点击"OK"。
  • 这将会在你的项目中添加对KWPS的引用。你现在应该能够在代码中使用KWPS和KWPS.Application了。

请注意,使用此方法需要在运行代码的机器上安装WPS Office,并且需要确保你的项目已经添加了对KWPS的引用。

如果在列表中找不到"Kingsoft Office"或"WPS Office",那可能是你没有安装WPS Office,或者你的WPS Office版本不支持COM组件。在这种情况下,你可能需要更新或重新安装WPS Office,或者考虑使用其他库或方法来实现Word到PDF的转换。

到此这篇关于C#实现Word转PDF的方法总结的文章就介绍到这了,更多相关C# Word转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#图表算法之最短路径

    C#图表算法之最短路径

    本文详细讲解了C#图表算法之最短路径,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Unity UGUI的Slider滑动条件组使用详解

    Unity UGUI的Slider滑动条件组使用详解

    这篇文章主要为大家介绍了Unity UGUI的Slider滑动条件组使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C# winform实现右下角弹出窗口结果的方法

    C# winform实现右下角弹出窗口结果的方法

    这篇文章主要介绍了C# winform实现右下角弹出窗口结果的方法,结合实例形式分析了C#窗口操作的相关技巧,需要的朋友可以参考下
    2017-06-06
  • C#基于面向过程计算加权平均分的方法

    C#基于面向过程计算加权平均分的方法

    这篇文章主要介绍了C#基于面向过程计算加权平均分的方法,涉及C#数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#实现备忘录功能

    C#实现备忘录功能

    这篇文章主要为大家详细介绍了C#实现备忘录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • C#利用Refit实现JWT自动续期详解

    C#利用Refit实现JWT自动续期详解

    Refit 是一个受到Square的Retrofit库(Java)启发的自动类型安全REST库,这篇文章主要为大家介绍了C#如何利用Refit实现JWT自动续期,感兴趣的可以了解下
    2023-08-08
  • C# 常见操作符整理

    C# 常见操作符整理

    操作符接受一个或多个参数,并生成一个新值。操作符其实可以看做一个有返回值方法,但是参数的形式和调用和普通的调用不同。
    2011-02-02
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate如何使用

    这篇文章主要给大家介绍了关于C#中Action、Func和Predicate如何使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • c#通过xpath读取xml示例

    c#通过xpath读取xml示例

    这篇文章主要介绍了c#通过xpath读取xml示例,需要的朋友可以参考下
    2014-04-04
  • C# Winform实现导出DataGridView当前页以及全部数据

    C# Winform实现导出DataGridView当前页以及全部数据

    基本上,所有的业务系统都会要求有导出的功能,所以这篇文章主要为大家介绍了如何利用Winform实现原生DataGridView的导出功能,需要的可以参考一下
    2023-07-07

最新评论