C # для чтения данных формы XFA - PullRequest
3 голосов
/ 24 января 2012

Я пытаюсь программно прочитать значения полей из формы, созданной в Livecycle.Я попытался открыть документ с помощью компонента Acrobat COM, и он, похоже, сработал, и с некоторым размышлением мне удалось получить реальные имена полей, но значение для каждого поля, как кажется, сложная.

Более тогоЯ знаю, считаю, что на самом деле мне нужно использовать другой подход для извлечения значений, поскольку это PDF-форма XFA.

(Пожалуйста, не советуйте мне смотреть примеры, представленные в Adobe PDF SDKпотому что они очень бедны и абсолютно бесполезны для моей проблемы - я уже прочитал все, что мог из документации Adobe).

Спасибо всем.

Ответы [ 2 ]

1 голос
/ 16 мая 2012

Я использую iText / iTextSharp при работе с формами Acrobat и LiveCycle (XFA). Вам необходимо получить доступ к LiveCycle XML DOM в качестве отправной точки:

iTextSharp Пример:

string sourcePdf = @"c:\livecycle.pdf";<br>
PdfReader reader = new PdfReader(sourcePdf);<br>
XmlDocument xmlDoc = reader.AcroFields.Xfa.DomDocument;

Вам необходимо ознакомиться со спецификацией XFA для работы с DOM.

0 голосов
/ 26 января 2012

Возможно, вы могли бы использовать стороннюю библиотеку, такую ​​как ABCPdf, для извлечения значений полей (это не реклама, я использовал эту библиотеку в аналогичном случае, хотя и некоторое время назад).

Еще одна возможность заключается в том, что если рассматриваемый PDF-файл находится под вашим контролем, вы можете использовать функцию HTTP-post сгенерированных LifeCycle PDF-файлов (AFAIK, они могут отправлять значения полей в предварительно сконфигурированныйВеб-адрес, когда пользователь нажал кнопку «Отправить».

...