LibHaru
|
|
symargl | Дата: Воскресенье, 19.04.2015, 19:59 | Сообщение # 16 |
Сержант
Группа: Пользователи
Сообщений: 27
Статус: Offline
| БлагоДарю! Нечто подобное я вчера в общих чертах и вообразил. Но с деталями действительно мудохался бы очень долго. Осталась одна шероховатость: прозрачный фон png-картинки на странице получается красивого синего цвета
|
|
| |
haav | Дата: Воскресенье, 19.04.2015, 21:14 | Сообщение # 17 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата symargl ( ) Осталась одна шероховатость: прозрачный фон png-картинки на странице получается красивого синего цвета
Не знаю откуда синий цвет... Серый еще понятно. Посмотри второй параметр функции LoadImageFromResource
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
symargl | Дата: Воскресенье, 19.04.2015, 21:54 | Сообщение # 18 |
Сержант
Группа: Пользователи
Сообщений: 27
Статус: Offline
| Да это совершенная ерунда, практически придирка. Все чудесно работает, о лучшем нечего и мечтать!
|
|
| |
vic7tar | Дата: Вторник, 28.11.2017, 14:23 | Сообщение # 19 |
Рядовой
Группа: Пользователи
Сообщений: 12
Статус: Offline
| Всем привет. Взял пример с сайта, попытался вывести в pdf кириллицу:
Код txt_font = HPDF_GetFont (pdf, "Arial", "CP1251" ) HPDF_Page_MoveTextPos (page, 60, doc_height - 105) HPDF_Page_SetFontAndSize (page, txt_font, 14) HPDF_Page_ShowText (page, "Пример") В итоге получил кракозябры. Подскажите, пожалуйста, как победить?
|
|
| |
haav | Дата: Вторник, 28.11.2017, 16:10 | Сообщение # 20 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Насколько я понял документацию , функция HPDF_GetFont внутренне поддерживает только этот список шрифтов:
Цитата •Courier •Courier-Bold •Courier-Oblique •Courier-BoldOblique •Helvetica •Helvetica-Bold •Helvetica-Oblique •Helvetica-BoldOblique •Times-Roman •Times-Bold •Times-Italic •Times-BoldItalic •Symbol •ZapfDingbats
Если указать поддерживаемый шрифт Courier , то русский отображается. Arial в списке нет. Если нужен arial или другой какой-то шрифт, то его нужно загрузить с помощью функций: HPDF_Load.....
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
vic7tar | Дата: Четверг, 07.06.2018, 01:49 | Сообщение # 21 |
Рядовой
Группа: Пользователи
Сообщений: 12
Статус: Offline
| Всем привет. Кто-нибудь поможет в каком направлении идти. Есть такая функция:
Код declare function HPDF_LoadTTFontFromFile cdecl alias "HPDF_LoadTTFontFromFile" (byval pdf as HPDF_Doc, byval file_name as zstring ptr, byval embedding as HPDF_BOOL) as zstring ptr В качестве второго параметра нужен полный путь загружаемого ttf-файла. А как можно вычислить полный путь шрифта по его имени? Что-то такое: Arial Black -> C:\Windows\Fonts\ariblk.ttf или AdobeIcons -> C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\CCX_START_EXTENSION_1_2_1_001\fonts\beIcons-80c0af4ec35ec9a927081adfe7763b55.ttf Может есть какие-то недокументированные апишные функции или единственный путь через реестр?
Сообщение отредактировал vic7tar - Четверг, 07.06.2018, 01:51 |
|
| |
haav | Дата: Четверг, 07.06.2018, 20:45 | Сообщение # 22 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Путь к файлу похоже только через реестр. Но нафига он нужен? Можно просто взять шрифт и использовать из любой папки:
Код AddFontResource("Путь к любой папке , где лежит шрифт\arial.ttf") Var font_name = HPDF_LoadTTFontFromFile (pdf, "Путь к любой папке , где лежит шрифт\arial.ttf", HPDF_TRUE) txt_font = HPDF_GetFont (pdf, font_name , "CP1251") HPDF_Page_MoveTextPos (page, 0, -20) HPDF_Page_SetFontAndSize (page, txt_font, 12) HPDF_Page_ShowText (page, "Привет") RemoveFontResource("Путь к любой папке , где лежит шрифт\arial.ttf")
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
WQ | Дата: Пятница, 08.06.2018, 20:34 | Сообщение # 23 |
Полковник
Группа: Проверенные
Сообщений: 215
Статус: Offline
| Цитата vic7tar ( ) А как можно вычислить полный путь шрифта по его имени? Поиск файлов + FreeType
|
|
| |
vic7tar | Дата: Суббота, 09.06.2018, 02:29 | Сообщение # 24 |
Рядовой
Группа: Пользователи
Сообщений: 12
Статус: Offline
| Цитата WQ ( ) Поиск файлов + FreeType Если не затруднит - название функции в FreeType, посмотрю ее исходник.
Цитата haav ( ) Путь к файлу похоже только через реестр. Но нафига он нужен? Можно просто взять шрифт и использовать из любой папки: . . . А если имя шрифта выбирается во время исполнения? Ради интереса посмотрел список импортируемых функций у Adobe Pro DC и PDF-XChange. В обоих случаях помимо всего остального присутствует один и тот же набор функций для работы с реестром. Ведь как-то при внедрении шрифта они это делают.
|
|
| |
haav | Дата: Суббота, 09.06.2018, 06:59 | Сообщение # 25 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Так чем реестр не устраивает? Считываешь в этой ветке: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts Там имена шрифтов и имена файлов. Шрифты всегда лежат в папке: Windows\Fonts . А если нужен какой-то левый не установленный шрифт , то выше в примере я показал как использовать.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
WQ | Дата: Суббота, 09.06.2018, 14:26 | Сообщение # 26 |
Полковник
Группа: Проверенные
Сообщений: 215
Статус: Offline
| Цитата vic7tar ( ) Если не затруднит - название функции в FreeType, посмотрю ее исходник. FT_New_Face Эта функция открывает файл шрифта и позволяет получить его свойства Получаем список файлов шрифтов в папке, перебором в цикле соотносим путь шрифта и его свойства
|
|
| |