PDFSharp AcroField PdfTextField格式提取

PDFSharp AcroField PdfTextField formatting extraction

我正在写一些你可以称之为公证行为申请的东西。在此应用程序中,保留政府提供的 pdf 模板非常重要。

我正在使用 PDFSharp 读取字段,它非常简单,但是有一点,文本字段格式。我被它困住了,因为我无法在规范中找到任何关于格式化的信息,它似乎是故意遗漏的。

只要有一个字段只接受美元符号、日期或任何有限的特殊值(例如从 10 到 30),我就无法将其读入应用程序并使其对用户可见(用户有他自己的字段,比如浏览器中的自动填充,如果有 100% 的机会是正确的值,则自动为他填充,否则有自动完成)。

var ts = new TypeSwitch().Case((PdfTextField x) =>
{
item1.CharactersLimit = x.MaxLength;
item1.IsMultiline = x.MultiLine;
item1.IsRequired = x.IsRequired();
// what should i do here to read that this field is only 4 places and 2 places after coma, or simply a percentage ?
}

我的问题是:PDFSharp 中有没有一种方法可以读取这些格式属性,如果没有,你们是如何解析这些属性的(如果有的话)。

好的,我唯一能想到的解决办法是:

var formatting = (((field.Where(item => item.Key == "/AA")
                              .Select(item => item.Value)
                              .First() as PdfDictionary).Where(item => item.Key == "/F")
                                                        .Select(item => item.Value)
                                                        .First() as PdfSharp.Pdf.Advanced.PdfReference).Value as PdfDictionary).Where(item => item.Key == "/JS")
                                                                                                       .Select(item => item.Value).First() as PdfString;

在那之后,我能够提取一些关于格式的信息来制作自定义正则表达式来进行验证,但这就是我所能做的。

不幸的是,它是 PDFSharp。