A2PING(1) Peter Szabo A2PING(1)

a2ping.pl - تبدیل بین قالب‌های PS، EPS، PDF و سایر قالب‌های توصیف صفحه


a2ping.pl [--]help
a2ping.pl [--]doc
a2ping.pl [options] <inputfile> [[outformat:] outputfile]

a2ping یک ابزار خط فرمان UNIX نوشته‌شده به زبان Perl است که بسیاری از قالب‌های تصویر شطرنجی و گرافیک برداری را به EPS یا PDF و سایر قالب‌های توصیف صفحه تبدیل می‌کند. قالب‌های فایل ورودی پذیرفته‌شده عبارتند از: PS (PostScript)، EPS، PDF، PNG، JPEG، TIFF، PNM، BMP، GIF، LBM، XPM، PCX، TGA. قالب‌های خروجی پذیرفته‌شده عبارتند از: EPS، PCL5، PDF، PDF1، PBM، PGM، PPM، PS، markedEPS، markedPS، PNG، XWD، BMP، TIFF، JPEG، GIF، XPM. a2ping کارهای سطح پایین را به Ghostscript (GS)، pdftops و sam2p واگذار می‌کند. a2ping بسیاری از ایرادات جزئی را در حین تبدیل EPS به EPS برطرف می‌کند، بنابراین خروجی آن اغلب سازگارتر و برای جاسازی در اسناد دیگر، بهتر از ورودی آن است.

بدون گزینهٔ "--below"، تضمین می‌شود که خروجی از مختصات 0,0 آغاز شود. گزینه‌های "--below"، "--hires" و "-v" گزینه‌های توصیه‌شده هستند.

اندازهٔ صفحه دقیقاً متناظر با BoundingBox تنظیم می‌شود. این بدان معناست که وقتی Ghostscript آن را رندر می‌کند، نتیجه نیازی به برش (crop) ندارد و MediaBox در PDF نیز درست است.

البته اگر کادر احاطه‌کننده (bounding box) درست نباشد، دچار مشکل خواهید شد. اگر ورودی بی‌کیفیت و نادرست بدهید، خروجی مشابهی دریافت خواهید کرد. اما می‌توانید گزینهٔ --bboxfrom=compute-gs را مشخص کنید تا GS کادر احاطه‌کننده را مجدداً محاسبه کند.

نام فایل ورودی اهمیتی ندارد -- a2ping قالب فایل را بر اساس چند بایت اول فایل تشخیص می‌دهد. نام فایل خروجی زمانی اهمیت دارد که outformat در خط فرمان قید نشده باشد: در این صورت پسوند فایل خروجی، نوع قالب فایل (outformat) را مشخص می‌کند.

قالب فایل داخلی a2ping.pl به‌صورت PS/EPS است. هر آنچه خوانده می‌شود ابتدا به PS یا EPS تبدیل شده، سپس توسط a2ping.pl پردازش می‌شود و در نهایت به قالب خروجی تبدیل می‌گردد.

برای تحلیل کادر احاطه‌کننده و سایر ویژگی‌های فایل‌های PS غیر EPS (و فایل‌های EPS با گزینه‌ای به‌جز =guess برای --bboxfrom)، از GS استفاده می‌شود. تبدیل PS به EPS شامل این تحلیل است.

برای نوشتن فایل‌های PDF، از GS استفاده می‌شود.

برای خواندن فایل‌های PDF، ابزار pdftops از بستهٔ xpdf به کار گرفته می‌شود.

قالب‌های ورودی نمونه‌برداری‌شده عبارتند از PNG، JPEG، TIFF، PNM، BMP، GIF، LBM، XPM، PCX و TGA. برای خواندن قالب‌های ورودی نمونه‌برداری‌شده، از sam2p استفاده می‌شود. sam2p یک مبدل تصویر شطرنجی است که توسط نویسندهٔ a2ping.pl به زبان C++ نوشته شده است.

قالب‌های خروجی اضافی عبارتند از PNG، XWD، BMP، TIFF، JPEG، GIF و XPM. برای نوشتن قالب‌های خروجی اضافی، از sam2p و GS استفاده می‌شود.

قالب‌های خروجی PNM عبارتند از PGM، PGM و PPM. برای تولید قالب‌های خروجی PNM، از GS استفاده می‌شود.

نمایش خلاصه‌ای از روش استفاده
نمایش صفحهٔ راهنما (man page)
نمایش پیام‌های پیشرفت و اشکال‌زدایی (پیش‌فرض: no)

--(no)hires
استفاده از HiResBoundingBox در فایل ورودی، در صورت وجود (پیش‌فرض: yes)
--(no)exact
استفاده از ExactBoundingBox در فایل ورودی، در صورت وجود (پیش‌فرض: no)
--(no)keepoldmediabox
فقط نگه‌داشتن MediaBox قدیمی مبتنی بر [0 0] در PDF (پیش‌فرض: no)
روش تعیین BoundingBox (پیش‌فرض: guess)
--(no)below
اجازه دادن به محتوای صفحه در پایین و سمت چپ مبدأ مختصات (پیش‌فرض: no)

--(no)compress
استفاده از فشرده‌سازی (پیش‌فرض: best)
--(no)antialias
رندر کردن سایه‌ها در خطوط پیرامونی. مقادیر ممکن: (=scale3yes =no =yes) (پیش‌فرض: scale3no)
--(no)lossy
مجاز دانستن فیلترهای تصویری اتلافی (EPS->PDF) (پیش‌فرض: yes)
(پیش‌فرض: default) (bp)
حداقل مقدار رنگ برای تبدیل بیت‌های 8->1 (پیش‌فرض: 128)

--(no)tmpunlink
حذف فایل‌های موقت (پیش‌فرض: yes). اگر می‌خواهید فایل‌های میانی را بررسی کنید از --notmpunklink استفاده نمایید.
مسیر برنامهٔ Ghostscript (پیش‌فرض: gs یا gswin32c)
مسیر Ghostscript برای محاسبهٔ BoundingBox (پیش‌فرض: gs یا gswin32c)
ارسال آرگومان‌های اضافی به gs
ارسال آرگومان‌های اضافی به برنامهٔ خارجی (مانند pdftops).SH "نکات و ترفندها (TIPS AND TRICKS)"
  • اگر فایل EPS شما دارای کادر احاطه‌کننده (bounding box) نادرستی باشد، می‌توانید با اجرای دستور زیر آن را برطرف کنید: "a2ping.pl -v --bboxfrom=compute-gs thefile.eps --"
  • می‌توانید - را به عنوان inputfile مشخص کنید تا ورودی از stdin دریافت شود و به عنوان outputfile تا خروجی به stdout ارسال گردد. این قابلیت حتی برای فایل‌های PDF (که باید دارای قابلیت seek باشند) نیز کار می‌کند، زیرا a2ping آن‌ها را به‌طور خودکار در یک فایل موقت کپی می‌کند.
  • اگر inputfile و outputfile یکسان باشند، a2ping ابتدا inputfile را در یک مکان موقت کپی می‌کند. با این حال، این شیوه استفاده تنها در صورتی توصیه می‌شود که یک نسخه پشتیبان از فایل برای بازیابی وجود داشته باشد، در صورتی که a2ping نتیجه مطلوب را حاصل نکند.
  • اگر -- را به عنوان outputfile تعیین کنید، همانند inputfile در نظر گرفته خواهد شد.
  • برنامه a2ping از گزینه --Duplex برای قالب FileFormat با مقدار PCL5 پشتیبانی می‌کند، حتی با اینکه GS این کار را انجام نمی‌دهد.
  • اگر یک فایل PS ناسازگار دارید که GS قادر به خواندن آن است اما چاپگر شما نمی‌تواند آن را چاپ کند، فقط دستور زیر را اجرا کنید: "a2ping.pl foo.ps PDF: - | a2ping.pl - PS: foo.ps"
  • اگر یک فایل PS مربوط به Win32 دارید (که اغلب با پسوند ".prn" است)، آن را از طریق a2ping اجرا کنید. این کار تغییرات وضوح و متن پیشرفت چاپ‌شده در ترمینال را حذف می‌کند (متنی که باعث سردرگمی gv(1) شده و سبب می‌شود برخی از فیلترها در صف چاپ خروجی نادرست تولید کنند).
  • برنامه a2ping هنگام تولید یک تصویر نمونه‌برداری‌شده (قالب‌های پرونده‌ای مانند PGM و PPM)، لبه‌زدایی و ضددندانه‌ای‌سازی (--antialias=scale3no) را روی گلیف‌ها و منحنی‌ها اعمال می‌کند. این کار خوانایی گلیف‌ها را بهبود می‌بخشد. گزینه =yes به GS دستور می‌دهد تا ضددندانه‌ای‌سازی داخلی را انجام دهد، اما معمولاً بهبود چندانی حاصل نمی‌کند. گزینه =scale3no ضددندانه‌ای‌سازی داخلی GS را خاموش می‌کند، اما باعث می‌شود همه چیز را ۳×۳ برابر بزرگ‌تر رندر کرده و سپس مقیاس آن را به پایین بازگرداند. مقدار =scale3no هر دوی مقیاس‌بندی ۳×۳ و ضددندانه‌ای‌سازی داخلی GS را فعال می‌کند که منجر به خطوط ضخیم‌تر و به‌طور کلی کیفیت نامناسب‌تر می‌شود.
  • هنگام ایجاد یک فایل PBM، ضددندانه‌ای‌سازی معمولاً کیفیت را بهبود نمی‌بخشد، بنابراین به‌طور پیش‌فرض غیرفعال است. اما اگر --antialias=scale3no یا --antialias=scale3yes را تنظیم کنید، GS یک فایل PGM را رندر می‌کند و مقدار --threshold حداقل شدت روشنایی را برای رنگ سفید در PBM نهایی تعیین می‌کند.
  • اگر به فایل خروجی نمونه‌برداری‌شده بزرگ‌تری نیاز دارید، مقدار بیشتری را برای --Resolution مشخص کنید. مقدار پیش‌فرض --Resolution=72 است. اگر فایل خروجی نمونه‌برداری‌شده شما قرار است بسیار بزرگ باشد، باید برای افزایش سرعت تبدیل، به جای مقدار پیش‌فرض --AntiAlias=scale3no از گزینه --AntiAlias=yes استفاده کنید.
  • برای اطمینان از اینکه فونت‌ها در فایل PDF تولیدشده از eps گنجانده می‌شوند، از گزینه --gsextra='-dEmbedAllFonts=true -dPDFSETTINGS=/printer' استفاده کنید.

  • به نام فایل یا پسوند فایل ورودی وابستگی ندارد.
  • تبدیل از EPS به PDF: اشکالات جزئی و موارد مشابه را رفع کرده و gs -sDEVICE=pdfwrite را فراخوانی می‌کند.
  • تبدیل از EPS به EPS: اشکالات گوناگون را رفع کرده، مختصات (llx,lly) را به (0,0) منتقل می‌کند، داده‌های زاید باینری را از ابتدای فایل EPS حذف می‌کند و غیره.
  • تبدیل از PDF به PDF: فایل را بدون تغییر و دست‌نخورده نگه می‌دارد.
  • تبدیل از PDF به EPS: دستور pdftops -eps (از بسته xpdf) را فراخوانی می‌کند.
  • تبدیل از PS به EPS: تنها صفحه اول را نگه می‌دارد، setpagedevice و موارد مشابه را حذف می‌کند.

نویسنده a2ping، Peter Szabo <pts@fazekas.hu> است.

برنامه a2ping الهام‌گرفته از اسکریپت پرل epstopdf (اصلاح‌شده توسط Thomas Esser در سپتامبر ۱۹۹۸) و از نظر تاریخی مبتنی بر آن است، اما تغییرات او از a2ping حذف شده‌اند و همچنین a2ping و epstopdf دیگر هیچ کد مشترکی با یکدیگر ندارند. اسکریپت epstopdf توسط Sebastian Rahtz برای Elsevier Science نوشته شده است. همچنین epstopdf شامل ترفندهای اضافی برگرفته از texutil اثر Hans Hagen بود.

برنامه a2ping شامل مشارکت‌های چندین نفر است؛ برای اطلاعات بیشتر به فایل HISTORY.txt مراجعه کنید. با سپاس از همه کسانی که در توسعه آن مشارکت کردند!

2019-11-28 a2ping