我需要使用.Net中的PDFTron从FreeText注释中获取字体信息(字体系列、颜色e.t.c)。我只看到了FreeText.GetFontSize方法。如何获取FreeText注释的字体信息?
发布于 2018-02-17 08:38:05
如果存在外观流,则使用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();https://stackoverflow.com/questions/48828710
复制相似问题