2013-09-18 3 views
0

Hy все, я хочу спросить о китайских шрифтов в Pentaho дизайнер отчетовкитайский шрифт в отчете Pentaho desginer убунту

сценарий таков: первого сценария: Я использую WenQuanYi Zen Hei шрифт (китайский шрифт) в моем докладе - когда я печатаю предварительный просмотр он отлично работает (китайский символ показывает вверх) - при печати PDF он работает слишком

второй сценарий я использую SimSun шрифт (китайский шрифт) в своем докладе - Когда я печатаю предварительный просмотр, он отлично работает (появляется китайский символ) - при печати PDF оно не работает (китайский символ не показал вообще)

  • FYI, я использую Ubuntu 10,04 и Wenquan шрифта его уже там пока что SimSun шрифт шрифт, который я установил вручную в мой ubuntu OS

Может ли кто-нибудь мне помочь? Должен ли я вставлять шрифт в пентахо или что-то в этом роде?

ответ

0

Как включить отчеты RML для печати китайских символов?

  1. Убедитесь, что китайские шрифты (SimSun, Simhei, WenQuanYiZhenHei)
  2. встраивать шрифт в библиотеку и настройку RML или мы можем сказать «зарегистрировать шрифт, который вы хотите использовать в Р»
  3. Изменить Fontname в вашем RML Report (например: slow_moving_report.rml)

НАЧАТЬ:

в этом случае я хочу использовать SimSun шрифт в моем Slow докладе движущемся

(FYI: Я делаю это в Ubuntu 10.04)

Как есть китайские шрифты?

Вы можете установить вручную или с помощью терминала

• Если вы хотите установить вручную

  1. Перейти к C: \ WINDOWS \ Fonts в вашей ОС Windows
  2. шрифт типа Copy вы хотите (. TTF/.ttc)
  3. Копирование на ОС Ubuntu
  4. Двойной щелчок на шрифт и установить

• Если вы хотите установить с помощью терминала, вы можете обратиться к этой ссылке: http://xgwang.wordpress.com/2007/11/25/set-up-chinese-fonts-using-microsofts-simsunttf-in-ubuntu-71-gutsy/

После вас есть китайский шрифт в вашей ОС, теперь мы можем зарегистрировать свой шрифт, чтобы сообщить лаборатории Примечание: ваша лаборатория отчет должен быть версии 2.0 выше Вы можете обратиться к этой ссылке: http://forum.openerp.com/forum/topic1943.html Но я делаю это немного по-другому

во-первых, создайте папку с именем «шрифты» в этом пути/USR/Lib/python2.6/dist_packages/ReportLab/ И поставил SIMSUN.TTC в нем

Примечания: место, где ReportLab ищет TTF-файлы можно найти здесь: rl_config.py (вы можете найти этот файл в файловой системе)

Во-вторых, после этого перейти к /usr/share/pyshared/reportlab/lib/styles.py и поместить этот код ниже защиту getSampleStyleSheet(): (это один идентификатор оригинал один)

защиту getSampleStyleSheet_JH() : "" "Возвращает китайский элемент таблицы стилей" "" stylesheet = StyleSheet1()

stylesheet.add(ParagraphStyle(name='Normal', 
           fontName='Simsun', 
           fontSize=10, 
           leading=12) 
       ) 

stylesheet.add(ParagraphStyle(name='BodyText', 
           parent=stylesheet['Normal'], 
           spaceBefore=6) 
       ) 
stylesheet.add(ParagraphStyle(name='Italic', 
           parent=stylesheet['BodyText'], 
           fontName = 'Simsun-Italic') 
       ) 

stylesheet.add(ParagraphStyle(name='Heading1', 
           parent=stylesheet['Normal'], 
           fontName = 'Simsun-Bold', 
           fontSize=18, 
           leading=22, 
           spaceAfter=6), 
       alias='h1') 

stylesheet.add(ParagraphStyle(name='Title', 
           parent=stylesheet['Normal'], 
           fontName = 'Simsun-Bold', 
           fontSize=18, 
           leading=22, 
           alignment=TA_CENTER, 
           spaceAfter=6), 
       alias='title') 

stylesheet.add(ParagraphStyle(name='Heading2', 
           parent=stylesheet['Normal'], 
           fontName = 'Simsun-Bold', 
           fontSize=14, 
           leading=18, 
           spaceBefore=12, 
           spaceAfter=6), 
       alias='h2') 

stylesheet.add(ParagraphStyle(name='Heading3', 
           parent=stylesheet['Normal'], 
           fontName = 'Simsun-BoldItalic', 
           fontSize=12, 
           leading=14, 
           spaceBefore=12, 
           spaceAfter=6), 
       alias='h3') 

stylesheet.add(ParagraphStyle(name='Bullet', 
           parent=stylesheet['Normal'], 
           firstLineIndent=0, 
           spaceBefore=3), 
       alias='bu') 

stylesheet.add(ParagraphStyle(name='Definition', 
           parent=stylesheet['Normal'], 
           firstLineIndent=0, 
           leftIndent=36, 
           bulletIndent=0, 
           spaceBefore=6, 
           bulletFontName='BoldItalic'), 
       alias='df') 

stylesheet.add(ParagraphStyle(name='Code', 
           parent=stylesheet['Normal'], 
           fontName='Courier', 
           fontSize=8, 
           leading=8.8, 
           firstLineIndent=0, 
           leftIndent=36)) 

В-третьих, перейти в/Opt/openerp61/сервер/OpenERP/отчет/визуализации/rml2pdf/INIT .py И изменить в этом:

из trml2pdf импорта parseString, parseNode

от reportlab.lib.fonts импорта addMapping

из reportlab.pdfbase импортных pdfmetrics

из ReportLab. pdfbase.ttfonts импорт TTFont

из reportlab.pdfbase.cidfonts импорта UnicodeCIDFont, findCMapFile

pdfmetrics.registerFont (TTFont ('SimSun', 'SIMSUN.TTC')) # имя шрифта вы поставите здесь должны точно то же самое с одной вы скопировать в «шрифты» папку на шаге 1

для facename в [ ''] SimSun:

addMapping (facename, 0, 0, facename) #normal

addMapping (facename , 0, 1, facename) #italic

addMapping (facename, 1, 0, facename) #bold

addMapping (facename, 1, 1, facename) #italic и жирный

В-четвертых, перейти в/Opt/openerp61/сервера/OpenERP /report/render/rml2pdf/trml2pdf.py

• Изменить кодировку из «cp1252» в «UTF-8» • Добавьте следующий код:

из reportlab.lib.enums импорта TA_LEFT, TA_RIGHT, TA_CENTER , TA_JUSTIFY из отчета lab.lib.styles импорта getSampleStyleSheet_JH, ParagraphStyle, StyleSheet1

• Заменить все «getSampleStyleSheet» на «getSampleStyleSheet_JH»

Последний шаг перезапустить службу OpenERP ДВАЖДЫ Примечание: если при перезагрузке службы нож, она подскажет из «Start-stop-daemon: warning: не удалось убить 5445: нет такого процесса», вы можете прокомментировать код на шаге 3 и узнать, что ошибка и раскомментировали снова, но не забудьте снова перезапустить службу.

Смежные вопросы