pdftron.Freetext注释字体



我需要使用.net中的pdftron从 FreeText注释中获取字体信息(字体family,color e.t.c(。而且我只看到FreeText.GetFontSize方法。我如何获取FreeText注释的字体信息?

如果存在外观流,则使用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();

最新更新