python reportlab 在 PDF 文件中写入特殊字符
python reportlab writing special chararacters in PDF file
我的代码是这样的
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate, Paragraph
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.colors import Color
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('Vera', 'Vera.ttf'))
pdfmetrics.registerFont(TTFont('VeraBd', 'VeraBd.ttf'))
canvas.setFont(font_name_from_dict , font_size)
bodyStyle = ParagraphStyle('Body', fontName = "Vera", fontSize= 10, textColor= Color( 255,0,0,1)
P = Paragraph("większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" , bodyStyle)
P.drawOn(canvas, 0, 0)
但是我不能用这个字符写段落 "większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" ...我试过支持这个字符的字体 ...问题还是一样..我得到 [][] [][] pdf 中这些字母的空框
通过将 DejaVuSans 字体添加到我的应用程序解决了我的问题这是代码片段
pdfmetrics.registerFont(TTFont('DejaVuSans','DejaVuSans.ttf'))
我的代码是这样的
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate, Paragraph
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.colors import Color
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('Vera', 'Vera.ttf'))
pdfmetrics.registerFont(TTFont('VeraBd', 'VeraBd.ttf'))
canvas.setFont(font_name_from_dict , font_size)
bodyStyle = ParagraphStyle('Body', fontName = "Vera", fontSize= 10, textColor= Color( 255,0,0,1)
P = Paragraph("większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" , bodyStyle)
P.drawOn(canvas, 0, 0)
但是我不能用这个字符写段落 "większość zmieniła się Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ" ...我试过支持这个字符的字体 ...问题还是一样..我得到 [][] [][] pdf 中这些字母的空框
通过将 DejaVuSans 字体添加到我的应用程序解决了我的问题这是代码片段
pdfmetrics.registerFont(TTFont('DejaVuSans','DejaVuSans.ttf'))