۲ سلمان غلامی
خروجی فایل pdf
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۴ اسفند ۱۴۰۱

سلام وقتتون بخیر

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

ممنونم

سلام،

کار کردن با این کتابخانه‌های بسیار ساده است ضمن اینکه example code هاشون هم داخل داکیومنتشون هست.

برای مثال با dompdf این مثال رو میتونید پیاده کنید:

require_once __DIR__ . '/vendor/autoload.php';
use Dompdf\\Dompdf;
$name = '7Learn.com';
$email = 'info@7Learn.com';
$message = 'Test Message';
$html = '

Test

'
; $html .= '

Name: '. $name .'

'
; $html .= '

Email: '. $email .'

'
; $html .= '

Message: '. $message .'

'
; $dompdf = new Dompdf(); $dompdf->loadHtml($html); $dompdf->setPaper('A4', 'landscape'); $dompdf->render(); $dompdf->stream();

مقادیر $name و $email و $message میتونه از form ارسال بشه و با $_POST دریافت کنید.

برای نصب این کتابخونه:

composer require dompdf/dompdf
محسن موحد ۲۴ اسفند ۱۴۰۱، ۲۰:۵۷

سلام وقتتون بخیر

کتابخونه dompdf رو نصب کردم، مشکلی که الان هست تو این پروژه سیستم autoload رو پیاده کردیم


spl_autoload_register(function ($class) {
    $class_file = __DIR__ . "/$class.php";
    //  $class_file_pdf = __DIR__ . '/vendor/autoload.php';
    if (file_exists($class_file) && is_readable($class_file)) {
        include $class_file;
        //include $class_file_pdf;
    } else {
        die("Class Error !!!");
    }
});

الان برای اینکه از کتابخونه dompdf استفاده کنم چطوری باید اون فایل autoload کتابخانه رو اضافه کنم؟ (حتما باید اضافه بشه؟)

فایلی هم که خروجی pdf رو درست میکنه به این صورت پیاده کردم ولی به فایل autoload خطا میده


namespace Exporter;
use Dompdf\\Dompdf;
class PdfExporter extends Exporter
{
    //Export PDF ---
    protected $format = ".pdf";
    public function export()
    {
        $file_name = "pdf-file" . rand(200, 800) . $this->format;
        $file_path = __DIR__ . "/files/pdf/$file_name";
        echo 'PDF Ok!';
        $name = $this->data['title'];
        $email = $this->data['content'];
        $html = 'Test';
        $html .= 'Name: ' . $name . '';
        $html .= 'Email: ' . $email . '';
        $dompdf = new Dompdf();
        $dompdf->loadHtml($html);
        $dompdf->setPaper('A4', 'landscape');
        $dompdf->render();
        $dompdf->stream();
    }
}

ممنون میشم راهنمایی کنید

سلمان غلامی ۲۵ اسفند ۱۴۰۱، ۱۵:۵۱