当使用word转换到pdf功能时,spire.doc提供了三种方式嵌入字体,分别为嵌入已安装的字体,单独嵌入某种字体以及嵌入没有安装的字体。本文将对这三种方式做详细的区分和介绍。
1、嵌入已安装的字体。
topdfparameterlist 提供了一个属性isembeddedallfonts,但是这个属性只适用于本机上有这个字体的情况。
c#
//加载文档
document doc = new document();
doc.loadfromfile(@"input.docx");
topdfparameterlist ppl = new topdfparameterlist();
//设置嵌入文档中的所有字体
ppl.isembeddedallfonts = true;
//保存文档
doc.savetofile("output.pdf", ppl);
vb.net
'加载文档
dim doc as document = new document
doc.loadfromfile("input.docx")
dim ppl as topdfparameterlist = new topdfparameterlist
'设置嵌入文档中的所有字体
ppl.isembeddedallfonts = true
'保存文档
doc.savetofile("output.pdf", ppl)
效果图:
2、单独嵌入某种字体
topdfparameterlist提供了属性embeddedfontnamelist传入需要嵌入字体的list集合。这种方式只适用于本机安装了此字体的情况。
c#
//加载文档
document doc = new document();
doc.loadfromfile(@"input.docx");
topdfparameterlist ppl = new topdfparameterlist();
//list集合存储需要嵌入的字体
list part = new list();
part.add("lucida sans unicode");
ppl.embeddedfontnamelist = part;
//保存文档
doc.savetofile("output.pdf", ppl);
vb.net
'加载文档
dim doc as document = new document
doc.loadfromfile("input.docx")
dim ppl as topdfparameterlist = new topdfparameterlist
'list集合存储需要嵌入的字体
dim part as list = new list
part.add("lucida sans unicode")
ppl.embeddedfontnamelist = part
'保存文档
doc.savetofile("output.pdf", ppl)
效果图:
3、嵌入没有安装的字体
如果转换过程在其他环境上,此环境中没有安装某个字体,我们就需要通过加载字体文件的方式来嵌入这个字体。这种方式需要被嵌入的字体文件。
c#
//加载文档
document doc = new document();
doc.loadfromfile(@"input.docx");
//嵌入未安装的字体.
topdfparameterlist ppl = new topdfparameterlist()
{
privatefontpaths = new list()
{
new privatefontpath("lucida sans unicode", @"lucida sans unicode.ttf")
}
};
//保存文档.
doc.savetofile("sample.pdf", ppl);
vb.net
'加载文档
dim doc as new document()
doc.loadfromfile("input.docx")
'嵌入未安装的字体
dim ppl as new topdfparameterlist() with {
key .privatefontpaths = new list() from {
new privatefontpath("lucida sans unicode", "lucida sans unicode.ttf")
}
}
'保存文档
doc.savetofile("sample.pdf", ppl)
效果图: