PDFSharp AcroField PdfTextField格式提取

时间:2018-04-16 09:27:07

标签: c# pdf pdf-generation pdfsharp acrofields

我正在写一些你可以称之为公证行为申请的东西。在此应用程序中,保留政府提供的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中有没有办法读取这些格式化属性,如果没有,你们如何解析这些,如果你不得不这样做。

1 个答案:

答案 0 :(得分:-1)

好的,我能用它做出的唯一解决方案是:

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。