| PDFTK(1) | General Commands Manual | PDFTK(1) |
نام (NAME)
pdftk - ابزاری کارآمد برای دستکاری و مدیریت اسناد PDF
خلاصه دستور (SYNOPSIS)
pdftk
<فایلهای PDF
ورودی | - | PROMPT>
[ input_pw
<گذرواژههای
مالک PDF
ورودی | PROMPT> ]
[ <عملیات>
<آرگومانهای
عملیات> ]
[ output <نام
فایل خروجی |
- | PROMPT> ]
[ encrypt_40bit | encrypt_128bit | encrypt_aes128 ]
[ allow
<مجوزها> ]
[ owner_pw
<گذرواژه
مالک | PROMPT> ]
[ user_pw
<گذرواژه
کاربر | PROMPT> ]
[ flatten ] [ need_appearances ]
[ compress | uncompress ]
[ keep_first_id | keep_final_id ] [ drop_xfa ] [
drop_xmp ]
[ replacement_font <نام
قلم> ]
[ verbose ] [ dont_ask | do_ask ]
که در آن:
<عملیات>
میتواند
خالی باشد
یا شامل
موارد زیر:
[ cat | shuffle | burst | rotate |
generate_fdf | fill_form |
background | multibackground |
stamp | multistamp |
dump_data | dump_data_utf8 |
dump_data_fields | dump_data_fields_utf8 |
dump_data_annots |
update_info | update_info_utf8 |
attach_files | unpack_files ]
برای راهنمای کامل: pdftk --help
توضیحات (DESCRIPTION)
اگر PDF را کاغذ الکترونیکی در نظر بگیریم، آنگاه pdftk برای آن حکم منگنهکش، دستگاه پانچ، شیرازهبند، ابزار رمزگشایی و عینک اشعهٔ ایکس الکترونیکی را دارد. ابزار pdftk برنامهای ساده برای انجام کارهای روزمره با اسناد PDF است. از آن برای موارد زیر استفاده کنید:
* ادغام
اسناد PDF یا
مرتبسازی
صفحات
اسکنشدهٔ PDF
* جداسازی و
استخراج
صفحات PDF در
یک سند جدید
* چرخاندن
اسناد یا
صفحات PDF
* رمزگشایی
ورودی در
صورت نیاز
(نیازمند
گذرواژه)
* رمزگذاری
خروجی بر
اساس نیاز
* پر کردن
فرمهای PDF
با
دادههای X/FDF
و/یا ایستا
کردن (Flatten)
فرمها
* تولید قالب
دادههای FDF
از روی
فرمهای PDF
* اعمال
واترمارک
در
پسزمینه
یا مُهر در
پیشزمینه
* گزارش
مشخصات
فنی،
نشانکها (Bookmarks)
و
فرادادههای
سند PDF
* افزودن یا
بهروزرسانی
مشخصات،
نشانکها
یا
فرادادههای
PDF
* پیوست کردن
فایلها به
صفحات PDF یا
به کل سند PDF
* استخراج
پیوستهای
موجود در PDF
* تفکیک یک
سند PDF به
صفحات
تکبرگی (Burst)
* خارج کردن
از حالت
فشرده و
فشردهسازی
مجدد
جریانهای
دادهٔ
صفحات
* ترمیم
فایلهای
آسیبدیدهٔ
PDF (تا حد
امکان).SH
"گزینهها
(OPTIONS)"
خلاصهای
از
گزینهها
در زیر آمده
است.
- --help, -h
- نمایش این خلاصه از گزینهها.
- <input PDF files | - | PROMPT>
- فهرستی از
فایلهای PDF
ورودی. اگر
قصد دارید
این PDFها را
ترکیب کنید
(بدون
استفاده از
دستگیرهها)،
فایلها را
به همان
ترتیبی که
میخواهید
ترکیب شوند
فهرست کنید.
از - برای
فرستادن یک
PDF منفرد به pdftk
از طریق stdin
استفاده
کنید.
فایلهای
ورودی
میتوانند
با
دستگیرهها
(handles) مرتبط
شوند، که در
آن یک
دستگیره
شامل یک یا
چند حرف
بزرگ
انگلیسی
است:
<input PDF handle>=<input PDF filename>
دستگیرهها اغلب حذف میشوند. آنها هنگام تعیین گذرواژههای PDF یا محدودههای صفحات در مراحل بعد مفید هستند.
برای مثال: A=input1.pdf QT=input2.pdf M=input3.pdf
- [input_pw <input PDF owner passwords | PROMPT>]
- گذرواژههای
مالک (owner) برای
PDFهای
ورودی، در
صورت نیاز،
با استفاده
از
دستگیرههای
آنها به
فایلها
متصل
میشوند:
<input PDF handle>=<input PDF file owner password>
اگر دستگیرهها مشخص نشوند، گذرواژهها به ترتیب با فایلهای ورودی مرتبط میشوند.
بیشتر قابلیتهای pdftk نیازمند این هستند که PDF ورودیِ رمزگذاریشده با گذرواژهٔ ~مالک~ (~owner~) همراه باشد. اگر PDF ورودی گذرواژهٔ مالک ندارد، در عوض باید گذرواژهٔ کاربر (user) ارائه شود. اگر PDF ورودی هیچ گذرواژهای ندارد، نباید گذرواژهای داده شود.
هنگام اجرا در حالت do_ask، چنانچه گذرواژهٔ ارائهشده نادرست باشد یا هیچ گذرواژهای وارد نشده باشد، pdftk برای دریافت گذرواژه از شما درخواست خواهد کرد.
- [<operation> <operation arguments>]
- عملیاتهای
موجود
عبارتند از:
cat، shuffle، burst،
rotate، generate_fdf، fill_form،
background، multibackground،
stamp، multistamp، dump_data،
dump_data_utf8، dump_data_fields،
dump_data_fields_utf8، dump_data_annots،
update_info، update_info_utf8،
attach_files، unpack_files.
برخی از
عملیاتها
آرگومانهای
اضافی
میگیرند
که در ادامه
توضیح داده
شدهاند.
اگر این آرگومان اختیاری حذف شود، pdftk در حالت «فیلتر» ('filter') اجرا میشود. حالت فیلتر تنها یک ورودی PDF میگیرد و پس از اعمال تمام گزینههای خروجی، مانند رمزگذاری و فشردهسازی، یک PDF جدید میسازد.
- cat [<page ranges>]
- صفحات را از
PDFهای ورودی
گردآوری
(الحاق)
میکند تا
یک PDF جدید
بسازد. از cat
برای ادغام
صفحات PDF یا
جدا کردن
صفحات PDF از
اسناد
استفاده
کنید.
همچنین
میتوانید
از آن برای
چرخاندن
صفحات PDF
استفاده
نمایید.
ترتیب
صفحات در PDF
جدید با
ترتیب
محدودههای
صفحات
ارائهشده
مشخص
میشود.
محدودههای
صفحات به
این صورت
توصیف
میشوند:
<input PDF handle>[<begin page number>[-<end page number>[<qualifier>]]][<page rotation>]
که در آن دستگیره مشخصکنندهٔ یکی از فایلهای PDF ورودی است، و شماره صفحات آغازین و پایانی ارجاعاتی با مبنای یک (one-based) به صفحات موجود در فایل PDF هستند. توصیفکننده میتواند even، odd یا ~ باشد، و چرخش صفحه میتواند north، south، east، west، left، right یا down باشد.
اگر دستگیرهٔ PDF داده شود اما صفحهای مشخص نشود، کل PDF استفاده میشود. اگر برای هیچیک از PDFهای ورودی صفحهای مشخص نشود، نشانکهای (bookmarks) PDFهای ورودی نیز ادغام شده و در خروجی گنجانده میشوند.
اگر دستگیره از محدودهٔ صفحه حذف شود، صفحات از اولین PDF ورودی گرفته میشوند.
توصیفکنندهٔ even باعث میشود pdftk فقط از صفحات با شمارهٔ زوج PDF استفاده کند، بنابراین 1-6even صفحات ۲، ۴ و ۶ را به همان ترتیب تولید میکند. 6-1even صفحات ۶، ۴ و ۲ را به همان ترتیب تولید میکند.
توصیفکنندهٔ odd مشابه با even عمل میکند.
صفحات را میتوان با استفاده از توصیفکنندهٔ ~ به دنبال یک محدودهٔ صفحه، از یک محدودهٔ صفحه کسر کرد. برای نمونه، 1-20~5-6 و 1-20~5~6 معادل 1-4 7-20 هستند، و ~5 همهٔ صفحات به جز صفحهٔ ۵ را نتیجه میدهد. بسته به پوستهٔ شما، ممکن است لازم باشد به دلیل وجود ~ در ابتدا، این آرگومان را نقلقولگذاری (کوتیشن) کنید.
تنظیمات چرخش صفحه میتواند باعث شود pdftk صفحات و اسناد را بچرخاند. هر گزینه چرخش صفحه را به شرح زیر (بر حسب درجه) تنظیم میکند: north: 0، east: 90، south: 180، west: 270، left: -90، right: +90، down: +180. گزینههای left، right و down تنظیمات نسبی بر روی چرخش صفحه اعمال میکنند.
اگر هیچ آرگومانی به cat ارسال نشود، pdftk تمام PDFهای ورودی را به همان ترتیبی که داده شدهاند برای ایجاد خروجی ترکیب میکند.
نکتهها:
* ممکن است <end page number> کمتر از <begin page number> باشد.
* میتوان از کلیدواژهٔ end به جای شماره صفحه برای ارجاع به صفحهٔ پایانی سند استفاده کرد.
* با حذف شماره صفحهٔ پایانی، به یک صفحهٔ منفرد ارجاع دهید.
* دستگیره میتواند به تنهایی برای نشان دادن کل سند PDF استفاده شود؛ برای مثال، B1-end همان B است.
* میتوانید با پیشوند کردن حرف r به شماره صفحات، به ترتیب معکوس به آنها ارجاع دهید. برای مثال، صفحهٔ r1 آخرین صفحهٔ سند، r2 یکی مانده به آخرین صفحهٔ سند، و rend اولین صفحهٔ سند است. میتوانید از این پیشوند در محدودهها نیز استفاده کنید، برای مثال r3-r1 سه صفحهٔ آخر یک PDF است.مثالهای محدودهٔ صفحات بدون دستگیرهها:
1\-endeast – چرخش کل سند به اندازهٔ ۹۰ درجه
5 11 20 – برداشتن صفحات منفرد از PDF ورودی
5-25oddwest – برداشتن صفحات فرد در محدوده، چرخش به اندازهٔ ۹۰ درجه
6-1 – معکوس کردن صفحات در محدوده از PDF ورودیمثالهای محدودهٔ صفحات با استفاده از دستگیرهها:
فرض کنید A=in1.pdf B=in2.pdf، در این صورت:
A1-21 – برداشتن محدوده از in1.pdf
Bend-1odd – برداشتن تمام صفحات فرد از in2.pdf به ترتیب معکوس
A72 – برداشتن یک صفحهٔ منفرد از in1.pdf
A1-21 Beven A72 – گردآوری صفحات از هر دو فایل in1.pdf و in2.pdf
Awest – چرخش کل سند in1.pdf به اندازهٔ ۹۰ درجه
B – استفاده از تمام in2.pdf
A2-30evenleft – برداشتن صفحات زوج از محدوده، کم کردن ۹۰ درجه از چرخش هر صفحه
A A – الحاق in1.pdf با in1.pdf
Aevenwest Aoddeast – اعمال چرخشها بر روی صفحات زوج و صفحات فرد از in1.pdf
Awest Bwest Bdown – الحاق اسناد چرخاندهشده - shuffle [<page ranges>]
- صفحات را از PDFهای ورودی مقابله و تلفیق (collate) میکند تا یک PDF جدید ایجاد شود. مانند عملیات cat کار میکند با این تفاوت که در هر بار، یک صفحه از هر محدودهٔ صفحه برای ساخت PDF خروجی برمیدارد. اگر صفحات یک محدوده تمام شود، با محدودههای باقیمانده ادامه میدهد. محدودهها میتوانند از تمام امکانات شرح دادهشده در بالا برای cat، مانند محدودههای صفحات معکوس، چندین محدوده از یک PDF منفرد، و چرخش صفحه استفاده کنند. این ویژگی برای کمک به تلفیق و مرتبسازی صفحات PDF پس از اسکن اسناد کاغذی طراحی شده است.
- burst
- یک سند PDF
ورودی
منفرد را به
صفحات
جداگانه
تقسیم
میکند.
همچنین
گزارشی به
نام doc_data.txt
ایجاد
میکند که
مشابه
خروجی dump_data
است. بخش output
میتواند
شامل یک
رشتهٔ
قالببندی
به سبک printf
برای
نامگذاری
این صفحات
باشد. برای
مثال، اگر
صفحاتی با
نامهای page_01.pdf
،page_02.pdf و غیره
میخواهید،
output page_%02d.pdf را به pdftk
ارسال کنید.
اگر این
الگو حذف
شود، الگوی
پیشفرض
pg_%04d.pdf افزوده
میشود و
صفحاتی با
نامهای pg_0001.pdf
،pg_0002.pdf و غیره
تولید
میکند.
رمزگذاری
را میتوان
با افزودن
گزینههای
خروجی
مانند owner_pw
روی خروجی
اعمال کرد،
به عنوان
مثال:
pdftk in.pdf burst owner_pw foopass
- rotate [<page ranges>]
- یک PDF ورودی
منفرد را
میگیرد و
تنها صفحات
مشخصشده
را
میچرخاند.
سایر صفحات
بدون تغییر
باقی
میمانند.
ترتیب
صفحات
تغییر
نمیکند.
صفحات مورد
نظر برای
چرخش را با
استفاده از
همان
ساختاری که
در cat به کار
میرفت
مشخص کنید،
با این
تفاوت که
صفحاتی را
که
نمیچرخانید
حذف
میکنید:
[<begin page number>[-<end page number>[<qualifier>]]][<page rotation>]
توصیفکننده میتواند even یا odd باشد، و چرخش صفحه میتواند north، south، east، west، left، right یا down باشد.
هر گزینه چرخش صفحه را به شرح زیر (بر حسب درجه) تنظیم میکند: north: 0، east: 90، south: 180، west: 270، left: -90، right: +90، down: +180. گزینههای left، right و down تنظیمات نسبی بر روی چرخش صفحه اعمال میکنند.
ترتیب مشخصشده برای صفحات، ترتیب صفحات در خروجی را تغییر نمیدهد.
- generate_fdf
- یک فایل PDF ورودی منفرد را میخواند و از روی آن یک فایل FDF مناسب برای fill_form تولید کرده و در نام فایل خروجی دادهشده یا (اگر هیچ خروجی تعیین نشده باشد) در stdout مینویسد. این دستور PDF جدیدی ایجاد نمیکند.
- fill_form <FDF data filename | XFDF data filename | - | PROMPT>
- فیلدهای
فرم یک PDF
ورودی
منفرد را با
دادههای
برگرفته از
یک فایل FDF،
فایل XFDF یا stdin
پر میکند.
نام فایل
داده را بعد
از fill_form وارد
کنید، یا از
- برای
فرستادن
دادهها از
طریق stdin
استفاده
نمایید،
مانند:
pdftk form.pdf fill_form data.fdf output form.filled.pdf
اگر فایل FDF ورودی علاوه بر متن ساده (plain text)، شامل دادههایی با قالببندی Rich Text نیز باشد، دادههای Rich Text به همراه متن ساده در فیلدهای فرم گنجانده میشوند. همچنین pdftk پرچمی را تنظیم میکند که به Reader/Acrobat اشاره میکند تا ظاهر جدید فیلدها را بر اساس دادههای Rich Text ایجاد کند. بنابراین هنگامی که کاربر PDF را باز میکند، نمایشدهنده ظاهر Rich Text را در همان لحظه ایجاد خواهد کرد. اگر نمایشدهندهٔ PDF کاربر از Rich Text پشتیبانی نکند، کاربر به جای آن دادههای متن ساده را خواهد دید. اگر این فرم را پیش از آنکه Acrobat فرصت ایجاد (و ذخیره) ظاهر جدید فیلدها را داشته باشد مسطح (flatten) کنید، دادههای متن ساده همان چیزی خواهند بود که خواهید دید.
همچنین گزینههای flatten، need_appearances و replacement_font را ببینید.
- background <background PDF filename | - | PROMPT>
- یک
واترمارک PDF
را در
پسزمینهٔ
یک PDF ورودی
منفرد
اعمال
میکند. نام
فایل PDF
پسزمینه
را بعد از
background وارد
کنید،
مانند:
pdftk in.pdf background back.pdf output out.pdf
نرمافزار pdftk تنها از صفحهٔ اول PDF پسزمینه استفاده میکند و آن را بر روی تکتک صفحات PDF ورودی اعمال مینماید. این صفحه بر حسب نیاز مقیاسبندی شده و میچرخد تا متناسب با صفحهٔ ورودی شود. میتوانید از - برای فرستادن یک PDF پسزمینه به pdftk از طریق stdin استفاده کنید.
اگر PDF ورودی پسزمینهٔ شفاف نداشته باشد (مانند PDF ساختهشده از اسکن صفحات)، پسزمینهٔ حاصل نمایان نخواهد بود – به جای آن از عملیات stamp استفاده کنید..TP multibackground <background PDF filename | - | PROMPT> همانند عملیات background است، با این تفاوت که هر صفحه از PDF پسزمینه را بر روی صفحه متناظر از PDF ورودی اعمال میکند. اگر فایل PDF ورودی صفحات بیشتری نسبت به PDF مهر (stamp) داشته باشد، آخرین صفحه مهر بر روی این صفحات باقیمانده در PDF ورودی تکرار میشود.
- stamp <stamp PDF filename | - | PROMPT>
- این عملیات دقیقاً همانند عملیات background رفتار میکند، با این تفاوت که صفحه PDF مهر را بر روی صفحات سند PDF ورودی قرار میدهد. این قابلیت زمانی بهترین نتیجه را میدهد که صفحه PDF مهر دارای پسزمینهای شفاف باشد.
- multistamp <stamp PDF filename | - | PROMPT>
- همانند عملیات stamp است، اما هر صفحه از PDF پسزمینه را بر روی صفحه متناظر در PDF ورودی اعمال میکند. اگر PDF ورودی صفحات بیشتری نسبت به PDF مهر داشته باشد، آخرین صفحه مهر بر روی این صفحات باقیمانده در PDF ورودی تکرار میشود.
- dump_data
- یک فایل PDF ورودی تکی را میخواند و فرادادهها، نشانکها (bookmarks یا همان outlines)، مشخصات ابعادی صفحه (media، چرخش و برچسبها)، دادههای تعبیهشده توسط STAMPtk (گزینه embed در STAMPtk را ببینید) و سایر دادهها را در نام فایل خروجی مشخصشده یا (در صورت عدم تعیین خروجی) در stdout گزارش میکند. نویسههای غیر ASCII بهصورت موجودیتهای عددی XML کدگذاری میشوند. این دستور هیچ فایل PDF جدیدی ایجاد نمیکند.
- dump_data_utf8
- همانند dump_data است، با این تفاوت که خروجی با کدگذاری UTF-8 ارائه میشود.
- dump_data_fields
- یک فایل PDF ورودی تکی را میخواند و آمار فیلدهای فرم را به نام فایل خروجی مشخصشده یا (در صورت عدم تعیین خروجی) به stdout گزارش میدهد. نویسههای غیر ASCII بهصورت موجودیتهای عددی XML کدگذاری میشوند. این دستور یک PDF جدید ایجاد نمیکند.
- dump_data_fields_utf8
- همانند dump_data_fields است، با این تفاوت که خروجی با کدگذاری UTF-8 ارائه میشود.
- dump_data_annots
- این عملیات در حال حاضر فقط یادداشتها و حاشیهنویسیهای پیوند (link annotations) را گزارش میدهد. یک فایل PDF ورودی تکی را میخواند و اطلاعات یادداشتها را در نام فایل خروجی مشخصشده یا (در صورت عدم تعیین خروجی) در stdout گزارش میکند. نویسههای غیر ASCII بهصورت موجودیتهای عددی XML کدگذاری میشوند. این دستور یک PDF جدید ایجاد نمیکند.
- update_info <info data filename | - | PROMPT>
- نشانکها،
برچسبهای
صفحه،
اندازههای
صفحه،
چرخشهای
صفحه و
فرادادههای
موجود در
دیکشنری Info
یک فایل PDF
تکی را
تغییر
میدهد تا
با فایل
داده ورودی
مطابقت
پیدا کند.
فایل داده
ورودی از
همان نحو و
ساختار
خروجی dump_data
استفاده
میکند.
نویسههای
غیر ASCII باید
بهصورت
موجودیتهای
عددی XML
کدگذاری
شوند.
این عملیات فرادادههای ذخیرهشده در جریان XMP فایل PDF را (در صورت وجود) تغییر نمیدهد. (به همین دلیل باید یک مدخل ModDate را همراه با تاریخ/زمان جاری در اطلاعات بهروزرسانیشده خود قرار دهید، با قالب: D:YYYYMMDDHHmmSS، برای مثال D:201307241346 – دادههای حذفشده پس از YYYY به مقادیر پیشفرض بازمیگردند.)
برای مثال:
pdftk in.pdf update_info in.info output out.pdf
- update_info_utf8 <info data filename | - | PROMPT>
- همانند update_info است، با این تفاوت که ورودی با کدگذاری UTF-8 ارائه میشود.
- attach_files <attachment filenames | PROMPT> [to_page <page number | PROMPT> | relation <relationship>]
- با استفاده
از
قابلیتهای
پیوست فایل
در PDF،
فایلهای
دلخواه را
درون یک PDF
بستهبندی
میکند.
میتوان
بیش از یک
پیوست را پس
از attach_files ذکر
کرد.
پیوستها
در سطح سند
اضافه
میشوند،
مگر اینکه
گزینه
اختیاری to_page
مشخص شده
باشد؛ در
این حالت،
فایلها به
شماره صفحه
دادهشده
پیوست
میشوند
(صفحه نخست 1
و صفحه
پایانی end
است).
پیوستهای
سطح سند را
میتوان با
یکی از
رابطههای
Source، Data، Alternative،
Supplement و Unspecified
(پیشفرض)
برچسبگذاری
کرد.
برای مثال:
pdftk in.pdf attach_files table1.html table2.html to_page 6 output out.pdf
pdftk in.pdf attach_files in.tex relation Source output out.pdf
- unpack_files
- تمام
پیوستها
را از PDF
ورودی در
پوشه فعلی
یا در
دایرکتوری
خروجی
مشخصشده
پس از output
رونوشت
میکند.
برای مثال:
pdftk report.pdf unpack_files output ~/atts/
یا بهصورت تعاملی:
pdftk report.pdf unpack_files output PROMPT
- [output <output filename | - | PROMPT>]
- نام فایل PDF خروجی نباید برابر با نام یکی از فایلهای ورودی باشد. برای ارسال خروجی به stdout از - استفاده کنید. هنگام استفاده از عملیات dump_data، از output برای تعیین نام فایل داده خروجی استفاده کنید. هنگام استفاده از عملیات unpack_files، از output برای تعیین نام دایرکتوری خروجی استفاده کنید. هنگام استفاده از عملیات burst، میتوانید از output برای کنترل نام فایلهای صفحات PDF حاصل استفاده کنید (در بالا شرح داده شده است).
- [encrypt_40bit | encrypt_128bit | encrypt_aes128]
- اگر برای PDF خروجی یک گذرواژه کاربر یا مالک مشخص شود، الگوریتم رمزنگاری PDF خروجی بهطور پیشفرض بر روی AES-128 تنظیم میشود. الگوریتمهای ضعیفتر RC4 40-bit و RC4 128-bit را میتوان با مشخص کردن encrypt_40bit یا encrypt_128bit انتخاب کرد (توصیه نمیشود).
- [allow <permissions>]
- مجوزها (Permissions)
تنها در
صورتی بر
روی PDF خروجی
اعمال
میشوند که
یک سطح
رمزنگاری
مشخص شده
باشد یا
گذرواژه
مالک یا
کاربر
ارائه شده
باشد. اگر
دسترسیها
مشخص
نشوند،
مقدار
پیشفرض
آنها 'none'
خواهد بود
که به معنای
غیرفعال
بودن تمام
قابلیتهای
زیر است.
بخش permissions میتواند شامل یک یا چند مورد از قابلیتهای زیر باشد:
- Printing
- چاپ با بالاترین کیفیت
- DegradedPrinting
- چاپ با کیفیت پایینتر
- ModifyContents
- همچنین اجازه Assembly را میدهد
- Assembly
- CopyContents
- همچنین اجازه ScreenReaders را میدهد
- ScreenReaders
- ModifyAnnotations
- همچنین اجازه FillIn را میدهد
- FillIn
- AllFeatures
- به کاربر اجازه میدهد تمام موارد بالا بههمراه چاپ با بالاترین کیفیت را انجام دهد.
- [owner_pw <owner password | PROMPT>]
- [user_pw <user password | PROMPT>]
- اگر سطح رمزنگاری تعیین شود اما هیچ گذرواژهای داده نشود، گذرواژههای مالک و کاربر خالی باقی میمانند؛ این بدان معناست که هر کسی میتواند PDF حاصل را باز کند و پارامترهای امنیتی آن را تغییر دهد.
- [compress | uncompress]
- این گزینهها فقط زمانی مفید هستند که بخواهید کد PDF را در یک ویرایشگر متن مانند vim یا emacs ویرایش کنید. با اعمال فیلتر uncompress، فشردهسازی جریان (stream) صفحه PDF را حذف کنید. برای بازگرداندن فشردهسازی از فیلتر compress استفاده نمایید.
- [flatten]
- از این گزینه برای ادغام فیلدهای فرم تعاملی PDF ورودی (و دادههای آنها) با صفحات PDF استفاده کنید. تنها یک PDF ورودی را میتوان مشخص کرد. گاهی اوقات همراه با عملیات fill_form استفاده میشود.
- [need_appearances]
- پرچمی را تنظیم میکند که به Reader/Acrobat اشاره میکند تا بر اساس مقادیر فیلدهای فرم، ظاهر جدیدی برای فیلدها ایجاد کند. هنگام پر کردن فرم با متن غیر ASCII، از این گزینه برای اطمینان از بهترین نحوه نمایش در Adobe Reader یا Acrobat استفاده کنید. این گزینه در صورت ترکیب با گزینه flatten کار نخواهد کرد.
- [replacement_font <font name>]
- از قلم مشخصشده برای نمایش متن در فیلدهای فرم استفاده میکند. این گزینه زمانی مفید است که فرمی را با متنی غیر ASCII پر میکنید که توسط قلمهای موجود در PDF ورودی پشتیبانی نمیشود. font name میتواند نام فایل یا نام خانواده قلم باشد، اما استفاده از نام فایل قابل اطمینانتر است. در حال حاضر فقط قلمهای TrueType با متن Unicode پشتیبانی میشوند.
- [keep_first_id | keep_final_id]
- هنگام ترکیب صفحات از چندین فایل PDF، از یکی از این گزینهها برای رونوشت شناسه سند (document ID) از سند ورودی نخست یا پایانی به PDF خروجی جدید استفاده کنید. در غیر این صورت pdftk یک شناسه سند جدید برای PDF خروجی ایجاد میکند. هنگامی که هیچ عملیاتی مشخص نشده باشد، pdftk همیشه از شناسه سند ورودی (تکی) استفاده میکند.
- [drop_xfa]
- اگر PDF ورودی
شما فرمی
است که با
استفاده از
Acrobat 7 یا Adobe Designer
ایجاد شده
است،
احتمالاً
دارای
دادههای XFA
است. پر
کردن چنین
فرمی با
استفاده از
pdftk باعث
تولید یک PDF
با
دادههایی
میشود که
در Acrobat 7 (و
احتمالاً
6؟) نمایش
داده
نمیشوند.
راهکار این
است که
دادههای XFA
فرم را پیش
از پر کردن
فرم با pdftk یا
در هنگام پر
کردن آن حذف
کنید.
استفاده از
این گزینه
باعث
میشود pdftk
دادههای XFA
را از فرم PDF
خروجی حذف
کند.
این گزینه فقط هنگام اجرای pdftk بر روی یک فایل PDF ورودی تکی مفید است. هنگام سرهمبندی یک PDF از چندین فایل ورودی با استفاده از pdftk، هرگونه داده XFA موجود در ورودی بهطور خودکار حذف میشود.
- [drop_xmp]
- بسیاری از
فایلهای
PDF،
فرادادههای
سند را هم
با استفاده
از دیکشنری
Info (شیوه
قدیمی) و هم
جریان XMP
(شیوه جدید)
ذخیره
میکنند.
عملیات update_info
در pdftk
میتواند
دیکشنری Info
را بهروز
کند، اما
جریان XMP را
خیر. راهکار
مناسب برای
این موضوع،
قرار دادن
یک مدخل ModDate
با
تاریخ/زمان
جاری در
اطلاعات
بهروزرسانیشده
شما است.
قالب
تاریخ/زمان
عبارت است
از: D:YYYYMMDDHHmmSS،
برای مثال
D:201307241346 –
دادههای
حذفشده پس
از YYYY به
مقادیر
پیشفرض
بازمیگردند.
این ModDate
جدیدتر
باید به
نمایشگرهای
PDF نشان دهد
که
فرادادههای
Info بهروزتر
از
دادههای XMP
هستند.
همچنین، ممکن است ترجیح دهید جریان XMP را بهکلی از PDF حذف کنید – این دقیقاً کاری است که این گزینه انجام میدهد. توجه داشته باشید که اشیاء درون PDF ممکن است جریانهای فراداده XMP مجزا و مخصوص به خود داشته باشند و drop_xmp آنها را حذف نمیکند؛ این گزینه تنها جریان XMP در سطح سندِ PDF را حذف میکند.
- [verbose]
- بهطور پیشفرض، pdftk بدون پیام اجرا میشود. افزودن verbose به انتها باعث میشود اطلاعات و جزئیات بیشتری نمایش داده شود.
- [dont_ask | do_ask]
- بسته به
تنظیمات
زمان
کامپایل
(نگاه کنید
به ASK_ABOUT_WARNINGS)، در
صورت بروز
مشکل مانند
یک گذرواژه
نادرست، pdftk
ممکن است از
شما ورودی
بیشتری
درخواست
کند. با
افزودن dont_ask
(تا pdftk از شما
نپرسد چه
باید کرد)
یا do_ask (تا pdftk از
شما بپرسد
چه کاری
انجام دهد)،
این رفتار
پیشفرض را
بازنویسی
کنید.
هنگام اجرا در حالت dont_ask، برنامه pdftk فایلها را بدون اطلاع قبلی با خروجی خود بازنویسی (over-write) خواهد کرد..SH "مثالها (EXAMPLES)"
- تلفیق صفحات اسکنشده
- pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
یا اگر odd.pdf دارای ترتیب معکوس است:
pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf
مثالهای زیر از گذرواژههای واقعی به عنوان پارامترهای خط فرمان استفاده میکنند، که این کار توصیه نمیشود (بخش «ملاحظات امنیتی (SECURITY CONSIDERATIONS)» را ببینید).
- رمزگشایی یک PDF
- pdftk secured.pdf input_pw foopass output unsecured.pdf
- رمزنگاری یک PDF با استفاده از AES-128 (پیشفرض) و سلب تمام مجوزها (پیشفرض)
- pdftk 1.pdf output 1.128.pdf owner_pw foopass
- مانند بالا، به جز اینکه گذرواژه 'baz' نیز باید برای باز کردن PDF خروجی استفاده شود
- pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz
- مانند بالا، به جز اینکه چاپ کردن مجاز است (پس از باز شدن PDF)
- pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing
- اعمال رمزنگاری ۴۰ بیتی RCA روی خروجی و لغو تمام مجوزها (پیشفرض). تنظیم گذرواژه مالک به 'foopass'.
- pdftk 1.pdf 2.pdf cat output 3.pdf encrypt_40bit owner_pw foopass
- پیوند زدن دو فایل که یکی از آنها نیازمند گذرواژه 'foopass' است. خروجی رمزنگاری نمیشود.
- pdftk A=secured.pdf 2.pdf input_pw A=foopass cat output 3.pdf
- پیوند زدن in1.pdf و in2.pdf در یک PDF جدید به نام out1.pdf
- pdftk in1.pdf in2.pdf cat output out1.pdf
یا (با استفاده از دستهها):
pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf
یا (با استفاده از نویسههای عام):
pdftk *.pdf cat output combined.pdf - حذف صفحه ۱۳ از in1.pdf برای ایجاد out1.pdf
- pdftk in.pdf cat 1-12 14-end output out1.pdf
یا:
pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf - فشردهزدایی از جریانهای صفحه PDF برای ویرایش PDF در یک ویرایشگر متن (مانند vim یا emacs)
- pdftk doc.pdf output doc.unc.pdf uncompress
- بازسازی جدول آسیبدیده XREF و طول جریانهای PDF، در صورت امکان
- pdftk broken.pdf output fixed.pdf
- تجزیه یک سند تکفایل PDF به صفحات مجزا و تخلیه دادههای آن در doc_data.txt
- pdftk in.pdf burst
- تجزیه یک سند PDF به صفحات رمزنگاریشده و مجاز کردن چاپ با کیفیت پایین
- pdftk in.pdf burst owner_pw foopass allow DegradedPrinting
- نوشتن گزارش از فرادادهها و نشانکهای سند PDF در report.txt
- pdftk in.pdf dump_data output report.txt
- چرخاندن اولین صفحه PDF به اندازه ۹۰ درجه در جهت عقربههای ساعت
- pdftk in.pdf cat 1east 2-end output out.pdf
- چرخاندن کل یک سند PDF به اندازه ۱۸۰ درجه
- pdftk in.pdf cat 1-endsouth output out.pdf
نکات (NOTES)
این یک
پورت از pdftk به
جاوا است.
ببینید:
https://gitlab.com/pdftk-java/pdftk
برنامه
اصلی را
میتوان در
www.pdftk.com یافت.
نویسنده (AUTHOR)
نویسنده اصلی pdftk، Sid Steward (sid.steward at pdflabs dot com) است.
ملاحظات امنیتی (SECURITY CONSIDERATIONS)
ارسال گذرواژه به عنوان پارامتر خط فرمان ناامن است زیرا میتواند در تاریخچه پوسته ذخیره شده و از طریق /proc برای سایر کاربران قابل دسترسی باشد. در عوض، از کلمه کلیدی PROMPT استفاده کرده و گذرواژهها را از طریق ورودی استاندارد وارد کنید.
| 7 دسامبر 2020 |