Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как настроить метаданные PDF в Delphi и Pascal: решение проблемы с Producer и ApplicationName полями.

Delphi , Компоненты и Классы , Свойства и События

 

Создание PDF-файлов с необходимыми метаданными — важная задача для многих разработчиков, работающих с Delphi и Pascal. В этой статье мы рассмотрим, как правильно настроить метаданные PDF, чтобы избежать проблем с полями Producer и ApplicationName. Мы также рассмотрим несколько примеров кода на Object Pascal (Delphi), чтобы помочь вам решить эту проблему.

Постановка проблемы

Вопрос был задан на форуме Lazarus и Delphi, где пользователь madref столкнулся с проблемой установки метаданных в создаваемых PDF-файлах. В частности, он пытался установить поля Author, Title, Version, и др., но они не отображались корректно. Вместо этого в метаданных PDF отображались значения по умолчанию, такие как "Test" или название исполняемого файла.

Анализ проблемы

При создании PDF-файлов с использованием библиотеки Lazarus Report, поля Producer и ApplicationName автоматически заполняются именем исполняемого файла. Это может привести к тому, что метаданные PDF не соответствуют ожиданиям разработчика. В частности, пользователь madref столкнулся с тем, что в Finder на macOS поля Producer и ApplicationName отображаются некорректно.

Решение проблемы

Для решения этой проблемы можно использовать несколько подходов:

  1. Обновление библиотеки Lazarus Report: Если вы используете устаревшую версию Lazarus Report, рекомендуется обновить её до последней версии. В новой версии библиотеки может быть исправлено поведение по умолчанию, которое приводит к некорректному заполнению полей Producer и ApplicationName.

  2. Настройка поля Producer и ApplicationName: В случае, если обновление библиотеки не помогает, можно настроить поля Producer и ApplicationName вручную. Для этого можно использовать специальные функции и события, предоставляемые Lazarus Report.

Пример кода на Object Pascal (Delphi)

Для того чтобы настроить поля Producer и ApplicationName, можно использовать следующий код:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.Title := 'My report app title';  // для поля Producer
  Application.OnGetApplicationName := @GetMyAppName;  // для поля ApplicationName
end;

function GetMyAppName: String;
begin
  Result := 'My report app';
end;

В этом примере мы настраиваем поле Producer с помощью свойства Application.Title, а поле ApplicationName с помощью события OnGetApplicationName.

Дополнительные настройки метаданных PDF

Для установки других метаданных, таких как Author, Title, Version и др., можно использовать следующий код:

procedure TForm_Declaratie_Keuze.Declaratie_Afdrukken;
var
  cSQL: string;
  Keuze: Integer;
begin
  // Открываем отчет в Lazarus Report
  Form_Lint.frReport_Evaluatie.ReportAutor := 'Referee';
  Form_Lint.frReport_Evaluatie.ReportVersionBuild := '5.0';
  Form_Lint.frReport_Evaluatie.ReportVersionRelease := '5.1';
  Form_Lint.frReport_Evaluatie.LoadFromFile(RapportDir + 'rpt_Declaratie_Leeg.lrf');
  Form_Lint.frReport_Evaluatie.Title := 'Empty Declaration Form for Referee Database Blind Zebras';

  // Экспортируем отчет в PDF
  Form_Lint.frReport_Evaluatie.ExportTo(TlrPdfExportFilter, UserDir + 'Declaration Blind Zebras.pdf');
end;

В этом примере мы настраиваем поля Author, Title, Version и экспортируем отчет в PDF-файл с указанными метаданными.

Вывод

Настройка метаданных PDF в Delphi и Pascal может быть сложной задачей, особенно если вы сталкиваетесь с проблемами с полями Producer и ApplicationName. Однако, используя подходящие методы и настройки, вы можете легко решить эту проблему и создавать PDF-файлы с необходимыми метаданными. В этой статье мы рассмотрели несколько подходов к решению этой проблемы и предоставили примеры кода на Object Pascal (Delphi), чтобы помочь вам настроить метаданные PDF.

Создано по материалам из источника по ссылке.

В этой статье рассматривается проблема некорректного отображения метаданных PDF-файлов, создаваемых в Delphi и Pascal, и предлагаются решения, включая обновление библиотеки Lazarus Report и ручную настройку полей Producer и ApplicationName.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Свойства и События ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-08-30 09:03:07/0.0062689781188965/0