TCPDF
کتابخانه PHP برای ایجاد و ویرایش سند PDF
API منبع باز PHP برای تولید اسناد PDF، اجاره فرعی فونت، تصاویر JPEG یا PNG و SVG پشتیبانی بومی، پشتیبانی از بارکدهای 1D و 2D.
TCPDF یک کتابخانه PHP منبع باز است که به توسعه دهندگان نرم افزار این امکان را می دهد که اسناد PDF را با استفاده از دستورات PHP بدون هیچ گونه وابستگی خارجی تولید کنند. نکته مهم در مورد TCPDF این است که به عنوان تنها کتابخانه مبتنی بر PHP در نظر گرفته می شود که شامل پشتیبانی کامل از یونیکد UTF-8 و زبان های راست به چپ است.
این کتابخانه از چندین ویژگی مهم مانند ایجاد اسناد PDF، اجاره فرعی فونت، تصاویر و پشتیبانی گرافیکی، پشتیبانی بومی برای تصاویر JPEG، PNG، و SVG، پشتیبانی از بارکد یک بعدی و دو بعدی، مدیریت سرصفحه و پاورقی صفحه PDF، پشتیبانی از رمزگذاری و رمزگشایی، PDF پشتیبانی می کند. حاشیه نویسی، جدول محتوا، حالت های رندر متن، قالب های سفارشی صفحه، حاشیه های سفارشی، واحدهای صفحه و بسیاری موارد دیگر.
این کتابخانه یکی از محبوب ترین و پرکاربردترین کتابخانه های PHP در جهان به حساب می آید زیرا در محبوب ترین CMS ها و برنامه های کاربردی مبتنی بر PHP از جمله جوملا، دروپال، مودل، phpMyAdmin و غیره گنجانده شده است.
شروع کار با TCPDF
TCPDF در packagist.org موجود است، بنابراین میتوانید از composer برای دانلود این کتابخانه و همه وابستگیها استفاده کنید. لطفا از دستور زیر برای نصب راحت استفاده کنید.
دستور TCPDF را نصب کنید
Install Package TCPDF
تولید اسناد PDF با استفاده از کتابخانه PHP
کتابخانه رایگان PHP TCPDF دارای عملکردی است که به برنامه نویسان نرم افزار امکان می دهد اسناد 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 فراهم می کند. توسعه دهندگان می توانند از انواع مختلف بارکد یک بعدی (CODE 39، CODE 128 AUTO، EAN 8، UPC-E، MSI، CODABAR، CODE 11، RMS4CC) و بارکدهای دو بعدی (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 مدیریت کنید
حاشیه نویسی مجموعه کاملی از اشیاء است که می تواند بدون تغییر محتوای صفحه به صفحات PDF اضافه شود. بیشتر در توضیح محتوای آن یا بسط دادن آنچه در حال حاضر وجود دارد کمک می کند. کتابخانه PHP منبع باز TCPDF از انواع حاشیه نویسی مانند حاشیه نویسی متن، حاشیه نویسی پیوند، متن علامت گذاری، حاشیه نویسی مهر و غیره پشتیبانی می کند.
اضافه کردن متن پی دی اف حاشیه نویسی از طریق 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');