خروجی 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

ارسال نظر