آموزش گام به گام چگونگی تبدیل صفحات وب به PDF با Wget

ابزار های آنلاین، افزونه های مرورگرها و پلاگین های دسکتاپ بسیاری وجود دارند که یک صفحه وب را به PDF تبدیل می کنند. اگر به صورت مرتب از این ابزار استفاده می کنید، احتمالا با حالتی مواجه شده اید که بخواهید چند لینک را در یک مورد ذخیره کنید. انجام این کار به صورت تک تک بسیار خسته کننده و زمان بر است. شما می توانید این کار را به یک روش بسیار ساده، با ابزار خط فرمان به نام Wget به صورت خودکار انجام دهید. با کمک چند اسکریپت یا اپلیکیشن و این ابزار، به شما آموزش می دهیم که چگونه به سادگی چندین صفحه وب را در یک فایل PDF‌ذخیره کنید.

چرا  Wget ؟

Wget  یک بسته نرم افزار یرایگان است که فایل ها را از وب دانلود می کند. هم چنینی یک ابزار عالی برای بازگرداندن همه صفحه وب به کامپیوتر شما هم هست. از جمله دلایل عالی بودن آن می توان به موارد زیر اشاره کرد:

  • غیرتعاملی است، به این معنا که می تواند در پشت زمینه اجرا شود و به شما امکان انتقال داده بدون نیاز به حضور خودتان را فراهم می کند.
  • Wget ساختار دایرکتوری وب سایت را می شناسد. این برنامه می تواند لینک ها را در صفحه HTML دنبال کند تا نسخه محلی از وب سایت را از راه دور بسازد. در طی این فرایند، این برنامه به فایل robots.txt هم احترام می گذارد و توجه می کند.
  • این برنامه هم چنین روی شبکه های کند یا ناپایدار هم کار می کند. اگر سرور از regetting پشتیبانی کند، تلاش می کند همه فایل را به کامپیوتر شما انتقال دهد.
  • Wget از سرورهای پروکسی هم پشتیبانی می کند. این برنامه کمک می کند که بار ترافیکی شبکه کمتر شود، سرعت فرایند بازیابی افزایش یابد و امکان دسترسی با وجود فایروال را هم فراهم می کند.

نصب Wget

 macOS

سریع ترین راه نصب Wget از طریق Homebrew است. Homebrew یک برنامه package manager برای macOS برای نصب ابزارهای Unix مفید و اپلیکیشن های مفید است.

عبارت زیر را تایپ کنید:

brew install wget

فرایند نصب همه ابزارهای مورد نیاز برای Wget برای اجرا روی مک خود را به صورت real-time مشاهده خواهید کرد. اگر قبلا Homebrew را نصب کرده اید، مطمئن شوید که brew upgrade برای دریافت آخرین نسخه این ابزار اجرا شود.

 Windows 10

نسخه های بسیاری از Wget برای ویندوز ۱۰ در دسترس هستند. به Eternally Board بروید و آخرین نسخه ۶۴ بیتی آن را دانلود کنید. فایل اجرایی را در یک پوشه قرار دهید و آن را در درایو C:‌کپی کنید.

از پایین System variables گزینه Path را انتخاب کنید و روی Edit کلیک کنید. سپس روی دکمه New  در گوشه بالای سمت راست پنجره کلیک کنید. C:\wget را تایپ کنید و روی Ok کلیک کنید.
Command Prompt را باز کنید و برای اطمینان از اینکه همه چیز درست کار می کنند، wget-h را تایپ کنید. در PowerShell ، عبارت wget.exe -h را برای باز کردن منو help تایپ کنید.

ذخیره کردن لینک ها در فایل متنی

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

Link Klipper : این افزونه همه لینک ها را در یک صفحه وب در قالب CSV یا فایل متنی TXT فشرده می کند. شما حتی می توانید یک فضای مستطیلی در صفحه وب خود برای انتخاب لینک هایی که می خواهید کپی کنید، بکشید. فایل ها نهایتا در پوشه Download ذخیره می شوند.

Snap Links Plus: این افزونه به شما این امکان را می دهد که المان ها و عناصر را روی یک صفحه کپی کنید و کارهایی که می خواهید را با آن ها انجام دهید. کافی است کلیک راست ماوس را نگه دارید و یک مستطیل انتخابی دور لینک ها بکشید. روی کلید Control ضربه بزنید و لینک های خود را در کلیپ برد کپی کنید.

ایجاد یک پوشه

Wget مانند یک خزنده وب عمل می کند بدین صورت که اجزای صفحات وب مانند: لوگو، فونت ها، تصاویر کوچک، CSS و فایل های جاوا اسکریپت را از فایل های HTML استخراج می کند. هم چنین تلاش می کند که یک ساختار پوشه ای بسازد که سرور ریموت را بسازد. ساختن یک پوشه جدا برای دانلود های wget برای ذخیره صفحات وب و هم چنین جلوگیری از به هم ریختگی و بی نظمی هم جزو کارهای آن است.

روی ترمینال مک خود یا در محیط خط فرمان Command Prompt ویندوز دستور زیر را وارد کنید:

mkdir Wgetdown

این کار باعث ساختن یک پوشه جدید در دایرکتوری Home می شود. شما می توانید این پوشه را به هر اسمی که دوست داشته باشید نام گذاری کنید. حال پس از انجام این کار، دستور زیر را وارد کنید:

cd Wgetdown

این دستور تغییر دایرکتوری است. این کار موجب می شود که دایرکتوری جاری به Wgetdown تغییر پیدا کند.

جزئیات دستورات Wget

پس از ساختن دایرکتوری، ما از دستور واقعی Wget استفاده می کنیم:

 

[wget -E -H -k -K -p -i [Path to Your Text File

Wget‌ از GNU getopt برای پردازش آرگومان های خط فرمان استفاده می کند. هر گزینه هم فرم بلند و هم فرم کوتاه دارد. گزینه های بلند و طولانی راحت به خاطر سپرده می شوند اما به زمان زیادی برای تایپ کردن نیاز دارند. ممکن است شما استایل های مخنلف را با هم ترکیب کنید. در ادامه جزئیات هر کدام از آن ها را بررسی می کنیم:

  • (E (–adjust-extension: اگر یک فایل نوع “app/xhtml+xml” یا “text/html” دانلود شد و آدرس URL آن با HTML به پایان نمی رسید، این گزینهHTML را به نام فایل اضافه می کند.
  • (H (–span-hosts: وقتی می خواهید لینک ها را به صورت بازگشتی، بازیابی کنید، ممکن است نخواهید اطلاعات غیر ضروری هم بارگذاری شوند. با استفاده از Wget می توانید فقط لینک ها  خاص را دنبال کنید. این قابلیت به host spanning باز می گردد که به Wget این امکان را می دهد به صورت بازگشتی اجرا شود تا هر هاستی را که به وسیله لینک مرجع خورده است، را پیدا کند. به عنوان مثال، تصاویر از یک هاست متفاوت می آیند.
  • (p (–page-requisites: این گزینه همه فایل هایی که برای نمایش صفحه HTMLلازم هستند را دانلود می کند. از جمله آن ها می توان به تصاویر inline، صدا و صفحات گسترده با مرجع اشاره کرد.
  • (k (–convert-links: این گزینه لینک های داخل سند را تبدیل می کند تا آن ها را برای نمایش آفلاین متناسب سازد. این مورد شامل تصاویر تعبیه شده توکار، لینک های صفحه گسترده، ابرلینک های محتواهای غیر HTML ای و موارد دیگر است.
  • (K (–backup-converted: هنگام تبدیل یک فایل، این گزینه نسخه اصلی را با یک پسوند .orig پشتیبان می گیرد.
  • (i (–input-file: آدرس های URL را از یک مسیر به فایل محلی یا خارجی شما می خواند.

استفاده از دستورات در عمل

برای شرح این دستورات به صورت کاربردی و عملی، یک وبسایت دستی که Writing Workflows نامیده می شود را در نظر بگیرید. این سایت شامل محتوای جدولی با یک لینک به فصل های جدا از هم است. هدف پایانی این است که یک فایل PDF جدا از این قسمت ها ساخته شود.

گام اول: Terminal را باز کرده و یک پوشه جدید بسازید.

گام دوم: از افزونه Link Klipper برای ذخیره لینک هایتان در قالب فایل متنی استفاده کنید. فایل خود را در پوشه Downloads ذخیره کنید.

گام سوم: زمانی که در پوشه Wgetdown هستید، دستور زیر را تایپ کنید:

wget -E -H -k -K -p -i /Users/rahulsaigal/Downloads/links.txt

گام چهارم: منتظر بمانید تا فرایند کامل شود.

گام پنجم: به پوشه Wgetdown بروید. در اینجا پوشه processedword.net دامنه اولیه را مشاهده می کنید که همه صفحات وب و chapter1.html در آن هستند.

تبدیل HTML به PDF

تبدیل یک ثفحه وب به یک فایل PDF بسیار ساده است. اما اینکه دقیقا مشابه صفحه وب اصلی به نظر برسند، دشوار است. رسیدن به نتیجه قابل قبول بستگی به موارد زیر دارد:

  • فونت های سیستم در دسترس باشند.
  • نشانه گذاری HTML یکپارچه باشد.
  • ویژگی های مورد نیاز برای پشتیبانی از جدول ها و تصاویر شناور در دسترس باشند.
  • فهرست محتوا به صورت اختیاری موجود باشد.

Windows 10

PrinceXML  اپلیکیشنی است که به سرعت فایل های HTML را به PDF تبدیل می کند. این برنامه شما را قادر می سازد که نوع داده، فرمت و پرینت محتوای HTML را با قالب قابل پیکر بندی و استانداردهای وب پشتیبانی کنید. این برنامه فونت های کاربردی بسیاری دارد و هم چنین به شما این امکان را می دهد که خروجی PDF را سفارشی سازی کنید. این اپلیکیشن برای استفاده غیر تجاری رایگان است.

macOS

در مک، شما می توانید یک سرویس خودکار برای تبدیل دسته ای فایل های HTML  به PDF استفاده کنید. برای این کار کافی است Automator  را باز کنید و یک سند Quick Action بسازید. تنظیمات سرویس را به گونه ای انجام دهید که فایل ها یا پوشه ها را از Finder دریافت کنند. سپس آن ها را در Run Shell Script بکشید و گزینه Pass input را روی as arguments قرار دهید. حال، اسکریپت را در بدنه بچسبانید.

for theFileToProcess in "$@"
do
cupsfilter "$theFileToProcess" > "${theFileToProcess%.*}.pdf"
done

فایل را با عنوان  HTML2PDF ذخیره کنید.

حال همه فایل های HTML را در Finder پیدا کنید. کلیک راست کرده و Services > HTML2PDF را انتخاب کنید. چند لحظه صبر کنید تا همه فایل ها تبدیل شوند.

شما از چه روشی برای تبدیل صفحات وب به PDF استفاده می کنید؟ نظرات و تجربیات خود را با ما در میان بگذارید.

دیدگاهتان را بنویسید