คือผมลองตั้งให้ใช้ 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
ได้ล่ะครับ ใส่ tag font name=CordiaUPC ครอบให้คำว่า "การ" ครับ
ผมอยากถามเพิ่มครับว่าเวลาแสดงออกมาเป็น pdf คำว่า "ที่" จะเห็นเป็น "ที" คือไม้เอกหายไป ผมจะทำอย่างไรดีครับ แต่เวลาคัดลอกออกมาใส่ notepad ก็เป็นคำว่า "ที่" ครับ
ตอนนี้ผมเปลี่ยนไปลองใช้ฟอนต์อื่นแล้วครับ ปรากฏว่ามีปัญหาเรื่องสระลอยแทน ผมควรทำยังไงดีครับ มีฟอนต์ไหนที่ไม่เป็นปัญหาบ้างครับ