تولید PDF با استفاده از PHP

تولید PDF با استفاده از PHP

سلام

توی یکی از پروژه هایی که انجام میدادم مجبور بودم اسناد PDF تولید کنم و خروجی بدم به اپراتور سیستم

اول سعی کردم با فایل Text سر قضیه رو هم بیارم که تیرم به سنگ خورد 😀

 

قبلا شنیده بودم که با PHP میشه فایل PDF ساخت اما فکر میکردم مثله همیشه با فارسی مشکل داشته باشه

که همینطور هم بود . اما با کمی جستجو یه کلاس پیدا کردم که این مشکل رو حل میکرد.

این کلاس اسمش چیزی نبود جز ” TCPDF ” که یه عاللللللمه فیچر میده بهتون که بتونید اسناد pdf تولید کنید

TCPDF در سال ۲۰۰۲ تولید شد و بصورت open source وجود داره که هزاران برنامه نویس برای تولید PDF با استفاده از PHP ازش بهره میگیرن

جالبه بدونید که میتونید از HTML CSS برای ساخت و طراحیش هم استفاده کنید! خیلی راحت

آدرس سایت TCPDF : tcpdf.org

مثال های خود این سایت به اندازه کافی مفید و کامل هست ، اما منم یک مثال زیر براتون میزارم که توش فونت هم تنظیم شده.

 

توی این مثال ساده فقط یک صفحه PDF ساخته میشه با PHP

اول از همه باید کلاس اصلی رو به برنامه خودمون اضافه کنیم و include کنیم

include_once "tcpdf/tcpdf.php";

 

.سپس یک شی از کلاس TCPDF ایجاد میکنیم

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

من توی کارم لازم نشد دست به تغییر متغییر ها و ثابت های مربوط به برنامه بزنم

اما اگر لازم دارید که سایز PDF تولیدی مثلا A5 باشه باید برید به فایل tcpdf_autoconfig.php و مقدار PDF_PAGE_FORMAT رو تنظیم کنید

مقادیر سازنده کلاس همشون توی همین فایل پیدا میشن با کمی وقت گذاشتن میشه تک تکشون آزمایش کرد.

در مرحله بعدی باید یک صفحه خالی ایجاد کنیم ، اونم با این دستور قابل انجامه

$pdf->AddPage();

حالا اگر لازم دارید فارسی بنویسید باید یک فونت فارسی بزارید توی پروژه و اینجوری انداره و اسم فونت رو قرار بدین

$pdf->SetFont(‘bnazanin’, ”, ۱۲);
اگر میخاید صفحه ای تولیدی دارای تگ title باشه باید این خط رو هم قرار بدین
$pdf->SetTitle('عنوانی که در قسمت تایتل صفحه نشون میده');
حتی keyword
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
قسمت اصلی فایل PDF یعنی محتوای داخل فایل هم ایجوری قرار میگیره

    $html = <<<EOD
    سلام دوستان عزیز
    
    چطورید ؟
    EOD;
توی فایل قابل دانلودی که براتون قرار دادم چند تا تگ html استفاده کردم + css
البته برخی از تگ های HTML رو پشتیبانی نمیکنه که تعدادش هم خیلی نیست
حالا همه چیز آمادس تا روی PDF بنویسیم
$pdf->WriteHTML($html, true, 0, true, 0);
و در نهایت هم
$pdf->Output();
باید بدون مشکل توی مرورگرتون فایل PDF رو ببینید . این یک مثال خیلی ساده بود
توی خود سایت tcpdf.org که میگشتم دیدم حتی برای خروجی بارکد هم یه سری داستان درست کردن که احتمالا بوقتش بریم سراغش
فایل کاملش هم میتونید از همینجا دریافت کنید . توش مثال های خود tcpdf هم وجود داره
امید وارم که بکارتون اومده باشه این مطلب

دانلود فایل پروژه

4 دیدگاه

  1. ممنون از این مطلب خوبتون .
    خیلی از فونتهای فارسی ویندوز با این کار نمیکنن.مثل لوتوس یاقوت رویا …از شاخه خود ویندوز کپی کردم.

  2. با سلام .ممنون از مطلب مفیدتون.
    البته برای اضافه کردن فونت های دیگه به همین راحتی هم نیست. باید از یه converter که تو شاخه tools هست استفاده کنید .
    فایل فونت رو از شاخه ویندوز تو شاخه tools کنار فایل tcpdf_addfont.php کپی کنید .بعد با استفاده از خط فرمانی که خود xamp یا wamp بهتون میده باید فایل را به فونت قابل خواندن این کلاس تبدیل کنید.
    php tcpdf_addfont.php -i Bhoma.ttf

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *