ساخت PDF فارسی با PHP

برای ساخت PDF فارسی چند تا کتابخونه خوب برای PHP وجود داره dompdf ,TCPDF و mPDF

من هر سه رو تست کردم و بی شک mPDF چه در پشتیانی زبان فارسی چه در سرعت و کارایی سرامد تر از بقیه هست.

ساخت PDF فارسی با mPDF

برای شروع یک پوشه ایجاد کنید بعد mPDF رو با Composer اضافه میکنیم

فایل  index.php  با محتویات زیر رو درست میکنیم

mPDF بیشتر تگ های HTML رو پشتیبانی میکنه میتونید لیستش رو ببینید.

در رابطه با دستورات CSS هم بهتره از دستوراتی که چند مقدار باهم میگیرن مثل font رو استفاده نکنید چون کار نمیکنه به جاش از دستورات صریح استفاده کنید مثل font-family, font-size, border-color,...البته تو نسخه ۶٫۱ که اینجوری هست تا الان شاید تو نسخه های بعدی پشتیبانی بهتر بشه.

بعد اینکه ممکنه صفحتون تو مرورگر درست نشون داده بشه ولی تو خروجی mPDF نه، که طبیعی هست چون ممکنه بعضی دستورات هنوز تو mPDF پشتیبانی نشده باشه تو این موارد پیشنهاد میکنم از inline-style تو خود تگ HTML استفاده کنید.

برای اینکه فونت دلخواهتون رو استفاده کنید باید فونت رو در پوشه vendor/mpdf/mpdf/ttfontsقرار بدید برای مثال فونت BYekan رو از اینجا دانلود کنید بعد فایلهای BYekan.ttf و BYekan_bold.ttf رو در پوشه بالا قرار بدید هست.

حالا فایل config_fonts.php در مسیر vendor/mpdf/mpdfرو باز کنید و به آرایه fontdataمقدار زیر رو اضافه کنید

دو مقدار useOTL و useKashida تنظیمات مخصوص فونت های عربی و فارسی هستند میتونید برای توضیحات بیشتر اینجا رو بخونید.

یه نکته خیلی مهم اینکه فونتون باید جدول GDEF رو داشته باشه که این مورد من رو خیلی اذیت کرد چون از همین فونت یکان من هرچی نسخه استفاده میکردم خطا میداد که این جدول رو نداره

البته خوشبختانه به کمک دوست خوبم Erfan Sahafnejad نسخه درستش رو پیدا کردم  و در متن گذاشتم.

 

به روز رسانی 21-10-96

با تشکر از اطلاع رسانی آقای ihnd در نظرات –  میتونید نسخه اصلاح شده بیشتر فونت های معروف فارسی که با این کتابخونه سازگار هستند رو از Standardized Persian Fonts By SCICT یا اینجا دانلود کنید.

جستجو در کل مطالب سایت

نوشته های مشابه