ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming ทำหน้า doc microsoft word ด้วย php อยากembed font ที่ปกติไม่มีในเครื่องทำไงดี
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ทำหน้า doc microsoft word ด้วย php อยากembed font ที่ปกติไม่มีในเครื่องทำไงดี  (อ่าน 417 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
BHunter
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 26



ดูรายละเอียด
« เมื่อ: 12 มีนาคม 2017, 18:14:30 »

พอดีทำหน้าที่เป็น ms word ด้วย php อยู่ใช้ พวก header ให้userเข้ามาดาวน์โหลดเป็น ms word ออกไป  

header ('Content-type: text/html; charset=tis-620');

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=file_".date('Ymd').".doc");

แต่ทีนี้ font ที่ใช้เป็น TH Saraban ซึ่งโดยทั่วไป user ต้องไป ดาวน์โหลดมาติดตั้งในเครื่องก่อน ถึงจะเห็นfont จริงๆ เลยอยากรู้ว่ามีวิธีเขียน fontให้user เห็นได้เลยป่าวครับ โดยที่ไม่ต้องให้ user ไปหาfont นั้นมาใส่ในเครื่อง

ผมลอง @font-face ของcss3 ละ ไม่ได้ผลแหะ  สงสัยcss3 ใช้ไม่ได้ผลกับ ms word
« แก้ไขครั้งสุดท้าย: 12 มีนาคม 2017, 18:30:53 โดย BHunter » บันทึกการเข้า
zankumuro
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 113
ออฟไลน์ ออฟไลน์

กระทู้: 1,036



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 มีนาคม 2017, 19:09:33 »

โดยความคิดแล้วไม่น่าจะทำได้ครับ เพราะเอกสารที่เปิดบนเครื่องส่วนมากจะใช้ทรัพยากรที่ติดตั้งอยู่ภายในเครื่องอยู่แล้ว เหมือนกับเว็บที่ไม่ได้ Embed font เข้าไป แต่ดันเรียกใช้งาน font นั้นๆ  คนที่เปิดเว็บหากไม่มี font นั้นบนเครื่องหน้าเว็บก็จะไม่แสดงรูปแบบของ font นั้น

การใช้

โค๊ด:
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=file_".date('Ymd').".doc");

เป็นการใช้ HTTP headers ในการสร้างไฟล์ word มันไม่ได้เป็นไฟล์ word แบบ 100% อยู่แล้วด้วย แถมการกำหนดค่าด้วยวิธีนี้มันก็ยังจำกัดเอาอีก วิธีการที่อาจจะสามารถทำได้คือการสร้างไฟล์ Word ผ่าน word.application

โค๊ด:
$word = new COM("word.application");

เพราะว่าเป็นการสร้างไฟล์โดยใช้ COM object ของโปรแกรม Word ที่ติดตั้งอยู่บนเครื่อง เนื่องจากตัว MS Word เองสามารถแนบ font ไปกับไฟล์ได้ จึงทำให้มีโอกาสน่าจะทำได้ ส่วน option ชื่ออะไร ผมก็ไม่รู้ไม่เคยต้องใช้ถึงระดับนี้  Cry

แต่การใช้ COM object นั้น บนเครื่องเซิฟเวอร์ต้องติดตั้งโปรแกรม MS Word ไว้ ซึ่งแน่นอนจะต้องเป็น OS Windows

ช่วยได้เท่านี้ล่ะครับ  wanwan012
บันทึกการเข้า

อย่าเชื่อผมมาก ผมมันมั่ว.....ฮ่าๆ

ฝาก Like แฟนเพจหน่อยครับ
https://www.facebook.com/devsignup

ข่าวสารวงการเกมส์ ทริปทริคต่างๆ เกมส์แจกฟรี
https://www.wecanplay.in.th/
หน้า: [1]   ขึ้นบน
พิมพ์