私の Web サイトでは、クライアントが編集可能なフィールドを含むさまざまな種類の PDF テンプレートをアップロードします。PDF からテキストと編集可能なフィールドを読み取り、対応するフィールドを含むテキストを Web フォームに表示したいと考えています。テキストとフィールドを別々に読み取るための解決策を見つけましたが、対応するテキストに対してフィールドをマッピングできません。
テキストを読み取り、itextsharp を使用してフィールドを取得しますが、そのテキストとフィールドをマップできません。例: PDF では、FirstName: Thomas と指定されています。PDF から読み取り、UI に Firstname(label): Thomas (textbox) として表示します。
すべてのフィールドを取得するために使用したサンプルコード、
public string GetPDFFields()
{
string pdfTemplate = @"d:\1234.pdf";
var pdfReader = new PdfReader(pdfTemplate);
var outStream = new MemoryStream();
var stamper = new PdfStamper(pdfReader, outStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
StringBuilder sb = new StringBuilder();
foreach (string fieldKey in fieldKeys)
{
sb.Append(form.GetField(fieldKey)+"\r\n");
}
return sb.ToString();
}