• 关于Word转PDF的几种实现方案


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

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

    1. 在你的项目中右键选择"Add Reference"。
    2. 在弹出的窗口中选择"COM"选项卡。
    3. 在列表中找到并选择"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的引用,需要在项目中做以下步骤:

    1. 右键单击项目名称,然后选择"Add"->"Reference"。

    2. 在弹出的对话框中,选择"COM"选项卡。

    3. 在列表中找到并选择"Kingsoft Office"或者"WPS Office"(取决于你的系统安装了哪个版本)。

    4. 确保"Kingsoft Office"或"WPS Office"的复选框被选中,然后点击"OK"。

    5. 这将会在你的项目中添加对KWPS的引用。你现在应该能够在代码中使用KWPS和KWPS.Application了。

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

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

     

  • 相关阅读:
    web安全漏洞——身份验证绕过
    网络-跨域解决
    直播回顾 | 【原引擎】解密云原生安全:如何应对新型BOT攻击?
    C语言01、数据类型、变量常量、字符串、转义字符、注释
    [论文工具] LaTeX论文撰写常见用法及实战技巧归纳(持续更新)
    B03_02可转债转股
    Vue3后台管理系统推荐
    手动编译jdk1.8源码-centos7
    【毕业设计源码】基于微信小程序的特产商城系统设计与实现
    【面试题精讲】Java什么是方法的返回值?方法有哪几种类型?
  • 原文地址:https://www.cnblogs.com/tianqing/p/17745465.html