У меня нет копии кода соединительной линии iText на этой машине, но я уверен, что она не записывает информацию о полях в генерируемые PDF-файлы.Даже если магистраль работает, я не могу сказать, какая версия была добавлена ... опять же, здесь нет магистрали.
Однако есть несколько возможных решений проблемы:
1) Вручную записать информацию в PDF.Учитывая, что у вас есть источник, сгенерировавший документы, вы сможете изменить этот источник.Это не поможет с уже созданными документами, но лучше, чем ничего.Это также намного проще, чем альтернатива.Есть несколько мест, где вы можете написать эту информацию.а) Вы можете добавить информацию в виде строки в PDF-файлы "поля информации документа" (метаданные).Я уверен, что iText позволяет вам писать пользовательские поля ... да.
new Meta("margins", buildStringOfMyMargins() );
Тогда вам придется снова анализировать строку.Помните, что вам нужно добавить метаинформацию перед тем, как вы doc.open ();
b) Напишите свой собственный ArtBox (как описано в постаменте).Это требует второго прохода с помощью PdfStamper для записи данных непосредственно в PdfDictionary
каждой страницы. C) Измените iText, добавив в него поле искусства, основанное на предоставленных вами полях.
2) Выполните анализ содержимогоместах.Текущий код com.itextpdf.text.pdf.parser. * Не обрабатывает штриховые рисунки, которые могут быть или не быть очень важными для вас.Вы должны будете определить ограничивающую рамку каждого элемента на данной странице и вычислить ограничивающую рамку, которая охватывает их все.Много работы.