omid.sandi
2 سال پیش توسط omid.sandi مطرح شد
27 پاسخ

استفاده از mpdf

سلا به همگی
من دنبال یک پکیج خوب برای خروجی گرفتن از یکی از صفحات سایتم به صورت PDF هستم
اکثر پکیج هارو امتحان کردم
بهترینشون domPDF بود که متاسفانه زبان فارسی رو پشتیبانی نمیکرد
خیلیا گفته بودن mPDF زبان فارسی ر و پشتیبانی میکنه
موقع استفاده از mPDF وقتی میخام خروجی بگیرم
یک پی دی اف خالی برام میسازه
کسی میتونه راهنماییم کنه

 تصویر
اگر یک پکیج خوب برای لاراول 9 میشناسید ممنون میشم بهم معرفی کنید
چند روزه درگیر این موضوع هستم ولی به نتیجه ای نرسیدم :/


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش آپدیت شد
0

طبق گفته مدیر پروژه mdpf در لینک گیت هابی که ارسال کردم، متاسفانه این پکیج (mpdf ) هنوز از نسخه ۳ پکیج psr/log نمی‌تونه پشتیبانی کنه و تنها راهش downgrade کردن این پکیج به نسخه ۲ هست.

اول پکیج mpdf رو حذف کنیدو بعد پکیج psr/log رو به نسخه ۲ بیارید. بعد مجددا mpdf رو نصب کنید.

ضمنا اگر از لاراول استفاده می‌کنید پیشنهادم استفاده از پکیج زیر هست که پشت صحنه وابسته به همون mpdf هست ولی مقداری کار کردن باهاش لذت بخش‌تر و راحت‌تره:
https://github.com/niklasravnsborg/laravel-pdf

(البته در هر دو حالت نیازمند downgrade پکیج psr/log به نسخه ۲ هستید)


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
0

@saeiidm

کاش یک تاپیک مجزا ایجاد می‌کردید...

فونت ها رو از storage به public منتقل کنید و آدرس دهیش رو هم مثل نمونه ای که بالاتر ارسال کردم در فایل config/pdf.php از پوشه public انجام بدید ببینید فرقی می‌کنه.


omid.sandi
تخصص : برنامه نویس و طراح سایت
@omid.sandi79 2 سال پیش مطرح شد
0

@saeiidm
داخل فایل کانفیگ شما فقط فونت رو تعریف کردی
مقدار دیفالت فونت رو باید برابر myFont قرار بدی


سعید محمدی
@saeiidm 2 سال پیش مطرح شد
0

@saeiidm
انجام دادم فرقی نکرد متاسفانه


سعید محمدی
@saeiidm 2 سال پیش مطرح شد
0

@omid.sandi79
قبلا استفاده کردم داخل لاراول 5 به خوبی کار میکرد
الان اسم فونت هم درست کردم و حتی فایل کانفیگ رو هم از پابلیک گذاشتم بخونه بازم فرقی نکرد


omid.sandi
تخصص : برنامه نویس و طراح سایت
@omid.sandi79 2 سال پیش مطرح شد
0

@saeiidm
اسم فونت رو به چه صورت درست کردید؟


سعید محمدی
@saeiidm 2 سال پیش مطرح شد
0

@omid.sandi79

<?php

return [
    'mode'                  => 'utf-8',
    'format'                => 'A4', /* 'A5-L' */
    'author'                => 'example.com',
    'subject'               => '',
    'keywords'              => '',
    'creator'               => 'Laravel Pdf',
    'display_mode'          => 'fullpage',
    'tempDir'               => storage_path('app/public/temp/'),
    'font_path'             => public_path('vendor/fonts/'),
    'font_data'             => [
        'IRANSans' => [
            'R'  => 'IRANSans-web.ttf',    // regular font
            'B'  => 'IRANSans-web.ttf',    // regular font
            //'B'  => 'IRANSans-Bold-web.ttf',       // optional: bold font
            // 'I' => 'ExampleFont-Italic.ttf',     // optional: italic font
            //'BI' => 'ExampleFont-Bold-Italic.ttf' // optional: bold-italic font
            'useOTL' => 0xFF,    // required for complicated langs like Persian, Arabic and Chinese
            'useKashida' => 75,  // required for complicated langs like Persian, Arabic and Chinese
        ]
    ]
];
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>body{font-family: 'IRANSans'}</style>
<title></title>
</head>
<body>
<p>سلام</p>
</body>
</html>

فونت هارو هم انتقال دادم به مسیر

public\vendor\fonts

سعید محمدی
@saeiidm 2 سال پیش مطرح شد
0

@omid.sandi79
@mhyeganeh

درست شد ممنون از هر دو بزرگوار
مشکل تو مسیر دهی بود و باید فایل css رو بصورت زیر وارد سند html میکردم

<link rel="stylesheet" href="/assets/css/app.css" />

سپاس 🙏


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام