ตัวไลบรารี่ TCPDF นั้นสามารถกำหนดหน้ากระดาษได้ทั้งเป็น A4, A5 และขนาดอื่นๆที่เป็นมาตรฐาน อีกทั้งสามารถกำหนดขนาดกระดาษเป็นหน่วยมิลลิเมตรเองก็ได้ ทำให้สามารถปริ้นต์งานได้ทุกรูปแบบ ไม่ว่าจะเป็นรายงานปกติที่พิมพ์ออกมาเป็นขนาด A4 หรือพิมพ์ออกมาเป็นขนาดแบบที่เขาใช้แปะหน้ากล่องพัสดุ
ลองพิมพ์คำสั่งตามด้านล่างแล้วรันดู
<?php
require_once('vendor/autoload.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, array(50, 250), true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->setPrintHeader(false);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// Add a page
$pdf->AddPage();
// Print text
$pdf->Write(0, 'Hello TCPDF');
// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$pdf->Output('hello-tcpdf.pdf', 'I');
$pdf->Close();
หน้าตาจะออกมาประมาณนี้
ออกมาหน้าแคบและยาว เพราะคำสั่งนี้
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, array(50, 250), true, 'UTF-8', false);
ถ้าต้องการให้เป็นแนวนอน ขนาด A4 กำหนดอย่างนี้
$pdf = new TCPDF('L', PDF_UNIT, 'A4', true, 'UTF-8', false);
ถ้าต้องการกำหนดขนาดกระดาษเองให้กำหนดดังนี้
$pdf = new TCPDF('P', PDF_UNIT, array(50, 100), true, 'UTF-8', false);
จากโค้ดทั้งหมด จะเห็นว่าการกำหนดขนาดกระดาษนั้นสามารถทำได้ทั้งส่งค่าขนาดกระดาษมาตรฐาน หรือจะส่งไปเป็น array ก็ได้ โดยปกติแล้วเวลาผมเขียนโค้ดออกรายงาน ถ้าไม่ใช่ A4 ผมจะเอาไม้บรรทัดวัดกระดาษโดยใช้หน่วยมิลลิเมตร แล้วเอามากำหนดในคำสั่ง
แต่ถ้าท่านต้องการทราบว่าขนาดกระดาษมาตรฐานเขามีอะไรให้ระบุได้บ้าง ให้เปิดไฟล์
vendor\tecnickcom\tcpdf\include\tcpdf_static.php
ค่า page_formats คือทั้งหมดที่สามารถกำหนดระบุได้
Leave a Reply