确实这里我最想说的是书签的相关问题。
我遇到的问题就是用Aspose.Words导出doc或者docx文件时,正方形(□)和正方形里打勾(☑)的符号都能正常显示(如图)
但是导出为pdf时,☑符号就会显示不出来(如图)
我原本的做法是直接在模板文件里红线后面加书签,然后给书签赋值符号的
(第一红线处插书签“PayType1”,第二红线处插书签“PayType2”)
if (caSubscription.PayType == TypeEnum.PayType.Once)
{
builder.MoveToBookmark("PayType1");
builder.Write("☑");
builder.MoveToBookmark("PayType2");
builder.Write("□");
}
由于网上没找到对应的好方法
我就寻思在做模板的时候,都赋值上符号☑,然后把这个符号当作一整个书签,不需要这个符号的时候直接把☑赋值为□。
if (caSubscription.PayType == TypeEnum.PayType.Once)
{
//builder.MoveToBookmark("PayType1");
//builder.Write("☑");
builder.MoveToBookmark("PayType2");
builder.Write("□");
}
但是啊,我发现这样确实只是在书签处追加值,而不是改变值
最终解决方法就是
BookmarkCollection bc = doc.Range.Bookmarks;//书签
if (caSubscription.PayType == TypeEnum.PayType.Once)
{
//builder.MoveToBookmark("PayType1");
//builder.Write("☑");
//builder.MoveToBookmark("PayType2");
//builder.Write("□");
bc["PayType2"].Text = "□";//给书签赋值
}
这玩意导出pdf的时候终于正常显示了