کتابخانه رایگان پایتون برای تبدیل HTML و CSS به PDF
کتابخانه منبع باز پایتون امکان تولید اسناد PDF از HTML را فراهم میکند. این کتابخانه از چیدمان پیشرفته صفحه، رندر تصاویر و جداول، افزودن فونتهای سفارشی، سرصفحه/پاصفحه و غیره پشتیبانی میکند.
کتابخانه XHTML2PDF چیست؟
در دنیای توسعه وب، نیاز به تولید اسناد PDF از محتوای HTML یک نیاز رایج است. چه برای ایجاد فاکتورها، گزارشها یا هر نوع سند قابل چاپ دیگری باشد، داشتن ابزاری قابل اعتماد برای انجام این تبدیل حیاتی است. اینجا جایی است که XHTML2PDF، یک کتابخانهٔ قدرتمند متنباز پایتون، به کمک میآید. html2pdf (که قبلاً به نام pisa شناخته میشد) یک کتابخانهٔ خالص پایتون است که HTML (از جمله XHTML) و CSS را به اسناد PDF تبدیل میکند. این کتابخانه بر پایهٔ ابزار ReportLab و html5lib ساخته شده و با پشتیبانی اختیاری از PyPDF کار میکند. بدون وابستگی به پلتفرم و در دسترس، به توسعهدهندگان امکان میدهد محتوای وب خود را به سرعت و بهطور مؤثر به PDFهای قابل چاپ تبدیل کنند.
XHTML2PDF پر از ویژگیهایی است که آن را به ابزاری چندمنظوره برای تولید PDF تبدیل میکند. این کتابخانه از HTML5 و CSS 2.1 پشتیبانی میکند، ادغام یکپارچه با Django دارد، رابط خط فرمان قدرتمندی ارائه میدهد، برچسبهای خاص PDF سفارشی، چیدمان و استایل پیشرفته صفحه، پشتیبانی بهتر از جداول و تصاویر و غیره. چیزی که XHTML2PDF را برای توسعهدهندگان جذاب میکند سادگی و انعطافپذیری آن است. اگر میدانید چگونه HTML و CSS بنویسید، میتوانید به سرعت با این کتابخانه PDF تولید کنید. این یک کتابخانهٔ خالص پایتون است، به این معنی که مستقل از پلتفرم بوده و میتواند بر روی هر سیستمعاملی که پایتون را پشتیبانی میکند اجرا شود. همچنین مهم است که از محدودیتهای کتابخانه آگاه باشید؛ این کتابخانه تمام مشخصات CSS را پشتیبانی نمیکند و جاوااسکریپت را اجرا نمیکند.
شروع کار با XHTML2PDF
XHTML2PDF میتواند با استفاده از pip نصب شود؛ دستورات زیر در صورت وجود یک wheel پایتون برای پلتفرم شما، آن را نصب میکند.
نصب XHTML2PDF با pip
pip install xhtml2pdf کلون مخزن از طریق GitHub
git clone https://github.com/xhtml2pdf/xhtml2pdf.git همچنین میتوانید آن را به صورت دستی نصب کنید؛ فایلهای آخرین نسخه را مستقیماً از مخزن GitHub دانلود کنید.
تبدیل HTML و CSS به PDF با پایتون
عملکرد اصلی کتابخانه منبع باز XHTML2PDF تجزیه HTML و CSS (از جمله سبکهای درونخطی) و رندر دقیق آنها به یک سند PDF است. این کتابخانه از زیرمجموعه گستردهای از تگهای HTML و ویژگیهای CSS پشتیبانی میکند و امکان انعطافپذیری قابل توجهی در طراحی را فراهم میآورد. ویژگیهایی مانند شکست صفحه، سرصفحه و پاورقی، حاشیهها و اندازه صفحه، تعبیه فونتها و غیره را پشتیبانی میکند. مثال ساده زیر نشان میدهد که چگونه توسعهدهندگان نرمافزار میتوانند محتویات HTML را از طریق کد پایتون به یک فایل PDF تبدیل کنند.
چگونه محتوای HTML را به فایل PDF تبدیل کنیم با استفاده از پایتون؟
from xhtml2pdf import pisa
# محتوای HTML که باید تبدیل شود
html_content = """
سلام، دنیا!
این اولین PDF من است که با XHTML2PDF تولید شده است.
"""
# نام فایل PDF خروجی
output_filename = "hello_world.pdf"
# فایل خروجی را در حالت نوشتن باینری باز کنید
with open(output_filename, "w+b") as pdf_file:
# Create the PDF
pisa_status = pisa.CreatePDF(
html_content, # the HTML to convert
dest=pdf_file) # file handle to receive result
# بررسی کنید آیا ایجاد PDF موفقیتآمیز بوده است
if not pisa_status.err:
print(f"Successfully created PDF: {output_filename}")
else:
print(f"Error creating PDF: {pisa_status.err}")
پشتیبانی پیشرفته از چیدمان صفحه و قلمهای سفارشی
با کتابخانه XHTML2PDF، توسعهدهندگان نرمافزار کنترل دقیقتری بر چیدمان صفحات PDF خود دارند. آنها میتوانند اندازه صفحه، حاشیهها و جهتگیری را با استفاده از قانون CSS @page تعریف کنند. توسعهدهندگان همچنین میتوانند سرصفحهها و پاورقیهای سفارشی برای اسناد خود ایجاد کنند. علاوه بر این، اگر نیاز به استفاده از فونتهای خاص در PDFهای خود داشته باشید، این کتابخانه امکان تعبیه فونتهای سفارشی را فراهم میکند. این ویژگی بهویژه برای برندینگ و اطمینان از تایپوگرافی یکسان در تمام اسناد مفید است.
رندر تصاویر و جداول PDF با کتابخانه پایتون
کتابخانه منبع باز XHTML2PDF پشتیبانی قوی برای رندر جداول و تصاویر در PDFهای شما فراهم میکند. میتوانید جداول خود را با استفاده از CSS استایل دهید و برای تصاویر میتوانید اندازه و تراز آنها را کنترل کنید. این کتابخانه میتواند به راحتی و بهدرستی تصاویر، فونتها و سایر داراییهای ثابت را حل و درونریزی کند، که برای تولید PDFهای خودکفا حیاتی است. میتوانید بهصورت خودکار فهرست مطالب را با افزودن ساده تگ
پشتیبانی از HTML5 و CSS 2.1
اگر با HTML و CSS آشنا باشید، بازآفرینی PDFها با استایلگذاری بهصورت شهودی انجام میشود—بدون منحنی یادگیری جدید. کتابخانه XHTML2PDF پشتیبانی عالی از استانداردهای مدرن وب دارد، از جمله HTML5 و CSS 2.1، و تا حدی از ویژگیهای CSS 3 پشتیبانی میکند. این به این معنی است که میتوانید از تگهای HTML و ویژگیهای CSS آشنا برای ساختاردهی و استایلگذاری اسناد PDF خود استفاده کنید، همانطور که برای یک صفحه وب انجام میدهید.