![]() |
AlivePDF откуда взять *.AFM?
Привет,
Пытаюсь сгенерить пдф на русском языке. Код AS3:
Код AS3:
????? ???? ?????? ??????????? ????? ?? ????? ??? Думаю, что проблема в afm файлике, скачал его в нете, но есть ощущение, что в нем не описаны русские символы. Можно ли как-то генерить эти файлы спецом под свои нужды? Или ошибка в другом месте? (про прокладку не шутите, устал уже) |
Проблем с afm возникнуть не должно. Если afm некорректен, в созданном pdf будет наблюдаться эффект "пьяных пляшущих символов".
На всякий случай: скачайте вот это - опенсорсная программа для создания afm-описаний шрифтов. Пользоваться так: поместить в один каталог программку и ttf-шрифт (где взять, думаю, сами догадаетесь) и выполнить команду Код:
ttf2pt1 -a arial.ttf arialПроблема с выводом русских символов в том, что строку необходимо конвертировать из utf-8 в win-1251. Я делаю это с помощью функции convert: Код AS3:
Помните, что ЛЮБОЙ кириллический текст, вносимый в pdf нужно конвертить (myPDF.writeText, myPDF.addText, myPDF.addCell, myPDF.addGrid() и т.д.). Единственное, что у меня так и не получилось - прописать кириллицу в свойства pdf (myPDF.setTitle(), myPDF.setCreator(), myPDF.setAuthor(), myPDF.setSubject()), если вам это удастся - отпишите ЛС! PS: желательно обявление переменных самого pdf и шрифтов внести в локальную область функции, где непосредственно генерируется, наполняется и сохраняется pdf (как в примере выше), иначе могут возникнуть ошибки с повторным сохранением. |
Спасибо огромное, программку уже нашел, но вот не получалось все.
Исходниками пользуюсь, уже пару багов нашел в Grid :o) Вроде все, что есть в либе пишется через addCell. Попробую, отпишусь. Добавлено через 36 часов 10 минут Да все получилось, прадва со шрифтом пока борюсь, Arial почему-то как моноширинный выводится |
У меня та же проблема с некоторыми шрифтами, например, Arial. Но есть шрифты,котрые отображаются нормально. AFM файлы делал как с помощью ttf2pt1, так и этим сайтом http://onlinefontconverter.com/, результат один.
Возникла другая проблема! PDF хорош как тем, что из него можно копировать текст. А то что получается с помощью AlivePDF копируется как кракозябры. Можно ставить другие кодировки вместо CodePage.CP1251 и соответственно "windows-1251", в PDF все отлично, а кракозябры разные. Пробовал purePDF с юникодом, текст копируется как квадратики юникода. Как же нужно кодировать текст, чтобы копировать его в винде? |
Вложений: 1
у кого какие шрифты нормально отображаются? у меня Arial и Colibri со смещением.
Вложение 28260 если не трудно скиньте хоть один который нормально отображается, с .afm файлом. |
Вложений: 2
|
Спасибо!
|
Вложений: 2
Calibri
http://www.flasher.ru/forum/attachme...1&d=1343804537 AFM сделан на http://onlinefontconverter.com/ font надо пробовать с другими шрифтами |
Проблема с копированием текста из pdf так и не решена.
В исходниках AlivePDF есть *.map файлы с описаниями кодировок. CodePage.CP1251 ссылается на cp1251.map и т.д. Это наводит на мысль, что можно добавить файл с нужной кодировкой. Но какая нужна?! |
Цитата:
За калибри спасибо, попробую |
Для PurePDF кириллица выводится нормально, причем тем не нужны AFM файлы и никаких проблем со смещением символов шрифта. Но проблема с копированием остается.
Вот у меня два файла: один из инета, копируется все нормально, другой создан purePDF, копируются квадратики непереводимые даже http://www.artlebedev.ru/tools/decoder/. В обоих файлах одинаковое описание шрифта: type: TrueType (CID), Encoding: Identity-H. В pdf созданных AlivePDF в свойствах шрифта: type: TrueType, Encoding: Custom. Копируются символы cp1252, которые можно потом хотя бы перевести в русскую кодировку (заданную при создании в флэш) - cp1251, koi8-r или ISO-8859-5. Как ни печально, придется отказаться от кодирования на стороне клиента и отправлять данные php скрипту. Добавлено через 9 минут Да кстати в php тоже не так все просто. Вот, например, большая хорошая статья http://www.uamedwed.com/web/fpdf-bib...lov-na-php.htm... А в результате тоже самое, что и в AlivePDF, копируется cp1252. |
Цитата:
|
Цитата:
Код AS3:
Код AS3:
и (о чудо!) русские буквы в файле. Что лучше я не могу определенно сказать, оба вариант сильно увеличивают вес приложения (порядка 1.5 Мб). Вроде бы в PurePDF больше всяких наворотов, косой текст, аннотации, еще куча всего. Но мне это совершенно не нужно все, была задача работать с кириллицей, обе библиотеки с ней справились по разному, и обе плохо. Я знаю, что принципиальных ограничений нет, можно создать pdf с нормально копируемым текстом. Пруфлик: http://www.levoni.ru/kalkulator/ - кнопка "сохранить расчет" при помощи неведомого php скрипта выдает адекватный файл. Рабочего примера ни на php, ни на чем то еще пока не нашел. |
Мне, к сожалению, только на as3. Пока серверщика ломаем на сервере генерить. :о(
|
Решил задачу при помощи php. Использовал библиотеку tcpdf, нужна работа с utf-8. Можно использовать tfpdf, но там есть один недостаток. Если мы выгружаем из флэша кроме текста еще и картинки, то нет смысла сохранять их на сервере, хорошо бы их сразу впихнуть в pdf, и уже этот pdf отдать пользователю или сохранить. tcpdf позволяет не указывать путь к файлу с картинкой, а сохранить его как байтовый массив, переданный из флэша.
С русскими буквами все отлично + к tcpdf прилагается набор шрифтов с кириллицей. Я сам на php не пишу, но там все оказалось довольно просто. До этого 3 дня мучился с AlivePDF и PurePDF. Я очень надеюсь что вскоре решение найдется и для этих библиотек. При большом потоке пользователей создание pdf на стороне клиента очень помогло бы снять нагрузку с сервера. |
я так понял для обработки на сервере использовать это http://www.fpdf.org/ ? или есть что то еще?
|
Цитата:
Есть что-то еще - http://www.tcpdf.org/. Последний понравился больше. |
есть еще одна проблемка в AlivePDF, если есть буквы (Á, Č, Ď, É, Ě, Í, Ň, Ó, Ř, Š, Ť, Ú, Ů, Ý, Ž, Û, Ÿ) чешского и/или французского, а шрифт встроен CodePage.CP1251, то все закорлючки над ними не отображает, ставлю CodePage.CP1252, падает кириллица (((
я так понял что надо .map файл для utf-8, только где его взять вообщем AlivePDF, Давай до свидания! PurePDF все нормально показывает, правда не копирует текст, но мне как то пофиг. |
| Часовой пояс GMT +4, время: 19:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.