Imagemagick، یک ابزار خط فرمان است که برای انجام انواع تغییرات بر روی تصاویر استفاده می‌شود.

 

 

نصب Imagemagick در اوبونتو

برای نصب Imagemagick در اوبونتو کافیست، دستور زیر را در ترمینال وارد نمایید:

sudo apt-get install imagemagick -y

خروجی دستور بالا به صورت زیر خواهد بود:

 

این مطلب نیز ممکن است برای شما مفید باشد: نصب imagick در دایرکت ادمین

 

تبدیل PDF به تصویر

برنامه‌های وب که با pdf کار می‌کنند، گاهی اوقات نیاز به ایجاد یک تصویر بزرگ یا تصویر بندانگشتی (thumbnail) از pdf بارگذاری شده دارند. در این مقاله، از imagemagick برای تبدیل pdfها به تصاویر استفاده شده است.

ساده‌ترین دستور برای انجام این کار به صورت زیر است:

$ convert demo.pdf demo.jpg

دستور بالا، تصویری با فرمت jpg از روی فایل pdf تولید می‌کند.

اگر فایل pdf دارای چندین صفحه باشد، imagemagick چندین فایل تصویر با نام‌های demo-1.jpg ،demo-2.jpg و ... برای همه صفحات موجود در فایل pdf ایجاد می‌نماید.

برای تبدیل تنها یک صفحه خاص از فایل pdf از دستور زیر استفاده کنید.

$ convert demo.pdf[2] demo.jpg

در دستور بالا، عدد 2 در داخل پرانتز نشان‌دهنده شماره صفحه است. بدین صورت که عدد 0 به معنای صفحه اول است و سپس برای هر صفحه 1 واحد افزایش می‌یابد.

 

رفع خطای مجوز

هنگام استفاده از دستور بالا ممکن است خطای زیر را دریافت نمایید:

convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert-im6.q16: no images defined `cc.jpg' @ error/convert.c/ConvertImageCommand/3258.

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

$ sudo nano /etc/ImageMagick-6/policy.xml

و خطوط زیر را کامنت نمایید:

<!-- disable ghostscript format types -->
  <!-- <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="PS2" />
  <policy domain="coder" rights="none" pattern="PS3" />
  <policy domain="coder" rights="none" pattern="EPS" />
  <policy domain="coder" rights="none" pattern="PDF" />
  <policy domain="coder" rights="none" pattern="XPS" /> -->

سپس فایل را ذخیره کرده و دستور را دوباره اجرا نمایید. اکنون بدون هیچ مشکلی باید دستور اجرا شود.

 

ایجاد تصویر بند انگشتی از روی PDF

برای ایجاد تصویر بند انگشتی، تصویر باید با استفاده از گزینه‌های ‘scale’، ‘thumbnail’ یا ‘resize’ کوچک شود.

نمونه‌ای از آن به صورت زیر است:

$ convert -thumbnail x300 demo.pdf[2] demo.jpg

در بالا با توجه به نسبت ابعاد pdf اصلی، یک تصویر کوچک با ارتفاع 300 پیکسل و عرض متناسب با آن ایجاد می‌شود.

 

اگر pdf شفافیت داشته باشد، مقیاس بندی ممکن است منجر به ایجاد تصویری شود که در آن تمام ناحیه‌های سفید به سیاه تبدیل شده‌اند. برای رفع این مشکل می‌توان از گزینه ‘flatten’ به صورت زیر استفاده کرد:

$ convert -thumbnail x300 demo.pdf[2] -flatten demo.jpg

دستور بالا، یک زمینه سفید در نواحی شفاف قرار می‌دهد.

 

افزایش وضوح

چنانچه از دستور بالا استفاده کرده باشید، حتماً متوجه شده‌اید که متن موجود در تصویر، شفاف یا واضح نیست. این مشکل را می‌توان با استفاده از گزینه ‘density’ برطرف کرد.

برای این گرینه از اعداد محدوده 175 استفاده نمایید. اعداد این محدوده را آنقدر آزمایش کنید تا به سطح وضوح مطلوب برسید.

$ convert -density 200 demo.pdf[2] demo.jpg

 

ایجاد انیمیشن GIF از همه صفحات

ابزار Imagemagick حتی می‌تواند، از تمام صفحات pdf، یک انیمیشن gif ایجاد کند. بدین منظور کافیست از دستور زیر استفاده نمایید:

$ convert -thumbnail x300 -delay 100 demo.pdf demo.gif

گزینه ‘delay’، تاخیر انیمیشن را تعیین می‌کند.

 

کیفیت و فشرده سازی برای jpg

کیفیت یا سطح فشرده سازی تصاویر jpg را می‌توان با استفاده از گزینه ‘quality’ تعیین کرد.

$ convert demo.pdf[0] -scale x800 -quality 75  -flatten demo75.jpg

همانطور که می‌دانید فشرده سازی کمتر، منجر به تصویر با کیفیت بالاتر و حجم بیشتر فایل می‌شود.

 

 

 

منبع:

binarytides