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

Устранение ошибок вывода китайских символов при экспорте PDF с использованием mORMot2 в Lazarus

Delphi , Компоненты и Классы , Процедуры и функции

Устранение ошибок вывода китайских символов при экспорте PDF с использованием mORMot2 в Lazarus

Проблема: При работе с библиотекой mORMot2 в среде Lazarus для Windows 10 и версии Lazarus 3.0 при экспорте PDF файлов с использованием китайских символов возникает ошибка.

Пример кода, вызывающего ошибку:

procedure TForm1.Button1Click(Sender: TObject);
var
  Pdf: TPdfDocumentGDI;
begin
  Pdf := TPdfDocumentGDI.Create;
  try
    Pdf.AddPage;
    with Pdf.VCLCanvas do
    begin
      // Настройка параметров рисования
      Pen.Color := clRed;
      Pen.Width := 2;
      Brush.Color := clInfoBk;
      Rectangle(100, 100, 400, 200);
      Font.Name := '宋体';
      Font.Size := 20;
      // Вывод текста, вызывающего ошибку
      TextOut(200, 120, '测试内容');
      // Дополнительные операции рисования
      Pen.Color := clYellow;
      Pen.Width := 5;
      MoveTo(100, 250);
      LineTo(400, 250);
    end;
    Pdf.SaveToFile(ExtractFilePath(Application.ExeName) + 'ceshi.pdf');
  finally
    Pdf.Free;
  end;
end;

Решение проблемы: По сообщениям пользователей, проблема может быть связана с неправильной обработкой широких символов в mORMot2. В качестве альтернативного решения можно использовать библиотеку fpdpf, которая входит в состав FCL и не требует внешних пакетов.

Пример кода с использованием fpdpf:

uses
  fpdpf; // Подключение библиотеки fpdpf

procedure TForm1.Button1Click(Sender: TObject);
var
  Pdf: TFPDF;
begin
  Pdf := TFPDF.Create;
  try
    Pdf.AddPage();
    Pdf.SetFont('Arial', 'B', 16);
    Pdf.SetFont('宋体', '', 16);
    Pdf.TextWithPos(50, 80, '测试内容');
    Pdf.Output('ceshi.pdf', 'F');
  finally
    Pdf.Free;
  end;
end;

Важно: Перед использованием fpdpf убедитесь, что в вашем проекте включены все необходимые единицы и нет конфликтов с другими библиотеками.

Альтернативное решение: Если по-прежнему хотите использовать mORMot2, убедитесь, что у вас установлена последняя версия Lazarus и FPC, а также проверьте правильность настроек путей к библиотекам mORMot2 в проекте.

Заключение: В случае возникновения ошибок с китайскими символами при экспорте PDF с использованием mORMot2 в Lazarus, рекомендуется попробовать альтернативный подход с использованием библиотеки fpdpf. Это позволит избежать необходимости использования внешних пакетов и может быть более стабильным решением в текущих версиях Lazarus.

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

Проблема заключается в ошибках вывода китайских символов при экспорте PDF файлов с использованием библиотеки mORMot2 в среде Lazarus, что может быть связано с неправильной обработкой широких символов, и предложено решение с использованием встроенной библи


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

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




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


:: Главная :: Процедуры и функции ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:03:08/0.003741979598999/0