Tags:

คือผมลองตั้งให้ใช้ font ที่รองรับภาษาไทยแล้วครับแต่ผลลัพธ์จากการใช้ paragraph ที่ใช้คำว่า "การ" เวลาออกมาเป็น pdf แล้วมันกลายเป็นสี่เหลี่ยม ๆ ครับส่วนคำว่า "หาร" ที่ใช้ drawString เป็นภาษาไทยตามปกติ เลยอยากถามว่าผมต้องแก้ไขอย่างไรครับถึงจะให้ส่วนที่ใช้ paragraph แสดงผลได้ถูกต้องครับ

styles = getSampleStyleSheet() styleN = styles['Normal']

enc=pdfencrypt.StandardEncryption("password",canPrint=1,canModify=0)

font_path = os.path.join(PROJECT_DIR, 'media/font/') normal_font = os.path.join(font_path,'CORDIAU.TTF') pdfmetrics.registerFont(TTFont('CordiaUPC', normal_font))

content = [] response = HttpResponse(mimetype='application/pdf') response['Content-Disposition'] = 'filename=letter.pdf'

pdf = Canvas(response,encrypt=enc) pdf.setFont('CordiaUPC',19) content.append(Paragraph("การ",styleN)) content.append(Paragraph(normal_font,styleN))

pdf.drawString(inch,inch,"หาร") f = Frame(inch, inch, 6*inch, 9*inch, showBoundary=1) f.addFromList(content,pdf) pdf.showPage() pdf.save()

Comments

By: skyfoxs
skyfoxs's blog
on 01/06/10 21:29 #180942 toggle
skyfoxs's picture

ได้ล่ะครับ ใส่ tag font name=CordiaUPC ครอบให้คำว่า "การ" ครับ

By: skyfoxs
skyfoxs's blog
on 02/06/10 8:44 #181006 toggle
skyfoxs's picture

ผมอยากถามเพิ่มครับว่าเวลาแสดงออกมาเป็น pdf คำว่า "ที่" จะเห็นเป็น "ที" คือไม้เอกหายไป ผมจะทำอย่างไรดีครับ แต่เวลาคัดลอกออกมาใส่ notepad ก็เป็นคำว่า "ที่" ครับ

By: skyfoxs
skyfoxs's blog
on 15/08/11 9:06 #321947 toggle
skyfoxs's picture

ตอนนี้ผมเปลี่ยนไปลองใช้ฟอนต์อื่นแล้วครับ ปรากฏว่ามีปัญหาเรื่องสระลอยแทน ผมควรทำยังไงดีครับ มีฟอนต์ไหนที่ไม่เป็นปัญหาบ้างครับ