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路径,仅供参考,文件路径可自定义为其他路径。
C#/VB.NET 在Word转PDF时生成目录书签的更多相关文章
- word转pdf时图片质量下降的解决方案__亲测有效
写论文时经常需要将word文档转成pdf文档,通常的做法是word另存为pdf文档,这样很简洁很方面,可是最大的问题是图片质量会大大下降.究其原因,“另存为”选项会压缩图片,以降低pdf文档的大小.解 ...
- Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法
本文分享在Linux系统下,通过Java 程序代码将Word转为PDF文档时,结果文档内容出现乱码该如何解决.具体可参考如下内容: 1.问题出现的背景 在Windows系统中,使用Spire.Doc ...
- 对扫描的pdf文件生成目录
很多pdf文件是直接扫描生成的,于是它的内容都是一张张的图片,当然就更没有目录索引了. 有的时候想找某些内容,只能一点点的移动滚动条,非常不方便. 那么有什么方法能生成目录呢? 方法一:使用福昕pdf ...
- aspose将word转pdf时乱码,或者出现小方框问题
通常来讲,出现这种问题一般是因为Linux服务器没有安装中文字体 查看Linux目前的所有字体 fc-list #查看Linux目前的所有中文字体 fc-list :lang=zh #将window ...
- Word 2010文档自动生成目录和某页插入页码
一.Word 2010文档自动生成目录 关于Word文档自动生成目录一直是我身边同学们最为难的地方,尤其是毕业论文,经常因为目录问题,被要求修改,而且每次修改完正文后,目录的内容和页码可能都会发生变化 ...
- C#,VB.NET如何将Word转换为PDF和Text
众所周知,Word是我们日常工作中常用的办公软件之一,有时出于某种需求我们需要将Word文档转换为PDF以及Text.那么如何以C#,VB.NET编程的方式来实现这一功能呢? 下面我将分开介绍如何运用 ...
- 采用jacob实现word转pdf
网络上已经有很多这方面的内容,在用之前也是参考了好多别人的文章,下面记录下我自己的整合过程.整个过程都比较简单: 开发环境:win8 64位系统,在2008下面部署也是一样的. 文档要求jdk的版本要 ...
- C#实现 word、pdf、ppt 转为图片
office word文档.pdf文档.powerpoint幻灯片是非常常用的文档类型,在现实中经常有需求需要将它们转换成图片 -- 即将word.pdf.ppt文档的每一页转换成一张对应的图片,就像 ...
- jacob 操作word转pdf
项目需要对上传的word及pdf进行在线预览,因基于jquery的pdf插件,很方面实现在线预览,而word实现在线预览费劲不少,于是想到在进行上传处理时,直接将word转成pdf,在预览时直接预览p ...
随机推荐
- css3,css的基础全局运用
浮动 1.浮动起来的盒子不占用位置,浮动了一个盒子下面的标准流的盒子会顶上来 可用清除浮动的方法来解决标准流会顶替位置的问题 清除浮动给父盒子加overflow: hidden; 鼠标经过事件 : ...
- Vulnhub 之 Earth
靶机地址:https://www.vulnhub.com/entry/the-planets-earth,755/ Kali IP:192.168.56.104 下载OVA文件后,直接通过Virtua ...
- FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一 ...
- 企业需要使用网络损伤仪 WANsim 的帮助,以便更高效地迁移到云端
正确解决与云环境中的应用程序部署有关的问题需要针对每个系统的独特需求以寻找特定的网络工具.网络损伤仪 WANsim 助力企业更高效地迁移到云端! 起初,云厂商以在云端办公相对于传统方式拥有更高的可靠性 ...
- Fabric2.2中的Raft共识模块源码分析
引言 Hyperledger Fabric是当前比较流行的一种联盟链系统,它隶属于Linux基金会在2015年创建的超级账本项目且是这个项目最重要的一个子项目.目前,与Hyperledger的另外几个 ...
- go sync.map源码解析
go中的map是并发不安全的,同时多个协程读取不会出现问题,但是多个协程 同时读写就会出现 fatal error:concurrent map read and map write的错误.通用的解决 ...
- es6 class解析
直入主题.源代码如下: class A{ aName = 'A' constructor(aAge){ this.aAge = aAge } static aStatic = 'aStatic' } ...
- 前端性能优化之js,css调用优化
规则1:减少HTTP请求 把多个JS请求合并为一个JS请求,把多个CSS请求合并为一个CSS请求.从而减少从客户端向服务器端的请求数. 规则3:添加Expires头 用http ...
- Python GDAL矢量转栅格详解
前言:挺久没有更新博客了,前段时间课程实验中需要用代码将矢量数据转成栅格,常见的点栅格化方法通过计算将点坐标(X,Y)转换到格网坐标(I,J),线栅格化方法主要有DDA算法.Bresenham算法等, ...
- 『现学现忘』Git对象 — 17、Commit对象
目录 1.Commit对象介绍 2.Commit对象说明 3.本地库中对象之间的关系 4.总结 5.练习 6.本文用到的命令总结 1.Commit对象介绍 现在来介绍最后一种Git对象commit对象 ...