خروجی PDF در PHP ( فارسی و راستچین )

خروجی PDF در PHP ( فارسی و راستچین )

خروجی PDF در PHP – در این آموزش قصد داریم تا اطلاعات که می خواهیم را در قالب یک فایل pdf خروجی داده و برای کاربر قابل دانلود باشد .

پیش نیاز ها :

1- PHP نسخه 7 به بالا
2- کتابخانه mpdf


ابتدا کتابخانه ی mpdf را از طریق composer و با دستور زیر به پروژه خود اضافه کنید :

composer require mpdf/mpdf


به این دلیل که می خواهیم از فونت فارسی شبنم استفاده کنیم پوشه ای با نام fonts در مسیر اصلی پروژه بسازید و فونت های ( TTF ) خود را در آن وارد کنید .

فونت هایی که در پوشه fonts وجود دارد : ( اولین مورد نرمال و دومین bold )

1- shabnam.ttf
2- shabnam-bold.ttf

در مسیر اصلی :
1- پوشه ای دیگری با نام inc برای تنظیم font ها در PHP ساخته
2- و فایلی با نام font-mpdf.php در داخل آن بسازید .


حال فایل font-mpdf.php را باز کرده و کد زیر را وارد کنید :

$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];

$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];

function load_font() {
	global $fontDirs, $fontData;
	return [
		'fontDir' => array_merge($fontDirs, [
			RPD_PATH . '/fonts',
		]),
		'fontdata' => $fontData + [
			'shabnam' => [
				'R' => 'shabnam.ttf',
                'B' => 'shabnam-bold.ttf',
				'useOTL' => 0xFF,
				'useKashida' => 75,
			],
		],
		'default_font' => 'shabnam',
	];
}

لاین 14 و 21 نام فونت یعنی shabnam و در لاین 15 و 16 به ترتیب R برای فونت با استایل معمولی و B برای فونت با استایل bold که در داخل پوشه fonts از قبل قرار دادیم .


در مسیر اصلی و در داخل فایل index.php کد زیر را اضافه می کنیم :

define("RPD_PATH" , __DIR__);
require_once "vendor/autoload.php";
require_once "inc/font-mpdf.php";


$font = load_font();
$mpdf = new \Mpdf\Mpdf($font);
$mpdf->SetDirectionality('rtl');
$mpdf->WriteHTML('

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


در رپید کد بیش از 100 مقاله مفید آموزشی در زمینه برنامه نویسی وجود دارد

'); $pdf_file_name = "rapidcode-report-" . time() . ".pdf"; $mpdf->Output($pdf_file_name, \Mpdf\Output\Destination::INLINE);

در خط 9 اطلاعاتی که می خواهید در PDF نمایش داده شود را به صورت html وارد کنید
خطا 11 هم نام فایل pdf است .

دموی پروژه :

خروجی PDF در PHP


در صورت دانلود فایل زیر قبل از اجرا پروژه دستور

composer install

را وارد کنید تا تمامی پکیج های مورد نیاز از جمله mpdf نصب شود .


دانلود پروژه خروجی PDF در PHP

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

لیست نظرات

  1. الهام
    الهام

    ممنون از مطلب خوبتون فقط یک سوال الان من با ایجکس تونستم فایل pdf ایجاد کنم و لینک بازگشتی رو دریافت و توسط یک دکمه که اول فایل رو ایجاد میکنه و بعد لینک به دکمه دیگر میدهد فایل رو نشون بدهم اما فایل درون روت اصلی ذخیره میشه نه داخل temp میشه در این باره هم یک مطلب بگذارید که کلا با ajax چجوری اطلاعات کل فرم رو بگیرم و با pdf نمایش بدهم. تشکر

    19 مهر 1400 | 13:59:39
  • حسین باقری
    حسین باقری

    درود این آموزش پایه ای برای ایجاد فایل pdf هست حالا اگر بخواین که اطلاعات رو بگیرید کافیه داده هایی که کاربر داخل فرم فرستاده رو با سرور php بگیرید و به صورت table داخل pdf نمایش بدید .

    19 مهر 1400 | 14:31:37
contact us