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#数据绑定之删除datatable数据示例

    c#数据绑定之删除datatable数据示例 当我们使用c#编写程序时,有时需要对DataTable进行删除某些数据的操作,并且我们也需要确保在删除数据后页面及时刷新,使删除操作得到体现。下面,我们将详细讲解如何在c#中进行数据绑定和删除操作的完整攻略。 数据绑定操作 首先,在c#中进行数据绑定操作需要实现将数据源(如DataTable)绑定到控件,这样就可…

    C# 2023年6月1日
    00
  • C#学习基础概念二十五问

    C#学习基础概念二十五问是一份用于初学者入门的C#教程,以下是详细的攻略: 目录结构 C#学习基础概念二十五问包含了C#的基础语法、面向对象编程、泛型、委托等知识点,其目录结构如下: 第1问 初学者如何在Windows上编写C#代码 第2问 什么是C#? 第3问 C#的基础语法之变量类型 第4问 C#的基础语法之运算符 第5问 C#的基础语法之流程控制语句 …

    C# 2023年6月1日
    00
  • C# Clear():从集合中移除所有元素

    C#中的Clear()方法是一个实例方法,通常用于清空某些数据结构中的元素,例如字符串、数组、集合等。以下是C# Clear()的完整攻略,包括用法、示例和注意事项。 用法 Clear()方法是通过.运算符调用的实例方法,该方法不接受参数,返回值为void类型。可以使用Clear()方法来清空String、StringBuilder、List、Diction…

    C# 2023年4月19日
    00
  • C# List实现行转列的通用方案

    针对 C# List 实现行转列的通用方案,我可以提供以下完整攻略。 1.背景 在实际项目开发过程中,经常需要处理行列互换的操作,即将代表行的数据转换为代表列的数据格式,反之亦然。这种操作在数据仓库中非常常见,例如从 Excel 或数据库中读取的数据通常是行格式,但分析和绘图会更容易处理交换后的列存储数据。C# 中提供了 List 类实现行列转换的方法,本篇…

    C# 2023年6月1日
    00
  • 详解.NET数据库连接池

    详解.NET数据库连接池 在.NET应用程序中,数据库连接池是一种重要的技术,它可以提高应用程序的性能和可伸缩性。本攻略将深入讲解.NET数据库连接池的工作原理、配置和最佳实践,并提供两个示例说明。 工作原理 当.NET应用程序需要与数据库进行通信时,它会从连接池中获取一个可用的连接。如果连接池中没有可用的连接,则应用程序将等待,直到有可用的连接为止。当应用…

    C# 2023年5月17日
    00
  • 解析Asp.net Core中使用Session的方法

    下面我来详细讲解在Asp.net Core中使用Session的方法。 简介 在Asp.net Core中,Session是一种在服务器端存储用户数据的机制,用于存储在不同请求之间需要共享的数据。Session的使用可以帮助我们实现用户认证、用户状态管理等功能。在Asp.net Core中,使用Session存储数据需要借助Session服务。 配置Sess…

    C# 2023年5月31日
    00
  • C#网页跳转方法总结

    C#网页跳转方法总结 本篇文章旨在介绍常见的C#网页跳转方法,并为读者提供实用的示例代码及说明,以帮助实现各种网页跳转需求。 Response.Redirect方法 Response.Redirect方法可通过重定向网页实现页面跳转。该方法是将异常抛出到表示请求的客户端,然后由客户端执行新请求,因此会增加客户端向服务器的请求数,但对应用程序的实现更为简便。以…

    C# 2023年6月3日
    00
  • C# PictureBox图片控件实现图片交换

    下面是“C# PictureBox图片控件实现图片交换”的完整攻略: 简介 在.NET Windows Forms应用程序中,PictureBox控件是一个常用的控件,用于显示图像并对其进行操作。其中,图片交换是一个常见的操作,本文将从以下几个方面介绍如何使用PictureBox控件实现图片交换: PictureBox控件的基本使用; 从本地文件读取图片并显…

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