เปรียบเทียบวิธีการสร้าง pdf จาก html อีกวิธีหนึ่งในการสร้าง PDF PDF24 Creator - โปรแกรมสร้าง PDF ฟรี

โปรแกรมสร้าง PDF24 คือ ไฟล์ PDF ฟรีเครื่องกำเนิดไฟฟ้าสำหรับพีซีของคุณ รุ่น ไฟล์ PDFเป็นงานที่ง่ายอย่างเหลือเชื่อกับโปรแกรมนี้ การผสมผสาน คุณสมบัติเพิ่มเติมเมื่อรวมกับการสร้างไฟล์ PDF ทำให้เครื่องมือนี้เป็นหนึ่งในเครื่องมือที่ได้รับการยอมรับมากที่สุด โปรแกรมฟรี- หรือคุณสามารถสร้าง PDF ออนไลน์ได้ อ่านด้านล่างว่ามันทำงานอย่างไร

PDF24 Creator – โปรแกรมสร้าง PDF ฟรี

PDF24 Creator เป็นโปรแกรมสร้าง PDF ฟรีสำหรับ Windows มีการนำการสร้างไฟล์ PDF มาใช้ด้วย โดยใช้ PDFเครื่องพิมพ์. หลังการติดตั้ง เครื่องพิมพ์ PDF เสมือนใหม่จะปรากฏใน Windows ของคุณ เพียงพิมพ์สิ่งที่คุณต้องการแปลงเป็น PDF ผ่านเครื่องพิมพ์นี้ เครื่องพิมพ์ PDF เป็นวิธีเดียว การสร้าง PDF- โปรแกรมนี้มีคุณสมบัติมากมายที่จะช่วยคุณในการสร้าง PDF โปรแกรมนี้ฟรี คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้จากเว็บไซต์นี้

โปรแกรมสร้าง PDF24 ออนไลน์ – สร้างไฟล์ PDF ออนไลน์

Online PDF Generator เป็นเครื่องมือที่มีประโยชน์หากคุณต้องการแปลงเอกสารเป็นรูปแบบ PDF เพียงเลือกเอกสารหรือส่งเอกสารทางไปรษณีย์ไปที่ Online PDF Generator และภายในไม่กี่วินาที ไฟล์ PDF ของคุณจะพร้อมให้ดาวน์โหลดหรือส่งกลับไปหาคุณ

อินเทอร์เฟซอีเมลสำหรับตัวสร้าง PDF นี้ก็มีให้เช่นกัน คุณต้องส่งไฟล์ไปยังเครื่องกำเนิดและรอจดหมายตอบกลับซึ่งจะมีไฟล์ที่แปลงเป็น PDF

โปรแกรมสร้าง PDF อื่นๆ อีกมากมายในชุดเครื่องมือ PDF24

โปรแกรมอรรถประโยชน์ออนไลน์จาก PDF24 แก้ปัญหาต่างๆ ที่เกี่ยวข้องกับ PDF ได้อย่างง่ายดาย รวดเร็ว และไม่เสียค่าใช้จ่าย เครื่องมือเหล่านี้จำนวนมากสร้างไฟล์ PDF คุณยังไม่คุ้นเคยกับยูทิลิตี้ออนไลน์ PDF24 ใช่หรือไม่ ลองดูสิ คุณสามารถใช้เครื่องมือเหล่านี้ทั้งหมดได้

ส่วนที่สำคัญอย่างหนึ่งของระบบการจัดการโครงการคือความสามารถในการรายงานสถานะปัจจุบัน สิ่งนี้ช่วยให้คุณประเมินสถานการณ์ปัจจุบันได้แม่นยำยิ่งขึ้น สำหรับผู้ใช้ รายงานดังกล่าวไม่เพียงแต่เป็นการวิเคราะห์ที่จำเป็นสำหรับการทำงานเท่านั้น แต่ยังเป็นรูปแบบการรายงานที่เป็นเอกลักษณ์อีกด้วย ดังนั้น Revizto จึงให้ความสำคัญกับด้านเทคนิคในการสร้างรายงานเป็นอย่างยิ่ง

สำหรับลูกค้าบางราย รายงานจะเป็นไฟล์ PDF ขนาดใหญ่จำนวนหลายหมื่นหน้า แน่นอนว่ารายงานดังกล่าวมีน้ำหนักกิกะไบต์และใช้เวลาในการสร้าง เป็นเวลานาน- เมื่อต้องเผชิญกับขนาดรายงานที่เพิ่มขึ้นอีกครั้ง เราจึงตัดสินใจวิเคราะห์สถาปัตยกรรมการสร้าง PDF ของเรา

โดยทั่วไปแล้ว การสร้าง pdf บนเว็บประกอบด้วยสองขั้นตอน:

  1. รุ่น หน้า htmlซึ่งต่อมาจะกลายเป็น pdf
  2. การแปล html เป็น pdf

ขั้นตอนแรกในกรณีของเราใช้เวลาค่อนข้างนาน แต่ขั้นตอนที่สองอาจคงอยู่ต่อไป มากกว่าหนึ่งชั่วโมง- ดังนั้นเราจึงทำการเปรียบเทียบเล็กน้อยเกี่ยวกับโอกาสของโอเพ่นซอร์สที่มีอยู่สำหรับการสร้างไฟล์ PDF:

    คำสั่งที่ถูกกำหนดเวลา: "phantomjs --ssl-protocol=any ./capture.js 1.html 1.pdf" เวลาผู้ใช้ (วินาที): 2240.56 เวลาของระบบ (วินาที): 6.96 เปอร์เซ็นต์ของ CPU งานนี้ได้รับ: 83% ที่ผ่านไป ( นาฬิกาแขวน) เวลา (h:mm:ss หรือ m:ss): 44:35.89 ขนาดข้อความที่แชร์โดยเฉลี่ย (kbytes): 0 ขนาดข้อมูลที่ไม่ได้แชร์โดยเฉลี่ย (kbytes): 0 ขนาดสแต็กเฉลี่ย (kbytes): 0 ขนาดรวมเฉลี่ย (kbytes) ): 0 ขนาดชุดถิ่นที่อยู่สูงสุด (กิโลไบต์): 1821840 ขนาดชุดถิ่นที่อยู่เฉลี่ย (กิโลไบต์): 0 ข้อบกพร่องของเพจหลัก (ต้องการ I/O): 28 ข้อบกพร่องของเพจรอง (การเรียกคืนเฟรม): 489364 สวิตช์บริบทโดยสมัครใจ: 53462 สวิตช์บริบทโดยไม่สมัครใจ : 31797 สลับ: 0 ระบบไฟล์อินพุต: 4576 เอาต์พุตระบบไฟล์: 233848 ข้อความซ็อกเก็ตที่ส่ง: 0 ข้อความซ็อกเก็ตที่ได้รับ: 0 สัญญาณที่ส่ง: 0 ขนาดหน้า (ไบต์): 4096 สถานะออก: 0

    คำสั่งที่ถูกกำหนดเวลา: "/usr/bin/google-chrome-stable --headless --disable-gpu --print-to-pdf 1.html" เวลาผู้ใช้ (วินาที): 54.22 เวลาของระบบ (วินาที): 7.32 เปอร์เซ็นต์ของ CPU งานนี้ได้รับ: เวลาที่ผ่านไป 5% (นาฬิกาแขวน) (h:mm:ss หรือ m:ss): 18:49.74 ขนาดข้อความที่แชร์โดยเฉลี่ย (kbytes): 0 ขนาดข้อมูลที่ไม่แชร์โดยเฉลี่ย (kbytes): 0 ขนาดสแต็กเฉลี่ย ( kbytes): 0 ขนาดรวมโดยเฉลี่ย (kbytes): 0 ขนาดชุดถิ่นที่อยู่สูงสุด (kbytes): 951796 ขนาดชุดถิ่นที่อยู่เฉลี่ย (kbytes): 0 ข้อบกพร่องของเพจหลัก (ต้องการ I/O): 2 ข้อบกพร่องของเพจรอง (การเรียกคืนเฟรม): 938614 สวิตช์บริบทโดยสมัครใจ: 184497 สวิตช์บริบทโดยไม่สมัครใจ: 37463 สลับ: 0 อินพุตระบบไฟล์: 368 ผลลัพธ์ของระบบไฟล์: 174352 ข้อความซ็อกเก็ตที่ส่ง: 0 ข้อความซ็อกเก็ตที่ได้รับ: 0 สัญญาณที่ส่ง: 0 ขนาดหน้า (ไบต์): 4096 สถานะออก: 0

  1. คำสั่ง Wkhtmltopdf ออกโดยมีสถานะไม่เป็นศูนย์ 1 คำสั่งถูกกำหนดเวลา: "wkhtmltopdf 1.html 1.pdf" เวลาผู้ใช้ (วินาที): 3356.13 เวลาของระบบ (วินาที): 7.12 เปอร์เซ็นต์ของ CPU งานนี้ได้รับ: ผ่านไป 99% (นาฬิกาแขวน) เวลา (h:mm:ss หรือ m:ss): 56:21.54 ขนาดข้อความที่แชร์โดยเฉลี่ย (kbytes): 0 ขนาดข้อมูลที่ไม่ได้แชร์โดยเฉลี่ย (kbytes): 0 ขนาดสแต็กเฉลี่ย (kbytes): 0 ขนาดรวมเฉลี่ย (kbytes): 0 ขนาดชุดถิ่นที่อยู่สูงสุด (kbytes): 3457744 ขนาดชุดถิ่นที่อยู่เฉลี่ย (kbytes): 0 ข้อบกพร่องของเพจหลัก (ต้องการ I/O): 8 ข้อบกพร่องของเพจรอง (การเรียกคืนเฟรม): 977440 สวิตช์บริบทโดยสมัครใจ: 38567 สวิตช์บริบทโดยไม่สมัครใจ: 47975 Swaps : 0 อินพุตระบบไฟล์: 1240 เอาต์พุตระบบไฟล์: 197480 ข้อความซ็อกเก็ตที่ส่ง: 0 ข้อความซ็อกเก็ตที่ได้รับ: 0 สัญญาณที่ส่ง: 0 ขนาดหน้า (ไบต์): 4096 สถานะออก: 1

จากการทดสอบข้างต้น เป็นที่ชัดเจนว่าผลลัพธ์ที่ดีที่สุดนั้นได้มาจาก Chrome จากนั้น phantomJs ก็แย่เป็นสองเท่า และ Wkhtmltopdf ก็แย่กว่านั้นอีกมาก ผลลัพธ์นี้สะท้อนปัญหาเกี่ยวกับการพัฒนา phantomJs

ในทางกลับกัน Chrome ขึ้นอยู่กับ X11 ดังนั้นจึงจะมีปัญหากับ Chrome บนเซิร์ฟเวอร์มากกว่า phantomJs อย่างมาก

หากเราได้ข้อสรุปเล็ก ๆ ผู้ชนะที่ไม่มีปัญหาคือการทดสอบเครื่องด้วยเดสก์ท็อป Chrome มันสมเหตุสมผลที่จะใช้มันบนเซิร์ฟเวอร์ถ้าคุณไม่กลัวที่จะวาง X11 ไว้ตรงนั้น ไม่เช่นนั้น phantomJs จะเป็นตัวเลือกที่ดีที่สุด

ออนไลน์หรือออฟไลน์?

สร้างไฟล์ PDF จากแอปพลิเคชันใดก็ได้ ทำงานออนไลน์โดยใช้แอปออนไลน์ของเราหรือออฟไลน์โดยดาวน์โหลดแอป Soda PDF บนเดสก์ท็อปลงในคอมพิวเตอร์ของคุณ

สร้างไฟล์

หากคุณเลือกที่จะสร้าง PDF โดยใช้แอปพลิเคชันออนไลน์ ให้อัปโหลดไฟล์ที่มีอยู่จากคอมพิวเตอร์ของคุณหรือ ที่เก็บข้อมูลบนคลาวด์เช่น Google Drive หรือ Dropbox

ส่งทางไปรษณีย์

เมื่อสร้างไฟล์ PDF แล้ว คุณสามารถส่งไปยังที่อยู่ของคุณได้ อีเมลหรือดาวน์โหลดลงในคอมพิวเตอร์ของคุณและดูในเบราว์เซอร์ของคุณ

คุณรู้หรือไม่?

มีวิธีการพิมพ์เอกสารแบบใหม่ที่เป็นมิตรกับสิ่งแวดล้อม!

ไม่จำเป็นต้องใช้กระดาษเมื่อคุณสามารถใช้การพิมพ์เสมือนจริงได้ เมื่อคุณดาวน์โหลดแอปเดสก์ท็อป Soda PDF แอปจะติดตั้งเครื่องพิมพ์เสมือน Soda PDF บนคอมพิวเตอร์ของคุณ จากนั้นคุณสามารถเลือกเครื่องพิมพ์ Soda PDF จากโปรแกรมใดก็ได้เพื่อแปลงเอกสารเป็น PDF โดยไม่ต้องเปิดแอปเดสก์ท็อป Soda PDF! เมื่อคุณพร้อมที่จะพิมพ์เอกสารของคุณ เพียงเลือกเครื่องพิมพ์ Soda PDF จากเมนูเครื่องพิมพ์ จากนั้นระบบจะสร้างสำเนาของเอกสารขึ้นมา รูปแบบ PDF- ด้วย Soda PDF คุณสามารถสร้างไฟล์ PDF จากรูปแบบไฟล์มากกว่า 300 รูปแบบ

ข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง PDF

รูปแบบ PDF

รูปแบบ PDF ถูกสร้างขึ้นโดย Adobe Systems ในปี 1993 ในปี พ.ศ. 2551 ได้รับมาตรฐานเป็น เปิดรูปแบบซึ่งได้รับการพัฒนาโดยคณะกรรมการ ISO อิสระ

PDF2.0

รูปแบบ PDF ได้รับการพัฒนาอย่างมากตั้งแต่เริ่มก่อตั้ง ที่สุด เวอร์ชันล่าสุดเป็น เวอร์ชัน PDF 2.0 ซึ่งเป็นมาตรฐานที่เผยแพร่เมื่อวันที่ 28 กรกฎาคม 2017

ตัวเลือกอื่นๆ

หากคุณต้องการสร้างไฟล์ PDF โดยการรวมหลายไฟล์เข้าด้วยกัน ให้ใช้เครื่องมือ Merge PDF ออนไลน์ฟรีของเรา คุณสามารถเลือกคำสั่งซื้อได้ แยกไฟล์ในไฟล์ทั่วไป

สิ่งนี้จะมีประโยชน์ที่ไหน?หากคุณต้องการสร้างไฟล์พร้อมพิมพ์ในเว็บแอปพลิเคชันโดยใช้เทมเพลตที่เข้มงวดตามต้องการ เช่น ใบรับรอง ป้าย บัตรผ่าน ฯลฯ

ทำไมต้อง PDF?รูปแบบ PDF ช่วยให้คุณสร้างเอกสารที่มีข้อได้เปรียบที่ปฏิเสธไม่ได้หลายประการ: ความเปิดกว้าง ข้ามแพลตฟอร์ม แพร่หลาย และที่สำคัญที่สุดคือความแม่นยำและไม่เปลี่ยนรูปของการถ่ายโอนข้อมูลตลอดห่วงโซ่ของการสร้าง การดู และการพิมพ์

เกลืออะไร?การใช้ไฟล์ SVG เป็นเทมเพลตที่สามารถแทนที่ฟิลด์ที่จำเป็นแล้วแปลงเป็น PDF

มีประโยชน์อะไรบ้าง?ความสามารถในการสร้างและแก้ไขเทมเพลตที่ซับซ้อนมากอย่างรวดเร็วในโปรแกรมแก้ไขเวกเตอร์ที่คุ้นเคย เช่น อะโดบี อิลลัสเตรเตอร์, Corel Draw หรือ Inkscape ง่ายต่อการตั้งโปรแกรมและใช้ซอฟต์แวร์ฟรีเท่านั้น ข้อดีที่สำคัญอีกประการหนึ่งคือความสามารถในการใช้ UTF-8 สำหรับข้อความที่วางอย่างโปร่งใส

สิ่งที่จำเป็นสำหรับสิ่งนี้?หากต้องการใช้วิธีนี้ คุณต้องมีเซิร์ฟเวอร์เฉพาะที่สามารถติดตั้งแอปพลิเคชันของคุณเอง (Inkscape และ GhostScript) และดำเนินการคำสั่งระบบได้ ในกรณีนี้ ทุกอย่างจะทำงานได้ทั้งบนแพลตฟอร์ม Windows และบน Linux

ฉันคิดว่าคำถามที่พบบ่อยสั้นๆ ครอบคลุมคำถามหลักเกี่ยวกับ วิธีนี้ดังนั้นเรามาเริ่มวิเคราะห์สาระสำคัญของมันทันที

ดังที่คุณทราบ จริงๆ แล้วรูปแบบกราฟิกเวกเตอร์ SVG นั้นเป็นไฟล์ XML ดังนั้นไฟล์ที่สร้างไว้แล้วจึงสามารถแก้ไขได้ง่ายโดยใช้เครื่องมือการเขียนโปรแกรมที่ง่ายที่สุด ในกรณีที่มีการใช้งาน ไฟล์ SVGและเนื่องจากเป็นเทมเพลตที่เข้มงวด กระบวนการจึงง่ายขึ้นอย่างมาก เนื่องจาก เราไม่จำเป็นต้องเปลี่ยนโครงสร้างของเอกสาร แต่เพียงแทนที่ค่าข้อความที่จำเป็นหรือบิตแมปที่เข้ารหัส base64 เท่านั้น

คุณสามารถสร้างเทมเพลตเริ่มต้นในใดก็ได้ โปรแกรมแก้ไขเวกเตอร์รองรับการส่งออกเป็น svg: Adobe Illustrator, Corel Draw หรือ Inkscape เอง การใช้อย่างหลังเป็นสิ่งที่พึงปรารถนา อย่างน้อยก็ในขั้นสุดท้าย ซึ่งเป็นขั้นตอนสุดท้าย เนื่องจากในท้ายที่สุดแล้ว เขาคือผู้ที่จะต้องดำเนินการเปลี่ยนแปลงที่เราต้องการ

เมื่อใช้แรสเตอร์ในเทมเพลต คุณสามารถใช้ได้ 2 วิธี เก็บแรสเตอร์ไว้แยกต่างหาก ไฟล์ภายนอกหรือฝังอยู่ในไฟล์ SVG นั่นเอง หากคุณต้องการเปลี่ยนภาพแรสเตอร์ในเทมเพลตในกรณีแรก คุณสามารถเปลี่ยนไฟล์ก่อนการสร้างได้ เมื่อจัดเก็บรูปภาพที่ฝังอยู่ในไฟล์ คุณควรใช้คุณสมบัติ URL ของออบเจ็กต์วาดรูป เขียนเส้น:

โดยที่ (IMAGE) เป็นฟิลด์สำหรับกลไกเทมเพลตเพื่อแทรกรูปภาพที่เข้ารหัส base64

ตัวอย่างเช่น มาวาดเทมเพลตตราสัญลักษณ์ง่ายๆ ฉันคิดว่าคุณจะยกโทษให้ฉันที่ทำตัวงี่เง่า ฉันไม่ใช่ศิลปิน แต่สำหรับการใช้งานจริง คุณสามารถสั่งซื้อเค้าโครงเวกเตอร์จากนักออกแบบของคุณได้


ฉันไม่ได้ใช้บิตแมปที่ปรับขนาดได้ ปล่อยทิ้งไว้ การบ้านแต่จำกัดตัวเองไว้เฉพาะช่องข้อความที่แก้ไขได้เท่านั้น

ฉันคิดว่าคุณสังเกตเห็นแล้วว่าแท็กเครื่องมือเทมเพลตถูกแทรกในตำแหน่งที่ควรจะเป็นข้อความที่คาดหวัง (ใน ในตัวอย่างนี้ใช้แล้ว). เป็นการใช้แท็กที่เข้ากันได้กับ XML ซึ่งทำให้สามารถเขียนลงในโปรแกรมแก้ไขเวกเตอร์ได้โดยไม่ต้องอาศัยการแก้ไขเพิ่มเติม

เรามีเทมเพลตและเราสามารถแทรกข้อมูลที่เราต้องการได้โดยไม่มีปัญหาใดๆ แต่จริงๆ แล้วเราจะดำเนินการแปลงอย่างไร ในการทำเช่นนี้เราจะใช้อินเทอร์เฟซ บรรทัดคำสั่งอินสเคป:

#แปลงเป็น PDF
inkscape -A

การใช้กุญแจ” -ก“เราจะได้รับไฟล์ PDF ทันที แต่น่าเสียดายที่ PDF ที่สร้างขึ้นโดยตรงนั้นมีขนาดใหญ่มาก เมื่อต้องการแก้ไขปัญหานี้ คุณสามารถดำเนินการแก้ไขปัญหาชั่วคราวได้ กล่าวคือ ใช้การส่งออก SVG ไม่ใช่เป็น PDF โดยตรง แต่เป็นแบบต่อเนื่องกัน SVG->PS->PDF- การใช้ยูทิลิตี้ ps2pdf จากชุด Ghost Script เพื่อสร้างไฟล์ PDF สุดท้าย เราสามารถลดขนาดของไฟล์สุดท้ายได้หลายสิบเท่า
#แปลงเป็นไฟล์ PostScript
อิงค์สเคป -พี
#แปลงไฟล์ PostScript เป็น PDF
ps2pdf

ข้อเสียเพียงอย่างเดียวคือในกรณีนี้ เราจะสูญเสียเอฟเฟกต์ความโปร่งใสทั้งหมด เนื่องจากรูปแบบ PostScript ไม่รองรับ

เพื่อความสะดวกในการพกพาเอกสารที่สร้างขึ้น คุณสามารถเพิ่มตัวเลือก “ -ต» แปลงข้อความทั้งหมดเป็นเส้นโค้ง ด้วยวิธีนี้เราจะสามารถกำจัดปัญหาเกี่ยวกับการมีแบบอักษรบนเครื่องไคลเอนต์ได้ตลอดจนปัญหาเกี่ยวกับการเข้ารหัส

ตอนนี้เรามีทุกสิ่งที่เราต้องการแล้ว: เทมเพลต SVG และคำสั่งการแปลง มาเขียนสคริปต์ PHP ที่จะส่งออกไฟล์ pdf ที่สร้างจากเทมเพลต

/* ****************************************************************************************
* สคริปต์สำหรับสร้างไฟล์ PDF Pass โดยใช้การแปลงตามลำดับ
* เทมเพลตเป็นไฟล์ svg หลังจากนั้นจะถูกแปลงเป็นไฟล์ PostScript โดย Inkscape
* และอันหลังถูกแปลงเป็น pdf โดยใช้ยูทิลิตี้ ps2pdf
*
* ผู้เขียน: Shebastyuk V.V. อาคา เจสติงโก
* **************************************************************************************** */

/* พารามิเตอร์สคริปต์ */

//พาธไปยังโฟลเดอร์ที่มีไฟล์ชั่วคราว
//(หากไม่ได้ระบุ ไฟล์จะถูกเก็บไว้ในโฟลเดอร์ชั่วคราวของระบบ)
$tmp_dir = "" ; //สร้างเส้นทางไปยังไฟล์ svg, ps และ pdf ชั่วคราว
$tmp_svg_file = tempnam($tmp_dir, "");
$tmp_ps_file = tempnam($tmp_dir, "");
$tmp_pdf_file = tempnam($tmp_dir, ""); /* กำลังสร้างเทมเพลต FastTemplate */
รวม( "รวม/cls_fast_template.php");
$tpl = new FastTemplate("templates");ลอง( /* บล็อกด้วยข้อมูลที่ได้รับสำหรับการสร้างเทมเพลต */
/* ........................... */
$user_name = "JStingo" ;
$register_date = "28/09/2007" ;
/* ........................... */
/* สร้างชื่อของไฟล์ผลลัพธ์ในรูปแบบ User_name.pdf */
$pdf_file_name = $user_name ".pdf" ; /* กำลังประมวลผลเทมเพลตและรับไฟล์ผลลัพธ์ */$tpl -> กำหนด (array("svg" => "template.svg" ));
$tpl -> มอบหมาย (array("USER_NAME" => $user_name ,
"R_DATE" => $register_date
));
$tpl -> แยกวิเคราะห์ ("SVG" , "svg" ); //บันทึกไฟล์ svg ที่ได้
$tpl -> FastWrite ("SVG" , $tmp_svg_file ); //แปลงไฟล์ svg โดยใช้ inkscape เป็นไฟล์ ps
//คีย์
// -T - ทำหน้าที่แปลงข้อความเป็นเส้นโค้ง (สำหรับการรองรับแบบอักษรปกติ)
// -P - ระบุความจำเป็นในการแปลงเป็นไฟล์ PostScript
ระบบ( "inkscape -T $tmp_svg_file -P $tmp_ps_file", $สำเร็จ );ถ้า($สำเร็จ != 0 )
โยนข้อยกเว้นใหม่ ( "เกิดข้อผิดพลาดในการสร้างไฟล์ ps");// แปลงไฟล์ ps เป็น pdf โดยใช้ยูทิลิตี้ ps2pdf

//คีย์
// -dUseFlateCompression=true - ตั้งค่าการใช้การบีบอัด
// -dPDFSETTINGS=/printer - ตั้งค่าการเพิ่มประสิทธิภาพสำหรับการพิมพ์

ระบบ( "ps2pdf -dUseFlateCompression=true -dPDFSETTINGS=/เครื่องพิมพ์ $tmp_ps_file $tmp_pdf_file", $ความสำเร็จ ); //หากการแปลงล้มเหลว ให้ส่งข้อยกเว้น
ถ้า($สำเร็จ != 0 )
โยนข้อยกเว้นใหม่ ( "เกิดข้อผิดพลาดในการสร้างไฟล์ PDF");// ส่วนหัวระบุว่าเราจะส่งไฟล์ pdf
ส่วนหัว ( "ประเภทเนื้อหา: application/pdf");// จะถูกเรียกเหมือน $pdf_file_name
ส่วนหัว ( "การจัดการเนื้อหา: ไฟล์แนบ; ชื่อไฟล์ = ""- $pdf_file_name . - // ถ่ายโอนไฟล์ที่สร้างขึ้น
readfile($tmp_pdf_file); //ลบไฟล์ชั่วคราว
@unlink($tmp_svg);
@unlink($tmp_ps_file);
@unlink($tmp_pdf_file);catch(ข้อยกเว้น $e)(
/* หากมีข้อผิดพลาดเกิดขึ้นเราจะรายงานให้ทราบ */
$tpl -> กำหนด (array("error" => "error.tpl" ));
$tpl -> มอบหมาย ("ข้อผิดพลาด" , $e -> getMessage ()); $tpl -> แยกวิเคราะห์ ( "ข้อผิดพลาด" , "ข้อผิดพลาด" );
$tpl -> FastPrint("ข้อผิดพลาด");
}
?>

ฉันคิดว่ามันคงไม่ใช่เรื่องยากเกินไปสำหรับทุกคนที่จะเขียนสคริปต์ใหม่ในภาษาโปรแกรมอื่น

ตอนนี้คุณสามารถเพิ่มชื่อเรื่องสำหรับรายงานได้ วัตถุ FPDF ใช้แนวคิดของ "ตำแหน่งปัจจุบัน" โดยที่ข้อความชิ้นถัดไปหรือองค์ประกอบอื่นถูกแทรก เนื่องจากคุณต้องการให้ชื่อรายงานอยู่ตรงกลางหน้า คุณต้องย้ายตำแหน่งปัจจุบันลงมาที่จุดนี้ ซึ่งอยู่ห่างจากด้านบนของหน้า 160 มม. (ค่าจะถูกเก็บไว้ใน $ ตัวแปรการกำหนดค่า reportNameYPos) เมื่อต้องการทำเช่นนี้ ให้ใช้เมธอด FPDF Ln() ซึ่งจะเพิ่มการป้อนบรรทัดตามระยะทางที่ระบุ:

$pdf->Ln($reportNameYPos);

หากคุณไม่ระบุความสูงของการป้อนบรรทัด ระบบจะใช้ความสูงของเซลล์ที่แสดงล่าสุด

ตอนนี้เรามาเพิ่มชื่อเรื่องของรายงานกัน มีหลายวิธีในการเพิ่มข้อความโดยใช้ FPDF ในกรณีของเรา เราใช้เมธอด Cell() ซึ่งทำให้ง่ายต่อการจัดกึ่งกลางข้อความ

Cell() รับอาร์กิวเมนต์ต่อไปนี้ (เป็นทางเลือกทั้งหมด):

  • ความสูงและความกว้างของเซลล์ตามค่าเริ่มต้น ความกว้างจะถูกยืดออกไปที่ระยะขอบด้านขวา และความสูงจะถูกตั้งค่าเป็น 0
  • สตริงข้อความที่จะส่งออกค่าเริ่มต้นคือ ""
  • ระบุว่าจะแสดงเส้นขอบรอบเซลล์หรือไม่ซึ่งอาจเป็นตัวเลข (0 = ไม่มีเฟรม, 1 = วาดเฟรม) หรือสตริงที่มีพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์จากรายการต่อไปนี้: "L" (ซ้าย), "T" (บนสุด), "R" ( ขวา) และ "B" (ล่าง) ค่าเริ่มต้น: 0
  • ตำแหน่งที่จะวางตำแหน่งปัจจุบันหลังจากแสดงเซลล์ค่าอาจเป็น 0 (ทางด้านขวาของเซลล์), 1 (จุดเริ่มต้นของบรรทัดถัดไป) หรือ 2 (ด้านล่าง) ค่าเริ่มต้น: 0
  • การจัดตำแหน่งข้อความ- ค่าที่เป็นไปได้: "L" (จัดชิดซ้าย), "C" (จัดกึ่งกลาง) หรือ "R" (จัดชิดขวา) ค่าเริ่มต้น: "L"
  • พื้นหลังของเซลล์ควรเติมสีหรือไม่ true = เติมสี, false = ทำให้พื้นหลังโปร่งใส ค่าเริ่มต้น: เท็จ
  • ลิงก์ URLหากตั้งค่าไว้ เซลล์ที่มีข้อความจะกลายเป็นลิงก์ที่ใช้งานได้ไปยังแหล่งข้อมูลอื่น

ตอนนี้ใช้เมธอด Cell() แทรกชื่อรายงานและจัดตำแหน่งให้อยู่ตรงกลาง:

$pdf->

การสร้างส่วนท้ายของหน้าและข้อความแนะนำ

ดังนั้นหน้าชื่อเรื่องจึงพร้อมแล้ว ตอนนี้เราจำเป็นต้องสร้างเพจที่มีส่วนท้าย ส่วนหัว และข้อความแนะนำบางส่วน ตามด้วยตารางและกราฟ

มาสร้างส่วนท้ายของหน้ากัน มาเพิ่มกันเถอะ หน้าใหม่จากนั้นข้อความส่วนหัวของเอาต์พุตที่มีชื่อรายงานจะจัดชิดตรงกลางหน้าและใช้แบบอักษร Arial ขนาด 17 เราใช้ตัวแปรการกำหนดค่า $headerColour เพื่อตั้งค่าสีข้อความ:

$pdf->AddPage(); $pdf->SetTextColor($headerColour, $headerColour, $headerColour); $pdf->SetFont("Arial", "", 17); $pdf->เซลล์(0, 15, $reportName, 0, 0, "C");

ตอนนี้เรามาดูข้อความกันดีกว่า ขั้นแรก เรามาแสดงชื่อเรื่องด้วยสีปกติและขนาดฟอนต์ Arial 20 เนื่องจากเราไม่จำเป็นต้องจัดข้อความให้อยู่ตรงกลาง เราจึงใช้วิธี Write() แบบง่ายๆ โดยส่งผ่านความสูงของบรรทัดและข้อความไปยังเอาต์พุต (คุณยังสามารถ เลือกที่จะส่ง URL เพื่อสร้างลิงค์):

$pdf->SetTextColor($textColour, $textColour, $textColour); $pdf->SetFont("Arial", "", 20); $pdf->Write(19, "2552 เป็นปีที่ดี");

ตอนนี้คุณสามารถแสดงข้อความแนะนำเป็นแบบอักษร Arial ขนาด 12 ได้แล้ว โดยมีช่องว่าง 16 มม. จากย่อหน้าแรก และ 12 มม. ระหว่างย่อหน้า ตั้งค่าความสูงของแต่ละบรรทัดเป็น 6 มม.:

$pdf->Ln(16); $pdf->SetFont("Arial", "", 12); $pdf->Write(6, "แม้ว่าเศรษฐกิจจะตกต่ำ แต่ WidgetCo ก็มีปีที่แข็งแกร่ง ยอดขายของ HyperWidget เกินความคาดหมายเป็นพิเศษ โดยทั่วไปแล้วไตรมาสที่สี่เป็นไตรมาสที่มีผลงานดีที่สุด สาเหตุส่วนใหญ่มาจากการใช้จ่ายโฆษณาที่เพิ่มขึ้นในไตรมาสที่ 3 "); $pdf->Ln(12); $pdf->Write(6, "คาดว่าปี 2553 ยอดขายจะเพิ่มขึ้นเมื่อเราขยายไปยังประเทศอื่นๆ");

เมธอด Write() จะเลื่อนข้อความไปยังบรรทัดถัดไปโดยอัตโนมัติเมื่อไปถึงทางด้านขวาของหน้า

กำลังเพิ่มข้อมูล

ตอนนี้คุณต้องเพิ่มตารางที่มีข้อมูลอยู่ใต้ข้อความ ขั้นแรก มาตั้งค่าสีเส้นขอบตารางกันก่อน เมธอด SetDrawColor() ตั้งค่าสีที่ใช้กับเส้นขอบและเส้นอื่นๆ ดังนั้นเราจึงสามารถใช้เพื่อกำหนดสีให้กับเส้นขอบของเซลล์ตารางได้ จากนั้นเราลดตำแหน่งปัจจุบันลง 15 มม. เพื่อสร้างช่องว่างระหว่างข้อความและตาราง:

$pdf->SetDrawColor($tableBorderColour, $tableBorderColour, $tableBorderColour); $pdf->Ln(15);

การสร้างแถวส่วนหัวของตาราง

ตารางมีแถวที่มีส่วนหัวของคอลัมน์ "PRODUCT", "Q1, "Q2", "Q3" และ "Q4" ในเซลล์ เซลล์ "PRODUCT" ใช้ข้อความและสีพื้นหลังที่แตกต่างจากส่วนหัวอื่นๆ

เราได้ใช้เมธอด SetTextColor() เพื่อตั้งค่าสีข้อความแล้ว หากต้องการตั้งค่าสีพื้นหลัง คุณต้องใช้เมธอด SetFillColor() ซึ่งมีอาร์กิวเมนต์เดียวกันกับ SetTextColor()

หากต้องการสร้างเซลล์ตาราง ให้ใช้เมธอด Cell() ซึ่งกำหนดความกว้างและความสูงของเซลล์ เนื้อหา และการจัดตำแหน่ง นอกจากนี้ การส่ง 1 เป็นอาร์กิวเมนต์ที่ 4 เพื่อตั้งค่าเส้นขอบ และ true เป็นอาร์กิวเมนต์ที่ 7 เพื่อเติมพื้นหลังด้วยสีที่กำหนด

ด้านล่างนี้เป็นโค้ดสำหรับสร้างแถวส่วนหัว แบบอักษรตัวหนาจะถูกตั้งค่าก่อน จากนั้นเซลล์ "ผลิตภัณฑ์" จะถูกสร้างขึ้นโดยมีข้อความและพื้นหลังที่เหมาะสม จากนั้นจะตั้งค่าสีสำหรับเซลล์ส่วนหัวที่เหลืออีก 4 เซลล์และวนซ้ำผ่านองค์ประกอบของอาร์เรย์ $columnLabels เพื่อส่งออกเซลล์โดยให้ข้อความอยู่ตรงกลาง:

// สร้างแถวส่วนหัวของตาราง $pdf->SetFont("Arial", "B", 15); // เซลล์ "ผลิตภัณฑ์" $pdf->SetTextColor($tableHeaderTopProductTextColour, $tableHeaderTopProductTextColour, $tableHeaderTopProductText Color); $pdf->SetFillColor($tableHeaderTopProductFillColour, $tableHeaderTopProductFillColour, $tableHeaderTopProductFillColour); $pdf->เซลล์(46, 12, " ผลิตภัณฑ์", 1, 0, "L", จริง); // เซลล์ส่วนหัวที่เหลืออยู่ $pdf->SetTextColor($tableHeaderTopTextColour, $tableHeaderTopTextColour, $tableHeaderTopTextColour); $pdf->SetFillColor($tableHeaderTopFillColour, $tableHeaderTopFillColour, $tableHeaderTopFillColour); สำหรับ ($i=0; $i เซลล์(36, 12, $columnLabels[$i], 1, 0, "C", จริง); ) $pdf->Ln(12);

ช่องว่างที่จุดเริ่มต้นของเนื้อหาของเซลล์ "ผลิตภัณฑ์" ช่วยเยื้องเซลล์ตารางจากเส้นขอบด้านซ้าย เคล็ดลับเดียวกันนี้จะใช้กับชื่อผลิตภัณฑ์ในคอลัมน์ซ้ายสุด (น่าเสียดายที่ยังไม่มีวิธีควบคุมการเยื้องเซลล์โดยใช้ FPDF)

การสร้างแถวด้วยข้อมูล

ตารางที่เหลือประกอบด้วย 4 แถวพร้อมข้อมูลการขาย (1 แถวต่อผลิตภัณฑ์) เป็นเวลา 4 ไตรมาส ขั้นแรก เรามากำหนดตัวแปรสองสามตัวกัน:

// สร้างแถวที่มีข้อมูล $fill = false; $แถว = 0;

ตัวแปรใช้สำหรับ:

    $fill: เติมสีพื้นหลังของเซลล์หรือไม่ เราจะสลับค่านี้หลังจากที่แต่ละแถวถูกส่งออกเพื่อให้ได้เอฟเฟกต์แถบม้าลายในตาราง

    $row: หมายเลขแถวปัจจุบัน ช่วยให้คุณสามารถแสดงหมายเลขที่สอดคล้องกันสำหรับแต่ละแถวเมื่อคุณเลื่อนไปตามตาราง

ตอนนี้เราสามารถวนซ้ำองค์ประกอบของอาร์เรย์ $data โดยใช้ foreach เพื่อส่งออกแถว สำหรับแต่ละแถว เราจะสร้างเซลล์ด้านซ้ายที่มีชื่อของผลิตภัณฑ์และสี่เซลล์ที่มีข้อมูล ตั้งค่าสีที่เหมาะสมสำหรับข้อความและพื้นหลังสำหรับแต่ละเซลล์

ในการแสดงเซลล์ข้อมูล เราใช้ for loop เพื่อวนซ้ำผ่านอาร์เรย์ข้อมูลสี่องค์ประกอบ และเพื่อแสดงข้อมูลในรูปแบบที่คั่นด้วยหลักพัน เราเรียกฟังก์ชัน PHP number_format()

หลังจากพิมพ์บรรทัดแล้ว ให้เพิ่มตัวแปร $row สลับตัวแปร $fill และใช้ Ln() เพื่อข้ามไปยังจุดเริ่มต้นของบรรทัดถัดไป

นี่คือรหัสสำหรับวงทั้งหมด:

Foreach ($data as $dataRow) ( // สร้างเซลล์ด้านซ้ายด้วยส่วนหัวของแถว $pdf->SetFont("Arial", "B", 15); $pdf->SetTextColor($tableHeaderLeftTextColour, $tableHeaderLeftTextColour, $tableHeaderLeftTextColour $pdf->SetFillColor($tableHeaderLeftFillColour, $tableHeaderLeftFillColour, $tableHeaderLeftFillColour); $pdf->เซลล์(46, 12, " " . $rowLabels[$row], 1, 0, "L", $fill); สร้างเซลล์ด้วยข้อมูล $pdf->SetTextColor($textColour, $textColour, $textColour); $pdf->SetFillColor($tableRowFillColour, $tableRowFillColour, $tableRowFillColour); ); สำหรับ ($i=0; $i เซลล์(36, 12, ("$" . number_format($dataRow[$i])), 1, 0, "C", $fill);

) $แถว++;

$เติม = !$เติม;

$pdf->Ln(12); -

การสร้างกราฟ

องค์ประกอบสุดท้ายในรายงานของเราคือกราฟแท่งที่แสดงข้อมูลสรุปของผลิตภัณฑ์ทั้งสี่ตลอดทั้งปี

การคำนวณขนาดและความกว้างของคอลัมน์

ก่อนอื่นคุณต้องคำนวณมาตราส่วนสำหรับแกน X และ Y สำหรับมาตราส่วน X การคำนวณเป็นเพียงการหารจำนวนผลิตภัณฑ์ด้วยความกว้างที่ต้องการของกราฟ (คุณต้องคำนึงถึงระยะขอบเล็กน้อยทางซ้ายและขวาสำหรับ มุมมองที่ดีกว่า):

เมื่อทราบมาตราส่วนตามแกน X แล้ว คุณก็สามารถคำนวณความกว้าง (เป็นมม.) ของแต่ละคอลัมน์ของกราฟได้ นี่คือค่าผกผันของสเกลแกน X ซึ่งลดลงหนึ่งเท่าครึ่งเพื่อจัดระยะห่างระหว่างคอลัมน์:

// คำนวณความกว้างของคอลัมน์ $barWidth = (1 / $xScale) / 1.5;

การเพิ่มเส้นแกนและป้ายกำกับลงไป

ตอนนี้คุณสามารถเพิ่มเส้นแกน X และ Y ป้ายข้อมูล และป้ายแกนได้แล้ว เราใช้ฟอนต์ Arial ขนาด 10 สำหรับป้ายกำกับข้อมูล

หากต้องการวาดเส้นใน FDPF ให้ใช้เมธอด Line() ซึ่งรับอาร์กิวเมนต์สี่ตัว: พิกัด X และ Y ของจุดเริ่มต้นของบรรทัด และพิกัด X และ Y ของจุดสิ้นสุดของบรรทัด

สำหรับแกน X ให้วาดเส้นแนวนอนที่ด้านล่างของกราฟ โดยเว้นระยะ 30 มม. สำหรับป้ายกำกับบนแกน Y ทางด้านซ้าย จากนั้นเราจะส่งออกชื่อผลิตภัณฑ์แต่ละรายการในอาร์เรย์ $rowLabels เป็นเซลล์ข้อความที่จุดที่เหมาะสม:

// เพิ่มแกน: $pdf->SetFont("Arial", "", 10); // แกน X $pdf->เส้น($chartXPos + 30, $chartYPos, $chartXPos + $chartWidth, $chartYPos); สำหรับ ($i=0; $i< count($rowLabels); $i++) { $pdf->SetXY($chartXPos + 40 + $i / $xScale, $chartYPos);

$pdf->เซลล์($barWidth, 10, $rowLabels[$i], 0, 0, "C"); -

เมธอด SetXY() ช่วยให้คุณสามารถกำหนดตำแหน่งปัจจุบันไปยังตำแหน่งที่ต้องการบนเพจได้

สำหรับแกน Y ให้ลากเส้นแนวตั้งไปทางด้านซ้ายของกราฟ โดยเว้นระยะไว้ 30 มม. สำหรับป้ายข้อมูลบนแกน Y ทำให้เส้นแกนมีขนาดใหญ่กว่าความสูงที่ต้องการของกราฟ 8 มม. เพื่อให้มีพื้นที่สำหรับแสดงแกน ฉลาก. จากนั้นเราวนจากศูนย์ถึงค่าข้อมูลสูงสุด $maxTotal ซึ่งถูกกำหนดไว้ก่อนหน้านี้ ขนาดขั้นตอนถูกกำหนดไว้ในตัวแปร $chartYStep (20,000) ในแต่ละขั้นตอน เราจะแสดงค่าปัจจุบันของเส้นจัดชิดขวาและป้ายกำกับสั้นๆ:<= $maxTotal; $i += $chartYStep) { $pdf->// แกน Y $pdf->เส้น($chartXPos + 30, $chartYPos, $chartXPos + 30, $chartYPos - $chartHeight - 8); สำหรับ ($i=0; $i

SetXY($chartXPos + 7, $chartYPos - 5 - $i / $yScale);

$pdf->เซลล์(20, 10, "$" . number_format($i), 0, 0, "R");

$pdf->เส้น($chartXPos + 28, $chartYPos - $i / $yScale, $chartXPos + 30, $chartYPos - $i / $yScale); -

ตอนนี้คุณสามารถเพิ่มป้ายกำกับแกนได้แล้ว เราใช้แบบอักษรตัวหนา Arial ขนาด 12 เราวางป้ายกำกับแกน X ไว้ใต้ป้ายข้อมูล และป้ายแกน Y ที่ด้านบนของแกน Y:

  • พิกัด X และ Y ที่มุมซ้ายบนของสี่เหลี่ยม
  • ความกว้างและความสูงของรูปสี่เหลี่ยมผืนผ้า
  • สไตล์สี่เหลี่ยมผืนผ้าสามารถมีค่า "D" หรือ "" (วาดเส้นขีด), "F" (เติมด้วยสีพื้นหลังปัจจุบัน) หรือ "DF" / "FD" (เส้นขีดและเติม)

ตอนนี้เราแสดงคอลัมน์ มาตั้งค่าตัวแปร $xPos ซึ่งทำหน้าที่ติดตามตำแหน่งปัจจุบันใน X โดยตั้งค่าเป็น 40 มม. โดยคำนึงถึงระยะห่างของป้ายกำกับบนแกน Y และการเยื้องสำหรับคอลัมน์แรก ตอนนี้เรามาสร้างตัวแปร $bar ที่จะมีหมายเลขคอลัมน์ปัจจุบัน สิ่งนี้จะถูกใช้เพื่อกำหนดสีของคอลัมน์:

// สร้างคอลัมน์ $xPos = $chartXPos + 40; $บาร์ = 0;

ตอนนี้เราวนซ้ำอาร์เรย์ $data คำนวณมูลค่ารวมสำหรับแต่ละแถว และพิมพ์คอลัมน์จากแกน X ไปยังค่านั้น โดยปรับขนาดเป็น $yScale สีสำหรับแต่ละคอลัมน์จะเปลี่ยนโดยใช้ตัวนับ $bar ซึ่งเป็นดัชนีในอาร์เรย์ $chartColours หลังจากแสดงคอลัมน์ปัจจุบันแล้ว ให้ย้ายตำแหน่ง X ไปยังจุดเริ่มต้นของคอลัมน์ถัดไป เพิ่มตัวนับ $bar และวนซ้ำต่อไป:

Foreach ($data as $dataRow) ( // คำนวณมูลค่ารวมของแถวข้อมูลสำหรับผลิตภัณฑ์ $totalSales = 0; foreach ($dataRow as $dataCell) $totalSales += $dataCell; // สร้างคอลัมน์ $colorIndex = $bar % นับ ($chartColours[$colorIndex]); $pdf->Rect($xPos, $chartYPos - ( $totalSales / $ yScale), $barWidth, $totalSales / $yScale, "DF"); $xPos += (1 / $xScale);

โค้ดใช้ตัวดำเนินการ PHP โมดูโล (%) เพื่อทำซ้ำสีคอลัมน์ หากจำนวนคอลัมน์เกินจำนวนองค์ประกอบในอาร์เรย์ $chartColours

การส่งเอกสาร PDF ไปยังเบราว์เซอร์

เอกสาร PDF พร้อมแล้ว! สิ่งที่คุณต้องทำก็แค่ส่งมันไปที่บราวเซอร์เพื่อให้ผู้ใช้สามารถดูหรือดาวน์โหลดมันได้

ใช้เมธอด FPDF Output() สำหรับสิ่งนี้ ต้องใช้สองอาร์กิวเมนต์: ชื่อที่ต้องการสำหรับไฟล์ PDF และแฟล็กปลายทาง แฟล็กนี้สามารถรับค่าต่อไปนี้:

    I: ส่งออก PDF ไปที่หน้าจอหากเบราว์เซอร์รองรับฟังก์ชันดังกล่าว ไม่เช่นนั้นจะดาวน์โหลด

    ง: ดาวน์โหลดไฟล์ PDF

    F: บันทึกไฟล์ในโฟลเดอร์บนเซิร์ฟเวอร์

    S: ส่งคืนข้อมูล PDF เป็นสตริง

สำหรับตัวอย่างของเรา ให้ใช้ตัวเลือก I เพื่อส่งออก PDF ไปที่หน้าจอ หากเป็นไปได้:

/*** เอาต์พุต PDF ***/ $pdf->เอาต์พุต("report.pdf", "I"); -

Output() จะส่งส่วนหัว HTTP "Content-type: application/pdf" โดยอัตโนมัติ ซึ่งจะส่งสัญญาณให้เบราว์เซอร์คาดว่าจะได้รับเอกสาร PDF

ตอนนี้คุณพร้อมที่จะทดสอบสคริปต์แล้ว เปิดเบราว์เซอร์ของคุณและไปที่ URL ที่มีสคริปต์อยู่ เช่น www.example.com/report.php คุณควรเห็น PDF ในหน้าต่างเบราว์เซอร์ของคุณ หรือกล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้คุณบันทึกเอกสาร PDF ลงในฮาร์ดไดรฟ์ของคุณ จากนั้นคุณสามารถเปิดไฟล์ PDF ในโปรแกรมดู PDF ได้ เช่น โปรแกรมอะโครแบทรีดเดอร์หรือดูตัวอย่าง

เพื่อสร้าง เอกสาร PDFคุณต้องการเพียง PHP และ FPDF

บทสรุป

ในบทช่วยสอนนี้ คุณได้เรียนรู้วิธีใช้ PHP กับไลบรารี FPDF เพื่อสร้างรายงานในรูปแบบ PDF สาธิตวิธีไลบรารี FPDF สำหรับการสร้างข้อความ ตาราง และกราฟ

อย่างไรก็ตาม ไลบรารี FPDF สามารถทำได้หลายอย่าง เช่น การสร้างส่วนหัวและส่วนท้ายสำหรับเพจ การใช้การนำทางเพจอัตโนมัติ และอื่นๆ ดูเอกสารประกอบห้องสมุดบนเว็บไซต์ FPDF



2024 wisemotors.ru. วิธีนี้ทำงานอย่างไร. เหล็ก. การทำเหมืองแร่ สกุลเงินดิจิทัล