Как указано в комментарии, sqlalchemy поддерживает JSON в версии 1.3, которую можно скачать здесь , и в настоящее время это бета-версия. Документация для новой версии уже доступна , а также список изменений из версии 1.2.
Вы могли, вероятно, посмотреть на библиотеку PDF как iText. Если у Вас есть некоторое знание программирования и немного времени, Вы могли бы написать некоторый код, который добавляет контактную информацию к PDFs
Если бы Вы не можете получить шаблон в другом формате, чем PDF, простое специальное решение было бы к
Для решения без суеты, без путаницы используйте iText для простого добавления текста к PDF. Например, можно сделать следующее для добавления текста к документу PDF, однажды загруженному:
PdfContentByte cb= ...;
cb.BeginText();
cb.SetFontAndSize(font, fontSize);
float x = ...;
float y = ...;
cb.SetTextMatrix(x, y);
cb.ShowText(fieldValue);
cb.EndText();
Оттуда на, сохраните его как другой файл и распечатайте его.
Однако я нашел, что поля формы являются способом пойти с генерацией документов PDF из шаблонов.
Если у Вас есть шаблон с полями формы (добавленный с Adobe Acrobat), у Вас есть один из двух вариантов:
Демонстрационный файл FDF похож на это (украденный от Планеты PDF):
%FDF-1.2
%âãÏÓ
1 0 obj
<<<
/F(Example PDF Form.pdf)
/Fields[
<<
/T(myTextField)
/V(myTextField default value)
>>
]
>>
>> endobj trailer
<>
%%EOF
Из-за простого формата и небольшого размера FDF, это - предпочтительный подход, и подход должен работать хорошо на любом языке.
Что касается заполнения полей программно, можно использовать iText следующим образом:
PdfAcroForm acroForm = writer.AcroForm;
acroForm.Put(new PdfName(fieldInfo.Name), new PdfString(fieldInfo.Value));
Вероятно, лучший способ состоял бы в том, чтобы генерировать другой PDF с недостающим текстом и наложить один PDF по другому. Быстрый Google нашел эту ссылку, показывающую, как сделать это в Acrobat, и я уверен, что также существуют другие методы.
Теперь я сделал аккаунт. Я исправил это с помощью хитроумного pdftk.
В своих поисках я полностью упускал из виду функцию «фон» и «наложение». Мое решение было таким:
pdftk names.pdf background boat_background.pdf output out.pdf
Создание names.pdf
, которое вы можете легко сделать с помощью Python reportlab или аналогичных сценариев создания PDF. Лучше всего использовать для этого код: создание 6К страниц заняло несколько часов в LibreOffice / OpenOffice, в то время как при использовании Python это заняло всего несколько секунд.