| QPDF(1) | دستورهای کاربری | QPDF(1) |
نام (NAME)
qpdf - نرمافزار تبدیل و تغییر فایلهای PDF
خلاصه دستور (SYNOPSIS)
qpdf [ options ] infilename [ outfilename ]
توضیحات (DESCRIPTION)
برنامه qpdf برای تبدیل یک فایل PDF به فایل PDF معادل دیگر استفاده میشود. این برنامه قادر است دگرگونسازیهای متعددی نظیر خطیسازی (که با نام بهینهسازی وب یا مشاهده سریع وب نیز شناخته میشود)، رمزگذاری، و رمزگشایی فایلهای PDF را انجام دهد. همچنین گزینههای بسیاری برای بازرسی یا بررسی فایلهای PDF دارد که برخی از آنها اساساً برای توسعهدهندگان PDF مفید هستند.
برای خلاصهای از گزینههای qpdf، لطفاً qpdf --help را اجرا کنید. یک کتابچه راهنمای کامل در https://qpdf.readthedocs.io در دسترس است.
در برخی توزیعها، میتوانید نسخههای آفلاین راهنمای qpdf را در مسیر /usr/share/doc/qpdf بیابید. این کار ممکن است نیازمند نصب یک بسته اضافی باشد، مانند qpdf-doc در توزیعهای لینوکس مبتنی بر دبیان. همچنین میتوانید مستندات آفلاین را از https://qpdf.readthedocs.io بارگیری کنید. برای اطلاعات بیشتر، فایل README-doc.txt را در توزیع کد منبع ببینید.
کاربرد (USAGE - فراخوانی اولیه)
یک فایل PDF را میخواند، تبدیلها یا تغییرات را اعمال میکند، و یک فایل PDF جدید مینویسد.
کاربرد: qpdf [infile]
[options] [outfile]
یا: qpdf --help[={topic|--option}]
- •
- تا زمانی که infile پیش از outfile قرار گیرد، infile، options و outfile میتوانند به هر ترتیبی باشند.
- •
- برای یک ورودی خالی و بدون صفحه، به جای فایل ورودی از --empty استفاده کنید
- •
- برای بازنویسی فایل ورودی با فایل خروجی، به جای فایل خروجی از --replace-input استفاده کنید
- •
- پارامتر outfile میتواند - باشد تا در stdout بنویسد؛ خواندن از stdin پشتیبانی نمیشود
- •
- عبارت @filename یک فایل آرگومان است؛ با هر خط به عنوان یک آرگومان خط فرمان جداگانه رفتار میشود
- •
- میتوان از @- برای خواندن آرگومانها از stdin استفاده کرد
- •
- در صورت وجود تناقض، گزینههای بعدی ممکن است گزینههای قبلی را لغو کنند
گزینههای مرتبط:
- --empty -- استفاده از فایل خالی به عنوان ورودی
- به جای infile برای یک ورودی خالی استفاده میشود. به ویژه همراه با --pages بسیار مفید است.
- --replace-input -- بازنویسی فایل ورودی با خروجی
- به جای outfile برای بازنویسی فایل ورودی با خروجی استفاده میشود.
- --job-json-file -- فایل JSON وظیفه
- --job-json-file=file
نام فایلی را مشخص کنید که انتظار میرود محتوای آن حاوی یک فایل JSON از نوع QPDFJob باشد. برای توضیحات مربوط به قالب فایل ورودی JSON، دستور qpdf --job-json-help را اجرا کنید.
وضعیت خروج (EXIT STATUS)
مفهوم کدهای خروج:
- •
- 0: بدون خطا یا هشدار
- •
- 1: توسط qpdf استفاده نمیشود، اما در صورت عدم امکان فراخوانی qpdf ممکن است توسط پوسته (shell) به کار رود
- •
- 2: خطاهایی شناسایی شدند
- •
- 3: هشدارهایی شناسایی شدند، مگر آنکه --warning-exit-0 داده شده باشد
گزینههای مرتبط:
- --warning-exit-0 -- خروج با کد 0 حتی با وجود هشدارها
- هنگام بروز هشدارها، از وضعیت خروج 0 به جای 3 استفاده میکند. در صورت ترکیب با --no-warn، هشدارها به طور کامل نادیده گرفته میشوند..SH "تکمیل پوسته (COMPLETION (shell completion))" تکمیل خودکار پوسته در bash و zsh پشتیبانی میشود. برای فعالسازی از eval "$(qpdf --completion-bash)" یا eval "$(qpdf --completion-zsh)" استفاده کنید. متغیر محیطی QPDF_EXECUTABLE مسیری را که این دستورات برای qpdf خروجی میدهند بازنویسی میکند.
گزینههای مرتبط:
- --completion-bash -- فعالسازی تکمیل خودکار bash
- دستوری را خروجی میدهد که تکمیل خودکار bash را فعال میکند.
- --completion-zsh -- فعالسازی تکمیل خودکار zsh
- دستوری را خروجی میدهد که تکمیل خودکار zsh را فعال میکند.
راهنما (HELP (information about qpdf))
گزینههای راهنما اطلاعاتی درباره خود qpdf ارائه میدهند. این گزینهها تنها زمانی معتبر هستند که به عنوان نخستین و تنها آرگومان خط فرمان به کار روند.
گزینههای مرتبط:
- --help -- ارائه راهنما
- --help[=--option|topic]
--help: ارائه اطلاعات عمومی و فهرستی از موضوعات --help=--option: ارائه راهنما درباره یک گزینه مشخص --help=topic: ارائه راهنما درباره یک موضوع
- --version -- نمایش نسخه qpdf
- نمایش نسخه qpdf.
- --copyright -- نمایش اطلاعات کپیرایت
- نمایش اطلاعات کپیرایت و مجوز.
- --show-crypto -- نمایش ارائهدهندگان رمزنگاری موجود
- نمایش فهرستی از ارائهدهندگان رمزنگاری موجود، هر کدام در یک خط. ارائهدهنده پیشفرض در ابتدا نمایش داده میشود.
- --job-json-help -- نمایش قالب JSON کار
- توصیف قالب ورودی JSON مربوط به QPDFJob که توسط --job-json-file استفاده میشود.
- --zopfli -- مشخص کردن فعال و دردسترس بودن zopfli
- اگر پشتیبانی از zopfli در هنگام کامپایل گنجانده شده باشد، فعال بودن آن را مشخص کرده و به طور عادی خارج میشود. در غیر این صورت، کامپایل نشدن آن را مشخص کرده و با یک کد خطا خارج میشود. اگر zopfli کامپایل شده است، آن را با تنظیم متغیر محیطی ``QPDF_ZOPFLI`` فعال کنید.
عمومی (GENERAL (general options))
گزینههای عمومی رفتار qpdf را به شیوههایی کنترل میکنند که مستقیماً به عملیات در حال انجام مربوط نمیشوند.
گزینههای مرتبط:
- --password -- گذرواژه برای فایل رمزگذاریشده
- --password=password
تعیین گذرواژه برای یک فایل رمزگذاریشده و دارای محافظت با گذرواژه. برای فایلهای رمزگذاریشده بدون گذرواژه نیازی نیست.
- --password-file -- خواندن گذرواژه از یک فایل
- --password-file=filename
خط اول فایل مشخصشده به عنوان گذرواژه استفاده میشود. این گزینه به جای گزینه --password به کار میرود.
- --verbose -- چاپ اطلاعات تکمیلی
- خروجی دادن اطلاعات اضافی درباره فعالیتهای مختلفی که qpdf در حال انجام آنهاست، از جمله اطلاعات فایلهای ایجادشده و عملیات انجامگرفته.
- --progress -- نمایش پیشرفت هنگام نوشتن
- نمایش درصد پیشرفت هنگام نوشتن فایلها.
- --no-warn -- جلوگیری از چاپ پیامهای هشدار
- جلوگیری از چاپ پیامهای هشدار. در صورت بروز هشدار، qpdf همچنان با وضعیت خروج ۳ خاتمه مییابد. برای نادیده گرفتن کامل هشدارها از --warning-exit-0 به همراه --no-warn استفاده کنید.
- --deterministic-id -- تولید شناسه به صورت قطعی
- تولید یک شناسه سند امن و تصادفی تنها با استفاده از اطلاعات ایستا، مانند محتوای صفحات. از نام فایل، ویژگیهای آن یا زمان فعلی استفاده نمیکند.
- --allow-weak-crypto -- مجاز شمردن الگوریتمهای رمزنگاری ناامن
- اجازه به ایجاد فایلهایی با الگوریتمهای رمزنگاری ضعیف. این گزینه برای ایجاد فایلهای ۴۰ بیتی یا فایلهای ۱۲۸ بیتی که از رمزنگاری RC4 استفاده میکنند، لازم است.
- --keep-files-open -- مدیریت باز نگه داشتن چندین فایل
- --keep-files-open=[y|n]
هنگامی که qpdf نیاز به کار با چندین فایل دارد، مانند ادغام تعداد زیادی فایل، به طور صریح مشخص میکند که آیا فایلها باید باز نگه داشته شوند یا خیر. رفتار پیشفرض، تعیین این موضوع بر اساس تعداد فایلها است.
- --keep-files-open-threshold -- تنظیم آستانه برای --keep-files-open
- --keep-files-open-threshold=count
تنظیم آستانه مورد استفاده توسط --keep-files-open، که مقدار پیشفرض 200 را بازنویسی میکند..SH "کنترل پیشرفته (ADVANCED-CONTROL - تنظیم رفتار qpdf)" گزینههای کنترل پیشرفته، رفتار qpdf را به روشهایی کنترل میکنند که در حالت عادی هیچگاه مورد نیاز یک کاربر نخواهد بود، اما ممکن است برای توسعهدهندگان یا افرادی که در حال بررسی مشکلات فایلهای خاصی هستند مفید باشد.
گزینههای مرتبط:
- --password-is-hex-key -- ارائه کلید رمزنگاری کدگذاریشده با hex
- ارائه کلید رمزنگاری لایهزیرین فایل به صورت یک رشتهٔ کدگذاریشده با hex به جای ارائهٔ گذرواژه. این یک گزینهٔ تخصصی است.
- --suppress-password-recovery -- امتحان نکردن کدگذاریهای مختلف گذرواژه
- غیرفعال کردن رفتار معمول qpdf در تلاش برای سنجش کدگذاریهای مختلف گذرواژهای که شامل نویسههای یونیکد غیر ASCII است، در صورتی که تلاش نخست با موفقیت همراه نباشد.
- --password-mode -- تنظیم دقیق نحوهٔ کدگذاری گذرواژهها توسط qpdf
- --password-mode=mode
تنظیم دقیق نحوهٔ کنترل کدگذاری گذرواژههای یونیکد توسط qpdf. گزینههای معتبر عبارتند از auto، bytes، hex-bytes و unicode.
- --suppress-recovery -- متوقف کردن بازیابی خطا
- جلوگیری از تلاش برای بازیابی هنگام یافتن خطاها در جدول ارجاع متقابل یا طول جریانهای یک فایل.
- --ignore-xref-streams -- استفاده از جدولهای xref به جای جریانها
- نادیده گرفتن هرگونه جریان ارجاع متقابل در فایل، بازگشت به جدولهای ارجاع متقابل یا آغاز فرایند بازیابی سند.
تبدیل (TRANSFORMATION - اعمال تغییرات ساختاری در PDF)
گزینههای زیر به qpdf میگویند تبدیلهایی را اعمال کند که بدون تغییر در محتوا، ساختار را تغییر میدهند.
گزینههای مرتبط:
- --linearize -- خطیسازی (بهینهسازی برای وب) خروجی
- ایجاد فایلهای خروجی خطیسازیشده (بهینهشده برای وب).
- --encrypt -- آغاز گزینههای رمزنگاری
- --encrypt [options] --
برای جزئیات بیشتر، فرمان qpdf --help=encryption را اجرا کنید.
- --decrypt -- حذف رمزنگاری از فایل ورودی
- ایجاد یک فایل خروجی غیررمزنگاریشده حتی در صورتی که فایل ورودی رمزنگاری شده باشد. در حالت عادی qpdf هر رمزنگاری موجود در فایل ورودی را حفظ میکند. این گزینه آن رفتار را لغو میکند.
- --remove-restrictions -- حذف محدودیتهای امنیتی از فایل ورودی
- حذف محدودیتهای مرتبط با فایلهای PDF دارای امضای دیجیتال. این گزینه میتواند با --decrypt ترکیب شود تا ویرایش آزادانهٔ فایلهای قبلاً امضاشده/رمزنگاریشده میسر گردد. این گزینه هرگونه امضای دیجیتال را باطل و غیرفعال میکند، اما جلوهٔ بصری آنها را دستنخورده باقی میگذارد.
- --copy-encryption -- کپی کردن جزئیات رمزنگاری فایلی دیگر
- --copy-encryption=file
کپی کردن جزئیات رمزنگاری از فایل مشخصشده به جای حفظ رمزنگاری فایل ورودی. از --encryption-file-password برای تعیین گذرواژهٔ فایل رمزنگاری استفاده کنید.
- --encryption-file-password -- ارائه گذرواژه برای --copy-encryption
- --encryption-file-password=password
اگر فایل نامبردهشده در --copy-encryption به گذرواژه نیاز دارد، از این گزینه برای ارائهٔ گذرواژه استفاده کنید.
- --qdf -- فعالسازی مشاهده کد PDF در یک ویرایشگر متن
- ایجاد یک فایل PDF مناسب برای مشاهده در ویرایشگر متن و حتی ویرایش آن. این گزینه برای ویرایش کد PDF است، نه محتوای صفحات. در کنار تغییرات دیگر، تمام جریانهایی که قابلیت خارج شدن از فشردهسازی را دارند غیرفشرده شده، و جریانهای محتوا استانداردسازی میشوند. از ابزار کمکی “fix-qdf” میتوان برای اصلاح فایلهای QDF ویرایششده به صورت دستی استفاده کرد. قابلیت QDF قابلیتی اختصاصی برای ابزار qpdf است. لطفاً فصل “QDF Mode” را در کتابچه راهنما ببینید.
- --no-original-object-ids -- حذف شناسههای اصلی اشیاء در qdf
- حذف کامنتها در یک فایل QDF که نشاندهندهٔ شناسهٔ شیء (object ID) در فایل اصلی هستند.
- --compress-streams -- فشردهسازی جریانهای غیرفشرده
- --compress-streams=[y|n]
تنظیم --compress-streams=n مانع از فشردهسازی جریانهای غیرفشرده توسط qpdf میشود. این ویژگی در صورتی که برخی جریانها را عمداً غیرفشرده باقی میگذارید، میتواند مفید باشد.
- --decode-level -- کنترل اینکه کدام جریانها از حالت فشرده خارج شوند
- --decode-level=parameter
هنگام خارج کردن جریانها از حالت فشرده، مشخص میکند چه نوع روشهای فشردهسازی باید از حالت فشرده خارج شوند:
- •
- none: هیچ چیزی از حالت فشرده خارج نشود. این گزینه در صورت استفاده از --json-output پیشفرض است.
- •
- generalized: جریانهای فشردهشده با الگوریتمهای فشردهسازی چندمنظوره از حالت فشرده خارج شوند. این حالت پیشفرض است، مگر آنکه --json-output داده شده باشد.
- •
- specialized: علاوه بر generalized، جریانهای فشردهشده با روشهای فشردهسازی خاصمنظوره اما بدون اتلاف نیز از حالت فشرده خارج شوند.
- •
- all: علاوه بر specialized، جریانهای فشردهشده با روشهای فشردهسازی اتلافی مانند JPEG (DCT) نیز از حالت فشرده خارج شوند. qpdf نحوهٔ خارج کردن تمامی طرحهای فشردهسازی را از حالت فشرده نمیداند.
- --stream-data -- کنترل فشردهسازی جریان
- --stream-data=parameter
این گزینه نحوهٔ فشردهسازی جریانها را در خروجی کنترل میکند. این گزینه نسبت به گزینههای جدیدتر --compress-streams و --decode-level از کنترل با جزئیات کمتری برخوردار است.
پارامترها:
- •
- compress: معادل با --compress-streams=y --decode-level=generalized
- •
- preserve: معادل با --compress-streams=n --decode-level=none
- •
- uncompress: معادل با --compress-streams=n --decode-level=generalized
- --recompress-flate -- خارج کردن از حالت فشرده و فشردهسازی مجدد flate
- روش فشردهسازی عمومی پیشفرض مورد استفاده در PDF روش flate است، که مشابه روش استفادهشده توسط zip و gzip میباشد. معمولاً qpdf به این موارد دست نمیزند. این گزینه به qpdf اعلام میکند تا جریانهای فشردهشده با flate را از حالت فشرده خارج کرده و مجدداً فشردهسازی کند. این قابلیت هنگام ترکیب با --compression-level میتواند مفید باشد.
- --compression-level -- تنظیم سطح فشردهسازی برای flate
- --compression-level=level
هنگام فشردهسازی فایلها با روش flate (مورد استفاده در zip و gzip) که فشردهسازی پیشفرض برای اکثر فایلهای PDF است، یک سطح فشردهسازی را از 1 (کمترین، سریعترین) تا 9 (بیشترین، کندترین) تعیین میکند. در صورتی که مایلید جریانهای از پیش فشردهشده را تغییر دهید، به همراه این گزینه به --recompress-flate نیاز خواهید داشت.
- --jpeg-quality -- تنظیم سطح کیفیت jpeg برای jpeg
- --jpeg-quality=level
هنگام بازنویسی تصاویر با --optimize-images، یک سطح کیفیت را از 0 (پایینترین) تا 100 (بالاترین) برای نوشتن تصاویر جدید تنظیم میکند. کیفیت بالاتر منجر به ایجاد تصاویر بزرگتر، و کیفیت پایینتر باعث ایجاد تصاویر کوچکتر میشود. این گزینه فقط هنگام ترکیب با --optimize-images اثربخش است.
- --normalize-content -- اصلاح خطوط جدید در جریانهای محتوا
- --normalize-content=[y|n]
خطوط جدید در جریانهای محتوای PDF را به خطوط جدید سبک UNIX تبدیل میکند که برای مشاهدهٔ آنها در ویرایشگر متن برنامهنویسی در بسترهای مختلف مناسب است. این ویژگی همچنین توسط --qdf نیز فعال میگردد.
- --object-streams -- کنترل استفاده از جریانهای شیء
- --object-streams=mode
نحوهٔ رفتار qpdf در رابطه با جریانهای شیء (object streams) را کنترل میکند. گزینهها:
- •
- preserve: حفظ جریانهای شیء اصلی، در صورت وجود (پیشفرض)
- •
- disable: ایجاد فایلهای خروجی فاقد جریانهای شیء
- •
- generate: ایجاد جریانهای شیء، و فشردهسازی اشیاء در صورت امکان
- --preserve-unreferenced -- حفظ اشیاء بدون ارجاع
- حفظ تمام اشیاء ورودی حتی در صورتی که به آنها ارجاعی داده نشده باشد.
- --remove-unreferenced-resources -- حذف منابع ارجاعنشده صفحه
- --remove-unreferenced-resources=parameter
حذف هر منبعی از واژهنامهٔ منابع صفحه (resource dictionary) که در محتویات صفحه به آن ارجاع داده نشده است. پارامترها: “auto” (پیشفرض)، “yes”، “no”.
- --preserve-unreferenced-resources -- استفاده از --remove-unreferenced-resources=no
- مترادف با --remove-unreferenced-resources=no. به جای آن، از آن گزینه استفاده کنید..TP --newline-before-endstream -- اجبار به درج یک خط جدید قبل از endstream برای درج یک خط جدید اضافی پیش از endstream. استفاده از این گزینه qpdf را قادر میسازد تا در هنگام بازنویسی اینگونه فایلها، استاندارد PDF/A را حفظ کند.
- --coalesce-contents -- ترکیب جریانهای محتوا
- اگر صفحهای دارای آرایهای از جریانهای محتوا (content streams) باشد، آنها را در یک جریان محتوای واحد ادغام میکند.
- --externalize-inline-images -- تبدیل تصاویر درونخطی به تصاویر عادی
- تبدیل تصاویر درونخطی (inline images) به تصاویر معمولی.
- --ii-min-bytes -- تعیین حداقل اندازه برای --externalize-inline-images
- --ii-min-bytes=size-in-bytes
تصاویر درونخطی کوچکتر از این اندازه را برونسپاری (تبدیل به تصویر عادی) نکنید. مقدار پیشفرض 1,024 است. برای عدم اعمال حداقل اندازه، از 0 استفاده کنید.
- --min-version -- تعیین حداقل نسخهٔ PDF
- --min-version=version
نسخهٔ PDF خروجی را اجبار میکند که حداقل نسخهٔ مشخصشده باشد. قالب شمارهٔ نسخه بهصورت “major.minor[.extension-level]” است که سرآیند نسخه را روی “major.minor” و در صورت تعیین، سطح افزونه را روی “extension-level” تنظیم میکند.
- --force-version -- تعیین نسخهٔ PDF خروجی
- --force-version=version
سرآیند نسخهٔ PDF فایل خروجی را بر روی مقدار مشخصشده اجبار میکند، حتی اگر فایل از ویژگیهایی استفاده کند که ممکن است در آن نسخه در دسترس نباشند.
محدوده صفحات (PAGE-RANGES - نحو محدوده صفحات)
توضیحات کامل دربارهٔ ساختار نحوی محدودهٔ صفحات، همراه با مثالها، در کتابچهٔ راهنما موجود است. بهطور خلاصه، یک محدوده فهرستی از گروهها است که با کاما از یکدیگر جدا شدهاند. یک گروه شامل یک عدد یا محدودهای از اعداد است که با خط تیره از هم جدا میشوند. میتوان پیش از یک گروه حرف x را قرار داد تا اعضای آن از گروه قبلی مستثنی شوند. یک عدد میتواند یکی از موارد زیر باشد:
- •
- <n> جایی که <n> نمایانگر یک عدد است و صفحهٔ <n>ام میباشد
- •
- r<n> صفحهٔ <n>ام از آخر است
- •
- z آخرین صفحه، همانند r1
- •
- a,b,c صفحات a و b و c
- •
- a-b صفحات a تا b بهصورت فراگیر؛ اگر a > b باشد، شمارش معکوس انجام میشود
- •
- a-b,xc صفحات a تا b بهجز صفحهٔ c
- •
- a-b,xc-d صفحات a تا b
بهجز
صفحات c تا d
میتوانید :even یا :odd را اضافه کنید تا صفحات بهصورت یکدرمیان از مجموعه صفحات حاصل انتخاب شوند، به طوری که :odd از صفحهٔ اول و :even از صفحهٔ دوم شروع میشود. اینها صفحات فرد و زوجِ مجموعهٔ حاصل هستند، نه بر اساس شماره صفحات اصلی.
تغییرات (MODIFICATION - تغییر بخشهایی از PDF)
گزینههای تغییر، تغییرات سیستماتیکی در بخشهای خاصی از PDF ایجاد میکنند که باعث میشود PDF خروجی متفاوت از نسخهٔ اصلی رندر شود.
گزینههای مرتبط:
- --pages -- شروع انتخاب صفحات
- --pages [--file=]file [options] [...] --
برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.
- --file -- منبع صفحات
- --file=file
فایل مربوط به عملیات صفحهٔ جاری را مشخص میکند. این گزینه همراه با --pages، --overlay و --underlay استفاده میشود و بین گزینه و نشانگر پایانی -- قرار میگیرد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.
- --range -- محدودهٔ صفحات
- --range=numeric-range
محدودهٔ صفحات را برای عملیات جاری صفحه با --pages مشخص میکند. در صورت عدم ذکر، همهٔ صفحات انتخاب میشوند. این گزینه همراه با --pages استفاده میشود و بین --pages و -- قرار میگیرد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.
- --collate -- تلفیق و مرتبسازی با --pages
- --collate[=n[,m,...]]
صفحات مشخصشده با --pages را بهجای الحاق ساده، بهصورت تلفیقی (collate) مرتب میکند. با یک پارامتر عددی، صفحات را در گروههای nتایی تلفیق میکند. مقدار پیشفرض 1 است. با پارامترهای عددی جداشده با کاما، n صفحه از فایل اول، m صفحه از فایل دوم و به همین ترتیب برمیدارد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.
- --split-pages -- نوشتن صفحات در فایلهای جداگانه
- --split-pages[=n]
این گزینه باعث میشود qpdf بهجای یک فایل خروجی واحد، برای هر صفحه یا گروهی از صفحات، فایلهای خروجی جداگانهای ایجاد کند.
نام فایلها از روی نام فایل خروجی مشخصشده به شرح زیر تولید میشوند:
- •
- اگر رشتهٔ %d در نام فایل خروجی وجود داشته باشد، با محدودهٔ صفحهای که با صفر پر شده (zero-padded) و از 1 شروع میشود جایگزین میگردد
- •
- در غیر این صورت، اگر نام فایل خروجی به .pdf ختم شود (بدون حساسیت به حروف کوچک و بزرگ)، یک محدودهٔ صفحه پرشده با صفر که قبل از آن یک خط تیره قرار دارد، پیش از پسوند فایل درج میشود
- •
- در غیر این
صورت،
محدودهٔ
صفحهای که
با صفر پر
شده و قبل
از آن خط
تیره قرار
دارد، به
انتهای نام
فایل اضافه
میشود.
محدودههای صفحات برای گروههای تکصفحهای بهصورت شماره صفحهٔ منفرد و برای گروههای چندصفحهای بهصورت first-last (اول-آخر) هستند.
- --overlay -- شروع گزینههای روگذاری
- --overlay file [options] --
صفحات یک فایل PDF دیگر را بر روی خروجی روگذاری (overlay) میکند. برای جزئیات بیشتر، دستور qpdf --help=overlay-underlay را اجرا کنید.
- --underlay -- شروع گزینههای زیرگذاری
- --underlay file [options] --
صفحات یک فایل PDF دیگر را در زیر خروجی زیرگذاری (underlay) میکند. برای جزئیات بیشتر، دستور qpdf --help=overlay-underlay را اجرا کنید.
- --flatten-rotation -- حذف چرخش از دیکشنری صفحه
- برای هر صفحهای که با استفاده از کلید /Rotate در دیکشنری صفحه چرخیده است، کلید /Rotate را حذف کرده و مفهوم چرخش مشابه را از طریق تغییر محتوای صفحه اعمال میکند. این گزینه زمانی مفید است که یک نمایشگر معیوب PDF نتواند متادیتای چرخش صفحه را بهدرستی لحاظ کند.
- --flatten-annotations -- ادغام یادداشتها در جریان محتوا
- --flatten-annotations=parameter
یادداشتهای (annotations) صفحه را به درون جریانهای محتوا منتقل و ادغام میکند. این کار ممکن است در برخی موارد هنگام چاپ یا تفکیک فایلها ضروری باشد. پارامترها: “all”، “print”، “screen”.
- --rotate -- چرخاندن صفحات
- --rotate=[+|-]angle[:page-range]
صفحات مشخصشده را با مضاربی از 90 درجه با تعیین زوایای مطلق یا نسبی میچرخاند. مقدار “angle” میتواند 0، 90، 180 یا 270 باشد. همانطور که در دفترچهٔ راهنما مطرح شده، تقریباً همیشه بهتر است بهجای صرفاً angle، از +angle یا -angle استفاده کنید. برای راهنمایی دربارهٔ محدودهٔ صفحات، دستور qpdf --help=page-ranges را اجرا کنید.
- --generate-appearances -- تولید نماها برای فیلدهای فرم
- فیلدهای فرم PDF شامل مقادیر و نماها (appearances) هستند؛ در صورتی که مقدار فیلد فرم بدون بهروزرسانی نمای آن تغییر کرده باشد، ممکن است این دو با یکدیگر ناهماهنگ باشند. این گزینه به qpdf دستور میدهد تا جریانهای نمای جدیدی ایجاد کند. محدودیتهایی وجود دارد که در دفترچهٔ راهنما به آنها پرداخته شده است.
- --optimize-images -- استفاده از فشردهسازی کارآمد برای تصاویر
- تلاش برای
استفاده از
فشردهسازی
DCT (JPEG) برای
تصاویری که
در محدودهٔ
محدودیتهای
خاصی قرار
دارند، تا
زمانی که
انجام این
کار حجم
بایتهای
تصویر را
کاهش دهد.
همچنین به
راهنمای
گزینههای
زیر مراجعه
کنید:
--oi-min-width
--oi-min-height
--oi-min-area
--keep-inline-images - --oi-min-width -- حداقل عرض برای --optimize-images
- --oi-min-width=width
تصاویری را که عرض آنها کمتر از مقدار مشخصشده است بهینهسازی نکنید.
- --oi-min-height -- حداقل ارتفاع برای --optimize-images
- --oi-min-height=height
تصاویری را که ارتفاع آنها کمتر از مقدار مشخصشده است بهینهسازی نکنید.
- --oi-min-area -- حداقل مساحت برای --optimize-images
- --oi-min-area=area-in-pixels
تصاویری را که مساحت آنها بر حسب پیکسل کمتر از مقدار مشخصشده است بهینهسازی نکنید..TP --keep-inline-images -- مستثنی کردن تصاویر درونخطی از بهینهسازی جلوگیری از اعمال --optimize-images بر تصاویر درونخطی (inline).
- --remove-acroform -- حذف دیکشنری فرم تعاملی
- حذف دیکشنری فرم تعاملی از فایل خروجی. این گزینه تنها دیکشنری فرم تعاملی را از کاتالوگ سند حذف میکند. دیکشنریهای مربوط به فیلدهای فرم یا حاشیهنویسیهای ویجت (widget annotations) حذف نمیشوند. برای جزئیات بیشتر به کتابچهٔ راهنما مراجعه کنید.
- --remove-info -- حذف اطلاعات فایل
- حذف اطلاعات فایل (بهجز تاریخ تغییر) از فایل خروجی.
- --remove-metadata -- حذف فراداده
- حذف فراداده (metadata) از فایل خروجی.
- --remove-page-labels -- حذف برچسبهای صریح صفحه
- حذف برچسبهای صفحه (شماره صفحات صریح) از فایل خروجی.
- --remove-structure -- حذف فراداده
- حذف درخت ساختار (structure tree) از فایل خروجی.
- --set-page-labels -- شمارهگذاری صفحات برای کل سند
- --set-page-labels label-spec ... --
تنظیم برچسبهای صفحه (شماره صفحات صریح) برای تمام فایل. هر label-spec قالبی به این شکل دارد:
first-page:[type][/start[/prefix]]
که در آن:
- •
- مقدار "first-page" نشاندهندهٔ شماره صفحهٔ ترتیبی با استفاده از همان قالب بازههای صفحه است: یک عدد، یک عدد همراه با پیشوند "r" برای شمارش از انتها، یا "z" که نشاندهندهٔ صفحهٔ آخر است
- •
- مقدار "type"
یکی از
موارد زیر
است: - D: ارقام
عربی/لاتین
(digits) - A:
نویسههای
الفبایی
بزرگ - a:
نویسههای
الفبایی
کوچک - R:
ارقام رومی
بزرگ - r:
ارقام رومی
کوچک -
حذفشده (omitted):
شماره صفحه
نشان داده
نمیشود،
هرچند
پیشوند،
در صورت مشخص شدن، همچنان نمایش مییابد - •
- مقدار "start" باید عددی >= 1 باشد
- •
- مقدار "prefix"
میتواند
هر رشتهای
باشد و به
ابتدای هر
برچسب صفحه
افزوده
میشود
نخستین مشخصهٔ برچسب باید دارای مقدار first-page برابر با 1 باشد که نشاندهندهٔ صفحهٔ اول سند است. در صورت تعیین چندین مشخصهٔ برچسب صفحه، آنها باید به ترتیب صعودی ارائه شوند.
در صورت تعیین چندین مشخصهٔ برچسب صفحه، آنها باید به ترتیب صعودی ارائه شوند.
یک مشخصهٔ برچسب صفحهٔ معین سبب میشود که صفحات بر اساس آن الگو از first-page شروع شده و تا مشخصهٔ برچسب بعدی یا انتهای سند شمارهگذاری شوند. اگر میخواهید شمارهگذاری از یک صفحهٔ خاص حذف شود، میتوانید از :first-page به عنوان مشخصه استفاده کنید.
مثال: "1:r 5:D" چهار صفحهٔ نخست را از i تا iv شمارهگذاری کرده و سپس صفحات باقیمانده را با ارقام معمولی از 1 آغاز میکند و بهصورت ترتیبی تا انتهای سند ادامه میدهد. برای مثالهای بیشتر، لطفاً به کتابچهٔ راهنما مراجعه فرمایید.
رمزنگاری (ایجاد فایلهای رمزشده) (ENCRYPTION (create encrypted files))
ایجاد فایلهای رمزشده. کاربرد:
--encrypt [--user-password=user-password] [--owner-password=owner-password] --bits=key-length [options] --
یا
--encrypt user-password owner-password key-length [options] --
قالب نخست، همراه با پرچمهایی برای گذرواژهها و طول کلید، در qpdf 11.7.0 معرفی شد. تنها گزینهٔ --bits اجباری است. این قالب به شما امکان میدهد از هر متنی به عنوان گذرواژه استفاده کنید. در صورت تعیین گذرواژهها، آنها باید پیش از گزینهٔ --bits مشخص شوند.
قالب دوم از ابتدا در qpdf وجود داشته و همچنان پشتیبانی خواهد شد. هر یک از گذرواژههای user-password و owner-password یا هر دوی آنها میتوانند رشتهای خالی باشند.
پارامتر key-length باید ۴۰، ۱۲۸ یا ۲۵۶ باشد. گذرواژهٔ کاربر یا مالک میتواند نادیده گرفته شود. تعیین نکردن هر یک از گذرواژهها اجازه میدهد فایل PDF بدون نیاز به گذرواژه باز شود. مشخص کردن مقدار یکسان برای گذرواژهٔ کاربر و مالک و همچنین تعیین گذرواژهٔ خالی برای مالک، هر دو ناامن تلقی میشوند.
گزینههای رمزنگاری با یک علامت مجزای "--" پایان مییابند.
رمزنگاری ۴۰ بیتی ناامن است، همانند رمزنگاری ۱۲۸ بیتی بدون AES. همواره از رمزنگاری ۲۵۶ بیتی استفاده کنید مگر اینکه دلیل خاصی برای استفاده از یک قالب ناامن داشته باشید؛ نظیر آزمایش یا سازگاری با نمایشدهندههای بسیار قدیمی. برای ساخت فایلهای رمزشده با الگوریتمهای رمزنگاری ناامن، باید از پرچم --allow-weak-crypto استفاده کنید. پرچم --allow-weak-crypto خارج از عبارت --encrypt ... -- (پیش از --encrypt یا پس از --) قرار میگیرد.
گزینههای موجود بر اساس طول کلید متغیر هستند. تمام پیدیافخوانها از تمام محدودیتها پیروی نمیکنند. پیدیافخوانهای گوناگون در برابر ترکیبهای مختلف گزینهها واکنشهای متفاوتی نشان میدهند. گاهی ممکن است یک نمایشدهندهٔ PDF محدودیتهایی متفاوت از آنچه شما انتخاب کردهاید نشان دهد. این مسئله احتمالاً باگی در qpdf نیست.
گزینهها
فقط برای 40-bit:
--annotate=[y|n] محدود
کردن
نظرها، پر
کردن
فرمها، و
امضا
--extract=[y|n] محدود
کردن
استخراج
متن/گرافیک
--modify=[y|n] محدود
کردن تغییر
سند
--print=[y|n] محدود
کردن چاپ
گزینهها
برای 128-bit یا 256-bit:
--accessibility=[y|n] محدود
کردن
دسترسپذیری
(معمولاً
نادیده
گرفته
میشود)
--annotate=[y|n] محدود
کردن
نظردهی/پر
کردن
فیلدهای
فرم
--assemble=[y|n] محدود
کردن
مونتاژ سند
--extract=[y|n] محدود
کردن
استخراج
متن/گرافیک
--form=[y|n] محدود
کردن پر
کردن
فیلدهای
فرم
--modify-other=[y|n] محدود
کردن سایر
تغییرات
--modify=modify-opt کنترل
سطح دسترسی
تغییر
--print=print-opt کنترل
دسترسی به
چاپ
--cleartext-metadata جلوگیری
از
رمزنگاری
فراداده
فقط برای 128-bit:
--use-aes=[y|n] مشخص
میکند آیا
از
رمزنگاری AES
استفاده
شود یا خیر
--force-V4 اجبار به
استفاده از
گردانندهٔ
رمزنگاری V=4
فقط برای 256-bit:
--force-R5 اجبار به
استفاده از
رمزنگاری
منسوخ R=5
--allow-insecure مجاز
دانستن
گذرواژهٔ
کاربر با
گذرواژهٔ
خالی مالک
مقادیر
برای print-opt:
none غیرمجاز
کردن چاپ
low اجازه فقط
برای چاپ با
وضوح پایین
full اجازه
برای چاپ
کامل
مقادیر
برای modify-opt:
none عدم اجازه
برای
هیچگونه
تغییری
assembly اجازه فقط
برای
مونتاژ سند
form مونتاژ + پر
کردن
فیلدهای
فرم و امضا
annotate فرم +
نظردهی و
تغییر
فرمها
all اجازه برای
تغییر کامل
سند
گزینههای مرتبط:
- --user-password -- تعیین گذرواژه کاربر
- --user-password=user-password
تنظیم گذرواژهٔ کاربر برای فایل رمزشده.
- --owner-password -- تعیین گذرواژه مالک
- --owner-password=owner-password
تنظیم گذرواژهٔ مالک برای فایل رمزشده.
- --bits -- تعیین طول کلید رمزنگاری
- --bits={48|128|256}
تعیین طول کلید رمزنگاری. برای بیشترین امنیت، همیشه از طول کلید ۲۵۶ استفاده کنید.
- --accessibility -- محدود کردن دسترسپذیری سند
- --accessibility=[y|n]
این گزینه بهجز در قالبهای بسیار قدیمی رمزنگاری نادیده گرفته میشود. مشخصات کنونی PDF اجازهٔ محدود کردن دسترسپذیری سند را نمیدهد. این گزینه در رمزنگاری ۴۰ بیتی در دسترس نیست.
- --annotate -- محدود کردن حاشیهنویسی سند
- --annotate=[y|n]
فعال/غیرفعال کردن ویرایش حاشیهنویسیها شامل ایجاد یادداشتها و پر کردن فیلدهای فرم. در رمزنگاری ۱۲۸ بیتی و ۲۵۶ بیتی، این گزینه همچنین ویرایش، ایجاد و حذف فیلدهای فرم را فعال میکند مگر اینکه --modify-other=n یا --modify=none نیز مشخص شده باشد..TP --assemble -- محدود کردن سرهمبندی سند --assemble=[y|n]
فعال/غیرفعال کردن سرهمبندی سند (چرخش و مرتبسازی مجدد صفحات). این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.
- --extract -- محدود کردن استخراج متن/گرافیک
- --extract=[y|n]
فعال/غیرفعال کردن استخراج متن/گرافیک برای اهدافی غیر از دسترسیپذیری.
- --form -- محدود کردن پر کردن فرم
- --form=[y|n]
فعال/غیرفعال کردن مجاز بودن پر کردن فیلدهای فرم، حتی اگر اصلاح یادداشتها غیرفعال باشد. این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.
- --modify-other -- محدود کردن سایر تغییرات
- --modify-other=[y|n]
فعال/غیرفعال کردن تغییراتی که توسط --assemble، --annotate یا --form کنترل نمیشوند. مقدار --modify-other=n بهطور ضمنی توسط هر یک از سایر گزینههای --modify اعمال میشود. این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.
- --modify -- محدود کردن تغییرات سند
- --modify=modify-opt
برای فایلهای ۴۰ بیتی، مقدار modify-opt فقط میتواند y یا n باشد و تمام جنبههای تغییر سند را کنترل میکند.
برای رمزنگاری ۱۲۸ بیتی و ۲۵۶ بیتی، مقادیر modify-opt امکان فعال و غیرفعال کردن سطوح محدودیت را مشابه برخی از ابزارهای ایجاد PDF فراهم میکنند. مقادیر modify-opt به سایر ترکیبهای گزینهها به شرح زیر نگاشت میشوند:
all: مجاز بودن تغییر کامل (پیشفرض) annotate: --modify-other=n form: --modify-other=n --annotate=n assembly: --modify-other=n --annotate=n --form=n none: --modify-other=n --annotate=n --form=n --assemble=n
- --print -- محدود کردن چاپ
- --print=print-opt
کنترل اینکه چه نوع چاپی مجاز است. برای رمزنگاری ۴۰ بیتی، print-opt فقط میتواند y یا n باشد و تمام چاپ را فعال یا غیرفعال میکند. برای رمزنگاری ۱۲۸ بیتی و ۲۵۶ بیتی، print-opt میتواند مقادیر زیر را داشته باشد:
none: غیرمجاز بودن چاپ low: مجاز بودن فقط چاپ با وضوح پایین full: مجاز بودن چاپ کامل (پیشفرض)
- --cleartext-metadata -- عدم رمزنگاری متاداده
- در صورت تعیین، متاداده سند حتی هنگام رمزنگاری بقیه سند، رمزنگاری نمیشود. این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.
- --use-aes -- استفاده از AES در رمزنگاری ۱۲۸ بیتی
- --use-aes=[y|n]
استفاده از رمزنگاری امنتر AES را در رمزنگاری ۱۲۸ بیتی فعال/غیرفعال میکند. تعیین --use-aes=y نسخه PDF را به حداقل 1.6 اجبار میکند. این گزینه فقط با رمزنگاری ۱۲۸ بیتی در دسترس است. مقدار پیشفرض به دلایل سازگاری "n" است. در عوض از رمزنگاری ۲۵۶ بیتی استفاده کنید.
- --allow-insecure -- مجاز دانستن گذرواژههای خالی مالک
- هنگام استفاده از رمزنگاری ۲۵۶ بیتی، اجازه ساخت فایلهای PDF با گذرواژه خالی مالک و گذرواژه غیرخالی کاربر را میدهد.
- --force-V4 -- اجبار V=4 در دیکشنری رمزنگاری
- این گزینه برای آزمایش است و در عمل هرگز نیازی به آن نیست، زیرا qpdf در صورت نیاز این کار را بهطور خودکار انجام میدهد.
- --force-R5 -- استفاده از رمزنگاری پشتیبانینشده R=5
- استفاده از
یک
الگوریتم
رمزنگاری
مستندنشده،
پشتیبانینشده
و منسوخ که
تنها در Acrobat
نسخه IX وجود
داشت. از
این گزینه
نباید
استفاده
شود مگر
برای
آزمایش
سازگاری..SH
"PAGE-SELECTION (انتخاب
صفحات از یک
یا چند
فایل)" از
گزینهٔ --pages
برای
انتخاب
صفحات از
چندین فایل
استفاده
کنید. نحوهٔ
استفاده:
qpdf in.pdf --pages --file=input-file [--range=page-range] [--password=password] [...] -- out.pdf
یا
qpdf in.pdf --pages input-file [--password=password] [page-range] [...] -- out.pdf
بین --pages و علامت -- که گزینهٔ pages را خاتمه میدهد، موارد زیر را تکرار کنید:
--file=filename [--range=page-range] [--password=password] [options]
برای سازگاری، فایل و محدوده را میتوان به صورت مکانی (positionally) مشخص کرد. نسخههای qpdf پیش از 11.9.0 نیازمند این هستند که --password=password بلافاصله بعد از نام فایل بیاید. در ساختار قدیمیتر، موارد زیر را تکرار کنید:
filename [--password=password] [page-range]
اطلاعات سطح سند، مانند سرفصلها (outlines)، برچسبها (tags) و غیره، از in.pdf گرفته شده و در out.pdf حفظ میشوند. میتوانید به جای فایل ورودی از --empty استفاده کنید تا کار را با یک فایل خالی شروع کرده و تنها صفحات را به طور مساوی از همهٔ فایلها کپی کنید. میتوانید از "." به عنوان میانبری برای فایل ورودی اصلی (در صورتی که --empty نباشد) استفاده کنید. در مثال بالا، "." به in.pdf اشاره دارد.
از --password=password برای مشخص کردن گذرواژهٔ یک فایل ورودی دارای گذرواژه استفاده کنید. اگر یک فایل ورودی بیش از یک بار استفاده شود، تنها کافی است گذرواژه را برای اولین بار ارائه دهید. در صورت حذف محدودهٔ صفحات، تمام صفحات انتخاب میشوند.
برای راهنمایی دربارهٔ ساختار محدودههای صفحات، دستور qpdf --help=page-ranges را اجرا کنید.
از --collate=n استفاده کنید تا صفحات به جای پیوستهسازی سادهٔ ورودی، در گروههای n صفحهای مرتب (collate) شوند (پیشفرض 1 است). از --collate=i,j,k,... استفاده کنید تا i صفحه از فایل نخست، سپس j صفحه از فایل دوم، سپس k صفحه از فایل سوم، سپس دوباره i صفحه از فایل نخست و الی آخر برداشته شود.
مثالها:
- •
- شروع با in.pdf و
افزودن
تمام صفحات
a.pdf و صفحات
زوج b.pdf به
انتهای آن،
و نوشتن
خروجی در out.pdf.
اطلاعات
سطح سند از in.pdf
حفظ میشود.
به استفاده
از "." برای
اشاره به in.pdf
توجه کنید.
qpdf in.pdf --pages . a.pdf b.pdf 1-z:even -- out.pdf - •
- برداشتن
تمام صفحات
از a.pdf، تمام
صفحات از b.pdf
به صورت
معکوس، و
تنها صفحات
۳ و ۶ از c.pdf و
نوشتن
نتیجه در out.pdf.
استفاده از
گذرواژهٔ
"x" برای باز
کردن b.pdf:
qpdf --empty --pages a.pdf b.pdf --password=x z-1 c.pdf 3,6مثالهای بیشتر در دفترچهٔ راهنما موجود است.
OVERLAY-UNDERLAY (لایهبندی رویی/زیری صفحات از سایر فایلهای PDF)
این گزینهها امکان قرار دادن صفحات یک فایل PDF دیگر را به صورت لایهٔ رویین (overlaid) یا لایهٔ زیرین (underlaid) بر روی خروجی اصلی فراهم میکنند. صفحات لایهٔ رو (overlaid) بر روی صفحهٔ مقصد ترسیم میشوند و ممکن است صفحه را بپوشانند. صفحات لایهٔ زیر (underlaid) در زیر صفحهٔ مقصد ترسیم میشوند. نحوهٔ استفاده:
{--overlay|--underlay} [--file=]file
[--password=password]
[--to=page-range]
[--from=[page-range]]
[--repeat=page-range]
--
به استفاده از "--" به تنهایی برای پایان دادن به گزینههای overlay/underlay توجه کنید.
برای overlay و underlay، یک فایل و گذرواژهٔ اختیاری، به همراه مجموعهای از محدودههای اختیاری صفحات مشخص میشود. رفتار پیشفرض این است که هر صفحه از فایل روکش یا زیرانداز بر روی صفحهٔ متناظر از خروجی اصلی اعمال میشود تا زمانی که صفحات آن تمام شوند، و هر صفحهٔ اضافی نادیده گرفته میشود. همچنین میتوانید با --repeat یک محدودهٔ صفحه تعیین کنید تا پس از اتمام صفحات اصلی، آن صفحات تکرار شوند.
این گزینهها قابل تکرار هستند. صفحات به ترتیب ظاهر شدن روی یکدیگر قرار میگیرند: ابتدا لایههای زیرین (underlays)، سپس صفحهٔ اصلی، و سپس لایههای رویین (overlays).
برای راهنمایی دربارهٔ ساختار محدودههای صفحات، دستور qpdf --help=page-ranges را اجرا کنید.
گزینههای مرتبط:
- --to -- صفحات مقصد برای underlay/overlay
- --to=page-range
محدودهٔ صفحات در خروجی اصلی را که باید overlay/underlay بر آنها اعمال شود، مشخص میکند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید.
- --from -- صفحات مبدأ برای underlay/overlay
- --from=[page-range]
صفحاتی از فایل overlay/underlay را که باید بر روی صفحات مقصد اعمال شوند، مشخص میکند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید. در صورت استفاده از --repeat، محدودهٔ صفحه میتواند حذف شود.
- --repeat -- صفحات overlay/underlay برای تکرار
- --repeat=page-range
صفحاتی از overlay/underlay را مشخص میکند که پس از اتمام صفحات "from" تکرار میشوند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید..SH "پیوستها (ATTACHMENTS) (کار با فایلهای تعبیهشده)" فهرست کردن، افزودن یا حذف فایلهای تعبیهشده (که با نام پیوست نیز شناخته میشوند) و همچنین رونوشت پیوستها از فایلهای دیگر امکانپذیر است. برای جزئیات به راهنمای هر یک از گزینهها مراجعه کنید. برای جزئیات بیشتر درباره افزودن پیوستها، دستور qpdf --help=add-attachment را اجرا کنید. همچنین --help=--list-attachments و --help=--show-attachment را ببینید.
گزینههای مرتبط:
- --add-attachment -- آغاز گزینههای افزودن پیوست
- --add-attachment file [options] --
پرچم --add-attachment و گزینههای آن میتوانند برای افزودن چندین پیوست تکرار شوند. برای جزئیات، دستور qpdf --help=add-attachment را اجرا کنید.
- --copy-attachments-from -- آغاز گزینههای رونوشت پیوست
- --copy-attachments-from file [options] --
پرچم --copy-attachments-from و گزینههای آن میتوانند برای رونوشت پیوستها از چندین فایل تکرار شوند. برای جزئیات، دستور qpdf --help=copy-attachments را اجرا کنید.
- --remove-attachment -- حذف یک فایل تعبیهشده
- --remove-attachment=key
حذف یک فایل تعبیهشده با استفاده از کلید آن. کلید را میتوانید با --list-attachments به دست آورید.
تاریخهای پیدیاف (PDF-DATES) (قالب تاریخ PDF)
هنگامی که تاریخی مورد نیاز است، تاریخ باید با مشخصات قالب تاریخ PDF مطابقت داشته باشد، که به صورت “D:yyyymmddhhmmssz” است و در آن “z” یا عیناً حرف بزرگ “Z” به معنای UTC است، یا یک اختلاف منطقه زمانی به شکل “-hh'mm'” یا “+hh'mm'” است. اختلافهای منفی منطقه زمانی، زمانِ پیش از UTC را نشان میدهند. اختلافهای مثبت مشخص میکنند که زمان چقدر بعد از آن است. برای نمونه، زمان استاندارد شرقی ایالات متحده (America/New_York) برابر “-05'00'” و زمان استاندارد هند (Asia/Calcutta) برابر “+05'30'” است.
مثالها:
- •
- D:20210207161528-05'00' ۷ فوریه ۲۰۲۱ ساعت ۴:۱۵:۲۸ بعدازظهر
- •
- D:20210207211528Z ۷ فوریه ۲۰۲۱ ساعت ۲۱:۱۵:۲۸ UTC
افزودن پیوست (ADD-ATTACHMENT) (پیوست کردن (تعبیه) فایلها)
گزینههای فهرستشده در زیر، میان --add-attachment و علامت پایاندهنده آن “--” قرار میگیرند.
گزینههای مرتبط:
- --key -- تعیین کلید پیوست
- --key=key
کلید مورد استفاده برای پیوست را در جدول فایلهای تعبیهشده مشخص میکند. پیشفرض آن آخرین جزء (basename) نام فایلِ ضمیمهشده است.
- --filename -- تنظیم نام نمایشی فایل پیوست
- --filename=name
نام فایل مورد استفاده برای پیوست را تعیین میکند. این نام معمولاً به کاربر نمایش داده میشود و نامی است که بیشتر نمایشدهندههای گرافیکی PDF هنگام ذخیره فایل استفاده خواهند کرد. پیشفرض آن آخرین جزء (basename) نام فایلِ ضمیمهشده است.
- --creationdate -- تنظیم تاریخ ایجاد پیوست
- --creationdate=date
تاریخ ایجاد پیوست را در قالب PDF مشخص میکند؛ پیشفرض زمان فعلی است. برای اطلاعات درباره قالب تاریخ، دستور qpdf --help=pdf-dates را اجرا کنید.
- --moddate -- تنظیم تاریخ تغییر پیوست
- --moddate=date
تاریخ تغییر پیوست را در قالب PDF مشخص میکند؛ پیشفرض زمان فعلی است. برای اطلاعات درباره قالب تاریخ، دستور qpdf --help=pdf-dates را اجرا کنید.
- --mimetype -- نوع mime پیوست، مثلاً application/pdf
- --mimetype=type/subtype
نوع mime را برای پیوست مشخص میکند، مانند text/plain، application/pdf، image/png و غیره.
- --description -- تنظیم توضیحات پیوست
- --description="text"
متن توصیفی برای پیوست ارائه میدهد که توسط برخی نمایشدهندههای PDF نشان داده میشود.
- --replace -- جایگزینی پیوست با کلید یکسان
- مشخص
میکند که
هر پیوست
موجود با
کلید یکسان
باید با
پیوست جدید
جایگزین
شود. در غیر
این صورت،
اگر پیوستی
با آن کلید
از قبل
موجود
باشد، qpdf
خطایی صادر
خواهد کرد..SH
"کپی
پیوستها
از فایلی
دیگر (COPY-ATTACHMENTS)"
گزینههای
فهرستشده
در زیر میان
--copy-attachments-from و «--»
پایاندهنده
آن قرار
میگیرند.
برای کپی کردن پیوستها از یک فایل محافظتشده با گذرواژه، از گزینه --password پس از نام فایل استفاده کنید.
گزینههای مرتبط:
- --prefix -- پیشوند کلید برای کپی پیوستها
- --prefix=prefix
افزودن یک پیشوند به ابتدای هر کلید؛ در صورتی که کلیدهای پیوست تکراری وجود داشته باشند ممکن است لازم باشد. این کار تنها بر کلید اثر میگذارد، نه بر نام فایل.
بازرسی فایلهای PDF (INSPECTION)
این گزینهها ابزارهایی را برای بازرسی فایلهای PDF ارائه میدهند. هنگامی که هر یک از گزینههای این بخش مشخص شوند، هیچ فایل خروجی نباید تعیین شود.
گزینههای مرتبط:
- --is-encrypted -- بررسی بیسروصدای وضعیت رمزگذاری فایل
- خروج بدون
نمایش پیام
با کدی که
وضعیت
رمزگذاری
فایل را
نشان
میدهد:
0: فایل رمزگذاری شده است 1: استفاده نمیشود 2: فایل رمزگذاری نشده است
از این گزینه میتوان برای فایلهای محافظتشده با گذرواژه حتی در صورت ندانستن گذرواژه استفاده کرد.
- --requires-password -- بررسی بیسروصدای گذرواژه فایل
- خروج بدون
نمایش پیام
با کدی که
وضعیت
گذرواژه
فایل را
نشان
میدهد:
0: به گذرواژهای بهجز آنچه ارائه شده نیاز است 1: استفاده نمیشود 2: فایل رمزگذاری نشده است 3: فایل رمزگذاری شده است و گذرواژه درست (در صورت وجود) ارائه شده است
- --check -- بررسی جزئی معتبر بودن PDF
- بررسی ساختار فایل PDF و همچنین چندین جنبه دیگر از فایل، و نوشتن اطلاعات مربوط به فایل در خروجی استاندارد. توجه داشته باشید که qpdf هیچگونه اعتبارسنجی روی محتوای واقعی صفحات PDF یا درستی معنایی فایل PDF انجام نمیدهد؛ این ابزار صرفاً معتبر بودن نحوی فایل PDF را بررسی میکند. همچنین qpdf --help=exit-status را ببینید.
- --show-encryption -- اطلاعات مربوط به فایلهای رمزگذاریشده
- نمایش پارامترهای رمزگذاری سند. همچنین در صورتی که گذرواژه مالک (owner password) ارائه شده باشد و فایل با استفاده از قالبهای رمزگذاری قدیمیتری که امکان بازیابی گذرواژه کاربر را میدهند رمزگذاری شده باشد، گذرواژه کاربر سند را نیز نمایش میدهد.
- --show-encryption-key -- نمایش کلید همراه با --show-encryption
- هنگامی که همراه با --show-encryption یا --check استفاده شود، سبب نمایش کلید رمزگذاری زیربنایی میشود.
- --check-linearization -- بررسی جدولهای خطیسازی
- بررسی این موضوع که آیا فایل خطیسازی شده است یا خیر، و در صورت مثبت بودن، آیا جدولهای راهنمای خطیسازی درست هستند یا خیر.
- --show-linearization -- نمایش جدولهای راهنمای خطیسازی
- بررسی و نمایش تمامی دادهها در جدولهای راهنمای خطیسازی.
- --show-xref -- نمایش دادههای ارجاع متقابل (cross-reference)
- نمایش محتویات جدول یا جریان ارجاع متقابل (مکانهای شیء در فایل) در قالبی خوانا برای انسان. این قابلیت بهویژه برای فایلهایی با جریانهای ارجاع متقابل که در قالبی باینری ذخیره میشوند، بسیار مفید است.
- --show-object -- نمایش محتویات یک شیء
- --show-object={trailer|obj[,gen]}
نمایش محتویات شیء دادهشده. این گزینه بهویژه برای بازرسی اشیایی که درون جریانهای شیء (همچنین شناختهشده با عنوان «اشیای فشردهشده») قرار دارند، مفید است.
- --raw-stream-data -- نمایش دادههای خام جریان
- هنگامی که همراه با --show-object استفاده شود، اگر شیء یک جریان (stream) باشد، دادههای باینری خام (فشردهشده) جریان را به جای محتویات شیء در خروجی استاندارد مینویسد. همچنین --filtered-stream-data را ببینید.
- --filtered-stream-data -- نمایش دادههای پالایششده جریان
- هنگامی که همراه با --show-object استفاده شود، اگر شیء یک جریان (stream) باشد، دادههای پالایششده (فشردهنشده، احتمالاً باینری) جریان را به جای محتویات شیء در خروجی استاندارد مینویسد. همچنین --raw-stream-data را ببینید.
- --show-npages -- نمایش تعداد صفحات
- چاپ تعداد صفحات فایل ورودی در یک خط جداگانه. برای اسکریپتها کاربردی است.
- --show-pages -- نمایش اطلاعات واژهنامه صفحه
- نمایش شماره شیء و نسل برای هر شیء واژهنامه صفحه و برای هر جریان محتوای مرتبط با صفحه.
- --with-images -- گنجاندن جزئیات تصاویر همراه با --show-pages
- هنگامی که همراه با --show-pages استفاده شود، شماره شیء و نسل اشیای تصویری موجود در هر صفحه را نیز نمایش میدهد.
- --list-attachments -- فهرست کردن فایلهای تعبیهشده
- نمایش کلید و شماره جریان برای هر فایل تعبیهشده. برای اطلاعات با جزئیات بیشتر با --verbose ترکیب کنید.
- --show-attachment -- برونریزی یک فایل تعبیهشده
- --show-attachment=key
نوشتن محتویات پیوست مشخصشده در خروجی استاندارد به صورت دادههای باینری. کلید را با استفاده از --list-attachments به دست آورید..SH "JSON (خروجی JSON برای اطلاعات PDF)" نمایش اطلاعات درباره فایل PDF در قالب JSON. لطفاً برای جزئیات به فصل JSON در راهنمای qpdf مراجعه کنید.
گزینههای مرتبط:
- --json -- نمایش فایل در قالب JSON
- --json[=version]
تولید یک نمایش JSON از فایل. این مورد به تفصیل در بخش JSON راهنما شرح داده شده است. “version” ممکن است یک نگارش مشخص یا “latest” (پیشفرض) باشد. برای مشاهده توضیحات درباره شیء JSON تولیدشده دستور qpdf --json-help را اجرا کنید.
- --json-help -- نمایش قالب خروجی JSON
- --json-help[=version]
توصیف ساختار و قالب خروجی JSON با نوشتن یک شیء JSON در خروجی استاندارد، که کلیدهای یکسانی داشته و مقادیر آن شامل متنهای توضیحی است.
- --json-key -- محدود کردن کلیدهای موجود در خروجی JSON
- --json-key=key
این گزینه تکرارپذیر است. در صورت مشخص شدن، تنها کلیدهای سطح اول (top-level) تعیینشده در خروجی JSON گنجانده خواهند شد. در غیر این صورت، همه کلیدها گنجانده میشوند. به همراه --json-output، در صورتی که مشخص نشود، تنها کلید “qpdf” در خروجی ظاهر خواهد شد.
- --json-object -- محدود کردن اشیای موجود در JSON
- --json-object={trailer|obj[,gen]}
این گزینه تکرارپذیر است. در صورت مشخص شدن، تنها اشیای تعیینشده در کلید “objects” از خروجی JSON نشان داده خواهند شد. در غیر این صورت، تمام اشیاء نمایش داده میشوند.
- --json-stream-data -- چگونگی مدیریت جریانها (streams) در خروجی JSON
- --json-stream-data={none|inline|file}
هنگام استفاده با --json، این گزینه تعیین میکند که آیا جریانها در خروجی JSON حذف شوند، به صورت درونخطی (کدگذاریشده با base64) نوشته شوند، یا درون یک فایل نوشته شوند. اگر “file” انتخاب شود، نام فایل همان نام فایل خروجی خواهد بود که nnn- به انتهای آن افزوده شده است (که nnn شماره شیء است). این پیشوند را میتوان با --json-stream-prefix تغییر داد. مقدار پیشفرض “none” است، مگر زمانی که --json-output مشخص شده باشد، که در این حالت پیشفرض “inline” خواهد بود.
- --json-stream-prefix -- پیشوند برای فایلهای داده جریان (stream) در JSON
- --json-stream-prefix=file-prefix
هنگام استفاده با --json-stream-data=file، این گزینه پیشوند فایلهای داده جریان را تعیین میکند و پیشفرضی را که استفاده از نام فایل خروجی است بازنویسی مینماید. هر مقداری که در اینجا داده شود، با nnn- ترکیب میشود تا نام فایلی که حاوی دادههای جریان در شیء nnn است ساخته شود.
- --json-output -- اعمال پیشفرضها برای سریالسازی JSON
- --json-output[=version]
موجب اعمال ضمنی --json=version میشود. مقادیر پیشفرض را برای برخی گزینهها به نحوی تغییر میدهد که خروجی JSON نوشتهشده وفادارانهترین نمایش از PDF اصلی بوده و حاوی هیچ کلید JSON اضافی نباشد. همچنین ببینید: --json-stream-data، --json-stream-prefix و --decode-level.
- --json-input -- فایل ورودی یک JSON از نوع qpdf است
- در نظر گرفتن فایل ورودی به عنوان یک فایل JSON در قالب JSON نرمافزار qpdf. برای اطلاعات درباره نحوه استفاده از این گزینه، بخش “qpdf JSON Format” راهنما را ببینید.
- --update-from-json -- بهروزرسانی یک PDF از طریق JSON نرمافزار qpdf
- --update-from-json=qpdf-json-file
بهروزرسانی یک فایل PDF از روی یک فایل JSON. لطفاً برای اطلاعات درباره نحوه استفاده از این گزینه به فصل “qpdf JSON” در راهنما مراجعه کنید.
GLOBAL (گزینههای تغییر رفتار qpdf)
گزینههای زیر رفتار کلی qpdf را تغییر میدهند. این شامل تغییر محدودیتهای پیادهسازی و تغییر حالتهای عملکرد میشود.
گزینههای مرتبط:
- --global -- آغاز تنظیم گزینهها و محدودیتهای سراسری
- --global [options] --
آغاز تنظیم گزینهها و محدودیتهای سراسری.
- --no-default-limits -- غیرفعال کردن محدودیتهای پیشفرض اختیاری
- غیرفعالسازی تمام محدودیتهای اختیاری پیشفرض. محدودیتهایی که به صراحت تنظیم شدهاند تحت تأثیر قرار نمیگیرند. برخی محدودیتها، به خصوص آنهایی که برای جلوگیری از سرریز پشته (stack overflow) طراحی شدهاند، با این گزینه حذف نمیشوند اما قابل تغییر هستند. در مواردی که چنین باشد، در توضیحات گزینه مربوطه ذکر شده است.
- --parser-max-nesting -- تنظیم حداکثر سطح تو در تویی هنگام تجزیه اشیاء
- --parser-max-nesting=n
تنظیم حداکثر سطح تو در تویی (nesting) هنگام تجزیه اشیاء. حداکثر سطح تو در تویی توسط --no-default-limits غیرفعال نمیشود. مقدار پیشفرض 499 است.
- --parser-max-errors -- تنظیم حداکثر تعداد خطاهای مجاز هنگام تجزیه
- --parser-max-errors=n
تنظیم حداکثر تعداد خطاهای مجاز هنگام تجزیه یک شیء غیرمستقیم (indirect object). مقدار 0 به این معنی است که هیچ محدودیتی اعمال نمیشود. مقدار پیشفرض 15 است.
- --parser-max-container-size -- تنظیم حداکثر اندازه کانتینر هنگام تجزیه
- --parser-max-container-size=n
تنظیم حداکثر تعداد اشیای سطح اول مجاز در یک کانتینر در حین تجزیه. این محدودیت زمانی اعمال میشود که جدول xref سند PDF آسیبندیده باشد و خود شیء بتواند بدون خطا تجزیه شود. حد پیشفرض 4,294,967,295 است. همچنین ببینید: --parser-max-container-size-damaged.
- --parser-max-container-size-damaged -- تنظیم حداکثر اندازه کانتینر هنگام تجزیه فایلهای آسیبدیده
- --parser-max-container-size-damaged=n
تنظیم حداکثر تعداد اشیای سطح اول مجاز در یک کانتینر حین تجزیه. این محدودیت زمانی اعمال میشود که جدول xref سند PDF آسیب دیده باشد یا خود شیء خراب باشد. این محدودیت همچنین هنگام تجزیه جریانهای xref اعمال میشود. حد پیشفرض 5,000 است. همچنین ببینید: --parser-max-container-size.
- --max-stream-filters -- تنظیم حداکثر تعداد فیلترهای مجاز هنگام پالایش جریانها
- --max-stream-filters=n
تعداد بیش از حد فیلترهای جریان (stream filters) معمولاً نشانهای از این است که فایل آسیب دیده یا به صورت خاص و غیرعادی ساخته شده است. اگر برای یک جریان از این حداکثر فراتر رود، آن جریان به عنوان غیرقابلپالایش در نظر گرفته میشود. حد پیشفرض 25 است..SH "آزمایش (TESTING - گزینههایی برای آزمایش یا اشکالزدایی)" گزینههای زیر هنگام نوشتن کدهای آزمون خودکار که شامل فایلهای ایجادشده توسط qpdf هستند یا هنگام آزمایش خود qpdf کاربرد دارند.
گزینههای مرتبط:
- --static-id -- استفاده از شناسه سند ثابت
- از یک مقدار ثابت برای شناسه سند (document ID) استفاده میکند. این گزینه صرفاً برای آزمایش در نظر گرفته شده است. هرگز از آن برای فایلهای عملیاتی استفاده نکنید. همچنین qpdf --help=--deterministic-id را ببینید.
- --static-aes-iv -- استفاده از بردار ثابت AES
- از یک بردار مقداردهی اولیهٔ (initialization vector) ایستا برای AES-CBC استفاده میکند. این گزینه صرفاً برای آزمایش است تا فایلهای خروجی تکرارپذیر باشند. هرگز از آن برای فایلهای عملیاتی استفاده نکنید. این گزینه امن نیست زیرا رمزنگاری را بهطور چشمگیری تضعیف میکند.
- --linearize-pass1 -- ذخیرهٔ مرحلهٔ ۱ خطیسازی
- --linearize-pass1=file
مرحلهٔ نخست خطیسازی را در فایل مشخصشده مینویسد. فایل حاصل یک فایل PDF معتبر نیست. این گزینه فقط برای اشکالزدایی qpdf مفید است.
- --test-json-schema -- سنجش json تولیدشده در برابر schema
- این گزینه توسط مجموعه آزمون qpdf برای بررسی سازگاری میان خروجی qpdf --json و خروجی qpdf --json-help استفاده میشود.
- --report-memory-usage -- گزارش تقریبی مصرف حافظه
- این گزینه توسط مجموعه آزمونهای کارایی qpdf برای گزارش حداکثر میزان حافظهٔ استفادهشده در محیطهای پشتیبانیشده به کار میرود.
همچنین ببینید (SEE ALSO)
برای خلاصهای از گزینههای qpdf، لطفاً qpdf --help را اجرا کنید. یک راهنمای کامل را میتوان در https://qpdf.readthedocs.io یافت.
| qpdf version 12.4.1 |