TCPDF

 
 

ไลบรารี PHP สำหรับการสร้างและแก้ไขเอกสาร PDF

Open Source PHP API เพื่อสร้างเอกสาร PDF, แบบอักษรย่อย, รูปภาพ JPEG หรือ PNG และ SVG รองรับ Native, รองรับบาร์โค้ด 1D และ 2D

TCPDF เป็นไลบรารี PHP แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างเอกสาร PDF โดยใช้คำสั่ง PHP โดยไม่ต้องพึ่งพาภายนอก สิ่งที่ยอดเยี่ยมเกี่ยวกับ TCPDF คือถือว่าเป็นไลบรารีที่ใช้ PHP เพียงแห่งเดียวที่มีการรองรับ UTF-8 Unicode และภาษาที่อ่านจากขวาไปซ้ายอย่างสมบูรณ์

ไลบรารีรองรับคุณสมบัติที่สำคัญหลายประการ เช่น การสร้างเอกสาร PDF แบบอักษรย่อย รองรับรูปภาพและกราฟิก รองรับไฟล์ JPEG, PNG และ SVG ดั้งเดิม รองรับบาร์โค้ด 1D และ 2D จัดการส่วนหัวและส่วนท้ายของหน้า PDF รองรับการเข้ารหัสและถอดรหัส PDF คำอธิบายประกอบ สารบัญ โหมดการแสดงข้อความ รูปแบบหน้าที่กำหนดเอง ระยะขอบที่กำหนดเอง หน่วยของหน้า และอื่นๆ อีกมากมาย

ไลบรารีนี้ถือเป็นหนึ่งในไลบรารี PHP ที่ได้รับความนิยมและใช้มากที่สุดในโลก เนื่องจากมีการรวมไว้ใน CMS และแอปพลิเคชันที่ใช้ PHP ที่ได้รับความนิยมมากที่สุด รวมถึง Joomla, Drupal, Moodle, phpMyAdmin เป็นต้น

Previous Next

เริ่มต้นใช้งาน TCPDF

TCPDF พร้อมใช้งานที่ packagist.org คุณจึงใช้ผู้แต่งเพื่อดาวน์โหลดไลบรารีนี้และการอ้างอิงทั้งหมดได้ โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น

ติดตั้งคำสั่ง TCPDF

 Install Package TCPDF

สร้างเอกสาร PDF โดยใช้ PHP Library

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

สร้างเอกสาร PDF ผ่าน PHP

 // Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->setCreator(PDF_CREATOR);
$pdf->setAuthor('Nicola Asuni');
$pdf->setTitle('TCPDF Example 038');
$pdf->setSubject('TCPDF Tutorial');
$pdf->setKeywords('TCPDF, PDF, example, test, guide');

รองรับบาร์โค้ดในไฟล์ PDF ผ่าน PHP

ไลบรารี PHP แบบโอเพ่นซอร์สมีฟังก์ชันสำหรับการรวมบาร์โค้ดไว้ในเอกสาร PDF โดยใช้โค้ด PHP สองสามบรรทัด นักพัฒนาสามารถใช้บาร์โค้ด 1D ประเภทต่างๆ (CODE 39, CODE 128 AUTO, EAN 8, UPC-E, MSI, CODABAR, CODE 11, RMS4CC) และบาร์โค้ด 2D (QR-Code, Datamatrix ECC200 และ PDF417) ได้อย่างง่ายดาย นอกจากนี้ยังรองรับฟีเจอร์ต่างๆ เช่น การตั้งค่าความสูงของบาร์โค้ด การจัดตำแหน่งบาร์โค้ด ตั้งค่าระยะขอบ ใช้ผลรวมตรวจสอบ และอื่นๆ

สร้างเอกสาร PDF ผ่าน PHP

 $pdf->SetFont('helvetica', '', 10);
// define barcode style
$style = array(
  'position' => '',
  'align' => 'C',
  'stretch' => false,
  'fitwidth' => true,
  'cellfitalign' => '',
  'border' => true,
  'hpadding' => 'auto',
  'vpadding' => 'auto',
  'fgcolor' => array(0,0,0),
  'bgcolor' => false, //array(255,255,255),
  'text' => true,
  'font' => 'helvetica',
  'fontsize' => 8,
  'stretchtext' => 4
);
// PRINT VARIOUS 1D BARCODES
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 + CHECKSUM
$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1);
$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 EXTENDED
$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1);
$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();

เพิ่มส่วนหัว/ส่วนท้ายที่กำหนดเองใน PDF

ส่วนหัวและส่วนท้ายเป็นส่วนที่มีประโยชน์มากของเอกสาร PDF ที่ช่วยให้ผู้ใช้จัดระเบียบไฟล์ PDF ของตนและอ่านได้ง่ายขึ้น ไลบรารีโอเพ่นซอร์ส TCPDF ทำให้งานของนักพัฒนาง่ายขึ้นด้วยการเพิ่มฟังก์ชันสำหรับการเพิ่มส่วนหัวและส่วนท้ายที่กำหนดเองลงในเอกสาร PDF ด้วยรหัส PP เพียงไม่กี่บรรทัด รองรับคุณสมบัติต่างๆ เช่น การตั้งค่าแบบอักษรสำหรับส่วนหัวและส่วนท้าย การตั้งค่าระยะขอบ ตัวแบ่งหน้าอัตโนมัติ การเพิ่มรูปภาพภายในส่วนหัว/ส่วนท้าย การเพิ่มหมายเลขหน้า และอื่นๆ

ตั้งค่าส่วนหัว/ส่วนท้ายที่กำหนดเองใน PDF ผ่าน PHP

 // Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
  //Page header
  public function Header() {
    // Logo
    $image_file = K_PATH_IMAGES.'logo_example.jpg';
    $this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
    // Set font
    $this->SetFont('helvetica', 'B', 20);
    // Title
    $this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
  }
  // Page footer
  public function Footer() {
    // Position at 15 mm from bottom
    $this->SetY(-15);
    // Set font
    $this->SetFont('helvetica', 'I', 8);
    // Page number
    $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
  }
}

สร้างสารบัญ

ไลบรารี PHP โอเพ่นซอร์ส TCPDF มีฟังก์ชันสำหรับการสร้างสารบัญภายในแอปพลิเคชันของตน การใช้สารบัญช่วยให้ผู้อ่านเข้าใจโครงสร้างของเอกสารและสามารถค้นหาข้อมูลที่ต้องการได้อย่างรวดเร็ว ในการสร้างสารบัญ คุณต้องเพิ่มหน้าใหม่สำหรับ TOC และสามารถเขียนชื่อ TOC และ/หรือองค์ประกอบอื่นๆ บนหน้า TOC ได้ คุณยังสามารถกำหนดสไตล์สำหรับระดับบุ๊คมาร์คต่างๆ สำหรับองค์ประกอบ HTML ต่างๆ ได้อย่างง่ายดาย

วิธีเพิ่ม TOC ใน PDF ผ่าน PHP

 // add a new page for TOC
$pdf->addTOCPage();
// write the TOC title
$pdf->SetFont('times', 'B', 16);
$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0);
$pdf->Ln();
$pdf->SetFont('dejavusans', '', 12);
// add a simple Table Of Content at first page
// (check the example n. 59 for the HTML version)
$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0));
// end of TOC page
$pdf->endTOCPage();
// ---------------------------------------------------------
//Close and output PDF document
 $pdf->Output('example.pdf', 'I');

จัดการคำอธิบายประกอบ PDF ผ่าน PHP Library

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

เพิ่มคำอธิบายประกอบข้อความ PDF ผ่าน PHP

 // set font
$pdf->SetFont('times', '', 16);
// add a page
$pdf->AddPage();
$txt = 'Example of Text Annotation.
Move your mouse over the yellow box or double click on it to display the annotation text.';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
// text annotation
$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0)));
// ---------------------------------------------------------
//Close and output PDF document
 $pdf->Output('example.pdf', 'I');
 ไทย