Word控件Spire.Doc 【脚注】字体(3):将Doc转换为PDF时如何使用卸载的字体

news2024/11/17 3:53:41

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。 

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.Doc for.NET 最新下载(qun:767755948)icon-default.png?t=N3I4https://www.evget.com/product/3368/download

现在Spire.Doc支持在将Doc转换为PDF时使用未安装的字体以实现文本内容的多样化。在这篇文章中,我们将谈论如何实现这一功能:如何在通过Spire.Doc将Doc转换为PDF时使用卸载的字体

步骤1:下载一个在系统中卸载的字体。


步骤2:创建一个新的空白Word文档。

Document document = new Document();

步骤3:添加一个部分并创建一个新段落。

Section section = document.AddSection();
Paragraph paragraph = section.Paragraphs.Count > 0 ? section.Paragraphs[0] : section.AddParagraph();

步骤4:为 txtRange 附加文本。

TextRange txtRange = paragraph.AppendText(text);

步骤5:为名为pdf的类ToPdfParameterList创建一个示例,并为属性PrivateFontPaths创建一个新的PrivateFontPathlist,使用下载字体的名称和路径实例化一个PrivateFontPath。

ToPdfParameterList toPdf = new ToPdfParameterList()
{
PrivateFontPaths = new List()
{
new PrivateFontPath("DeeDeeFlowers",@"D:\DeeDeeFlowers.ttf")
}
};

步骤6:为 txtaRange 设置新字体。

txtRange.CharacterFormat.FontName = "DeeDeeFlowers";

步骤7:将文档转换为 PDF。

document.SaveToFile("result.pdf", toPdf);

步骤8:查看转换后的 PDF 文件。

System.Diagnostics.Process.Start("result.pdf");

结果截图

完整代码如下

Document document = new Document();

//Add the first secition
Section section = document.AddSection();
//Create a new paragraph and get the first paragraph
Paragraph paragraph
= section.Paragraphs.Count > 0 ? section.Paragraphs[0] : section.AddParagraph();

//Append Text
String text
= "This paragraph is demo of text font and color. "
+ "The font name of this paragraph is Tahoma. "
+ "The font size of this paragraph is 20. "
+ "The under line style of this paragraph is DotDot. "
+ "The color of this paragraph is Blue. ";
TextRange txtRange = paragraph.AppendText(text);

//Import the font
ToPdfParameterList toPdf = new ToPdfParameterList()
{
PrivateFontPaths = new List<PrivateFontPath>()
{
new PrivateFontPath("DeeDeeFlowers",@"D:\DeeDeeFlowers.ttf")
}
};
//Make use of the font.
txtRange.CharacterFormat.FontName = "DeeDeeFlowers";

document.SaveToFile("result.pdf", toPdf);

System.Diagnostics.Process.Start("result.pdf");

以上便是通过Spire.Doc将Doc转换为PDF时如何使用卸载的字体的教程,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HttpServletRequest的介绍和方法以及代码实战

目录 HttpServletRequest HttpServletRequest 介绍 HttpServletRequest 常用方法 代码实战 HTML部分 Java部分 web.xml配置 请求转发 为什么需要请求转发 请求转发说明 请求转发原理示意图 代码实战 HTML部分 CheckServlet部分 ManageServlet 部分 xml部分 请求…

【Linux】进程的概念

文章目录 &#x1f4d6; 前言1. 冯诺依曼体系结构1.1 内存存在的意义&#xff1a;1.2 程序加载到内存的意义&#xff1a;1.3 程序的预加载&#xff1a; 2. 认识进程2.1 如何理解管理&#xff1a;2.2 什么叫是进程&#xff1a;&#xff08;初步理解&#xff09; 3. 简单认识操作…

读SQL进阶教程笔记13_SQL中的分组和层级

1. 数据分组 1.1. SQL的语句中具有分组功能的是GROUP BY和PARTITION BY 1.1.1. 两者都有数学的理论基础 1.1.2. 都可以根据指定的列为表分组 1.1.3. 区别仅仅在于&#xff0c;GROUP BY在分组之后会把每个分组聚合成一行数据 1.1.4. GROUP BY的作用是将一个个元素划分成若干…

CentOS7误删自带python2或yum异常导致yum命令不可用的解决方法

yum命令不可用的解决方法 异常场景1原因验证解决方案让Python2与Python3共存 异常场景2原因解决方案卸载、删除残留文件下载系统版本对应的yum包 异常场景1 在执行yum命令时&#xff0c;系统无法找到 Python 解释器&#xff0c;因此无法运行 yum 命令&#xff0c;具体异常如下…

详解语义分割deeplabv3+模型的工业应用流程

来源&#xff1a;投稿 作者&#xff1a;某一个名字 编辑&#xff1a;学姐 导语 在工业视觉应用中&#xff0c;目标检测算法常用于特征的粗定位&#xff0c;而语义分割则在特征的精定位方面有着突出的表现。使用较多的语义分割模型主要有FCN、deeplab系列、unet等&#xff0c;根…

ASEMI代理ADI亚德诺AD8210YRZ-REEL7车规级芯片

编辑-Z AD8210YRZ-REEL7芯片参数&#xff1a; 型号&#xff1a;AD8210YRZ-REEL7 偏移电压&#xff08;RTI&#xff09;&#xff1a;1.0mV 超温&#xff08;RTI&#xff09;&#xff1a;1.8 mV 差分输入阻抗&#xff1a;2 kΩ 共模输入阻抗&#xff1a;5 MΩ 共模输入电压…

数据离奇丢失案件的侦破与思考

01 离奇的数据丢失案件 最近生产环境出了一起数据离奇丢失的案件&#xff0c;调查过程很曲折&#xff0c;几度进入死胡同。下面跟大家分享整个事件的来龙去脉。 1.1 数据丢失案件 8月初&#xff0c;用户批量导入了一批&#xff08;300&#xff09;委托人数据&#xff0c;导入…

完美解决丨SyntaxError: invalid syntax

样例 1.1. 不同编辑器 VSCode&#xff1a;点击查看PyCharm&#xff1a;点击查看 1.2. 不同版本 1.2.1. python2 与 python3 的差异 Python2 的 print 语句如下&#xff1a; python print Hello, World! Python3 的 print 语句如下&#xff1a; python print(Hello, World!) P…

超实用的 Linux 高级命令,程序员一定要懂

前言 在运维的坑里摸爬滚打好几年了&#xff0c;我还记得我刚开始的时候&#xff0c;我只会使用一些简单的命令&#xff0c;写脚本的时候&#xff0c;也是要多简单有多简单&#xff0c;所以有时候写出来的脚本又长又臭。 像一些高级点的命令&#xff0c;比如说 Xargs 命令、管…

前端登陆表单_内容非空验证_rules属性与validate方法

更多校验规则查看&#xff1a;ElementUI官网-form-attributes 表单内容 <!--3、通过rules属性传入约定的验证规则v-bind:model"dataForm"绑定data中的dataForm数据v-bind:rules"rules"绑定data中的rules属性&#xff0c;里面定义了要校验的属性及规则re…

网络安全之DVWA通关教程

网络安全之DVWA通关教程 一、DVWA简介二、DVWA安装2.1 安装PHPStudy2.2 安装DVWA 三、DVWA使用3.1 Brute Force&#xff08;暴力破解&#xff09;3.1.1 Low级别3.1.2 Medium级别3.1.3 High级别 3.2 Command Injection&#xff08;命令注入&#xff09;3.2.1 Low级别3.2.2 Middl…

三极管基本知识

1、三极管是常用的半导体器件&#xff0c;也称为双极型品体管、品体三极管&#xff0c;由P/N结组成&#xff0c;它分为NPN(简称P三极管)和PNP&#xff08;简称N三极管&#xff09;&#xff0c;P三极管用多一点。常用的有插件类和贴片类两大封装。具体封装类型有SOT-23-3,TO-92,…

QS排名十年对比:美国大学最稳,中国大学进步最快

QS世界大学排名发布距今已有20年历史&#xff0c;迄今为止&#xff0c;全球已有超过90个国家和地区共1500多所大学进入QS世界排名。QS排名评估中所使用的5项评估标准基本保持不变。 QS使用5个关键指标来进行排名&#xff0c;包括学术声誉、雇主声誉、篇均论文引用、H指数和国际…

【Node.JS】初入前端,学习node.js基本操作

文章目录 一、Node.js 创建服务端应用二、npm 使用介绍三、Node.js 回调函数四、Node.js 事件驱动程序五、Node.js 事件监听器六、特殊的error事件七、Node.js Buffer&#xff08;缓冲区&#xff09;八、输入输出流 Stream九、Node.js 模块系统十、 Node.js 路由十一、GET/POST…

Node 内置模块 【http模块】

文章目录 &#x1f31f;前言&#x1f31f;http模块&#x1f31f; 1.引入http模块&#x1f31f; 2.创建服务&#x1f31f; 3.添加头信息&#x1f31f; 4.搭建一个简单的服务器&#xff1a;&#x1f31f; 5.Request对象&#x1f31f; 6.Response对象&#x1f31f; 7.练习&#xf…

Mac 安装Java反编译工具JD-GUI

一、下载JD-GUI软件 1.首先到Github下载JD-GUI软件&#xff1a; github java-decompiler/jd-gui Public 选择jd-gui-osx-1.6.6.tar. 2.解压打开软件&#xff0c;但是提示错误&#xff1a; 3.确保本机已安装JDK. 4.如果确定已经安装了JDK海报这个这个错误&#xff0c;选中JD…

Ubuntu由于没有公钥,无法验证下列签名: NO_PUBKEY 79CDFD222CD3495A

执行update时&#xff0c;打印几行错误信息&#xff1a; sudo apt-get update命中:3 https://deb.termius.com squeeze InRelease 错误:3 https://deb.termius.com squeeze InRelease 由于没有公钥&#xff0c;无法验证下列签名&#xff1a; NO_PUBKEY 79CDFD222CD3495A W: 校…

海量数据的交互式分析工具Dremel

海量数据的交互式分析工具Dremel 产生背景数据模型两方面的技术支撑面向记录和面向列的存储嵌套模型的形式化定义 嵌套式的列存储数据的无损表示重复深度的定义定义深度的定义 高效的数据编码&#xff08;了解&#xff09;数据重组 查询语言与执行&#xff08;了解&#xff09;…

易点易动设备管理系统帮助水泥厂实现智能设备巡检

着工业4.0的不断发展&#xff0c;智能制造成为企业追求的目标。水泥厂作为基础建设的重要产业&#xff0c;其生产过程中设备的巡检维护显得尤为重要。本文介绍了易点易动设备管理系统如何帮助水泥厂实现智能设备巡检&#xff0c;提高设备管理效率&#xff0c;降低维修成本&…

卫浴工厂如何通过电子作业指导书系统实现信息化管理?

电子作业指导书系统可以帮助卫浴工厂实现信息化管理和智能化生产。电子作业指导书系统可以与其他管理系统和设备进行数据共享和信息交换&#xff0c;从而实现生产过程的智能化和自动化。 电子作业指导书系统是一种指导工人操作的电子化工具&#xff0c;可以将工艺流程、操作规范…