PDFTron。 FreeText注释字体

时间:2018-02-16 14:17:32

标签: pdf pdftron

我需要使用.Net中的PDFTron从FreeText注释中获取字体信息(字体系列,颜色e.t.c)。我只看到FreeText.GetFontSize方法。如何获取FreeText注释的字体信息?

1 个答案:

答案 0 :(得分:1)

如果存在外观流,则使用ElementReader接口解析外观流将返回实际用于外观的字体。所以在某种意义上说这是最准确的检查。

检查外观电话Annot.GetAppearance() != null

如果没有外观,那么您可以生成外观然后检查,但这会修改​​PDF并不总是需要。

如果没有出现流,那么首先检查DS条目,这是一个CSS字符串。例如:

font: 'Comic Sans MS',sans-serif 12.0pt; text-align:left; color:#E52237

如果DS不存在,则需要DA

0 G 0.898 0.1333 0.2157 rg 0 Tc 0 Tw 100 Tz 0 TL 0 Ts 0 Tr /ComicSansMS 12 Tf

这些是PDF图形运算符,基本上你解析字符串并查找Tf,前两个操作数是字体和字体大小。

例如

SDF.Obj ds = Annot.GetSDFOjb().FindObj("DS");
if(ds != null) string ds_str = ds.GetAsPDFText();