کتابخانه تبدیل Python HTML به PDF منبع باز
این کتابخانه رایگان و منبع باز Python را برای تبدیل HTML به اسناد PDF امتحان کنید.
xhtml2pdf چیست؟
Xhtml2pdf یک کتابخانه منبع باز پایتون است که برای تبدیل محتوای HTML به اسناد PDF با تمرکز اصلی بر حفظ ساختار اصلی و سبک طراحی شده است. این کتابخانه قدرتمند به طور یکپارچه صفحات وب را به PDF های حرفه ای آماده برای چاپ تبدیل می کند.
شروع کار با xhtml2pdf
برای نصب و استفاده از xhtml2pdf به نسخه 3.8.0 یا بالاتر پایتون نیاز دارید. بنابراین، ابتدا Python را نصب کنید و سپس از دستورات زیر برای نصب xhtml2pdf بر روی دستگاه خود با استفاده از pip و مجازی محیط.
لینوکس
python -m venv env
. env/bin/activate
pip install xhtml2pdf
MacOS
python -m venv env
. env/bin/activate
pip install xhtml2pdf
ویندوز
python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf
تبدیل رشته HTML به سند PDF
ما می توانیم یک رشته HTML را با استفاده از کتابخانه xhtml2pdf به یک سند PDF تبدیل کنیم. ما محتوای کامل HTML را در یک متغیر ذخیره میکنیم و سپس آن متغیر را به تابع pisa.CreatePDF(html_content, dest, encoding) منتقل میکنیم. این روش محتوای PDF را در اختیار ما قرار می دهد که در آن لینک ها، تصاویر و سایر عناصر در یک شی BytesIO مدیریت می شوند که ما به آن ارسال کرده ایم. در نهایت، با استفاده از داده های ذخیره شده در شی BytesIO یک فایل PDF ایجاد می کنیم. برای جزئیات، قطعه کد زیر را بررسی کنید:
خروجی
تصویر زیر سند PDF تبدیل شده از رشته HTML را نشان می دهد:
تبدیل فایل HTML به سند PDF
همچنین می توانیم با استفاده از کتابخانه xhtml2pdf یک فایل HTML را به PDF تبدیل کنیم. محتویات فایل HTML را در یک متغیر می خوانیم و سپس آن متغیر را به روش pisa.CreatePDF(html_content, dest, encoding) منتقل می کنیم. پس از آن، همان مراحلی را که در مثال قبلی به اشتراک گذاشتیم، برای ایجاد سند PDF با استفاده از شی BytesIO دنبال می کنیم، همانطور که در قطعه کد زیر نشان داده شده است:
خروجی
تصویر زیر سند PDF تبدیل شده از فایل HTML را نشان می دهد:
نتیجه گیری
به طور خلاصه، xhtml2pdf یک کتابخانه پایتون منبع باز است که اسناد HTML را به PDF تبدیل می کند و در عین حال لینک ها، تصاویر و شیوه نامه های خارجی را مدیریت می کند. xhtml2pdf در هنگام تبدیل HTML به PDF شامل کتابخانه های جلویی نمی شود، بنابراین وقتی متغیرهایی مانند {{name}} در HTML وجود دارد، به جای اینکه مقادیر واقعی خود را نشان دهند، دقیقاً همانطور که در HTML نوشته شده است در PDF ظاهر می شوند.
علاوه بر این، از صفحات پویا که برای واکشی محتوا به جاوا اسکریپت وابسته هستند پشتیبانی نمیکند، و از طرحبندیهای پیچیده مشخصشده توسط CSS پیروی نمیکند (به عنوان مثال، رنگها، اندازههای فونت و غیره را که در CSS ذکر شده است را اعمال میکند اما CSS طرحبندی را نادیده میگیرد. مانند بالشتک، حاشیه، نمایشگر و غیره). با وجود این محدودیتها، xhtml2pdf یک ابزار ارزشمند برای نیازهای تبدیل استاتیک HTML به PDF است.