راهنمای کاربری Pnmtops(1) General Commands Manual راهنمای کاربری Pnmtops(1)

pnmtops - تبدیل تصاویر Netpbm (PNM/PAM) به زبان توصیف صفحه PostScript

pnmtops [-scale=s] [-dpi=N[xN]] [-imagewidth=n] [-imageheight=n] [-width=N] [-height=N] [-equalpixels] [-bitspersample=N] [-turn|-noturn] [-rle|-runlength] [-flate] [-ascii85] [-nocenter|-center] [-nosetpage|-setpage] [-level=N] [-dict] [-vmreclaim] [-psfilter] [-noshowpage] [-verbose] [pnmfile]

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

این برنامه بخشی از Netpbm(1)است.

دستور pnmtops جریان تصویر Netpbm را به عنوان ورودی خوانده و خروجی پست‌اسکریپت کپسوله‌شده (EPSF) تولید می‌کند.

(توجه: افراد معمولاً این نام را به صورت «PostScript» می‌نویسند، اما ما در مستندات Netpbm از قواعد نگارش استاندارد استفاده می‌کنیم، بنابراین فقط حرف اول را بزرگ می‌نویسیم).

اگر فایل ورودی رنگی (PPM) باشد، pnmtops یک فایل پست‌اسکریپت رنگی تولید می‌کند. برخی مفسرهای پست‌اسکریپت توانایی پردازش پست‌اسکریپت رنگی را ندارند. اگر با چنین مفسری کار می‌کنید، ابتدا باید تصویر خود را با دستور ppmtopgm پردازش و تبدیل کنید.

اگر هیچ گزینه‌ای برای ابعاد خروجی مشخص نکنید، ابعاد تصویر خروجی به گونه‌ای تعیین می‌شود که گویی گزینه -scale=1.0 را مشخص کرده‌اید؛ این بدان معناست که تقریباً ۷۲ پیکسل از تصویر ورودی یک اینچ در خروجی تولید می‌کند (در صورتی که در صفحه جا شود).

از گزینه‌های -imagewidth، -imageheight، -equalpixels، -width، -height و -scale برای تنظیم این مقادیر استفاده کنید.

هر تصویر در جریان ورودی به یک برنامه پست‌اسکریپت تک‌صفحه‌ای کامل در خروجی تبدیل می‌شود. (ممکن است این بهترین روش برای ایجاد یک جریان پست‌اسکریپت چندصفحه‌ای نباشد؛ فردی مسلط به پست‌اسکریپت باید روی این موضوع کار کند).

خط بالای فایل تولیدشده توسط pnmtops یا «%!PS-Adobe-3.0 EPSF-3.0» است یا فقط «%!PS-Adobe-3.0». این اعداد نشان‌دهنده سطح زبان پست‌اسکریپت نیستند، بلکه نسخه مشخصات توضیحات DSC و مشخصات EPS پیاده‌سازی‌شده را نشان می‌دهند. سطح زبان پست‌اسکریپت در توضیح «%%LanguageLevel:» قرار دارد. در صورتی که گزینه -setpage را مشخص کنید، pnmtops عبارت «EPSF-3.0» را حذف می‌کند، زیرا اگر فایل از setpagedevice استفاده کند، ادعای سازگاری با EPS نادرست خواهد بود.

پست‌اسکریپت کپسوله‌شده (EPSF) زیرمجموعه‌ای از پست‌اسکریپت است (یعنی مجموعه جریان‌هایی که با EPSF مطابقت دارند، زیرمجموعه‌ای از آن‌هایی هستند که با پست‌اسکریپت مطابقت دارند). این قالب به گونه‌ای طراحی شده است که یک جریان EPSF بتواند درون یک جریان پست‌اسکریپت دیگر گنجانده شود. یک دلیل متداول برای این کار، داشتن جریان EPSF حاوی تصویری است که می‌خواهید درون یک سند بزرگ‌تر قرار دهید.

اما EPSF یک فرمت تصویر نیست -- تبدیل از فرمت Netpbm به EPSF در واقع به معنای تولید برنامه‌ای برای چاپ آن تصویر Netpbm روی کاغذ است. توجه داشته باشید که روش‌های بی‌شماری برای چاپ تصویر روی کاغذ وجود دارد؛ گزینه‌های خط فرمان pnmtops به شما امکان می‌دهند برخی از آن‌ها را کنترل کنید.

یک سند پست‌اسکریپت کپسوله‌شده با DSC (قرارداد ساختاردهی سند) مطابقت دارد. این استاندارد (DSC) برخی توضیحات پست‌اسکریپت را تعریف می‌کند (این موارد از دیدگاه پست‌اسکریپت فقط کامنت هستند، اما از دیدگاه DSC ارزش معنایی دارند).

اطلاعات بیشتر درباره پست‌اسکریپت کپسوله‌شده در پیوند زیر موجود است: http://www.tailrecursive.org/postscript/eps.html(1).

بسیاری از ایده‌های موجود در pnmtops از ابزار bmeps اثر Dirk Krause گرفته شده است. بخش همچنین ببینید را مشاهده کنید.

علاوه بر گزینه‌های مشترک در تمام برنامه‌های مبتنی بر libnetpbm (به‌ویژه -quiet، بخش گزینه‌های مشترک را ببینید)، pnmtops گزینه‌های خط فرمان زیر را می‌شناسد:

عرض و ارتفاع مورد نظر تصویر روی صفحه را بر حسب اینچ مشخص می‌کند. نسبت تصویر حفظ می‌شود؛ بنابراین اگر هر دوی این گزینه‌ها را مشخص کنید، تصویر روی صفحه بزرگ‌ترین تصویری خواهد بود که درون کادری با این ابعاد جا می‌گیرد.

اگر این ابعاد بزرگ‌تر از اندازه صفحه باشند، خروجی پست‌اسکریپت از صفحه بیرون می‌زند.

نمی‌توانید از imagewidth یا imageheight همراه با -scale یا -equalpixels استفاده کنید.

این گزینه باعث می‌شود تصویر خروجی تعداد پیکسل‌های برابری با تصویر ورودی داشته باشد. بنابراین اگر دستگاه خروجی دارای دقت ۶۰۰ dpi باشد و عرض تصویر شما ۳۰۰۰ پیکسل باشد، عرض تصویر خروجی ۵ اینچ خواهد بود.

نمی‌توانید از -equalpixels همراه با -imagewidth، -imageheight یا -scale استفاده کنید.

این گزینه تعداد بیت‌های هر مؤلفه از هر پیکسل را در خروجی پست‌اسکریپت تعیین می‌کند. به طور پیش‌فرض، pnmtops مقداری را متناسب با بیشینه مقدار روشنایی (maxval) در ورودی PNM و با رعایت محدودیت‌های زبان پست‌اسکریپت انتخاب می‌کند. به ویژه، اگر سطح ۲ پست‌اسکریپت (-level) را به همراه فیلترهای توکار پست‌اسکریپت (-psfilter) انتخاب نکنید، حداکثر بیت در هر پیکسل ۸ خواهد بود.

مقدار باید ۱، ۲، ۴، ۸ یا ۱۲ باشد، که مقدار ۱۲ محدود به حالتی است که در بالا توضیح داده شد.

این گزینه در Netpbm 10.51 (ژوئن ۲۰۱۰) اضافه شده است.

اندازه تصویر را روی صفحه مشخص می‌کند. مقدار آن بیانگر تعداد اینچ‌هایی از تصویر خروجی است که می‌خواهید ۷۲ پیکسل از ورودی تولید کند.

اما pnmtops این عدد را به مقداری گرد می‌کند که مضرب صحیحی از پیکسل‌های دستگاه خروجی باشد. برای مثال، اگر دستگاه خروجی ۳۰۰ dpi باشد و شما -scale=1.0 را مشخص کنید، ۷۵ پیکسل (و نه ۷۲ پیکسل) از ورودی به یک اینچ خروجی تبدیل می‌شود (۴ پیکسل خروجی به ازای هر پیکسل ورودی). توجه داشته باشید که گزینه -dpi به pnmtops می‌گوید دستگاه خروجی چند پیکسل در هر اینچ تولید می‌کند.

اگر اندازه مشخص‌شده در صفحه جا نشود (که توسط گزینه‌های -width و -height یا اندازه پیش‌فرض صفحه یعنی ۸.۵ در ۱۱ اینچ سنجیده می‌شود)، pnmtops گزینه -scale را نادیده می‌گیرد، یک هشدار صادر می‌کند و تصویر را برای قرارگیری در صفحه مقیاس‌بندی می‌کند.

این گزینه وضوح تصویر دستگاه خروجی را بر حسب نقطه در اینچ (DPI) مشخص می‌کند. مقدار پیش‌فرض ۳۰۰ dpi است. در تئوری، پست‌اسکریپت مستقل از دستگاه است و نیازی به نگرانی در این مورد نیست، اما در عمل اگر پیکسل‌های دستگاه و پیکسل‌های تصویر هماهنگ نباشند، رندر شطرنجی (رستر) آن ممکن است دارای خطوط و نوارهای نازیبا شود.

همچنین این گزینه برای عملکرد گزینه equalpixels بسیار حیاتی است.

اگر مقدار را به صورت NxN مشخص کنید، عدد اول وضوح افقی و عدد دوم وضوح عمودی است. اگر فقط یک عدد N را مشخص کنید، همان وضوح در هر دو جهت اعمال می‌شود.

این گزینه‌ها ابعاد صفحه‌ای را که خروجی قرار است روی آن چاپ شود، بر حسب اینچ مشخص می‌کنند. این کار می‌تواند بر اندازه تصویر خروجی تأثیر بگذارد.

البته هنگامی که گزینه‌های -imagewidth، -imageheight یا -equalpixels را مشخص کنید، اندازه صفحه هیچ تأثیری نخواهد داشت.

این گزینه‌ها همچنین ممکن است بر موقعیت تصویر روی صفحه و حتی کاغذی که توسط چاپگر/پلاتر هنگام چاپ خروجی انتخاب (یا برش) داده می‌شود تأثیر بگذارند. گزینه -nosetpage را ببینید.

مقدار پیش‌فرض ۸.۵ در ۱۱ اینچ است.

این گزینه‌ها چرخش ۹۰ درجه‌ای تصویر را کنترل می‌کنند. به طور معمول، اگر چرخاندن تصویر باعث جاگیری بهتر آن در صفحه شود (برای مثال عرض تصویر بیشتر از ارتفاع آن باشد، اما ارتفاع صفحه بیشتر از عرض آن باشد)، تصویر به طور خودکار می‌چرخد تا بهتر در صفحه جا شود. اگر گزینه -turn را مشخص کنید، pnmtops تصویر را صرف‌نظر از شکل آن می‌چرخاند؛ اگر -noturn را مشخص کنید، pnmtops تصویر را تحت هیچ شرایطی نمی‌چرخاند.
این گزینه‌های یکسان به pnmtops دستور می‌دهند که از فشرده‌سازی طول اجرا (RLE) در کدگذاری تصویر در برنامه پست‌اسکریپت استفاده کند. این کار ممکن است در صورت کند بودن اتصال رایانه به چاپگر در زمان صرفه‌جویی کند؛ اما به طور معمول زمان پردازش چاپگر غالب است، بنابراین -rle تأثیری ندارد (و در نبود بافرسازی، حتی ممکن است کار را کندتر کند).

با این حال، این کار می‌تواند حجم برنامه پست‌اسکریپت را به طور چشمگیری کاهش دهد.

این گزینه معمولاً در تصاویر رنگی همراه با -psfilter هیچ کمکی نمی‌کند، زیرا در آن حالت، برنامه پست‌اسکریپت تولیدشده توسط pnmtops مقادیر قرمز، سبز و آبی هر پیکسل را کنار هم قرار می‌دهد، به این معنی که توالی‌های طولانی از بایت‌های یکسان تنها در حالت نامحتمل یکسان بودن مقادیر قرمز، سبز و آبی برای مجموعه‌ای از پیکسل‌های مجاور رخ می‌دهد. اما بدون -psfilter، برنامه پست‌اسکریپت ابتدا تمام مقادیر قرمز، سپس تمام مقادیر سبز و بعد تمام مقادیر آبی را قرار می‌دهد، بنابراین توالی‌های طولانی در هر جایی که بخش‌های طولانی از یک رنگ وجود داشته باشد ظاهر می‌شوند.

در ادامه توضیحی از Jef Poskanzer آمده است درباره اینکه چرا گزینه -rle را ابداع کرد:

چند ساعت وقت صرف اصلاح فیلتر pbmtops خود کردم تا خروجی پست‌اسکریپت با کدگذاری طول اجرا تولید کند. نتایج برای من چشمگیر نیست - بله، فایل‌ها کوچک‌تر شده‌اند، اما زمان چاپ تقریباً یکسان است. البته من از طریق شبکه چاپ می‌کنم. اگر با خط سریال کار می‌کردید، این یک موفقیت بزرگ بود. من یک برنامه نمونه تولیدشده توسط فیلترم را ضمیمه کرده‌ام. اگر کسی روشی برای بهبود کد می‌بیند، لطفاً به من اطلاع دهد، من چندان هکر حرفه‌ای پست‌اسکریپت نیستم. این نسخه از pbmtops در ماه اکتبر در comp.sources.misc و expo.lcs.mit.edu توزیع خواهد شد. - جف (Jef)

این متن از تالار گفتگویی درباره پست‌اسکریپت (http://www.lngpstscrpt.tk/re-postscript-run-length-encoding-again) استخراج‌شده در اکتبر ۲۰۱۰ است. جف گزینه ‎-rle را در اوت ۱۹۸۸ اضافه کرد. در آن روزها، خطوط RS-232 (که در نقل قول به عنوان «سریال» به آن‌ها اشاره شده) معمولاً دارای سرعت ۹۶۰۰ بیت بر ثانیه بودند. خطوط ۲۴۰۰ بیت بر ثانیه نیز هنوز وجود داشتند. آنچه در این نقل قول «شبکه» نامیده شده احتمالاً یک اتصال اترنت ۱۰ مگابیت بر ثانیه است.

این گزینه به pnmtops دستور می‌دهد از فشرده‌سازی «flate» استفاده کند (یعنی فشرده‌سازی از طریق کتابخانه «Z» -- مشابه فرمت PNG).

برای اطلاعات درباره فشرده‌سازی به طور کلی، گزینه -rle را ببینید.

در صورت تعیین -flate، باید گزینه -psfilter را نیز مشخص کنید.

نسخه‌های جدیدی از pnmtops وجود دارند که قادر به انجام فشرده‌سازی flate نیستند؛ این نسخه‌ها بدون کتابخانه Z ساخته شده‌اند و طوری کامپایل شده‌اند که نیازی به آن نداشته باشند. اگر از چنین نسخه‌ای استفاده می‌کنید، در صورت تعیین -flate برنامه با یک پیام خطای توضیحی متوقف می‌شود.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است.

پیش از Netpbm 10.32 (فوریه ۲۰۰۶)، امکان تعیین همزمان -rle و -flate وجود نداشت.

به طور پیش‌فرض، pnmtops از کدگذاری «asciihex» برای تصویر شطرنجی (رستر) استفاده می‌کند. تصویر شطرنجی جریانی از بیت‌ها است، در حالی که برنامه پست‌اسکریپت یک متن است، بنابراین باید یک روش کدگذاری از بیت‌ها به متن وجود داشته باشد. کدگذاری asciihex همان نمایش رایج هگزادسیمال بیت‌ها است؛ برای مثال ۸ بیت با مقدار ۱ به صورت دو نویسه «FF» کدگذاری می‌شوند.

با استفاده از گزینه -ascii85، برنامه pnmtops در عوض از کدگذاری «ascii85» استفاده می‌کند. این کدگذاری ۳۲ بیت را در پنج نویسه متنی فشرده می‌کند. بنابراین، برای یک تصویر شطرنجی یکسان، متن کمتری نسبت به asciihex تولید می‌کند. اما ascii85 در سطح ۱ پست‌اسکریپت پشتیبانی نمی‌شود، در حالی که asciihex پشتیبانی می‌شود.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است.

برنامه pnmtops می‌تواند دو نوع مختلف از برنامه‌های پست‌اسکریپت کپسوله‌شده را برای نمایش تصویر تولید کند. به طور پیش‌فرض، برنامه‌ای تولید می‌کند که دستور readstring را به صورت سفارشی بازتعریف کرده و به فیلترهای توکار پست‌اسکریپت متکی نیست. اما با گزینه -psfilter، دستور pnmtops کاری به readstring ندارد و از فیلترهای توکار پست‌اسکریپت /ASCII85Decode، /ASCIIHexDecode، /RunLengthDecode و /FlateDecode استفاده می‌کند.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است. پیش از آن، pnmtops همیشه از readstring سفارشی استفاده می‌کرد.

کد سفارشی توانایی انجام کدگذاری flate یا ascii85 را ندارد، بنابراین در صورت نیاز به آن‌ها باید از -psfilter استفاده کنید (گزینه‌های -flate و -ascii85 را ببینید).

این گزینه سطح (شماره نسخه) زبان پست‌اسکریپت مورد استفاده توسط pnmtops را تعیین می‌کند. به طور پیش‌فرض، pnmtops از سطح ۲ استفاده می‌کند. برخی قابلیت‌های pnmtops تنها در سطوح بالاتر پست‌اسکریپت در دسترس هستند؛ بنابراین اگر سطحی بیش از حد پایین را برای تصویر و گزینه‌های خود تعیین کنید، pnmtops با خطا متوقف می‌شود. برای مثال، pnmtops نمی‌تواند تصویر رنگی را در سطح ۱ پردازش کند.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است. پیش از آن، pnmtops همیشه از سطح ۲ استفاده می‌کرد.

این گزینه باعث می‌شود برنامه پست‌اسکریپت یک دیکشنری مجزا برای متغیرهای محلی خود ایجاد کرده و هنگام خروج آن را از پشته حذف کند.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است.

این گزینه باعث می‌شود برنامه پست‌اسکریپت هنگام خروج، فرآیند آزادسازی حافظه (Garbage Collection) را اجبار کند.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است.

به طور پیش‌فرض، pnmtops تصویر را در مرکز صفحه خروجی قرار می‌دهد. با استفاده از گزینه -nocenter می‌توانید کاری کنید که تصویر به جای مرکز، در گوشه پایین سمت چپ صفحه قرار گیرد. این ویژگی برای برنامه‌هایی مناسب است که می‌توانند فایل‌های پست‌اسکریپت را در بر گیرند اما با تصاویری که در گوشه پایین سمت چپ قرار نگرفته‌اند سازگاری ندارند.

اگر می‌خواهید تصویر را در موقعیت دلخواهی روی صفحه قرار دهید، از pamcomp برای ایجاد تصویری از کل صفحه استفاده کنید به طوری که تصویر مورد نظر در جای مناسب قرار گیرد و بقیه صفحه سفید باشد، سپس از pnmtops برای تبدیل نتیجه به پست‌اسکریپت کپسوله‌شده استفاده کنید.

برای سازگاری با گذشته، pnmtops گزینه -center را می‌پذیرد اما این گزینه هیچ تأثیری ندارد.

این گزینه باعث می‌شود pnmtops یک دستورالعمل «setpagedevice» را در خروجی بگنجاند. این کار باعث نقض مشخصات پست‌اسکریپت کپسوله‌شده EPSF می‌شود، اما اگر قصد ندارید فایل را به صورت کپسوله‌شده استفاده کنید، ممکن است دقیقاً همان چیزی باشد که نیاز دارید. این دستورالعمل به چاپگر/پلاتر می‌گوید از چه اندازه کاغذی استفاده کند (یا آن را برش دهد). ابعادی که در این دستورالعمل مشخص می‌شود همان ابعادی است که توسط گزینه‌های -width و -height انتخاب شده یا به طور پیش‌فرض در نظر گرفته شده است.

از ژانویه تا مه ۲۰۰۲، رفتار پیش‌فرض گنجاندن «setpagedevice» بود و این گزینه وجود نداشت. پیش از ژانویه ۲۰۰۲، راهی برای گنجاندن «setpagedevice» وجود نداشت و هیچ‌یک از گزینه‌های -setpage یا -nosetpage وجود نداشتند.

به pnmtops دستور می‌دهد دستورالعمل «setpagedevice» را در خروجی نگنجاند. این رفتار پیش‌فرض است، بنابراین این گزینه تأثیری ندارد.

برای پیشینه این گزینه، به گزینه -setpage مراجعه کنید.

به pnmtops دستور می‌دهد دستورالعمل «showpage» را در خروجی نگنجاند. به طور پیش‌فرض، pnmtops یک دستور «showpage» در انتهای برنامه EPSF می‌گنجاند. طبق مشخصات EPSF، این کار مجاز است و برنامه‌ای که EPSF را درون خود می‌گنجاند باید showpage را بازتعریف کند تا رفتار ناخواسته‌ای رخ ندهد. اما اغلب ساده‌تر است که showpage وجود نداشته باشد.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است. نسخه‌های قبلی pnmtops همیشه showpage را اضافه می‌کردند.

به pnmtops دستور می‌دهد دستورالعمل «showpage» را در انتهای خروجی EPSF بگنجاند. این رفتار پیش‌فرض است، بنابراین این گزینه تأثیری ندارد.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شده است.

پیام‌های اطلاعاتی درباره فرآیند تبدیل و نتیجه آن را نمایش می‌دهد.

اگر بیشینه مقدار روشنایی/رنگ (maxval) در تصویر PNM بزرگ‌تر از ۲۵۵ باشد، pnmtops خروجی با وضوح ۸ بیت در هر نمونه تولید می‌کند مگر اینکه گزینه -psfilter را مشخص کنید، حتی با وجود اینکه سطح ۲ پست‌اسکریپت از قالب ۱۲ بیت در هر نمونه پشتیبانی می‌کند. کد سفارشی تولید رستر در pnmtops قالب ۱۲ بیتی را نمی‌شناسد.

می‌توانید از خروجی پست‌اسکریپت به روش‌های گوناگونی استفاده کنید. بسیاری از چاپگرها ورودی پست‌اسکریپت را می‌پذیرند (اما همچنان به نوعی درایور چاپگر برای انتقال پست‌اسکریپت به چاپگر نیاز دارید).

همچنین برنامه Ghostscript وجود دارد (که بخشی از Netpbm نیست)، که پست‌اسکریپت را به عنوان ورودی دریافت کرده و یک جریان خروجی برای کنترل هر یک از مدل‌های بی‌شمار چاپگرها تولید می‌کند (اما همچنان برای انتقال آن جریان به چاپگر به نوعی درایور چاپگر نیاز دارید).

برنامه Ghostscript همچنین می‌تواند فایل پست‌اسکریپت را به PDF تبدیل کند که فرمت بسیار محبوبی برای اسناد و تصاویر است. برای این کار از نوع دستگاه خروجی pdfwrite در Ghostscript استفاده کنید. برنامه ps2pdf (توزیع‌شده همراه Ghostscript) روشی آسان برای اجرای Ghostscript با pdfwrite است. برای اطلاعات بیشتر درباره تبدیل به و از PDF، بخش نرم‌افزارهای اسناد/گرافیک را ببینید.

bmpp(1)تصاویر را از فرمت Netpbm و سایر فرمت‌ها به پست‌اسکریپت کپسوله‌شده تبدیل می‌کند.

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

pnm(1)، gs، psidtopgm(1)، pstopnm(1)، pbmtolps(1)، pbmtoepsi(1)، pbmtopsg3(1)، ppmtopgm(1)

حق نشر © ۱۹۸۹، ۱۹۹۱ متعلق به Jef Poskanzer.

ویرایش‌شده در نوامبر ۱۹۹۳ توسط Wolfgang Stuerzlinger، wrzl@gup.uni-linz.ac.at

این برنامه در ابتدا pbmtops بود. در اکتبر ۱۹۸۸ به pgmtops تغییر نام داد و در ژانویه ۱۹۹۱ با ppmtops ادغام شد تا pnmtops را تشکیل دهد. برنامه ppmtops مدتی پیش از سپتامبر ۱۹۸۹ به وجود آمده بود.

این صفحه راهنما توسط ابزار 'makeman' در Netpbm از منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد:

http://netpbm.sourceforge.net/doc/pnmtops.html
۲۱ فوریه ۲۰۲۴ مستندات netpbm