C#/VB.NET 在Word转PDF时生成目录书签


当我们在转换Word文档到PDF格式时,想保留Word文档的标题作为PDF书签,那么应该如何操作呢?那么本文将以C#及VB.NET代码为例,介绍如何在Word转PDF时生成目录书签。下面是具体方法和步骤,希望对大家有所帮助。

程序环境

本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用Spire.Doc.dll文件:

方法1:将 Free Spire.Doc for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2:通过 NuGet 安装。可通过以下2种方法安装:

(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 10.2.0

具体步骤

  •   创建一个实例文档并用Document.LoadFromFile()方法加载示例文档。  
  •   设置CreateWordBookmarks为true。
  •   使用标题创建书签。
  •   使用Word书签创建书签。
  •   用Document.SaveToFile()方法将文档保存为PDF文档。

完整代码

[C#]

using System;
using System.Windows.Forms;
using Spire.Doc;
using Spire.Doc.Documents;

namespace ToPDFAndCreateBookmarks
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string inputFile = "Article1.docx";
            string outFile = "ToPDFAndCreateBookmarks_out.pdf";
            Document document = new Document();
            //加载示例文档
            document.LoadFromFile(inputFile);

            ToPdfParameterList parames = new ToPdfParameterList();
            //设置 CreateWordBookmarks 为 true
            parames.CreateWordBookmarks = true;
            ////使用标题创建书签
            //parames.CreateWordBookmarksUsingHeadings = true;
            //使用word书签创建书签
            parames.CreateWordBookmarksUsingHeadings = false;
            //保存为PDF文档
            document.SaveToFile(outFile, parames);

[VB.NET]

Imports System
Imports System.Windows.Forms
Imports Spire.Doc
Imports Spire.Doc.Documents

Namespace ToPDFAndCreateBookmarks
    
    Public Class Form1
        Inherits Form
        
        Public Sub New()
            MyBase.New
            InitializeComponent
        End Sub
        
        Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim inputFile As String = "NewSample1.docx"
            Dim outFile As String = "ToPDFAndCreateBookmarks_out.pdf"
            Dim document As Document = New Document
            '加载示例文档
            document.LoadFromFile(inputFile)
            Dim parames As ToPdfParameterList = New ToPdfParameterList
            '设置 CreateWordBookmarks 为 true
            parames.CreateWordBookmarks = true
            '''/使用标题创建书签
            'parames.CreateWordBookmarksUsingHeadings = true;
            '使用word书签创建书签
            parames.CreateWordBookmarksUsingHeadings = false
            '保存为PDF文档
            document.SaveToFile(outFile, parames)
        End Sub
    End Class
End Namespace

效果图

注意:测试代码中的文件路径为程序Debug路径,仅供参考,文件路径可自定义为其他路径。