هل تساءلت يومًا عن كيفية تنزيل موقع ويب كامل بسهولة إلى PDF أو JPG؟ بالطبع ، يمكنك استخدام وظيفة “الطباعة” في متصفحك ثم اختيار خيار “حفظ كملف PDF” أو ببساطة التقاط لقطة شاشة له. يصبح الموقف أكثر تعقيدًا قليلاً إذا كان الموقع طويلًا جدًا أو إذا كنت بحاجة إلى تنزيل العديد من مواقع الويب / الصفحات في وقت واحد. أردنا اليوم أن نريكم كيف نقوم بذلك!

سنستخدم لغة Linux shell و bash لتحقيق هذا الهدف بسهولة.

كيفية حفظ موقع ويب إلى PDF – النهج 1

دعونا ننزل 10 صفحات بأرقام متزايدة. لهذا الغرض ، سنستخدم مكتبة wkhtmltopdf التي يمكنك تثبيتها بتشغيل الأمر التالي على أنظمة لينكس التي تعمل بنظام ديبيان:

sudo apt install wkhtmltopdf

بعد ذلك يمكنك إنشاء ملف عن طريق تشغيل:

touch download.sh

وثم

chmod +x download.sh

لجعل الملف قابلاً للتنفيذ. الآن افتح الملف في المحرر المفضل لديك والصق الأسطر التالية.

#!/bin/bash
for i in {1..10}
do
declare url=https://someurl.com/page_$i.xhtml
wkhtmltopdf -s A4 --disable-smart-shrinking --zoom 1.0 $url output_file_$i.pdf
done;

الآن يمكنك حفظ الملف ثم تشغيله بتنفيذ:

./download.sh or sh download.sh

الآن دعونا نشرح:

  1. #! / bin / bash هو خط فتح لنص Bash النصي
  2. بعد ذلك ، نبدأ حلقة يتم تشغيلها 10 مرات ، في كل مرة يتم استبدال $ متغير بأرقام متزايدة.
  3. نعلن عن متغير يسمى “url” والذي سيتعين عليك استبداله بعنوان الصفحة التي تريد تنزيلها.
  4. وأخيرًا ، نقوم بتنزيل الصفحات بالكامل إلى ملفات PDF ، وستتم تسميتها باسم output_file _1.pdf و output_file _2.pdf وما إلى ذلك.

هناك أيضًا معلمة –زوم التي يمكنك زيادتها إذا كانت نسخة PDF لا تشغل صفحة A4 كاملة.

كيفية حفظ موقع ويب إلى PDF – النهج 2

في بعض الأحيان نواجه مشكلات مع مكتبة wkhtmltopdf ، فبعض المواقع الإلكترونية نحصل ببساطة على صفحة فارغة نتيجة لذلك. أفضل حل توصلنا إليه هو استخدام مكتبة “cutycapt”. هكذا كيف تقوم بها:

#!/bin/bash
for i in {1..10}
do
declare url=https://someurl.com/page_$i.xhtml
cutycapt --min-width=1024 --min-height=1280 --zoom-factor=1.0 --url=$url --out=output_page_$i.png
done;

قد تحتاج إلى تثبيت cutycapt أولاً ، بالنسبة للنظام القائم على دبيان ، يمكنك القيام بذلك عن طريق تشغيل:

sudo apt install cutycapt

كما ترون ، فإن أمر cutycapt يشبه إلى حد كبير wkhtmltopdf ، كما أنه يحتوي على معلمة -zoom-factor والتي يمكنك زيادتها لملء الصفحة بأكملها.

كيفية حفظ موقع ويب إلى JPG

هذا نهج مشابه جدًا للطريقة رقم 1. تحتاج إلى استبدال الأمر “wkhtmltopdf” بـ “wkhtmltoimage”. إليك كيف سيبدو النص:

قد تحتاج إلى تثبيت المكتبة عن طريق التشغيل

sudo apt install wkhtmltoimage

ثم قم بإنشاء ملف ولصق:

#!/bin/bash
for i in {1..10}
do
declare url=https://someurl.com/page_$i.xhtml
wkhtmltoimage --width 900 --height 1280 --zoom 1.6 $url output_file_$i.pdf
done;

وبالمثل ، نقوم بتنزيل 10 صفحات وسيتم حفظ الناتج كملف JPG ، يمكننا تحديد حجم JPG عن طريق ضبط – عرض و – ارتفاع المعلمات و – تكبير

كان عنوان المنشور هو “كيفية حفظ موقع ويب كامل إلى PDF” لذا يجب أن تتساءل الآن ، ماذا أفعل بملفات PDF متعددة؟

لدينا إجابة على ذلك أيضًا!

ما عليك سوى فتح جهازك الطرفي في نفس المجلد حيث قمت بتنزيل الصفحات وتشغيل الأمر التالي:

pdfunite $(ls -v *.pdf) output.pdf

مكتبة pdfunite هي ما نستخدمه لربط ملفات PDF متعددة في 1. بإضافة ls -v سوف تتأكد من أن الملفات سيتم ضمها معًا بالترتيب الصحيح 🙂

هذا كل شيء الآن إذا كان لديك أي أسئلة ، يرجى ترك تعليق أدناه.

Open chat
Powered by