سلام
توی یکی از پروژه هایی که انجام میدادم مجبور بودم اسناد 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’, ”, ۱۲);
$pdf->SetTitle('عنوانی که در قسمت تایتل صفحه نشون میده');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$html = <<<EOD سلام دوستان عزیز چطورید ؟ EOD;
$pdf->WriteHTML($html, true, 0, true, 0);
$pdf->Output();
سلام با این کلاس میشه محتوای یه فایل pdf رو گرفت ؟
سلام کرووش جان
نه این کلاس محتوای HTML رو تبدیل میکنه به PDF
ممنون از این مطلب خوبتون .
خیلی از فونتهای فارسی ویندوز با این کار نمیکنن.مثل لوتوس یاقوت رویا …از شاخه خود ویندوز کپی کردم.
با سلام .ممنون از مطلب مفیدتون.
البته برای اضافه کردن فونت های دیگه به همین راحتی هم نیست. باید از یه converter که تو شاخه tools هست استفاده کنید .
فایل فونت رو از شاخه ویندوز تو شاخه tools کنار فایل tcpdf_addfont.php کپی کنید .بعد با استفاده از خط فرمانی که خود xamp یا wamp بهتون میده باید فایل را به فونت قابل خواندن این کلاس تبدیل کنید.
php tcpdf_addfont.php -i Bhoma.ttf
ممنون از سایت خوبتون بسیار کاربردی و کار راه انداز بود مطلبتون ممنون