klesh
Фев. 18, 2009 14:20:40
Приветствую.
Есть скрипт, который генерит PDF файлы используя ReportLab. Используется стандартный arial.ttf из /Windows/Fonts/.
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('Arial', 'arial.ttf'))
pdfmetrics.registerFont(TTFont('ArialBd', 'arialbd.ttf'))
pdfmetrics.registerFont(TTFont('ArialIt', 'ariali.ttf'))
pdfmetrics.registerFont(TTFont('ArialBI', 'arialbi.ttf'))
pdfmetrics.registerFontFamily('Arial',normal='Arial',bold='ArialBd',italic='ArialIt',boldItalic='ArialBI')
При просмотре файла - всё ок, но при печати - на некоторых компах вместо русского текста печатается текст в непонятной кодировке.
Кто-нибудь сталкивался?
klesh
Фев. 18, 2009 14:24:07
Сразу оговорюсь, что в инете куча тем про эту проблему _с клиентской стороны_ (т.е. как распечатать такой файл попавший в руки).
Как я понял, такая штука случается или из-за нестандартных шрифтов, или из-за странного способа из встраивания шрифта в pdf. Лечится установкой альтернативной PDF смотрелки..
А вот передо мной стоит задача создания PDF файла 100% открывающегося стандартной поставкой Adobe Reader'а..
igor.kaist
Фев. 18, 2009 14:31:21
В шапке форума есть ссылка на поиск…
http://python.su/forum/viewtopic.php?pid=7078#p7078Добавлено: Сорри, не дочитал 2 пост…
У меня проблем не с печатью нет. Может стоит другой шрифт попробовать.
klesh
Фев. 18, 2009 14:38:09
Я в поиск первым делом сунулся, прочитал всё что есть про reportlab, но такой проблемы не нашел..
Хорошо, другая просьба. Может кто-нибудь дать мне PDF файл сгенерённый вами в ReportLab'е, чтобы проверить печать на тех компах где мой не печатается?
Если будет таже фигня - буду копать репортлаб, если всё ок будет - буду свой код копать..
igor.kaist
Фев. 18, 2009 15:01:20
проверь, нормально печатается, хотя шрифт Arial
klesh
Фев. 18, 2009 15:47:55
Нет, с половины офисных компов - каракули.
В общем проблема в том, что принтеру по какой-то причине нужен postscript формат шрифта, а reportlab встраивает ttf как truetype.
Остаётся непонятным, почему с двых абсолютно одинаковых компов получаются разные результаты.
igor.kaist
Фев. 18, 2009 16:16:17
Хм… Я то думал, что вся офисная техника печатает в “raw”. Можно с разными шрифтами поиграться.
Или… Вариант “для практологов”:
Если документ не сложный, “напечатать” его на холсте, спомощью PIL, а потом прицепить в PDF :)
klesh
Фев. 18, 2009 16:18:55
Я сейчас попробую type1 использовать вместо ttf, с ними должно работать..
А если не получится, тогда да, буду уже про pil думать и прочие танцы..