Livecycle (および Adobe Acrobat による拡張機能) で作成された PDF をプログラムで作成しています。フィールドに入力した後、ユーザーが編集して保存できるようにしたいと考えています。
private void XMLFieldPopulate(PdfReader reader, Dictionary<string, string> listOfValues, PdfStamper stamper)
{
AcroFields form = reader.AcroFields;
XfaForm xfaform = form.Xfa;
XmlNode node = xfaform.DatasetsNode;
XmlNodeList list = node.ChildNodes;
do
{
node = list.Item(0);
list = node.ChildNodes;
} while (node.Name != "topmostSubform");
for (int i = 0; i < list.Count; i++)
{
string attribute = list[i].Name;
string value = string.Empty;
value = listOfValues.First(x => x.Key == attribute).Value;
list[i].InnerText = value;
}
xfaform.FillXfaForm(node);
xfaform.SetXfa(stamper.Writer);
PDF を取得して編集することはできますが、保存はできません。