Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2019, 10:46   #1
Ден16
 
Регистрация: 19.05.2016
Сообщений: 5
По умолчанию PDFToolKit вывод текста, кодировка

С помощью PDFToolKit пытаюсь вывести надпись "Мой текст" в PDF.

PDFDocument: TgtPDFDocument;

PDFDocument.TextOut(
'<font charset="Windows-1251"; face="Arial"; size="24">Мой текст',
1, 10, 10);

В результате получается "Ìîé òåêñò"

Что не так, где указать кодировку?
Ден16 вне форума Ответить с цитированием
Старый 16.07.2019, 11:01   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а давайте начнём с того, какая у Вас версия Delphi ?
Unicode?

так пробовали:
Код:
s := '<font face="Arial Unicode MS" size=24 '+
       'CHARSET="ANSI_CHARSET">Мой текст</font>';
PDFDocument.TextOut(s, 1, 10, 10);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.07.2019, 11:13   #3
Ден16
 
Регистрация: 19.05.2016
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
...какая у Вас версия Delphi ? Unicode?

так пробовали:
Код:
s := '<font face="Arial Unicode MS" size=24 '+
       'CHARSET="ANSI_CHARSET">Мой текст</font>';
PDFDocument.TextOut(s, 1, 10, 10);
Версия Delphi XE7, Unicode. Как написали попробовал, не помогло ((
Ден16 вне форума Ответить с цитированием
Старый 16.07.2019, 11:49   #4
Ден16
 
Регистрация: 19.05.2016
Сообщений: 5
По умолчанию

Короче вот ответ разработчиков:

In PDF, Unicode text has to be encoded as CID encoding which is currently not supported. PDFToolkit can encode ANSI text. We will let you know as soon as we support it.

As a work around, you can insert a text form field with ReadOnly=True and set the Unicode value. This will render fine in Adobe Reader and our viewer. This works as the text is encoded as-is (UTF-8) rather than converted to CID encoding which is needed for normal PDF content.

Please feel free to contact us for any assistance you need.

Thank you,
Ден16 вне форума Ответить с цитированием
Старый 16.07.2019, 11:57   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

понятно.
попробуйте так
Код:
var s :AnsiString;

s := Utf8ToAnsi('<font charset="Windows-1251"; face="Arial"; size="24">Мой текст'); // как вариант, можно ещё попробовать Utf8ToAnsiEx с указанием кодовой страницы

PDFDocument.TextOut(s,1, 10, 10);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.07.2019, 12:34   #6
Ден16
 
Регистрация: 19.05.2016
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
понятно.
попробуйте так
Код:
var s :AnsiString;

s := Utf8ToAnsi('<font charset="Windows-1251"; face="Arial"; size="24">Мой текст'); // как вариант, можно ещё попробовать Utf8ToAnsiEx с указанием кодовой страницы

PDFDocument.TextOut(s,1, 10, 10);
Так к сожалению тоже не работает, результат "??? ?????".
Ден16 вне форума Ответить с цитированием
Старый 16.07.2019, 14:04   #7
Ден16
 
Регистрация: 19.05.2016
Сообщений: 5
По умолчанию

Буду делать как советовали разработчики, обходным путем. Спасибо за помощь!
Ден16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка Текста designer999 Общие вопросы Delphi 14 27.07.2011 10:45
кодировка текста xonyx Общие вопросы C/C++ 0 30.03.2011 08:35
Кодировка текста в c++ Сергей91 Помощь студентам 1 05.10.2010 19:25
Кодировка текста Gawwws Microsoft Office Excel 6 10.02.2010 16:14
Кодировка текста chugo Microsoft Office Word 1 29.11.2009 12:31