مكتبة تحويل Python HTML إلى PDF مفتوحة المصدر
جرب مكتبة Python المجانية والمفتوحة المصدر لتحويل مستندات HTML إلى PDF.
ما هو xhtml2pdf؟
Xhtml2pdf هي مكتبة Python مفتوحة المصدر مصممة لتحويل محتوى HTML إلى مستندات PDF مع التركيز بشكل أساسي على الحفاظ على البنية والتصميم الأصليين. تعمل هذه المكتبة القوية على تحويل صفحات الويب بسلاسة إلى ملفات PDF احترافية جاهزة للطباعة.
الشروع في العمل مع xhtml2pdf
تحتاج إلى إصدار Python 3.8.0 أو أعلى لتثبيت xhtml2pdf واستخدامه. لذا، قم أولاً بتثبيت Python ثم استخدم الأوامر أدناه لتثبيت xhtml2pdf على جهازك باستخدام pip والبيئة الافتراضية.
لينكس
python -m venv env
. env/bin/activate
pip install xhtml2pdf
ماك
python -m venv env
. env/bin/activate
pip install xhtml2pdf
شبابيك
python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf
تحويل سلسلة HTML إلى وثيقة PDF
يمكننا تحويل سلسلة HTML إلى مستند PDF باستخدام مكتبة xhtml2pdf. نقوم بتخزين محتوى HTML الكامل في متغير ثم نقوم بتمرير هذا المتغير إلى الوظيفة pisa.CreatePDF(html_content, dest, encoding). توفر لنا هذه الطريقة محتوى PDF حيث تتم إدارة الارتباطات التشعبية والصور والعناصر الأخرى داخل كائن BytesIO الذي مررناه إليه. وأخيرًا، نقوم بإنشاء ملف PDF باستخدام البيانات المخزنة في كائن BytesIO. تحقق من مقتطف الكود أدناه للحصول على التفاصيل:
انتاج
تعرض لقطة الشاشة أدناه مستند PDF المحول من سلسلة HTML:
تحويل ملف HTML إلى وثيقة PDF
يمكننا أيضًا تحويل ملف HTML إلى PDF باستخدام مكتبة xhtml2pdf. نقرأ محتويات ملف HTML في متغير ثم نمرر هذا المتغير إلى طريقة pisa.CreatePDF(html_content, dest, encoding). بعد ذلك نتبع نفس الخطوات التي شاركناها في المثال السابق لإنشاء مستند PDF باستخدام كائن BytesIO كما هو موضح في مقتطف التعليمات البرمجية أدناه:
انتاج
تعرض لقطة الشاشة أدناه مستند PDF الذي تم تحويله من ملف HTML:
خاتمة
باختصار، xhtml2pdf هي مكتبة Python مفتوحة المصدر تقوم بتحويل HTML إلى مستندات PDF أثناء التعامل مع الارتباطات التشعبية والصور وأوراق الأنماط الخارجية. لا يتضمن xhtml2pdf مكتبات الواجهة الأمامية أثناء تحويل HTML إلى PDF، لذا عندما تكون هناك متغيرات في HTML مثل {{name}}، فإنها تظهر في ملف PDF تمامًا كما هو مكتوب في HTML، بدلاً من إظهار قيمها الفعلية.
بالإضافة إلى ذلك، فهو يفتقر إلى دعم الصفحات الديناميكية التي تعتمد على JavaScript لجلب المحتوى، ولا يتبع التخطيطات المعقدة المحددة بواسطة CSS (على سبيل المثال، يطبق الألوان وأحجام الخطوط وما إلى ذلك المذكورة في CSS ولكنه يتجاهل تخطيط CSS) مثل الحشوات والهامش والعرض وما إلى ذلك). على الرغم من هذه القيود، يظل xhtml2pdf أداة قيمة لاحتياجات تحويل HTML إلى PDF المباشرة والثابتة.