تبدیل HTML به PDF در PHP

  • آپدیت شده در تاریخ

تبدیل HTML به PDF در PHP

Pdf یک فرمت فایل ساخته شده توسط شرکت Adobe برای نمایش متن و عکس ها در قالب یک سند است . Pdf برای دانلود حجم زیادی از اطلاعات متنی و عکس در وب استفاده می شود.

برای دانلود محتویات یک صفحه وب بصورت فایل Pdf ، با آموزش تبدیل HTML به PDF همراه باشید .

در این آموزش به شما راحت ترین راه برای تبدیل HTML به PDF در PHP  را آموزش می دهیم.

Dompdf یک کتابخانه PHP برای تبدیل HTML به PDF است . با استفاده از کتابخانه Dompdf شما به راحتی می توانید قابلیت ایجاد فایل های PDF را در پروژه های وب خود اضافه کنید. مثلا اگردرحال انجام یک پروژه فروشگاهی هستید شاید نیاز باشد برای اشخاص حقوقی که محصولات شما را خریداری می کنند ، فاکتور فروش را به صورت یک فایل pdf  خروجی بگیرید و تحویل مشتری بدهید که مطمینا حس خوبی را به خریدار منتقل می کند.

در این مقاله آموزشی یک اسکریپت ساده برای تبدیل HTML به PDF در PHP توسط Dompdf را در اختیار شما قرار دادیم.

نصب و راه اندازی

نسخه پایدار (stable) dompdf را از GitHub دانلود کنید . فایل های دانلود شده را اکسترکت و برای خوانایی و عدم تداخل با کتابخانه های دیگر پروژه به “dompdf” تغییر نام بدهید. Php-font-lib را از GitHub دانلود کنید و در دایرکتری dompdf/lib اکسترکت کنید Php-svg-lib را از GitHub دانلود کنید و در دایرکتری dompdf/lib اکسترکت کنید

ساخت نمونه از کلاس Dompdf

با استفاده از کد زیر فایل لود کلاس را فراخوانی و از آن یک نمونه از آن را بسازید

استفاده ابتدایی

فقط کافیست که محتویات html را به متد loadHtml پاس بدید و خروجی pdf بگیرید

استفاده پیشرفته

کد php زیر یک فایل pdf از html میسازد . همچنین به شما امکان پیشنمایش یا دانلود را نیز می دهد. برای این منظور آدرس فایل یا آدرس URL را به تابع file_get_contents بدید تا خروجی فایل PDF را دریافت کنید

آپشن ها

Dompdf گزینه های زیادی برای تنظیمات ساخت pdf را در اختیار شما قرار می دهد . از این لینک می توانید لیست کلیه option  ها را در اختیار شما قرار میدهد

جمع بندی

این مقاله اسکریپت تبدیل HTML به PDF را در اختیار شما قرار میدهد. Dompdf یکی از پرکاربردترین کتابخانه های php است که به راحتی می توانید در پروژه های خود از آن استفاده کنید. Dompdf قابلیت های پیشرفته زیادی را برای ساخت pdf را ارایه می دهد. برای مثال می توانید از این قابلیت برای تحویل فاکتور فروش یا لیست سفارشات اخیر مشتری یا .. به صورت PDF استفاده کنید.

اگر قصد توسعه یا ویرایش یا اضافه کردن قابلیت ها مختلفی از آن را داشتید لطفا در نظرات این نوشته ارسال کنید مرسی.

موفق و پیروز باشید.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۴)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. علی ۲۴ خرداد ۱۳۹۹

    سلام.ببخشید این که گفتین برای اینکه فارسیش درست بشه باید با کامپوزر انجامش بدین ، روی هاست سی پنل چی کنیم؟؟چونکه من فقط بلدم روی لوکال از کامپوزر استفاده کنم.

    پاسخ
    1. حسن شفیعی ۲۴ خرداد ۱۳۹۹

      سلام. روی هاست اشتراکی نمیتونید کامند اجرا کنید. پس ابتدا داخل لوکال این کار رو انجام بدید و بعد اسکریپت رو انتقال بدید به هاست.
      موفق باشید.

      پاسخ
      1. علی ۲۵ خرداد ۱۳۹۹

        خیلی ممنون.فقط من شنیدم که وقتی یه چیزی رو با کامپوزر نصب میکنی دیگه نمیتونی فولدر ایجاد شده رو همینجوری کپی کنی و انتقال بدی و اگه اینکارو کنی کار نمیکنه.حقیقت داره؟

        پاسخ
      2. حسن شفیعی ۲۵ خرداد ۱۳۹۹

        نه این مورد درست نیست. کامپوزر فقط یک ابزاری هست که یک سری فایل ها رو از سروری دانلود و بعد autoloader کلاس های اون رو ایجاد میکنه و بعد هر جای پروژه میتونید استفاده کنید. پس براحتی میتونید روی لوکال بسازید و به هاست منتقل کنید.

        پاسخ
  2. سعید ۲۹ مرداد ۱۳۹۷

    با سلام و وقت بخیر.
    ممنون از آموزش خوبتون
    من ی صفحه وب دارم ک خودم ساختم و توش چند تا جدول هست و مقادیر داخل این جدول از دیتابیس میاد و با php توی این جدولا رو پر میکنه.
    من میخام ی دکمه بزارم و این این صفحه وب رو بصورت pdf یا ورد و یا حتی اکسل بگیرم.
    نمیخام مقادبر رو از دیتابیس بگیرم
    مقادیر رو از دیتابیس آوردم رو صفحه الان میخام همبن صفحه رو بگیرم .
    با دستور شما زدم نشد.
    ممنون میشم کمکم کنید

    پاسخ
    1. حسن شفیعی ۲۹ مرداد ۱۳۹۷

      سلام. ممنون. خوشحالم که مفید واقع شده.
      شما باید یه صفحه جدا از این کتابخانه ایجاد و یک درخواست رو مثل یک فرم به صفحه مورد نظر برای دریافت فایل pdf ارسال کنید یا اینکه از ajax بهره ببرید.
      موفق باشید.

      پاسخ
  3. مهدی ۲۳ مرداد ۱۳۹۷

    سلام این انگلیسیه اموزشی نداری ک توضیح بده چجوری فارسیش کنیم

    پاسخ
    1. حسن شفیعی ۲۴ مرداد ۱۳۹۷

      سلام . کافیه کتابخانه mpdf رو با استفاده از کامپوزر نصب کنید (آموزش composer)
      composer require mpdf/mpdf
      و بعد به اینصورت ازش برای ساخت pdf از صفحه وب بهره ببرید.

      موفق باشید

      پاسخ
      1. سید مرتضی ۹ اردیبهشت ۱۳۹۸

        سلام . کدی که دادین برای mpdf کار نمیکنه . روش خاصی اگه داره یه مطلب در مورد اونم بذارین تو سایت و لینکشو در پاسخ به این پیامم بفرستین 🙂
        ممنون

        پاسخ
      2. حسن شفیعی ۱۱ اردیبهشت ۱۳۹۸

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

        پاسخ
  4. عرفان زیده سرایی ۲۶ خرداد ۱۳۹۷

    سلام و خسته نباشید. از زبان فارسی پشتیبانی نمیکنه ؟؟؟

    پاسخ
    1. حسن شفیعی ۲۶ خرداد ۱۳۹۷

      سلام . ممنون . پشتیبانی میشه و یکسری موارد رو باید درنظر بگیرید که کامل در این صفحه قابل مشاهده است.

      https://github.com/dompdf/dompdf/wiki/UnicodeHowTo

      البته فقط این استایل رو می تونید استفاده کنید ولی راست به چپ کاراکترها تشخیص داده نمیشه : font-family: DejaVu Sans !important

      اگر باز نیاز شما رو رفع نکرد میتونید از کتابخانه https://github.com/mpdf/mpdf هم استفاده کنید که بسیار راحت تر هستش.

      موفق باشید.

      پاسخ
  5. امیر ۲۰ خرداد ۱۳۹۷

    سلام .
    ممنون از این اموزش خوب .
    منتهی بعد دانلود pdf لودش نمیکنه ارور میده .
    Couldn’t open PDF
    Something’s keeping this PDF from opening.

    باید چیکار کرد به نظرتون ؟

    پاسخ
    1. حسن شفیعی ۲۱ خرداد ۱۳۹۷

      سلام . خوشحالم که مفید واقع شده . بار دیگر تست شد همچنین مشکلی مشاهده نکردیم .
      سورس کد تست شده رو در باکس دانلود, دریافت و مجددا تست کتید و اگر مشکل رفع نشد, کد خود رو کامل قرار بدید تا بررسی و حل بشه.
      تبدیل HTML به PDF در PHP
      موفق باشید.

      پاسخ
دوره های آموزشی

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link