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日

相关文章

  • c#中(&&,||)与(&,|)的区别详解

    C#中(&&,||)与(&,|)的区别详解 1. 逻辑与(&&)和按位与(&)的区别 1.1 逻辑与(&&) 逻辑与(&&)是一种逻辑运算符,用于判断两个操作数是否同时为真。当两个操作数都为真(非零)时,结果为真(非零);否则结果为假(0)。逻辑与(&&)只有当左…

    C# 2023年6月1日
    00
  • ASP.NET Core 3.0使用gRPC的具体方法

    ASP.NET Core 3.0使用gRPC的具体方法 简介 gRPC 是由 Google 开发的一种高性能、开源的远程过程调用(RPC)框架。它使用 Protocol Buffers 作为数据交换格式,可以在多种语言之间进行通信。在 .NET Core 3.0 中,我们可以通过 gRPC 快速建立一个高效的微服务。 快速入门 创建 gRPC 服务 我们可以…

    C# 2023年6月3日
    00
  • ios的签名机制详解

    针对iOS的签名机制,我来为您详细讲解一下。 什么是iOS签名机制 iOS的签名机制是为了保护应用程序的完整性和安全性。iOS应用程序必须经过签名后才能被安装和运行。当开发者使用Xcode编译应用程序时,系统会自动为应用程序添加一个签名标识,用于证明开发者的身份,以及应用的来源和完整性。若应用程序被篡改,签名标识会失效,应用程序将无法运行。 在iOS签名机制…

    C# 2023年6月7日
    00
  • c#实现简单控制台udp异步通信程序示例

    C#实现简单控制台UDP异步通信程序示例 1. 前言 本文介绍如何使用C#实现简单控制台UDP异步通信程序。UDP通信是一种面向无连接的通信方式,它在数据传输时不需要建立连接,可以在不可靠的网络传输中获得更好的性能。本文示例中使用C#提供的异步编程模型,以实现对UDP异步通信程序的实现。 2. 示例1:发送UDP数据 2.1 准备工作 首先,我们需要创建一个…

    C# 2023年6月6日
    00
  • 使用grpcui测试ASP.NET core的gRPC服务

    使用 grpcui 测试 ASP.NET Core 的 gRPC 服务 grpcui 是一个用于测试 gRPC 服务的命令行工具,可以方便地测试 gRPC 服务的接口。本攻略将详细介绍如何使用 grpcui 测试 ASP.NET Core 的 gRPC 服务,并提供多个示例说明。 步骤一:安装 grpcui 在使用 grpcui 之前,需要先安装 grpcu…

    C# 2023年5月17日
    00
  • c#数学表示法(后缀表示法)详解

    C#数学表示法(后缀表示法)详解 什么是后缀表示法 后缀表示法(Reverse Polish notation,RPN),也叫逆波兰表示法(英语:Reverse Polish notation,缩写 RPN),是一种根据运算符的位置来确定运算顺序的数学表示法。与中缀表达式、前缀表达式等表达式一样,它也是一种通用的表示数值和运算符的方法,可用于计算、编程、数据…

    C# 2023年6月7日
    00
  • 微信开放平台之网站授权微信登录功能

    微信开放平台之网站授权微信登录功能 在网站开发中,我们常常需要用户登录鉴权功能。使用微信登录已经成为了一种非常方便且广泛应用的方式。本文将介绍如何使用微信开放平台实现网站授权微信登录功能。 1. 注册开发者账户 在 微信开放平台官网 注册一个开发者账户,创建一个新的应用。在应用的基本配置中,获取到AppID和AppSecret两个参数,它们将用于后续开发流程…

    C# 2023年5月31日
    00
  • CommunityToolkit.Mvvm8.1 消息通知(4)

    本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址)   希望提到的知识对您有所提示,同时欢迎交流和指正 作者:aierong出处:https://www.cnblogs.com/aierong   说明 为了…

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