Найти - Пользователи
Полная версия: django+reportlab+кирилица=квадратики (reportlab+кирилица=русский язык)
Начало » Django » django+reportlab+кирилица=квадратики (reportlab+кирилица=русский язык)
1
qman
Всем привет
Нужно генерить pdf документы включая символы кирилицы в django используюя reportlab.
Такой код генерит документы включая символы кирилицы без django.
# -*- coding: utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase import ttfonts
MyFontObject = ttfonts.TTFont('Arial', 'arial.ttf')
pdfmetrics.registerFont(MyFontObject)
MyCanvas = canvas.Canvas("hello.pdf")
MyCanvas.setFont("Arial", 40)
MyCanvas.drawString(200, 400, "Привет, Мир!")
MyCanvas.save()
А такой код генерит квадратики вместо символов кирилицы в django:
def hello_pdf(request):
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase import ttfonts
from django.http import HttpResponse
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
p = canvas.Canvas(response)
MyFontObject = ttfonts.TTFont('Arial', 'arial.ttf')
pdfmetrics.registerFont(MyFontObject)
p.drawString(100, 100, "Hello world.")
p.drawString(100, 400, "привет мир.")
p.showPage()
p.save()
return response
Подскажите, что делаю не правильно?
предполагаю , что ‘arial.ttf’ - установлен в системе. Оба скрипта в UTF8
P.S. предварительно почитал
http://www.python.su/forum/viewtopic.php?id=1625
http://www.python.su/forum/viewtopic.php?id=1655
pythonwin
qman
предполагаю , что ‘arial.ttf’ - установлен в системе. Оба скрипта в UTF8
во втором пропиши путь к arial.ttf
PS слышал что у django есть проблема с шаблонами - к ним нужно прописывать полные пути - возможно со шривтамим также
в turbogears я прописал так
MyFontObject = ttfonts.TTFont('Arial', './project_name/static/fonts/arial.ttf')
pdfmetrics.registerFont(MyFontObject)
canvas.setFont("Arial",9)
с pisa проблема решается таким же образом
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB