جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'pdf'.
1 نتیجه پیدا شد
-
استفاده از فونت های فارسی در فاکتور PDF + کمک برای رفع مشکلات
amir00 پاسخی ارسال کرد برای یک موضوع در نرمافزار ، اسکریپت و اصلاحیه
سلام دوستان من چند مدته دنبال راهی برای استفاده از فونت های فارسی توی خروجی PDF پرستاشاپ میگردم. دو راه وجود داره که هردو مشکلاتی داره که اینجا هر دو را مطرح میکنم تا با کمک دوستان بتونیم حلشون کنیم ان شا الله... قبل از هر چیز باید تذکر بدم که این دو روش به طور کامل جواب نمیدن، به همین دلیل اون را روی نسخه های اصلی و درحال کار فروشگاهتون نصب نکنید که اگر مشکلی پیش اومد گردن ما نندازید. 1- از اونجا که پرستا شاپ از کتابخانه TCPDF استفاده میکنه و درون توماتوشاپ هم از همین کتابخانه استفاده میشه یک راه پیشنهادی یکی از دوستان توماتو کار در لینک زیر پیشنهاد داده که با افزودن فونت های ایشون به کتابخانه TCPDF در پرستاشاپ میشه جواب گرفت. فقط مشکل این روش این هست که بعضی کاراکتر ها با فاصله چاپ میشن و خروجی یه کم به هم ریخته میشه لینک دانلود فونت ها: http://forum.tomatoshop.ir/Thread-%D9%81%D8%A7%DA%A9%D8%AA%D9%88%D8%B1-%D8%A8%D8%A7-%D8%AF%D9%88-%D9%81%D9%88%D9%86%D8%AA-%DB%8C%D8%A7%D9%82%D9%88%D8%AA-%D9%88-%D9%86%D8%A7%D8%B2%D9%86%DB%8C%D9%86 بعد از دانلود فونت ها اونها را در پوشه زیر کپی کنید: prestashop/tools/tcpdf/fontsو بعد فایل PDFGenerator.php را از آدرس زیر باز کرده و تغییراتی که در ادامه میگم را توش اعمال کنید: مسیر: prestashop/classes/pdf/PDFGenerator.phpیک آرایه درونش هست که مربوط به فونت های پیش فرض برای زبانهای مختلف هست که باید درون آرایه مقابل fa نام یکی از فونت های دانلود شده را بنویسید. 'fa' => 'dejavusans',را تغییر بدید به 'fa' => 'nazaninb',با این کار خروجی فاکتور شما با فونت نازنین میشه اما همونطور که گفتم یکسری مشکلاتی داره. راه حل دوم 2- راه حل دوم اینکه باید با خود کتابخانه TCPDF یک فونت فارسی .ttf را به فونت استاندارد TCPDF دربیارید. برای این کار از کد زیر استفاده میکنیم: $pdf->addTTFfont('E:\Fonts\Font irani\BYEKAN.TTF', 'TrueTypeUnicode', '', 32);(فونت تبدیل شده در پیوست مطلب هست، فایل های را منتقل کنید به پوشه فونت tcpdf در پرستاشاپ) متد addTTFfont میاد و فونت را از آدرس مربوطه میخونه و به سه فایل مورد نیاز TCPDF تبدیل میکنه و خودش اون را درون پوشه فونت این کتابخانه یعنی prestashop/tcpdf/fonts میریزه. حالا باید دوتا تغییر درون فایل PDFGenerator.pdf بدید اول: باید فونت را برای فارسی تغییر بدید. یعنی 'fa' => 'dejavusans',را تغییر بدید به 'fa' => 'byekan',دوم: باید متد معرفی فونت را در همین فایل پیدا کنید و تغییر بدید یعنی: $this->setFont($this->font);را تغییر دهید به $this->setFont($this->font, '', 16,'',FALSE);با این کار فونت فارسی به درستی جواب میده و تمامی کاراکتر ها را بدون فاصله و بدون مشکل میاره اما مشکل اصلی این روش این هست که کاراکاترهای انگلیسی درون فاکتور را به جاشون یک مربع میذاره از دوستان خواهش دارم هر دو روش را روی نسخه های آزمایشی که نصب دارند تست کنند تا با هم دنبال راهی بگردیم برای حل کامل این مشکل.