Заполнить из Delphi шаблон документа pdf

Стоимость:1 000 рублей
Срок выполнения:3 дня
Варианты оплаты:Планируется использовать Безопасную сделку
Дата публикации:2024-08-22 11:17
Был на сайте:2024-08-24 17:58

Заполнить из Delphi шаблон документа pdf

 
Задача

Нужно заполнить ячейки pdf-документа (шаблона) произвольной информацией. Хотя бы пару строк. Используя, например, библиотеку SynPDF. Нужен пример кода. Шаблон приложен к заданию.

Оставлять заявки могут только авторизованные пользователи.
Для подачи заявки на участие в задании Вам нужно авторизоваться
Сделаю в лучшем виде
  • 1 000 руб1 день
uses
SynPdf;

procedure FillPdfForm;
var
Pdf: TPdfDocumentGDI;
Form: TPdfAcroForm;
begin
// Создаем объект PDF-документа
Pdf := TPdfDocumentGDI.Create;
try
// Загружаем PDF-документ
Pdf.LoadFromFile('/mnt/data/Приказ+ФНС+России+от+12.10.2023+N+БВ-7-11_737@++Об+утвержден.pdf');

// Получаем форму документа (если есть)
Form := Pdf.AcroForm;

if Assigned(Form) then
begin
// Пример заполнения текстовых полей
Form.FieldByName('Text1').Value := 'Произвольный текст 1';
Form.FieldByName('Text2').Value := 'Произвольный текст 2';

// Сохраняем изменения в новый файл
Pdf.SaveToFile('/mnt/data/Заполненный_Приказ.pdf');
end
else
WriteLn('Форма не найдена в документе.');

finally
Pdf.Free;
end;
end;

Объяснение:
*Загрузка PDF: Открывается существующий PDF-документ с использованием TPdfDocumentGDI.
*Доступ к форме: Сначала проверяется, есть ли в документе формы (формат PDF может содержать элементы форм, такие как текстовые поля).
*Заполнение полей: Заполняются текстовые поля, используя метод FieldByName.
*Сохранение документа: После заполнения полей, документ сохраняется под новым именем.

*Установка SynPDF
Для работы с SynPDF вам потребуется скачать и установить библиотеку SynPDF (часть Synopse mORMot framework). Убедитесь, что все необходимые файлы подключены в проекте.

*Путь к файлам
Учтите, что пути к файлам указаны как /mnt/data/..., если вы запускаете это на локальной машине, скорректируйте их в соответствии с вашим окружением.

Оставлять заявки могут только авторизованные пользователи.