Попытка экспортировать отчет с текстом Unicode в PDF с использованием SynPDF приводит к перепутанному тексту

SynPDF исправил некоторые проблемы с юникодом, но, по-видимому, не все из них. Ниже приведен простой код для экспорта быстрого отчета в PDF с использованием SynPDF:

procedure TForm1.CreatePdf(QuickRep: TCustomQuickRep; const aFileName: TFileName);
var
Pdf: TPdfDocument;
aMeta: TMetaFile;
i: integer;
begin
  Pdf := TPdfDocument.Create;
  Pdf.UseUniscribe := True;
  try
      Pdf.DefaultPaperSize := psA4;
      QuickRep.Prepare; 
      for i := 1 to QuickRep.QRPrinter.PageCount do begin
        Pdf.AddPage;
        aMeta := QuickRep.QRPrinter.GetPage(i);
        try
          // draw the page content
          Pdf.Canvas.RenderMetaFile(aMeta,1,0,0);
        finally
          aMeta.Free;
        end;
      end;
      Pdf.SaveToFile(aFileName);
  finally
    Pdf.free;
  end;
end;

Вот снимок экрана дизайнера отчетов с меткой, которая имеет строку на иврите, которая переводит:

Телефон: 03-5555555Телефон

Это отображается во время выполнения как есть, а также печатается так же. Однако с SynPDF результат будет следующим:PhonePDF

Кто-нибудь знает, что с этим можно сделать?

Я использую SynPDF потому, что он бесплатный,

и потому, что он отображает текст из метафайла

вместо того, чтобы просто сфотографировать,

что означает, что я получаю высококачественный текст с моим файлом PDF.

но я не исключаю других компонентов, учитывая, что они

есть решение этой проблемы.

Спасибо.

0 ответов

Другие вопросы по тегам