QPDF(1) دستورهای کاربری QPDF(1)

qpdf - نرم‌افزار تبدیل و تغییر فایل‌های PDF

qpdf [ options ] infilename [ outfilename ]

برنامه 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 را در توزیع کد منبع ببینید.

یک فایل PDF را می‌خواند، تبدیل‌ها یا تغییرات را اعمال می‌کند، و یک فایل PDF جدید می‌نویسد.

کاربرد: qpdf [infile] [options] [outfile]
یا: qpdf --help[={topic|--option}]

•
تا زمانی که infile پیش از outfile قرار گیرد، infile، options و outfile می‌توانند به هر ترتیبی باشند.
•
برای یک ورودی خالی و بدون صفحه، به جای فایل ورودی از --empty استفاده کنید
•
برای بازنویسی فایل ورودی با فایل خروجی، به جای فایل خروجی از --replace-input استفاده کنید
•
پارامتر outfile می‌تواند - باشد تا در stdout بنویسد؛ خواندن از stdin پشتیبانی نمی‌شود
•
عبارت @filename یک فایل آرگومان است؛ با هر خط به عنوان یک آرگومان خط فرمان جداگانه رفتار می‌شود
•
می‌توان از @- برای خواندن آرگومان‌ها از stdin استفاده کرد
•
در صورت وجود تناقض، گزینه‌های بعدی ممکن است گزینه‌های قبلی را لغو کنند

گزینه‌های مرتبط:

به جای infile برای یک ورودی خالی استفاده می‌شود. به ویژه همراه با --pages بسیار مفید است.
به جای outfile برای بازنویسی فایل ورودی با خروجی استفاده می‌شود.
--job-json-file=file

نام فایلی را مشخص کنید که انتظار می‌رود محتوای آن حاوی یک فایل JSON از نوع QPDFJob باشد. برای توضیحات مربوط به قالب فایل ورودی JSON، دستور qpdf --job-json-help را اجرا کنید.

مفهوم کدهای خروج:

•
0: بدون خطا یا هشدار
•
1: توسط qpdf استفاده نمی‌شود، اما در صورت عدم امکان فراخوانی qpdf ممکن است توسط پوسته (shell) به کار رود
•
2: خطاهایی شناسایی شدند
•
3: هشدارهایی شناسایی شدند، مگر آن‌که --warning-exit-0 داده شده باشد

گزینه‌های مرتبط:

هنگام بروز هشدارها، از وضعیت خروج 0 به جای 3 استفاده می‌کند. در صورت ترکیب با --no-warn، هشدارها به طور کامل نادیده گرفته می‌شوند..SH "تکمیل پوسته (COMPLETION (shell completion))" تکمیل خودکار پوسته در bash و zsh پشتیبانی می‌شود. برای فعال‌سازی از eval "$(qpdf --completion-bash)" یا eval "$(qpdf --completion-zsh)" استفاده کنید. متغیر محیطی QPDF_EXECUTABLE مسیری را که این دستورات برای qpdf خروجی می‌دهند بازنویسی می‌کند.

گزینه‌های مرتبط:

دستوری را خروجی می‌دهد که تکمیل خودکار bash را فعال می‌کند.
دستوری را خروجی می‌دهد که تکمیل خودکار zsh را فعال می‌کند.

گزینه‌های راهنما اطلاعاتی درباره خود qpdf ارائه می‌دهند. این گزینه‌ها تنها زمانی معتبر هستند که به عنوان نخستین و تنها آرگومان خط فرمان به کار روند.

گزینه‌های مرتبط:

--help[=--option|topic]

--help: ارائه اطلاعات عمومی و فهرستی از موضوعات --help=--option: ارائه راهنما درباره یک گزینه مشخص --help=topic: ارائه راهنما درباره یک موضوع

نمایش نسخه qpdf.
نمایش اطلاعات کپی‌رایت و مجوز.
نمایش فهرستی از ارائه‌دهندگان رمزنگاری موجود، هر کدام در یک خط. ارائه‌دهنده پیش‌فرض در ابتدا نمایش داده می‌شود.
توصیف قالب ورودی JSON مربوط به QPDFJob که توسط --job-json-file استفاده می‌شود.
اگر پشتیبانی از zopfli در هنگام کامپایل گنجانده شده باشد، فعال بودن آن را مشخص کرده و به طور عادی خارج می‌شود. در غیر این صورت، کامپایل نشدن آن را مشخص کرده و با یک کد خطا خارج می‌شود. اگر zopfli کامپایل شده است، آن را با تنظیم متغیر محیطی ``QPDF_ZOPFLI`` فعال کنید.

گزینه‌های عمومی رفتار qpdf را به شیوه‌هایی کنترل می‌کنند که مستقیماً به عملیات در حال انجام مربوط نمی‌شوند.

گزینه‌های مرتبط:

--password=password

تعیین گذرواژه برای یک فایل رمزگذاری‌شده و دارای محافظت با گذرواژه. برای فایل‌های رمزگذاری‌شده بدون گذرواژه نیازی نیست.

--password-file=filename

خط اول فایل مشخص‌شده به عنوان گذرواژه استفاده می‌شود. این گزینه به جای گزینه --password به کار می‌رود.

خروجی دادن اطلاعات اضافی درباره فعالیت‌های مختلفی که qpdf در حال انجام آن‌هاست، از جمله اطلاعات فایل‌های ایجاد‌شده و عملیات انجام‌گرفته.
نمایش درصد پیشرفت هنگام نوشتن فایل‌ها.
جلوگیری از چاپ پیام‌های هشدار. در صورت بروز هشدار، qpdf همچنان با وضعیت خروج ۳ خاتمه می‌یابد. برای نادیده گرفتن کامل هشدارها از --warning-exit-0 به همراه --no-warn استفاده کنید.
تولید یک شناسه سند امن و تصادفی تنها با استفاده از اطلاعات ایستا، مانند محتوای صفحات. از نام فایل، ویژگی‌های آن یا زمان فعلی استفاده نمی‌کند.
اجازه به ایجاد فایل‌هایی با الگوریتم‌های رمزنگاری ضعیف. این گزینه برای ایجاد فایل‌های ۴۰ بیتی یا فایل‌های ۱۲۸ بیتی که از رمزنگاری RC4 استفاده می‌کنند، لازم است.
--keep-files-open=[y|n]

هنگامی که qpdf نیاز به کار با چندین فایل دارد، مانند ادغام تعداد زیادی فایل، به طور صریح مشخص می‌کند که آیا فایل‌ها باید باز نگه داشته شوند یا خیر. رفتار پیش‌فرض، تعیین این موضوع بر اساس تعداد فایل‌ها است.

--keep-files-open-threshold=count

تنظیم آستانه مورد استفاده توسط --keep-files-open، که مقدار پیش‌فرض 200 را بازنویسی می‌کند..SH "کنترل پیشرفته (ADVANCED-CONTROL - تنظیم رفتار qpdf)" گزینه‌های کنترل پیشرفته، رفتار qpdf را به روش‌هایی کنترل می‌کنند که در حالت عادی هیچ‌گاه مورد نیاز یک کاربر نخواهد بود، اما ممکن است برای توسعه‌دهندگان یا افرادی که در حال بررسی مشکلات فایل‌های خاصی هستند مفید باشد.

گزینه‌های مرتبط:

ارائه کلید رمزنگاری لایه‌زیرین فایل به صورت یک رشتهٔ کدگذاری‌شده با hex به جای ارائهٔ گذرواژه. این یک گزینهٔ تخصصی است.
غیرفعال کردن رفتار معمول qpdf در تلاش برای سنجش کدگذاری‌های مختلف گذرواژه‌ای که شامل نویسه‌های یونیکد غیر ASCII است، در صورتی که تلاش نخست با موفقیت همراه نباشد.
--password-mode=mode

تنظیم دقیق نحوهٔ کنترل کدگذاری گذرواژه‌های یونیکد توسط qpdf. گزینه‌های معتبر عبارتند از auto، bytes، hex-bytes و unicode.

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

گزینه‌های زیر به qpdf می‌گویند تبدیلهایی را اعمال کند که بدون تغییر در محتوا، ساختار را تغییر می‌دهند.

گزینه‌های مرتبط:

ایجاد فایل‌های خروجی خطی‌سازی‌شده (بهینه‌شده برای وب).
--encrypt [options] --

برای جزئیات بیشتر، فرمان qpdf --help=encryption را اجرا کنید.

ایجاد یک فایل خروجی غیررمزنگاری‌شده حتی در صورتی که فایل ورودی رمزنگاری شده باشد. در حالت عادی qpdf هر رمزنگاری موجود در فایل ورودی را حفظ می‌کند. این گزینه آن رفتار را لغو می‌کند.
حذف محدودیت‌های مرتبط با فایل‌های PDF دارای امضای دیجیتال. این گزینه می‌تواند با --decrypt ترکیب شود تا ویرایش آزادانهٔ فایل‌های قبلاً امضاشده/رمزنگاری‌شده میسر گردد. این گزینه هرگونه امضای دیجیتال را باطل و غیرفعال می‌کند، اما جلوهٔ بصری آن‌ها را دست‌نخورده باقی می‌گذارد.
--copy-encryption=file

کپی کردن جزئیات رمزنگاری از فایل مشخص‌شده به جای حفظ رمزنگاری فایل ورودی. از --encryption-file-password برای تعیین گذرواژهٔ فایل رمزنگاری استفاده کنید.

--encryption-file-password=password

اگر فایل نام‌برده‌شده در --copy-encryption به گذرواژه نیاز دارد، از این گزینه برای ارائهٔ گذرواژه استفاده کنید.

ایجاد یک فایل PDF مناسب برای مشاهده در ویرایشگر متن و حتی ویرایش آن. این گزینه برای ویرایش کد PDF است، نه محتوای صفحات. در کنار تغییرات دیگر، تمام جریان‌هایی که قابلیت خارج شدن از فشرده‌سازی را دارند غیرفشرده شده، و جریان‌های محتوا استانداردسازی می‌شوند. از ابزار کمکی “fix-qdf” می‌توان برای اصلاح فایل‌های QDF ویرایش‌شده به صورت دستی استفاده کرد. قابلیت QDF قابلیتی اختصاصی برای ابزار qpdf است. لطفاً فصل “QDF Mode” را در کتابچه راهنما ببینید.
حذف کامنت‌ها در یک فایل QDF که نشان‌دهندهٔ شناسهٔ شیء (object ID) در فایل اصلی هستند.
--compress-streams=[y|n]

تنظیم --compress-streams=n مانع از فشرده‌سازی جریان‌های غیرفشرده توسط qpdf می‌شود. این ویژگی در صورتی که برخی جریان‌ها را عمداً غیرفشرده باقی می‌گذارید، می‌تواند مفید باشد.

--decode-level=parameter

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

•
none: هیچ چیزی از حالت فشرده خارج نشود. این گزینه در صورت استفاده از --json-output پیش‌فرض است.
•
generalized: جریان‌های فشرده‌شده با الگوریتم‌های فشرده‌سازی چندمنظوره از حالت فشرده خارج شوند. این حالت پیش‌فرض است، مگر آنکه --json-output داده شده باشد.
•
specialized: علاوه بر generalized، جریان‌های فشرده‌شده با روش‌های فشرده‌سازی خاص‌منظوره اما بدون اتلاف نیز از حالت فشرده خارج شوند.
•
all: علاوه بر specialized، جریان‌های فشرده‌شده با روش‌های فشرده‌سازی اتلافی مانند JPEG (DCT) نیز از حالت فشرده خارج شوند. qpdf نحوهٔ خارج کردن تمامی طرح‌های فشرده‌سازی را از حالت فشرده نمی‌داند.
--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
روش فشرده‌سازی عمومی پیش‌فرض مورد استفاده در PDF روش flate است، که مشابه روش استفاده‌شده توسط zip و gzip می‌باشد. معمولاً qpdf به این موارد دست نمی‌زند. این گزینه به qpdf اعلام می‌کند تا جریان‌های فشرده‌شده با flate را از حالت فشرده خارج کرده و مجدداً فشرده‌سازی کند. این قابلیت هنگام ترکیب با --compression-level می‌تواند مفید باشد.
--compression-level=level

هنگام فشرده‌سازی فایل‌ها با روش flate (مورد استفاده در zip و gzip) که فشرده‌سازی پیش‌فرض برای اکثر فایل‌های PDF است، یک سطح فشرده‌سازی را از 1 (کمترین، سریع‌ترین) تا 9 (بیشترین، کندترین) تعیین می‌کند. در صورتی که مایلید جریان‌های از پیش فشرده‌شده را تغییر دهید، به همراه این گزینه به --recompress-flate نیاز خواهید داشت.

--jpeg-quality=level

هنگام بازنویسی تصاویر با --optimize-images، یک سطح کیفیت را از 0 (پایین‌ترین) تا 100 (بالاترین) برای نوشتن تصاویر جدید تنظیم می‌کند. کیفیت بالاتر منجر به ایجاد تصاویر بزرگ‌تر، و کیفیت پایین‌تر باعث ایجاد تصاویر کوچک‌تر می‌شود. این گزینه فقط هنگام ترکیب با --optimize-images اثربخش است.

--normalize-content=[y|n]

خطوط جدید در جریان‌های محتوای PDF را به خطوط جدید سبک UNIX تبدیل می‌کند که برای مشاهدهٔ آن‌ها در ویرایشگر متن برنامه‌نویسی در بسترهای مختلف مناسب است. این ویژگی همچنین توسط --qdf نیز فعال می‌گردد.

--object-streams=mode

نحوهٔ رفتار qpdf در رابطه با جریان‌های شیء (object streams) را کنترل می‌کند. گزینه‌ها:

•
preserve: حفظ جریان‌های شیء اصلی، در صورت وجود (پیش‌فرض)
•
disable: ایجاد فایل‌های خروجی فاقد جریان‌های شیء
•
generate: ایجاد جریان‌های شیء، و فشرده‌سازی اشیاء در صورت امکان
حفظ تمام اشیاء ورودی حتی در صورتی که به آن‌ها ارجاعی داده نشده باشد.
--remove-unreferenced-resources=parameter

حذف هر منبعی از واژه‌نامهٔ منابع صفحه (resource dictionary) که در محتویات صفحه به آن ارجاع داده نشده است. پارامترها: “auto” (پیش‌فرض)، “yes”، “no”.

مترادف با --remove-unreferenced-resources=no. به جای آن، از آن گزینه استفاده کنید..TP --newline-before-endstream -- اجبار به درج یک خط جدید قبل از endstream برای درج یک خط جدید اضافی پیش از endstream. استفاده از این گزینه qpdf را قادر می‌سازد تا در هنگام بازنویسی این‌گونه فایل‌ها، استاندارد PDF/A را حفظ کند.
اگر صفحه‌ای دارای آرایه‌ای از جریان‌های محتوا (content streams) باشد، آن‌ها را در یک جریان محتوای واحد ادغام می‌کند.
تبدیل تصاویر درون‌خطی (inline images) به تصاویر معمولی.
--ii-min-bytes=size-in-bytes

تصاویر درون‌خطی کوچک‌تر از این اندازه را برون‌سپاری (تبدیل به تصویر عادی) نکنید. مقدار پیش‌فرض 1,024 است. برای عدم اعمال حداقل اندازه، از 0 استفاده کنید.

--min-version=version

نسخهٔ PDF خروجی را اجبار می‌کند که حداقل نسخهٔ مشخص‌شده باشد. قالب شمارهٔ نسخه به‌صورت “major.minor[.extension-level]” است که سرآیند نسخه را روی “major.minor” و در صورت تعیین، سطح افزونه را روی “extension-level” تنظیم می‌کند.

--force-version=version

سرآیند نسخهٔ PDF فایل خروجی را بر روی مقدار مشخص‌شده اجبار می‌کند، حتی اگر فایل از ویژگی‌هایی استفاده کند که ممکن است در آن نسخه در دسترس نباشند.

توضیحات کامل دربارهٔ ساختار نحوی محدودهٔ صفحات، همراه با مثال‌ها، در کتابچهٔ راهنما موجود است. به‌طور خلاصه، یک محدوده فهرستی از گروه‌ها است که با کاما از یکدیگر جدا شده‌اند. یک گروه شامل یک عدد یا محدوده‌ای از اعداد است که با خط تیره از هم جدا می‌شوند. می‌توان پیش از یک گروه حرف 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 از صفحهٔ دوم شروع می‌شود. این‌ها صفحات فرد و زوجِ مجموعهٔ حاصل هستند، نه بر اساس شماره صفحات اصلی.

گزینه‌های تغییر، تغییرات سیستماتیکی در بخش‌های خاصی از PDF ایجاد می‌کنند که باعث می‌شود PDF خروجی متفاوت از نسخهٔ اصلی رندر شود.

گزینه‌های مرتبط:

--pages [--file=]file [options] [...] --

برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.

--file=file

فایل مربوط به عملیات صفحهٔ جاری را مشخص می‌کند. این گزینه همراه با --pages، --overlay و --underlay استفاده می‌شود و بین گزینه و نشانگر پایانی -- قرار می‌گیرد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.

--range=numeric-range

محدودهٔ صفحات را برای عملیات جاری صفحه با --pages مشخص می‌کند. در صورت عدم ذکر، همهٔ صفحات انتخاب می‌شوند. این گزینه همراه با --pages استفاده می‌شود و بین --pages و -- قرار می‌گیرد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.

--collate[=n[,m,...]]

صفحات مشخص‌شده با --pages را به‌جای الحاق ساده، به‌صورت تلفیقی (collate) مرتب می‌کند. با یک پارامتر عددی، صفحات را در گروه‌های nتایی تلفیق می‌کند. مقدار پیش‌فرض 1 است. با پارامترهای عددی جداشده با کاما، n صفحه از فایل اول، m صفحه از فایل دوم و به همین ترتیب برمی‌دارد. برای جزئیات بیشتر، دستور qpdf --help=page-selection را اجرا کنید.

--split-pages[=n]

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

نام فایل‌ها از روی نام فایل خروجی مشخص‌شده به شرح زیر تولید می‌شوند:

•
اگر رشتهٔ %d در نام فایل خروجی وجود داشته باشد، با محدودهٔ صفحه‌ای که با صفر پر شده (zero-padded) و از 1 شروع می‌شود جایگزین می‌گردد
•
در غیر این صورت، اگر نام فایل خروجی به .pdf ختم شود (بدون حساسیت به حروف کوچک و بزرگ)، یک محدودهٔ صفحه پرشده با صفر که قبل از آن یک خط تیره قرار دارد، پیش از پسوند فایل درج می‌شود
•
در غیر این صورت، محدودهٔ صفحه‌ای که با صفر پر شده و قبل از آن خط تیره قرار دارد، به انتهای نام فایل اضافه می‌شود.

محدوده‌های صفحات برای گروه‌های تک‌صفحه‌ای به‌صورت شماره صفحهٔ منفرد و برای گروه‌های چندصفحه‌ای به‌صورت first-last (اول-آخر) هستند.

--overlay file [options] --

صفحات یک فایل PDF دیگر را بر روی خروجی روگذاری (overlay) می‌کند. برای جزئیات بیشتر، دستور qpdf --help=overlay-underlay را اجرا کنید.

--underlay file [options] --

صفحات یک فایل PDF دیگر را در زیر خروجی زیرگذاری (underlay) می‌کند. برای جزئیات بیشتر، دستور qpdf --help=overlay-underlay را اجرا کنید.

برای هر صفحه‌ای که با استفاده از کلید /Rotate در دیکشنری صفحه چرخیده است، کلید /Rotate را حذف کرده و مفهوم چرخش مشابه را از طریق تغییر محتوای صفحه اعمال می‌کند. این گزینه زمانی مفید است که یک نمایشگر معیوب PDF نتواند متادیتای چرخش صفحه را به‌درستی لحاظ کند.
--flatten-annotations=parameter

یادداشت‌های (annotations) صفحه را به درون جریان‌های محتوا منتقل و ادغام می‌کند. این کار ممکن است در برخی موارد هنگام چاپ یا تفکیک فایل‌ها ضروری باشد. پارامترها: “all”، “print”، “screen”.

--rotate=[+|-]angle[:page-range]

صفحات مشخص‌شده را با مضاربی از 90 درجه با تعیین زوایای مطلق یا نسبی می‌چرخاند. مقدار “angle” می‌تواند 0، 90، 180 یا 270 باشد. همان‌طور که در دفترچهٔ راهنما مطرح شده، تقریباً همیشه بهتر است به‌جای صرفاً angle، از +angle یا -angle استفاده کنید. برای راهنمایی دربارهٔ محدودهٔ صفحات، دستور qpdf --help=page-ranges را اجرا کنید.

فیلدهای فرم PDF شامل مقادیر و نماها (appearances) هستند؛ در صورتی که مقدار فیلد فرم بدون به‌روزرسانی نمای آن تغییر کرده باشد، ممکن است این دو با یکدیگر ناهماهنگ باشند. این گزینه به qpdf دستور می‌دهد تا جریان‌های نمای جدیدی ایجاد کند. محدودیت‌هایی وجود دارد که در دفترچهٔ راهنما به آن‌ها پرداخته شده است.
تلاش برای استفاده از فشرده‌سازی DCT (JPEG) برای تصاویری که در محدودهٔ محدودیت‌های خاصی قرار دارند، تا زمانی که انجام این کار حجم بایت‌های تصویر را کاهش دهد. همچنین به راهنمای گزینه‌های زیر مراجعه کنید:
--oi-min-width
--oi-min-height
--oi-min-area
--keep-inline-images
--oi-min-width=width

تصاویری را که عرض آن‌ها کمتر از مقدار مشخص‌شده است بهینه‌سازی نکنید.

--oi-min-height=height

تصاویری را که ارتفاع آن‌ها کمتر از مقدار مشخص‌شده است بهینه‌سازی نکنید.

--oi-min-area=area-in-pixels

تصاویری را که مساحت آن‌ها بر حسب پیکسل کمتر از مقدار مشخص‌شده است بهینه‌سازی نکنید..TP --keep-inline-images -- مستثنی کردن تصاویر درون‌خطی از بهینه‌سازی جلوگیری از اعمال --optimize-images بر تصاویر درون‌خطی (inline).

حذف دیکشنری فرم تعاملی از فایل خروجی. این گزینه تنها دیکشنری فرم تعاملی را از کاتالوگ سند حذف می‌کند. دیکشنری‌های مربوط به فیلدهای فرم یا حاشیه‌نویسی‌های ویجت (widget annotations) حذف نمی‌شوند. برای جزئیات بیشتر به کتابچهٔ راهنما مراجعه کنید.
حذف اطلاعات فایل (به‌جز تاریخ تغییر) از فایل خروجی.
حذف فراداده (metadata) از فایل خروجی.
حذف برچسب‌های صفحه (شماره صفحات صریح) از فایل خروجی.
حذف درخت ساختار (structure tree) از فایل خروجی.
--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 آغاز می‌کند و به‌صورت ترتیبی تا انتهای سند ادامه می‌دهد. برای مثال‌های بیشتر، لطفاً به کتابچهٔ راهنما مراجعه فرمایید.

ایجاد فایل‌های رمزشده. کاربرد:

--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

تنظیم گذرواژهٔ کاربر برای فایل رمزشده.

--owner-password=owner-password

تنظیم گذرواژهٔ مالک برای فایل رمزشده.

--bits={48|128|256}

تعیین طول کلید رمزنگاری. برای بیشترین امنیت، همیشه از طول کلید ۲۵۶ استفاده کنید.

--accessibility=[y|n]

این گزینه به‌جز در قالب‌های بسیار قدیمی رمزنگاری نادیده گرفته می‌شود. مشخصات کنونی PDF اجازهٔ محدود کردن دسترس‌پذیری سند را نمی‌دهد. این گزینه در رمزنگاری ۴۰ بیتی در دسترس نیست.

--annotate=[y|n]

فعال/غیرفعال کردن ویرایش حاشیه‌نویسی‌ها شامل ایجاد یادداشت‌ها و پر کردن فیلدهای فرم. در رمزنگاری ۱۲۸ بیتی و ۲۵۶ بیتی، این گزینه همچنین ویرایش، ایجاد و حذف فیلدهای فرم را فعال می‌کند مگر اینکه --modify-other=n یا --modify=none نیز مشخص شده باشد..TP --assemble -- محدود کردن سرهم‌بندی سند --assemble=[y|n]

فعال/غیرفعال کردن سرهم‌بندی سند (چرخش و مرتب‌سازی مجدد صفحات). این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.

--extract=[y|n]

فعال/غیرفعال کردن استخراج متن/گرافیک برای اهدافی غیر از دسترسی‌پذیری.

--form=[y|n]

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

--modify-other=[y|n]

فعال/غیرفعال کردن تغییراتی که توسط --assemble،‏ --annotate یا --form کنترل نمی‌شوند. مقدار --modify-other=n به‌طور ضمنی توسط هر یک از سایر گزینه‌های --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-opt

کنترل اینکه چه نوع چاپی مجاز است. برای رمزنگاری ۴۰ بیتی، print-opt فقط می‌تواند y یا n باشد و تمام چاپ را فعال یا غیرفعال می‌کند. برای رمزنگاری ۱۲۸ بیتی و ۲۵۶ بیتی، print-opt می‌تواند مقادیر زیر را داشته باشد:

none: غیرمجاز بودن چاپ low: مجاز بودن فقط چاپ با وضوح پایین full: مجاز بودن چاپ کامل (پیش‌فرض)

در صورت تعیین، متاداده سند حتی هنگام رمزنگاری بقیه سند، رمزنگاری نمی‌شود. این گزینه با رمزنگاری ۴۰ بیتی در دسترس نیست.
--use-aes=[y|n]

استفاده از رمزنگاری امن‌تر AES را در رمزنگاری ۱۲۸ بیتی فعال/غیرفعال می‌کند. تعیین --use-aes=y نسخه PDF را به حداقل 1.6 اجبار می‌کند. این گزینه فقط با رمزنگاری ۱۲۸ بیتی در دسترس است. مقدار پیش‌فرض به دلایل سازگاری "n" است. در عوض از رمزنگاری ۲۵۶ بیتی استفاده کنید.

هنگام استفاده از رمزنگاری ۲۵۶ بیتی، اجازه ساخت فایل‌های PDF با گذرواژه خالی مالک و گذرواژه غیرخالی کاربر را می‌دهد.
این گزینه برای آزمایش است و در عمل هرگز نیازی به آن نیست، زیرا qpdf در صورت نیاز این کار را به‌طور خودکار انجام می‌دهد.
استفاده از یک الگوریتم رمزنگاری مستندنشده، پشتیبانی‌نشده و منسوخ که تنها در 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

مثال‌های بیشتر در دفترچهٔ راهنما موجود است.

این گزینه‌ها امکان قرار دادن صفحات یک فایل 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=page-range

محدودهٔ صفحات در خروجی اصلی را که باید overlay/underlay بر آن‌ها اعمال شود، مشخص می‌کند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید.

--from=[page-range]

صفحاتی از فایل overlay/underlay را که باید بر روی صفحات مقصد اعمال شوند، مشخص می‌کند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید. در صورت استفاده از --repeat، محدودهٔ صفحه می‌تواند حذف شود.

--repeat=page-range

صفحاتی از overlay/underlay را مشخص می‌کند که پس از اتمام صفحات "from" تکرار می‌شوند. برای راهنمایی دربارهٔ ساختار نوشتاری محدودهٔ صفحات، qpdf --help=page-ranges را ببینید..SH "پیوست‌ها (ATTACHMENTS) (کار با فایل‌های تعبیه‌شده)" فهرست کردن، افزودن یا حذف فایل‌های تعبیه‌شده (که با نام پیوست نیز شناخته می‌شوند) و همچنین رونوشت پیوست‌ها از فایل‌های دیگر امکان‌پذیر است. برای جزئیات به راهنمای هر یک از گزینه‌ها مراجعه کنید. برای جزئیات بیشتر درباره افزودن پیوست‌ها، دستور qpdf --help=add-attachment را اجرا کنید. همچنین --help=--list-attachments و --help=--show-attachment را ببینید.

گزینه‌های مرتبط:

--add-attachment file [options] --

پرچم --add-attachment و گزینه‌های آن می‌توانند برای افزودن چندین پیوست تکرار شوند. برای جزئیات، دستور qpdf --help=add-attachment را اجرا کنید.

--copy-attachments-from file [options] --

پرچم --copy-attachments-from و گزینه‌های آن می‌توانند برای رونوشت پیوست‌ها از چندین فایل تکرار شوند. برای جزئیات، دستور qpdf --help=copy-attachments را اجرا کنید.

--remove-attachment=key

حذف یک فایل تعبیه‌شده با استفاده از کلید آن. کلید را می‌توانید با --list-attachments به دست آورید.

هنگامی که تاریخی مورد نیاز است، تاریخ باید با مشخصات قالب تاریخ 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 و علامت پایان‌دهنده آن “--” قرار می‌گیرند.

گزینه‌های مرتبط:

--key=key

کلید مورد استفاده برای پیوست را در جدول فایل‌های تعبیه‌شده مشخص می‌کند. پیش‌فرض آن آخرین جزء (basename) نام فایلِ ضمیمه‌شده است.

--filename=name

نام فایل مورد استفاده برای پیوست را تعیین می‌کند. این نام معمولاً به کاربر نمایش داده می‌شود و نامی است که بیشتر نمایش‌دهنده‌های گرافیکی PDF هنگام ذخیره فایل استفاده خواهند کرد. پیش‌فرض آن آخرین جزء (basename) نام فایلِ ضمیمه‌شده است.

--creationdate=date

تاریخ ایجاد پیوست را در قالب PDF مشخص می‌کند؛ پیش‌فرض زمان فعلی است. برای اطلاعات درباره قالب تاریخ، دستور qpdf --help=pdf-dates را اجرا کنید.

--moddate=date

تاریخ تغییر پیوست را در قالب PDF مشخص می‌کند؛ پیش‌فرض زمان فعلی است. برای اطلاعات درباره قالب تاریخ، دستور qpdf --help=pdf-dates را اجرا کنید.

--mimetype=type/subtype

نوع mime را برای پیوست مشخص می‌کند، مانند text/plain، application/pdf، image/png و غیره.

--description="text"

متن توصیفی برای پیوست ارائه می‌دهد که توسط برخی نمایش‌دهنده‌های PDF نشان داده می‌شود.

مشخص می‌کند که هر پیوست موجود با کلید یکسان باید با پیوست جدید جایگزین شود. در غیر این صورت، اگر پیوستی با آن کلید از قبل موجود باشد، qpdf خطایی صادر خواهد کرد..SH "کپی پیوست‌ها از فایلی دیگر (COPY-ATTACHMENTS)" گزینه‌های فهرست‌شده در زیر میان --copy-attachments-from و «--» پایان‌دهنده آن قرار می‌گیرند.

برای کپی کردن پیوست‌ها از یک فایل محافظت‌شده با گذرواژه، از گزینه --password پس از نام فایل استفاده کنید.

گزینه‌های مرتبط:

--prefix=prefix

افزودن یک پیشوند به ابتدای هر کلید؛ در صورتی که کلیدهای پیوست تکراری وجود داشته باشند ممکن است لازم باشد. این کار تنها بر کلید اثر می‌گذارد، نه بر نام فایل.

این گزینه‌ها ابزارهایی را برای بازرسی فایل‌های PDF ارائه می‌دهند. هنگامی که هر یک از گزینه‌های این بخش مشخص شوند، هیچ فایل خروجی نباید تعیین شود.

گزینه‌های مرتبط:

خروج بدون نمایش پیام با کدی که وضعیت رمزگذاری فایل را نشان می‌دهد:

0: فایل رمزگذاری شده است 1: استفاده نمی‌شود 2: فایل رمزگذاری نشده است

از این گزینه می‌توان برای فایل‌های محافظت‌شده با گذرواژه حتی در صورت ندانستن گذرواژه استفاده کرد.

خروج بدون نمایش پیام با کدی که وضعیت گذرواژه فایل را نشان می‌دهد:

0: به گذرواژه‌ای به‌جز آنچه ارائه شده نیاز است 1: استفاده نمی‌شود 2: فایل رمزگذاری نشده است 3: فایل رمزگذاری شده است و گذرواژه درست (در صورت وجود) ارائه شده است

بررسی ساختار فایل PDF و همچنین چندین جنبه دیگر از فایل، و نوشتن اطلاعات مربوط به فایل در خروجی استاندارد. توجه داشته باشید که qpdf هیچ‌گونه اعتبارسنجی روی محتوای واقعی صفحات PDF یا درستی معنایی فایل PDF انجام نمی‌دهد؛ این ابزار صرفاً معتبر بودن نحوی فایل PDF را بررسی می‌کند. همچنین qpdf --help=exit-status را ببینید.
نمایش پارامترهای رمزگذاری سند. همچنین در صورتی که گذرواژه مالک (owner password) ارائه شده باشد و فایل با استفاده از قالب‌های رمزگذاری قدیمی‌تری که امکان بازیابی گذرواژه کاربر را می‌دهند رمزگذاری شده باشد، گذرواژه کاربر سند را نیز نمایش می‌دهد.
هنگامی که همراه با --show-encryption یا --check استفاده شود، سبب نمایش کلید رمزگذاری زیربنایی می‌شود.
بررسی این موضوع که آیا فایل خطی‌سازی شده است یا خیر، و در صورت مثبت بودن، آیا جدول‌های راهنمای خطی‌سازی درست هستند یا خیر.
بررسی و نمایش تمامی داده‌ها در جدول‌های راهنمای خطی‌سازی.
نمایش محتویات جدول یا جریان ارجاع متقابل (مکان‌های شیء در فایل) در قالبی خوانا برای انسان. این قابلیت به‌ویژه برای فایل‌هایی با جریان‌های ارجاع متقابل که در قالبی باینری ذخیره می‌شوند، بسیار مفید است.
--show-object={trailer|obj[,gen]}

نمایش محتویات شیء داده‌شده. این گزینه به‌ویژه برای بازرسی اشیایی که درون جریان‌های شیء (همچنین شناخته‌شده با عنوان «اشیای فشرده‌شده») قرار دارند، مفید است.

هنگامی که همراه با --show-object استفاده شود، اگر شیء یک جریان (stream) باشد، داده‌های باینری خام (فشرده‌شده) جریان را به جای محتویات شیء در خروجی استاندارد می‌نویسد. همچنین --filtered-stream-data را ببینید.
هنگامی که همراه با --show-object استفاده شود، اگر شیء یک جریان (stream) باشد، داده‌های پالایش‌شده (فشرده‌نشده، احتمالاً باینری) جریان را به جای محتویات شیء در خروجی استاندارد می‌نویسد. همچنین --raw-stream-data را ببینید.
چاپ تعداد صفحات فایل ورودی در یک خط جداگانه. برای اسکریپت‌ها کاربردی است.
نمایش شماره شیء و نسل برای هر شیء واژه‌نامه صفحه و برای هر جریان محتوای مرتبط با صفحه.
هنگامی که همراه با --show-pages استفاده شود، شماره شیء و نسل اشیای تصویری موجود در هر صفحه را نیز نمایش می‌دهد.
نمایش کلید و شماره جریان برای هر فایل تعبیه‌شده. برای اطلاعات با جزئیات بیشتر با --verbose ترکیب کنید.
--show-attachment=key

نوشتن محتویات پیوست مشخص‌شده در خروجی استاندارد به صورت داده‌های باینری. کلید را با استفاده از --list-attachments به دست آورید..SH "JSON (خروجی JSON برای اطلاعات PDF)" نمایش اطلاعات درباره فایل PDF در قالب JSON. لطفاً برای جزئیات به فصل JSON در راهنمای qpdf مراجعه کنید.

گزینه‌های مرتبط:

--json[=version]

تولید یک نمایش JSON از فایل. این مورد به تفصیل در بخش JSON راهنما شرح داده شده است. “version” ممکن است یک نگارش مشخص یا “latest” (پیش‌فرض) باشد. برای مشاهده توضیحات درباره شیء JSON تولیدشده دستور qpdf --json-help را اجرا کنید.

--json-help[=version]

توصیف ساختار و قالب خروجی JSON با نوشتن یک شیء JSON در خروجی استاندارد، که کلیدهای یکسانی داشته و مقادیر آن شامل متن‌های توضیحی است.

--json-key=key

این گزینه تکرارپذیر است. در صورت مشخص شدن، تنها کلیدهای سطح اول (top-level) تعیین‌شده در خروجی JSON گنجانده خواهند شد. در غیر این صورت، همه کلیدها گنجانده می‌شوند. به همراه --json-output، در صورتی که مشخص نشود، تنها کلید “qpdf” در خروجی ظاهر خواهد شد.

--json-object={trailer|obj[,gen]}

این گزینه تکرارپذیر است. در صورت مشخص شدن، تنها اشیای تعیین‌شده در کلید “objects” از خروجی JSON نشان داده خواهند شد. در غیر این صورت، تمام اشیاء نمایش داده می‌شوند.

--json-stream-data={none|inline|file}

هنگام استفاده با --json، این گزینه تعیین می‌کند که آیا جریان‌ها در خروجی JSON حذف شوند، به صورت درون‌خطی (کدگذاری‌شده با base64) نوشته شوند، یا درون یک فایل نوشته شوند. اگر “file” انتخاب شود، نام فایل همان نام فایل خروجی خواهد بود که nnn- به انتهای آن افزوده شده است (که nnn شماره شیء است). این پیشوند را می‌توان با --json-stream-prefix تغییر داد. مقدار پیش‌فرض “none” است، مگر زمانی که --json-output مشخص شده باشد، که در این حالت پیش‌فرض “inline” خواهد بود.

--json-stream-prefix=file-prefix

هنگام استفاده با --json-stream-data=file، این گزینه پیشوند فایل‌های داده جریان را تعیین می‌کند و پیش‌فرضی را که استفاده از نام فایل خروجی است بازنویسی می‌نماید. هر مقداری که در اینجا داده شود، با nnn- ترکیب می‌شود تا نام فایلی که حاوی داده‌های جریان در شیء nnn است ساخته شود.

--json-output[=version]

موجب اعمال ضمنی --json=version می‌شود. مقادیر پیش‌فرض را برای برخی گزینه‌ها به نحوی تغییر می‌دهد که خروجی JSON نوشته‌شده وفادارانه‌ترین نمایش از PDF اصلی بوده و حاوی هیچ کلید JSON اضافی نباشد. همچنین ببینید: --json-stream-data،‏ --json-stream-prefix و --decode-level.

در نظر گرفتن فایل ورودی به عنوان یک فایل JSON در قالب JSON نرم‌افزار qpdf. برای اطلاعات درباره نحوه استفاده از این گزینه، بخش “qpdf JSON Format” راهنما را ببینید.
--update-from-json=qpdf-json-file

به‌روزرسانی یک فایل PDF از روی یک فایل JSON. لطفاً برای اطلاعات درباره نحوه استفاده از این گزینه به فصل “qpdf JSON” در راهنما مراجعه کنید.

گزینه‌های زیر رفتار کلی qpdf را تغییر می‌دهند. این شامل تغییر محدودیت‌های پیاده‌سازی و تغییر حالت‌های عملکرد می‌شود.

گزینه‌های مرتبط:

--global [options] --

آغاز تنظیم گزینه‌ها و محدودیت‌های سراسری.

غیرفعال‌سازی تمام محدودیت‌های اختیاری پیش‌فرض. محدودیت‌هایی که به صراحت تنظیم شده‌اند تحت تأثیر قرار نمی‌گیرند. برخی محدودیت‌ها، به خصوص آن‌هایی که برای جلوگیری از سرریز پشته (stack overflow) طراحی شده‌اند، با این گزینه حذف نمی‌شوند اما قابل تغییر هستند. در مواردی که چنین باشد، در توضیحات گزینه مربوطه ذکر شده است.
--parser-max-nesting=n

تنظیم حداکثر سطح تو در تویی (nesting) هنگام تجزیه اشیاء. حداکثر سطح تو در تویی توسط --no-default-limits غیرفعال نمی‌شود. مقدار پیش‌فرض 499 است.

--parser-max-errors=n

تنظیم حداکثر تعداد خطاهای مجاز هنگام تجزیه یک شیء غیرمستقیم (indirect object). مقدار 0 به این معنی است که هیچ محدودیتی اعمال نمی‌شود. مقدار پیش‌فرض 15 است.

--parser-max-container-size=n

تنظیم حداکثر تعداد اشیای سطح اول مجاز در یک کانتینر در حین تجزیه. این محدودیت زمانی اعمال می‌شود که جدول xref سند PDF آسیب‌ندیده باشد و خود شیء بتواند بدون خطا تجزیه شود. حد پیش‌فرض 4,294,967,295 است. همچنین ببینید: --parser-max-container-size-damaged.

--parser-max-container-size-damaged=n

تنظیم حداکثر تعداد اشیای سطح اول مجاز در یک کانتینر حین تجزیه. این محدودیت زمانی اعمال می‌شود که جدول xref سند PDF آسیب دیده باشد یا خود شیء خراب باشد. این محدودیت همچنین هنگام تجزیه جریان‌های xref اعمال می‌شود. حد پیش‌فرض 5,000 است. همچنین ببینید: --parser-max-container-size.

--max-stream-filters=n

تعداد بیش از حد فیلترهای جریان (stream filters) معمولاً نشانه‌ای از این است که فایل آسیب دیده یا به صورت خاص و غیرعادی ساخته شده است. اگر برای یک جریان از این حداکثر فراتر رود، آن جریان به عنوان غیرقابل‌پالایش در نظر گرفته می‌شود. حد پیش‌فرض 25 است..SH "آزمایش (TESTING - گزینه‌هایی برای آزمایش یا اشکال‌زدایی)" گزینه‌های زیر هنگام نوشتن کدهای آزمون خودکار که شامل فایل‌های ایجادشده توسط qpdf هستند یا هنگام آزمایش خود qpdf کاربرد دارند.

گزینه‌های مرتبط:

از یک مقدار ثابت برای شناسه سند (document ID) استفاده می‌کند. این گزینه صرفاً برای آزمایش در نظر گرفته شده است. هرگز از آن برای فایل‌های عملیاتی استفاده نکنید. همچنین qpdf --help=--deterministic-id را ببینید.
از یک بردار مقداردهی اولیهٔ (initialization vector) ایستا برای AES-CBC استفاده می‌کند. این گزینه صرفاً برای آزمایش است تا فایل‌های خروجی تکرارپذیر باشند. هرگز از آن برای فایل‌های عملیاتی استفاده نکنید. این گزینه امن نیست زیرا رمزنگاری را به‌طور چشمگیری تضعیف می‌کند.
--linearize-pass1=file

مرحلهٔ نخست خطی‌سازی را در فایل مشخص‌شده می‌نویسد. فایل حاصل یک فایل PDF معتبر نیست. این گزینه فقط برای اشکال‌زدایی qpdf مفید است.

این گزینه توسط مجموعه آزمون qpdf برای بررسی سازگاری میان خروجی qpdf --json و خروجی qpdf --json-help استفاده می‌شود.
این گزینه توسط مجموعه آزمون‌های کارایی qpdf برای گزارش حداکثر میزان حافظهٔ استفاده‌شده در محیط‌های پشتیبانی‌شده به کار می‌رود.

برای خلاصه‌ای از گزینه‌های qpdf، لطفاً qpdf --help را اجرا کنید. یک راهنمای کامل را می‌توان در https://qpdf.readthedocs.io یافت.

qpdf version 12.4.1