C# 利用Aspose.Words.dll将 Word 转成PDF

下面是详细的攻略:

准备工作

  1. 在官网 Aspose.Words for .NET 下载最新版的 Aspose.Words for .NET。

  2. 创建一个 C# 控制台应用程序,导入 Aspose.Words.dll。

using Aspose.Words;

代码实现

  1. 使用 Aspose.Words 加载 Word 文件。在加载过程中,Aspose.Words会自动将Word文件转化为一个包含Word文档所有内容的基础文本结构。
Document doc = new Document("input.docx");
  1. 创建一个保存PDF文件的流对象。
MemoryStream outputStream = new MemoryStream();
  1. 使用 Aspose.Words 将 Word 文件转成 PDF。在转换过程中,Aspose.Words会自动创建 PDF 文档对象,将所有 Word 内容转化为 PDF。
doc.Save(outputStream, SaveFormat.Pdf);
  1. 将 PDF 文件保存到本地磁盘。
FileStream fileStream = new FileStream("output.pdf", FileMode.Create, FileAccess.Write);
outputStream.WriteTo(fileStream);
fileStream.Close();
outputStream.Close();

示例展示

示例1

我们有一个名为input.docx的Word文件,在C:\Docs文件夹下,我们希望将其转成PDF文件,并保存为output.pdf

将以下代码粘贴到项目中的 Program.cs 文件中:

using System;
using System.IO;
using Aspose.Words;

namespace WordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputPath = @"C:\Docs\input.docx";

            if (File.Exists(inputPath))
            {
                // 1. 加载 Word 文件
                Document doc = new Document(inputPath);

                // 2. 创建保存 PDF 的 Memory Stream
                MemoryStream outputStream = new MemoryStream();

                // 3. 将 Word 文件转换成 PDF
                doc.Save(outputStream, SaveFormat.Pdf);

                // 4. 将 PDF 文件保存到磁盘
                FileStream fileStream = new FileStream(@"C:\Docs\output.pdf", FileMode.Create, FileAccess.Write);
                outputStream.WriteTo(fileStream);
                fileStream.Close();
                outputStream.Close();

                Console.WriteLine("File converted successfully!");
            }
            else
            {
                Console.WriteLine("Input file does not exist.");
            }

            Console.ReadKey();
        }
    }
}

运行程序后会生成一个名为output.pdf的PDF文件,它实际上是输入的Word文件转换而来的。

示例2

我们有一个名为input.docx的Word文件,存储在内存中的字节数组docBytes中,我们希望将其转成PDF文件,并打印出转换时间。

将以下代码粘贴到项目中的 Program.cs 文件中:

using System;
using System.Diagnostics;
using System.IO;
using Aspose.Words;

namespace WordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 加载 Word 文件
            Document doc = null;
            using (MemoryStream stream = new MemoryStream(docBytes))
            {
                stream.Seek(0, SeekOrigin.Begin);
                doc = new Document(stream);
            }

            // 2. 创建保存 PDF 的 Memory Stream
            Stopwatch watch = Stopwatch.StartNew();
            MemoryStream outputStream = new MemoryStream();

            // 3. 将 Word 文件转换成 PDF
            doc.Save(outputStream, SaveFormat.Pdf);

            // 4. 将所需时间打印出来
            Console.WriteLine("Conversion finished in " + watch.Elapsed);

            watch.Stop();
            outputStream.Close();

        }
    }
}

运行程序后,它会打印出转换所需的时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 利用Aspose.Words.dll将 Word 转成PDF - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 基于nopCommerce的开发框架 附源码

    “基于nopCommerce的开发框架附源码”是一种开源的电商平台框架,可以用于快速构建完善的电商网站。下面是一个完整的攻略。 步骤一:安装nopCommerce 下载 nopCommerce 最新版的源码,从 nopCommerce 官方网站下载地址:https://www.nopcommerce.com/download.aspx。 解压缩安装包。 使用…

    C# 2023年5月15日
    00
  • C#访问SQL Server数据库的实现方法

    下面就为您详细讲解“C#访问SQL Server数据库的实现方法”的完整攻略。整个攻略主要围绕以下几个方面展开: 连接SQL Server数据库 执行SQL语句 读取数据库数据 更新数据库数据 关闭数据库连接 接下来我们将依次对以上5点进行详细的说明。 连接SQL Server数据库 在C#中,我们可以通过 SqlConnection 类来连接 SQL Se…

    C# 2023年6月1日
    00
  • C#实现简单的二叉查找树

    接下来,我将为你讲解如何使用 C# 实现简单的二叉查找树(BST)。我们先从 BST 的定义说起。 什么是二叉查找树? 二叉查找树是一种数据结构,它实现了对于数据的快速搜索。一个二叉查找树是由一个根节点和两个子树组成的。左子树下面的所有节点的值都小于根节点的值,右子树下面的所有节点的值都大于根节点的值。 下面我们来看一下如何进行二叉查找树的实现: 实现步骤 …

    C# 2023年6月6日
    00
  • C# 最基础知识介绍–多态

    C# 最基础知识介绍–多态 在C#中,多态是面向对象编程(OOP)中的常见概念,它允许不同类型的对象对相同的消息作出响应。简单地说,多态就是对象(或方法)有不同的表现形式。 多态性有三种形式:静态,动态和协变。下面我们会一一解释。 静态多态 静态多态性是在编译时确定的,在程序执行之前,就确定了发生的方法和参数。在编程语言C#中,静态多态性可以通过函数重载和…

    C# 2023年6月1日
    00
  • C#设计模式之观察者模式实例讲解

    C#设计模式之观察者模式实例讲解 概念介绍 观察者模式(Observer Pattern)是软件设计模式之一,它定义了对象之间的一种一对多的依赖关系,让多个观察者(Observers)对象同时监听某一个主题(Subject)对象。当这个主题对象的状态发生变化时,会通知所有观察者对象,使它们能够自动更新。 观察者模式中有两个重要的部分:Subject 主题和 …

    C# 2023年5月31日
    00
  • c# 通过代码开启或关闭防火墙

    关于”通过代码开启或关闭防火墙”,我们可以使用C#中的Windows Firewall API来实现。下面是详细步骤: 步骤一:添加引用 首先需要添加一个对于 NetFwTypeLib 类型库的引用。 在 Visual Studio 中,选择项目,右键单击“引用” ,选择 ”添加引用“,然后在COM 中找到 “Windows Firewall API”,添加…

    C# 2023年5月31日
    00
  • C#实现基于加减按钮形式控制系统音量及静音的方法

    下面我来详细讲解如何使用C#实现基于加减按钮形式控制系统音量及静音的方法。 准备工作 在开始编写代码之前,需要确保以下几点: 了解C#语言基础知识; 熟悉Windows API编程; 确认开发环境已经安装了以下库:System.Runtime.InteropServices和CoreAudioApi。 实现步骤 第一步:获取系统音量 使用CoreAudioA…

    C# 2023年6月7日
    00
  • Microsoft .Net Remoting系列教程之一:.Net Remoting基础篇

    Microsoft.NetRemoting系列教程之一:.NetRemoting基础篇 .NetRemoting是一种用于实现分布式应用程序的技术。本教程将提供.NetRemoting基础知识的完整攻略,包括如何创建.NetRemoting应用程序、如何定义远程对象、如何使用远程对象以及两个示例。 创建.NetRemoting应用程序 要创建.NetRemo…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部