การที่ไฟล์ .pdf ไม่แสดงข้อมูลที่เป็นภาษาไทย ผู้เขียนได้สันนิฐานเบื้องต้นว่า
การเข้ารหัสยังไม่ถูกต้อง ไม่ใช่เรื่องของการเปลี่ยน font แต่อย่าง
ต้องไปตั้งค่าของการเข้ารหัส ในที่นี้ผู้เขียนยังไม่สามารถหาทางแก้ไขได้
โดยไฟล์ที่เกี่ยวข้องมีดังนี้
OpenERP\Server\server\openerp\report\render\rml2pdf\customfonts.py - เป็นไฟล์ที่กำหนดชื่อ Fonts ต่างๆที่เราต้องการใช้
แจ้งข่าว ทางเว็บบอร์ด openerpthailand.org ได้เปลี่ยนระบบเว็บบอร์ด ใหม่เป็น phpBB 3.1- บุคคลทั่วไป จะไม่สามารถเข้าอ่านกระทู้บางบอร์ด แนะนำให้ท่าน สมัครสมาชิกคลิกตามลิงค์นี้
- สมาชิกใหม่ ถ้ายังไม่ได้แนะนำตัวจะไม่สามารถ ตั้งกระทู้ และ ดาวน์โหลด ไฟล์จากเว็บบอร์ดได้ ท่านจำเป็นต้องแนะนำตัวที่หมวดนี้
- ถ้ามีปัญหาการใช้งาน หรือ ข้อเสนอแนะใดๆ แนะนำได้ที่นี่
- ปุ่มรูปหัวใจใต้โพส แต่ละโพส ท่านสามารถกดเพื่อสื่อถึงคนโพสนั้นถูกใจท่าน
- ห้ามลง E-mail, เบอร์โทรส่วนตัว, Line id หรือข้อมูลส่วนตัวอื่นๆ เพื่อป้องกันการแอบอ้างและโฆษณาแฝง โดยสามารถติดต่อสมาชิกท่านอื่นผ่านระบบ PM ของบอร์ด
- ท่านสามารถปิดการแจ้งนี้ได้ ที่มุมขวาของกล่องข้อความนี้
บุคคลทั่วไปสามาเข้าสู่ระบบ ด้วย Account ของ FaceBook ได้แล้ว คลิกที่นี่ได้เลย
วิธีการแก้ปัญหาภาษาไทยในไฟล์ .pdf
-
batman1292
- โพสต์: 57
- ลงทะเบียนเมื่อ: อังคาร 16 ต.ค. 2012 12:32 pm
วิธีการแก้ปัญหาภาษาไทยในไฟล์ .pdf
แก้ไขล่าสุดโดย batman1292 เมื่อ ศุกร์ 26 ต.ค. 2012 6:39 pm, แก้ไขไปแล้ว 1 ครั้ง.
-
batman1292
- โพสต์: 57
- ลงทะเบียนเมื่อ: อังคาร 16 ต.ค. 2012 12:32 pm
-
batman1292
- โพสต์: 57
- ลงทะเบียนเมื่อ: อังคาร 16 ต.ค. 2012 12:32 pm
Re: วิธีการแก้ปัญหาภาษาไทยในไฟล์ .pdf
ตัวอย่างการแก้ปัญหากับภาษา อาราบิค
http://www.atmit.net/en/open-erp-2.htm
http://www.atmit.net/en/open-erp-2.htm
-
batman1292
- โพสต์: 57
- ลงทะเบียนเมื่อ: อังคาร 16 ต.ค. 2012 12:32 pm
Re: วิธีการแก้ปัญหาภาษาไทยในไฟล์ .pdf
อันนี้เป็นการแก้แบบภาษาไทย
ส่วนเรื่องภาษาไทย
ผมแนะนำให้ใช้ Font ทางการของ SIPA เลย (TH Niramit AS)
ไม่มีปัญหาสระลอย ทั้งในหน้าweb และ report
วิธีการทำครับมี 2 วิธี :
=== Method 1 เพิ่ม Font===
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
Add :
('TH Niramit',"TH Niramit AS", "TH Niramit AS.ttf", 'normal'),
('TH Niramit',"TH Niramit AS Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทั้ง 4 รูปแบบ (ตัวธรรมดา/bold/เอียง/หนาเอียง)
หรือ ตาม Font ที่ท่าน Install
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server (จำเป็นต้อง restart นะครับ ผมงมอยู่หลายวัน เพราะไม่รีตาส แล้ว font มันไม่ reload)
จากนั้นทำการ customize format
Setting>Company>your name> Header/footer
edit ส่วน <setFont name="TH Niramit AS" size="8"/> (หรือ ชื่อ font อื่นๆ)
edit report ที่ต้องการเช่นกัน
ลอง find -R *.rml ใน folder openerp ของท่านดูนะครับ
=== Method 2 แก้ให้ font ทุกตัวไปอ่าน file font ของเราแทน===
วิธีนี้ทำทีเดียว แล้ว font ในทุกส่วนของเราจะถูกแทนที่ด้วย font ใหม่ไปเลย (วิธีมักง่ายนั้นเอง 555)
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
แก้ส่วนที่เป็น ชื่อ file font ของทุก font เป็น font ใหม่ของเราซะเลย เช่น
('Tahoma',"Tahoma", "TH Niramit AS.ttf", 'normal'),
('Tahoma',"Tahoma Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทุก font เลย :p
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server
ที่มา: http://forum.ubuntuclub.com/forum?topic=23775.0
ส่วนเรื่องภาษาไทย
ผมแนะนำให้ใช้ Font ทางการของ SIPA เลย (TH Niramit AS)
ไม่มีปัญหาสระลอย ทั้งในหน้าweb และ report
วิธีการทำครับมี 2 วิธี :
=== Method 1 เพิ่ม Font===
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
Add :
('TH Niramit',"TH Niramit AS", "TH Niramit AS.ttf", 'normal'),
('TH Niramit',"TH Niramit AS Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทั้ง 4 รูปแบบ (ตัวธรรมดา/bold/เอียง/หนาเอียง)
หรือ ตาม Font ที่ท่าน Install
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server (จำเป็นต้อง restart นะครับ ผมงมอยู่หลายวัน เพราะไม่รีตาส แล้ว font มันไม่ reload)
จากนั้นทำการ customize format
Setting>Company>your name> Header/footer
edit ส่วน <setFont name="TH Niramit AS" size="8"/> (หรือ ชื่อ font อื่นๆ)
edit report ที่ต้องการเช่นกัน
ลอง find -R *.rml ใน folder openerp ของท่านดูนะครับ
=== Method 2 แก้ให้ font ทุกตัวไปอ่าน file font ของเราแทน===
วิธีนี้ทำทีเดียว แล้ว font ในทุกส่วนของเราจะถูกแทนที่ด้วย font ใหม่ไปเลย (วิธีมักง่ายนั้นเอง 555)
1. copy font ลงไปที่ /usr/share/fonts/truetype/ หรือ ตาม OS ของท่าน
1.1 sudo fc-cache -fv
2. edit openerp/report/render/rml2pdf/customfonts.py
ที่ CustomTTFonts =
แก้ส่วนที่เป็น ชื่อ file font ของทุก font เป็น font ใหม่ของเราซะเลย เช่น
('Tahoma',"Tahoma", "TH Niramit AS.ttf", 'normal'),
('Tahoma',"Tahoma Bold", "TH Niramit AS Bold.ttf", 'bold'),
... จนครบ ทุก font เลย :p
3. ที่ TTFSearchPath_Linux (หรือ _Win) ให้ตรวจสอบว่า path ถูกต้อง
4. Save and restart OpenERP server
ที่มา: http://forum.ubuntuclub.com/forum?topic=23775.0
-
batman1292
- โพสต์: 57
- ลงทะเบียนเมื่อ: อังคาร 16 ต.ค. 2012 12:32 pm
Re: วิธีการแก้ปัญหาภาษาไทยในไฟล์ .pdf
จากการได้ลองผิด ลองถูกมาเรื่อยๆ
พบว่าการแก้ปัญหาภาษาไทยในไฟล์ .pdf ของ report นั้นอยู่ที่การกำหนด font ให้กับไฟล์ .pdf
ไม่ใช่ส่วนของการเข้ารหัสที่ผู้เขียนได้สันนิฐานไว้ข้างต้นอย่างใด (ต้องขออภัยใน ณ ที่นี้ด้วย)
ส่วนการแก้ไขนั้นได้กล่าวไปเมื่อข้างต้นโดยสามารถเลือกได้ทั้ง 2 วิธีขึ้นและไม่จำเป็นที่จะต้องลง font ใหม่สามารถเลือกใช้ font ที่มีอยู่ในเครื่องของท่านได้เลย
พบว่าการแก้ปัญหาภาษาไทยในไฟล์ .pdf ของ report นั้นอยู่ที่การกำหนด font ให้กับไฟล์ .pdf
ไม่ใช่ส่วนของการเข้ารหัสที่ผู้เขียนได้สันนิฐานไว้ข้างต้นอย่างใด (ต้องขออภัยใน ณ ที่นี้ด้วย)
ส่วนการแก้ไขนั้นได้กล่าวไปเมื่อข้างต้นโดยสามารถเลือกได้ทั้ง 2 วิธีขึ้นและไม่จำเป็นที่จะต้องลง font ใหม่สามารถเลือกใช้ font ที่มีอยู่ในเครื่องของท่านได้เลย
ผู้ใช้งานขณะนี้
กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน
Log in with LINE
