.\" Hey, EMACS: -*- nroff -*- .TH PDFTK 1 "7 دسامبر 2020" .ad l .SH "نام (NAME)" pdftk \- ابزاری کارآمد برای دستکاری و مدیریت اسناد PDF .SH "خلاصه دستور (SYNOPSIS)" \fBpdftk\fR \fI<فایل‌های PDF ورودی | \- | PROMPT>\fR .br [ \fBinput_pw\fR \fI<گذرواژه‌های مالک PDF ورودی | PROMPT>\fR ] .br [ \fI<عملیات>\fR \fI<آرگومان‌های عملیات>\fR ] .br [ \fBoutput\fR \fI<نام فایل خروجی | \- | PROMPT>\fR ] .br [ \fBencrypt_40bit\fR | \fBencrypt_128bit\fR | \fBencrypt_aes128\fR ] .br [ \fBallow\fR \fI<مجوزها>\fR ] .br [ \fBowner_pw\fR \fI<گذرواژه مالک | PROMPT>\fR ] .br [ \fBuser_pw\fR \fI<گذرواژه کاربر | PROMPT>\fR ] .br [ \fBflatten\fR ] [ \fBneed_appearances\fR ] .br [ \fBcompress\fR | \fBuncompress\fR ] .br [ \fBkeep_first_id\fR | \fBkeep_final_id\fR ] [ \fBdrop_xfa\fR ] [ \fBdrop_xmp\fR ] .br [ \fBreplacement_font\fR \fI<نام قلم>\fR ] .br [ \fBverbose\fR ] [ \fBdont_ask\fR | \fBdo_ask\fR ] .br که در آن: .br \fI<عملیات>\fR می‌تواند خالی باشد یا شامل موارد زیر: .br [ \fBcat\fR | \fBshuffle\fR | \fBburst\fR | \fBrotate\fR | .br \fBgenerate_fdf\fR | \fBfill_form\fR | .br \fBbackground\fR | \fBmultibackground\fR | .br \fBstamp\fR | \fBmultistamp\fR | .br \fBdump_data\fR | \fBdump_data_utf8\fR | .br \fBdump_data_fields\fR | \fBdump_data_fields_utf8\fR | .br \fBdump_data_annots\fR | .br \fBupdate_info\fR | \fBupdate_info_utf8\fR | .br \fBattach_files\fR | \fBunpack_files\fR ] .br برای راهنمای کامل: \fBpdftk \-\-help\fR .br .SH "توضیحات (DESCRIPTION)" اگر PDF را کاغذ الکترونیکی در نظر بگیریم، آن‌گاه pdftk برای آن حکم منگنه‌کش، دستگاه پانچ، شیرازه‌بند، ابزار رمزگشایی و عینک اشعهٔ ایکس الکترونیکی را دارد. ابزار pdftk برنامه‌ای ساده برای انجام کارهای روزمره با اسناد PDF است. از آن برای موارد زیر استفاده کنید: .sp .br * ادغام اسناد PDF یا مرتب‌سازی صفحات اسکن‌شدهٔ PDF .br * جداسازی و استخراج صفحات PDF در یک سند جدید .br * چرخاندن اسناد یا صفحات PDF .br * رمزگشایی ورودی در صورت نیاز (نیازمند گذرواژه) .br * رمزگذاری خروجی بر اساس نیاز .br * پر کردن فرم‌های PDF با داده‌های X/FDF و/یا ایستا کردن (Flatten) فرم‌ها .br * تولید قالب داده‌های FDF از روی فرم‌های PDF .br * اعمال واترمارک در پس‌زمینه یا مُهر در پیش‌زمینه .br * گزارش مشخصات فنی، نشانک‌ها (Bookmarks) و فراداده‌های سند PDF .br * افزودن یا به‌روزرسانی مشخصات، نشانک‌ها یا فراداده‌های PDF .br * پیوست کردن فایل‌ها به صفحات PDF یا به کل سند PDF .br * استخراج پیوست‌های موجود در PDF .br * تفکیک یک سند PDF به صفحات تک‌برگی (Burst) .br * خارج کردن از حالت فشرده و فشرده‌سازی مجدد جریان‌های دادهٔ صفحات .br * ترمیم فایل‌های آسیب‌دیدهٔ PDF (تا حد امکان).SH "گزینه‌ها (OPTIONS)" خلاصه‌ای از گزینه‌ها در زیر آمده است. .TP \fB\-\-help\fR, \fB\-h\fR نمایش این خلاصه از گزینه‌ها. .TP .B فهرستی از فایل‌های PDF ورودی. اگر قصد دارید این PDFها را ترکیب کنید (بدون استفاده از دستگیره‌ها)، فایل‌ها را به همان ترتیبی که می‌خواهید ترکیب شوند فهرست کنید. از \fB\-\fR برای فرستادن یک PDF منفرد به pdftk از طریق stdin استفاده کنید. فایل‌های ورودی می‌توانند با دستگیره‌ها (handles) مرتبط شوند، که در آن یک دستگیره شامل یک یا چند حرف بزرگ انگلیسی است: \fI\fR\fB=\fR\fI\fR دستگیره‌ها اغلب حذف می‌شوند. آن‌ها هنگام تعیین گذرواژه‌های PDF یا محدوده‌های صفحات در مراحل بعد مفید هستند. برای مثال: A=input1.pdf QT=input2.pdf M=input3.pdf .TP .B [input_pw ] گذرواژه‌های مالک (owner) برای PDFهای ورودی، در صورت نیاز، با استفاده از دستگیره‌های آن‌ها به فایل‌ها متصل می‌شوند: \fI\fR\fB=\fR\fI\fR اگر دستگیره‌ها مشخص نشوند، گذرواژه‌ها به ترتیب با فایل‌های ورودی مرتبط می‌شوند. بیشتر قابلیت‌های pdftk نیازمند این هستند که PDF ورودیِ رمزگذاری‌شده با گذرواژهٔ ~مالک~ (~owner~) همراه باشد. اگر PDF ورودی گذرواژهٔ مالک ندارد، در عوض باید گذرواژهٔ کاربر (user) ارائه شود. اگر PDF ورودی هیچ گذرواژه‌ای ندارد، نباید گذرواژه‌ای داده شود. هنگام اجرا در حالت \fBdo_ask\fR، چنانچه گذرواژهٔ ارائه‌شده نادرست باشد یا هیچ گذرواژه‌ای وارد نشده باشد، pdftk برای دریافت گذرواژه از شما درخواست خواهد کرد. .TP .B [ ] عملیات‌های موجود عبارتند از: \fBcat\fR، \fBshuffle\fR، \fBburst\fR، \fBrotate\fR، \fBgenerate_fdf\fR، \fBfill_form\fR، \fBbackground\fR، \fBmultibackground\fR، \fBstamp\fR، \fBmultistamp\fR، \fBdump_data\fR، \fBdump_data_utf8\fR، \fBdump_data_fields\fR، \fBdump_data_fields_utf8\fR، \fBdump_data_annots\fR، \fBupdate_info\fR، \fBupdate_info_utf8\fR، \fBattach_files\fR، \fBunpack_files\fR. برخی از عملیات‌ها آرگومان‌های اضافی می‌گیرند که در ادامه توضیح داده شده‌اند. اگر این آرگومان اختیاری حذف شود، pdftk در حالت «فیلتر» (\(aqfilter\(aq) اجرا می‌شود. حالت فیلتر تنها یک ورودی PDF می‌گیرد و پس از اعمال تمام گزینه‌های خروجی، مانند رمزگذاری و فشرده‌سازی، یک PDF جدید می‌سازد. .RS 3 .TP .B cat [] صفحات را از PDFهای ورودی گردآوری (الحاق) می‌کند تا یک PDF جدید بسازد. از \fBcat\fR برای ادغام صفحات PDF یا جدا کردن صفحات PDF از اسناد استفاده کنید. همچنین می‌توانید از آن برای چرخاندن صفحات PDF استفاده نمایید. ترتیب صفحات در PDF جدید با ترتیب محدوده‌های صفحات ارائه‌شده مشخص می‌شود. محدوده‌های صفحات به این صورت توصیف می‌شوند: \fI\fR[\fI\fR[\fB\-\fR\fI\fR[\fI\fR]]][\fI\fR] که در آن دستگیره مشخص‌کنندهٔ یکی از فایل‌های PDF ورودی است، و شماره صفحات آغازین و پایانی ارجاعاتی با مبنای یک (one-based) به صفحات موجود در فایل PDF هستند. توصیف‌کننده می‌تواند \fBeven\fR، \fBodd\fR یا \fB~\fR باشد، و چرخش صفحه می‌تواند \fBnorth\fR، \fBsouth\fR، \fBeast\fR، \fBwest\fR، \fBleft\fR، \fBright\fR یا \fBdown\fR باشد. اگر دستگیرهٔ PDF داده شود اما صفحه‌ای مشخص نشود، کل PDF استفاده می‌شود. اگر برای هیچ‌یک از PDFهای ورودی صفحه‌ای مشخص نشود، نشانک‌های (bookmarks) PDFهای ورودی نیز ادغام شده و در خروجی گنجانده می‌شوند. اگر دستگیره از محدودهٔ صفحه حذف شود، صفحات از اولین PDF ورودی گرفته می‌شوند. توصیف‌کنندهٔ \fBeven\fR باعث می‌شود pdftk فقط از صفحات با شمارهٔ زوج PDF استفاده کند، بنابراین \fB1\-6even\fR صفحات ۲، ۴ و ۶ را به همان ترتیب تولید می‌کند. \fB6\-1even\fR صفحات ۶، ۴ و ۲ را به همان ترتیب تولید می‌کند. توصیف‌کنندهٔ \fBodd\fR مشابه با \fBeven\fR عمل می‌کند. صفحات را می‌توان با استفاده از توصیف‌کنندهٔ \fB~\fR به دنبال یک محدودهٔ صفحه، از یک محدودهٔ صفحه کسر کرد. برای نمونه، \fB1\-20~5\-6\fR و \fB1\-20~5~6\fR معادل \fB1\-4 7\-20\fR هستند، و \fB~5\fR همهٔ صفحات به جز صفحهٔ ۵ را نتیجه می‌دهد. بسته به پوستهٔ شما، ممکن است لازم باشد به دلیل وجود ~ در ابتدا، این آرگومان را نقل‌قول‌گذاری (کوتیشن) کنید. تنظیمات چرخش صفحه می‌تواند باعث شود pdftk صفحات و اسناد را بچرخاند. هر گزینه چرخش صفحه را به شرح زیر (بر حسب درجه) تنظیم می‌کند: \fBnorth\fR: 0، \fBeast\fR: 90، \fBsouth\fR: 180، \fBwest\fR: 270، \fBleft\fR: \-90، \fBright\fR: +90، \fBdown\fR: +180. گزینه‌های \fBleft\fR، \fBright\fR و \fBdown\fR تنظیمات نسبی بر روی چرخش صفحه اعمال می‌کنند. اگر هیچ آرگومانی به cat ارسال نشود، pdftk تمام PDFهای ورودی را به همان ترتیبی که داده شده‌اند برای ایجاد خروجی ترکیب می‌کند. .B نکته‌ها: .br * ممکن است \fI\fR کمتر از \fI\fR باشد. .br * می‌توان از کلیدواژهٔ \fBend\fR به جای شماره صفحه برای ارجاع به صفحهٔ پایانی سند استفاده کرد. .br * با حذف شماره صفحهٔ پایانی، به یک صفحهٔ منفرد ارجاع دهید. .br * دستگیره می‌تواند به تنهایی برای نشان دادن کل سند PDF استفاده شود؛ برای مثال، B1\-end همان B است. .br * می‌توانید با پیشوند کردن حرف \fBr\fR به شماره صفحات، به ترتیب معکوس به آن‌ها ارجاع دهید. برای مثال، صفحهٔ r1 آخرین صفحهٔ سند، r2 یکی مانده به آخرین صفحهٔ سند، و rend اولین صفحهٔ سند است. می‌توانید از این پیشوند در محدوده‌ها نیز استفاده کنید، برای مثال r3\-r1 سه صفحهٔ آخر یک PDF است. .B مثال‌های محدودهٔ صفحات بدون دستگیره‌ها: .br \fB1\\-endeast\fR \(en چرخش کل سند به اندازهٔ ۹۰ درجه .br \fB5 11 20\fR \(en برداشتن صفحات منفرد از PDF ورودی .br \fB5\-25oddwest\fR \(en برداشتن صفحات فرد در محدوده، چرخش به اندازهٔ ۹۰ درجه .br \fB6\-1\fR \(en معکوس کردن صفحات در محدوده از PDF ورودی .B مثال‌های محدودهٔ صفحات با استفاده از دستگیره‌ها: .br فرض کنید \fBA=in1.pdf B=in2.pdf\fR، در این صورت: .br \fBA1\-21\fR \(en برداشتن محدوده از in1.pdf .br \fBBend\-1odd\fR \(en برداشتن تمام صفحات فرد از in2.pdf به ترتیب معکوس .br \fBA72\fR \(en برداشتن یک صفحهٔ منفرد از in1.pdf .br \fBA1\-21 Beven A72\fR \(en گردآوری صفحات از هر دو فایل in1.pdf و in2.pdf .br \fBAwest\fR \(en چرخش کل سند in1.pdf به اندازهٔ ۹۰ درجه .br \fBB\fR \(en استفاده از تمام in2.pdf .br \fBA2\-30evenleft\fR \(en برداشتن صفحات زوج از محدوده، کم کردن ۹۰ درجه از چرخش هر صفحه .br \fBA A\fR \(en الحاق in1.pdf با in1.pdf .br \fBAevenwest Aoddeast\fR \(en اعمال چرخش‌ها بر روی صفحات زوج و صفحات فرد از in1.pdf .br \fBAwest Bwest Bdown\fR \(en الحاق اسناد چرخانده‌شده .TP .B shuffle [] صفحات را از PDFهای ورودی مقابله و تلفیق (collate) می‌کند تا یک PDF جدید ایجاد شود. مانند عملیات \fBcat\fR کار می‌کند با این تفاوت که در هر بار، یک صفحه از هر محدودهٔ صفحه برای ساخت PDF خروجی برمی‌دارد. اگر صفحات یک محدوده تمام شود، با محدوده‌های باقی‌مانده ادامه می‌دهد. محدوده‌ها می‌توانند از تمام امکانات شرح داده‌شده در بالا برای \fBcat\fR، مانند محدوده‌های صفحات معکوس، چندین محدوده از یک PDF منفرد، و چرخش صفحه استفاده کنند. این ویژگی برای کمک به تلفیق و مرتب‌سازی صفحات PDF پس از اسکن اسناد کاغذی طراحی شده است. .TP .B burst یک سند PDF ورودی منفرد را به صفحات جداگانه تقسیم می‌کند. همچنین گزارشی به نام \fBdoc_data.txt\fR ایجاد می‌کند که مشابه خروجی \fBdump_data\fR است. بخش \fBoutput\fR می‌تواند شامل یک رشتهٔ قالب‌بندی به سبک printf برای نام‌گذاری این صفحات باشد. برای مثال، اگر صفحاتی با نام‌های page_01.pdf ،page_02.pdf و غیره می‌خواهید، \fBoutput page_%02d.pdf\fR را به pdftk ارسال کنید. اگر این الگو حذف شود، الگوی پیش‌فرض \fBpg_%04d.pdf\fR افزوده می‌شود و صفحاتی با نام‌های pg_0001.pdf ،pg_0002.pdf و غیره تولید می‌کند. رمزگذاری را می‌توان با افزودن گزینه‌های خروجی مانند \fBowner_pw\fR روی خروجی اعمال کرد، به عنوان مثال: pdftk in.pdf burst owner_pw foopass .TP .B rotate [] یک PDF ورودی منفرد را می‌گیرد و تنها صفحات مشخص‌شده را می‌چرخاند. سایر صفحات بدون تغییر باقی می‌مانند. ترتیب صفحات تغییر نمی‌کند. صفحات مورد نظر برای چرخش را با استفاده از همان ساختاری که در \fBcat\fR به کار می‌رفت مشخص کنید، با این تفاوت که صفحاتی را که نمی‌چرخانید حذف می‌کنید: [\fI\fR[\fB\-\fR\fI\fR[\fI\fR]]][\fI\fR] توصیف‌کننده می‌تواند \fBeven\fR یا \fBodd\fR باشد، و چرخش صفحه می‌تواند \fBnorth\fR، \fBsouth\fR، \fBeast\fR، \fBwest\fR، \fBleft\fR، \fBright\fR یا \fBdown\fR باشد. هر گزینه چرخش صفحه را به شرح زیر (بر حسب درجه) تنظیم می‌کند: \fBnorth\fR: 0، \fBeast\fR: 90، \fBsouth\fR: 180، \fBwest\fR: 270، \fBleft\fR: \-90، \fBright\fR: +90، \fBdown\fR: +180. گزینه‌های \fBleft\fR، \fBright\fR و \fBdown\fR تنظیمات نسبی بر روی چرخش صفحه اعمال می‌کنند. ترتیب مشخص‌شده برای صفحات، ترتیب صفحات در خروجی را تغییر نمی‌دهد. .TP .B generate_fdf یک فایل PDF ورودی منفرد را می‌خواند و از روی آن یک فایل FDF مناسب برای \fBfill_form\fR تولید کرده و در نام فایل خروجی داده‌شده یا (اگر هیچ خروجی تعیین نشده باشد) در stdout می‌نویسد. این دستور PDF جدیدی ایجاد نمی‌کند. .TP .B fill_form فیلدهای فرم یک PDF ورودی منفرد را با داده‌های برگرفته از یک فایل FDF، فایل XFDF یا stdin پر می‌کند. نام فایل داده را بعد از \fBfill_form\fR وارد کنید، یا از \fB\-\fR برای فرستادن داده‌ها از طریق stdin استفاده نمایید، مانند: pdftk form.pdf fill_form data.fdf output form.filled.pdf اگر فایل FDF ورودی علاوه بر متن ساده (plain text)، شامل داده‌هایی با قالب‌بندی Rich Text نیز باشد، داده‌های Rich Text \fIبه همراه\fR متن ساده در فیلدهای فرم گنجانده می‌شوند. همچنین pdftk پرچمی را تنظیم می‌کند که به Reader/Acrobat اشاره می‌کند تا ظاهر جدید فیلدها را بر اساس داده‌های Rich Text ایجاد کند. بنابراین هنگامی که کاربر PDF را باز می‌کند، نمایش‌دهنده ظاهر Rich Text را در همان لحظه ایجاد خواهد کرد. اگر نمایش‌دهندهٔ PDF کاربر از Rich Text پشتیبانی نکند، کاربر به جای آن داده‌های متن ساده را خواهد دید. اگر این فرم را پیش از آنکه Acrobat فرصت ایجاد (و ذخیره) ظاهر جدید فیلدها را داشته باشد مسطح (\fBflatten\fR) کنید، داده‌های متن ساده همان چیزی خواهند بود که خواهید دید. همچنین گزینه‌های \fBflatten\fR، \fBneed_appearances\fR و \fBreplacement_font\fR را ببینید. .TP .B background یک واترمارک PDF را در پس‌زمینهٔ یک PDF ورودی منفرد اعمال می‌کند. نام فایل PDF پس‌زمینه را بعد از \fBbackground\fR وارد کنید، مانند: pdftk in.pdf background back.pdf output out.pdf نرم‌افزار pdftk تنها از صفحهٔ اول PDF پس‌زمینه استفاده می‌کند و آن را بر روی تک‌تک صفحات PDF ورودی اعمال می‌نماید. این صفحه بر حسب نیاز مقیاس‌بندی شده و می‌چرخد تا متناسب با صفحهٔ ورودی شود. می‌توانید از \fB\-\fR برای فرستادن یک PDF پس‌زمینه به pdftk از طریق stdin استفاده کنید. اگر PDF ورودی پس‌زمینهٔ شفاف نداشته باشد (مانند PDF ساخته‌شده از اسکن صفحات)، پس‌زمینهٔ حاصل نمایان نخواهد بود \(en به جای آن از عملیات \fBstamp\fR استفاده کنید..TP .B multibackground همانند عملیات \fBbackground\fR است، با این تفاوت که هر صفحه از PDF پس‌زمینه را بر روی صفحه متناظر از PDF ورودی اعمال می‌کند. اگر فایل PDF ورودی صفحات بیشتری نسبت به PDF مهر (stamp) داشته باشد، آخرین صفحه مهر بر روی این صفحات باقی‌مانده در PDF ورودی تکرار می‌شود. .TP .B stamp این عملیات دقیقاً همانند عملیات \fBbackground\fR رفتار می‌کند، با این تفاوت که صفحه PDF مهر را \fIبر روی\fR صفحات سند PDF ورودی قرار می‌دهد. این قابلیت زمانی بهترین نتیجه را می‌دهد که صفحه PDF مهر دارای پس‌زمینه‌ای شفاف باشد. .TP .B multistamp همانند عملیات \fBstamp\fR است، اما هر صفحه از PDF پس‌زمینه را بر روی صفحه متناظر در PDF ورودی اعمال می‌کند. اگر PDF ورودی صفحات بیشتری نسبت به PDF مهر داشته باشد، آخرین صفحه مهر بر روی این صفحات باقی‌مانده در PDF ورودی تکرار می‌شود. .TP .B dump_data یک فایل PDF ورودی تکی را می‌خواند و فراداده‌ها، نشانک‌ها (bookmarks یا همان outlines)، مشخصات ابعادی صفحه (media، چرخش و برچسب‌ها)، داده‌های تعبیه‌شده توسط STAMPtk (گزینه \fBembed\fR در STAMPtk را ببینید) و سایر داده‌ها را در نام فایل خروجی مشخص‌شده یا (در صورت عدم تعیین خروجی) در stdout گزارش می‌کند. نویسه‌های غیر ASCII به‌صورت موجودیت‌های عددی XML کدگذاری می‌شوند. این دستور هیچ فایل PDF جدیدی ایجاد نمی‌کند. .TP .B dump_data_utf8 همانند \fBdump_data\fR است، با این تفاوت که خروجی با کدگذاری UTF-8 ارائه می‌شود. .TP .B dump_data_fields یک فایل PDF ورودی تکی را می‌خواند و آمار فیلدهای فرم را به نام فایل خروجی مشخص‌شده یا (در صورت عدم تعیین خروجی) به stdout گزارش می‌دهد. نویسه‌های غیر ASCII به‌صورت موجودیت‌های عددی XML کدگذاری می‌شوند. این دستور یک PDF جدید ایجاد نمی‌کند. .TP .B dump_data_fields_utf8 همانند \fBdump_data_fields\fR است، با این تفاوت که خروجی با کدگذاری UTF-8 ارائه می‌شود. .TP .B dump_data_annots \fBاین عملیات در حال حاضر فقط یادداشت‌ها و حاشیه‌نویسی‌های پیوند (link annotations) را گزارش می‌دهد.\fR یک فایل PDF ورودی تکی را می‌خواند و اطلاعات یادداشت‌ها را در نام فایل خروجی مشخص‌شده یا (در صورت عدم تعیین خروجی) در stdout گزارش می‌کند. نویسه‌های غیر ASCII به‌صورت موجودیت‌های عددی XML کدگذاری می‌شوند. این دستور یک PDF جدید ایجاد نمی‌کند. .TP .B update_info نشانک‌ها، برچسب‌های صفحه، اندازه‌های صفحه، چرخش‌های صفحه و فراداده‌های موجود در دیکشنری Info یک فایل PDF تکی را تغییر می‌دهد تا با فایل داده ورودی مطابقت پیدا کند. فایل داده ورودی از همان نحو و ساختار خروجی \fBdump_data\fR استفاده می‌کند. نویسه‌های غیر ASCII باید به‌صورت موجودیت‌های عددی XML کدگذاری شوند. این عملیات فراداده‌های ذخیره‌شده در جریان XMP فایل PDF را (در صورت وجود) تغییر نمی‌دهد. (به همین دلیل باید یک مدخل \fBModDate\fR را همراه با تاریخ/زمان جاری در اطلاعات به‌روزرسانی‌شده خود قرار دهید، با قالب: \fBD:YYYYMMDDHHmmSS\fR، برای مثال D:201307241346 \(en داده‌های حذف‌شده پس از YYYY به مقادیر پیش‌فرض بازمی‌گردند.) برای مثال: pdftk in.pdf update_info in.info output out.pdf .TP .B update_info_utf8 همانند \fBupdate_info\fR است، با این تفاوت که ورودی با کدگذاری UTF-8 ارائه می‌شود. .TP .B attach_files [to_page | relation ] با استفاده از قابلیت‌های پیوست فایل در PDF، فایل‌های دلخواه را درون یک PDF بسته‌بندی می‌کند. می‌توان بیش از یک پیوست را پس از \fBattach_files\fR ذکر کرد. پیوست‌ها در سطح سند اضافه می‌شوند، مگر اینکه گزینه اختیاری \fBto_page\fR مشخص شده باشد؛ در این حالت، فایل‌ها به شماره صفحه داده‌شده پیوست می‌شوند (صفحه نخست 1 و صفحه پایانی \fBend\fR است). پیوست‌های سطح سند را می‌توان با یکی از رابطه‌های \fBSource\fR، \fBData\fR، \fBAlternative\fR، \fBSupplement\fR و \fBUnspecified\fR (پیش‌فرض) برچسب‌گذاری کرد. برای مثال: 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 .TP .B unpack_files تمام پیوست‌ها را از PDF ورودی در پوشه فعلی یا در دایرکتوری خروجی مشخص‌شده پس از \fBoutput\fR رونوشت می‌کند. برای مثال: pdftk report.pdf unpack_files output ~/atts/ یا به‌صورت تعاملی: pdftk report.pdf unpack_files output PROMPT .RE .TP .B [output ] نام فایل PDF خروجی نباید برابر با نام یکی از فایل‌های ورودی باشد. برای ارسال خروجی به stdout از \fB\-\fR استفاده کنید. هنگام استفاده از عملیات \fBdump_data\fR، از \fBoutput\fR برای تعیین نام فایل داده خروجی استفاده کنید. هنگام استفاده از عملیات \fBunpack_files\fR، از \fBoutput\fR برای تعیین نام دایرکتوری خروجی استفاده کنید. هنگام استفاده از عملیات \fBburst\fR، می‌توانید از \fBoutput\fR برای کنترل نام فایل‌های صفحات PDF حاصل استفاده کنید (در بالا شرح داده شده است). .TP .B [encrypt_40bit | encrypt_128bit | encrypt_aes128] اگر برای PDF خروجی یک گذرواژه کاربر یا مالک مشخص شود، الگوریتم رمزنگاری PDF خروجی به‌طور پیش‌فرض بر روی AES-128 تنظیم می‌شود. الگوریتم‌های ضعیف‌تر RC4 40-bit و RC4 128-bit را می‌توان با مشخص کردن encrypt_40bit یا encrypt_128bit انتخاب کرد (توصیه نمی‌شود). .TP .B [allow ] مجوزها (Permissions) تنها در صورتی بر روی PDF خروجی اعمال می‌شوند که یک سطح رمزنگاری مشخص شده باشد یا گذرواژه مالک یا کاربر ارائه شده باشد. اگر دسترسی‌ها مشخص نشوند، مقدار پیش‌فرض آنها 'none' خواهد بود که به معنای غیرفعال بودن تمام قابلیت‌های زیر است. بخش \fBpermissions\fR می‌تواند شامل یک یا چند مورد از قابلیت‌های زیر باشد: .RS .TP .B Printing چاپ با بالاترین کیفیت .TP .B DegradedPrinting چاپ با کیفیت پایین‌تر .TP .B ModifyContents همچنین اجازه Assembly را می‌دهد .TP .B Assembly .TP .B CopyContents همچنین اجازه ScreenReaders را می‌دهد .TP .B ScreenReaders .TP .B ModifyAnnotations همچنین اجازه FillIn را می‌دهد .TP .B FillIn .TP .B AllFeatures به کاربر اجازه می‌دهد تمام موارد بالا به‌همراه چاپ با بالاترین کیفیت را انجام دهد. .RE .TP .B [owner_pw ] .TP .B [user_pw ] اگر سطح رمزنگاری تعیین شود اما هیچ گذرواژه‌ای داده نشود، گذرواژه‌های مالک و کاربر خالی باقی می‌مانند؛ این بدان معناست که هر کسی می‌تواند PDF حاصل را باز کند و پارامترهای امنیتی آن را تغییر دهد. .TP .B [compress | uncompress] این گزینه‌ها فقط زمانی مفید هستند که بخواهید کد PDF را در یک ویرایشگر متن مانند vim یا emacs ویرایش کنید. با اعمال فیلتر \fBuncompress\fR، فشرده‌سازی جریان (stream) صفحه PDF را حذف کنید. برای بازگرداندن فشرده‌سازی از فیلتر \fBcompress\fR استفاده نمایید. .TP .B [flatten] از این گزینه برای ادغام فیلدهای فرم تعاملی PDF ورودی (و داده‌های آنها) با صفحات PDF استفاده کنید. تنها یک PDF ورودی را می‌توان مشخص کرد. گاهی اوقات همراه با عملیات \fBfill_form\fR استفاده می‌شود. .TP .B [need_appearances] پرچمی را تنظیم می‌کند که به Reader/Acrobat اشاره می‌کند تا بر اساس مقادیر فیلدهای فرم، ظاهر جدیدی برای فیلدها ایجاد کند. هنگام پر کردن فرم با متن غیر ASCII، از این گزینه برای اطمینان از بهترین نحوه نمایش در Adobe Reader یا Acrobat استفاده کنید. این گزینه در صورت ترکیب با گزینه \fBflatten\fR کار نخواهد کرد. .TP .B [replacement_font ] از قلم مشخص‌شده برای نمایش متن در فیلدهای فرم استفاده می‌کند. این گزینه زمانی مفید است که فرمی را با متنی غیر ASCII پر می‌کنید که توسط قلم‌های موجود در PDF ورودی پشتیبانی نمی‌شود. \fBfont name\fR می‌تواند نام فایل یا نام خانواده قلم باشد، اما استفاده از نام فایل قابل اطمینان‌تر است. در حال حاضر فقط قلم‌های TrueType با متن Unicode پشتیبانی می‌شوند. .TP .B [keep_first_id | keep_final_id] هنگام ترکیب صفحات از چندین فایل PDF، از یکی از این گزینه‌ها برای رونوشت شناسه سند (document ID) از سند ورودی نخست یا پایانی به PDF خروجی جدید استفاده کنید. در غیر این صورت pdftk یک شناسه سند جدید برای PDF خروجی ایجاد می‌کند. هنگامی که هیچ عملیاتی مشخص نشده باشد، pdftk همیشه از شناسه سند ورودی (تکی) استفاده می‌کند. .TP .B [drop_xfa] اگر PDF ورودی شما فرمی است که با استفاده از Acrobat 7 یا Adobe Designer ایجاد شده است، احتمالاً دارای داده‌های XFA است. پر کردن چنین فرمی با استفاده از pdftk باعث تولید یک PDF با داده‌هایی می‌شود که در Acrobat 7 (و احتمالاً 6؟) نمایش داده نمی‌شوند. راهکار این است که داده‌های XFA فرم را پیش از پر کردن فرم با pdftk یا در هنگام پر کردن آن حذف کنید. استفاده از این گزینه باعث می‌شود pdftk داده‌های XFA را از فرم PDF خروجی حذف کند. این گزینه فقط هنگام اجرای pdftk بر روی یک فایل PDF ورودی تکی مفید است. هنگام سرهم‌بندی یک PDF از چندین فایل ورودی با استفاده از pdftk، هرگونه داده XFA موجود در ورودی به‌طور خودکار حذف می‌شود. .TP .B [drop_xmp] بسیاری از فایل‌های PDF، فراداده‌های سند را هم با استفاده از دیکشنری Info (شیوه قدیمی) و هم جریان XMP (شیوه جدید) ذخیره می‌کنند. عملیات \fBupdate_info\fR در pdftk می‌تواند دیکشنری Info را به‌روز کند، اما جریان XMP را خیر. راهکار مناسب برای این موضوع، قرار دادن یک مدخل \%\fBModDate\fR با تاریخ/زمان جاری در اطلاعات به‌روزرسانی‌شده شما است. قالب تاریخ/زمان عبارت است از: \fBD:YYYYMMDDHHmmSS\fR، برای مثال D:201307241346 \(en داده‌های حذف‌شده پس از YYYY به مقادیر پیش‌فرض بازمی‌گردند. این ModDate جدیدتر باید به نمایشگرهای PDF نشان دهد که فراداده‌های Info به‌روزتر از داده‌های XMP هستند. همچنین، ممکن است ترجیح دهید جریان XMP را به‌کلی از PDF حذف کنید \(en این دقیقاً کاری است که این گزینه انجام می‌دهد. توجه داشته باشید که اشیاء درون PDF ممکن است جریان‌های فراداده XMP مجزا و مخصوص به خود داشته باشند و \fBdrop_xmp\fR آنها را حذف نمی‌کند؛ این گزینه تنها جریان XMP در سطح سندِ PDF را حذف می‌کند. .TP .B [verbose] به‌طور پیش‌فرض، pdftk بدون پیام اجرا می‌شود. افزودن \fBverbose\fR به انتها باعث می‌شود اطلاعات و جزئیات بیشتری نمایش داده شود. .TP .B [dont_ask | do_ask] بسته به تنظیمات زمان کامپایل (نگاه کنید به ASK_ABOUT_WARNINGS)، در صورت بروز مشکل مانند یک گذرواژه نادرست، pdftk ممکن است از شما ورودی بیشتری درخواست کند. با افزودن \fBdont_ask\fR (تا pdftk از شما نپرسد چه باید کرد) یا \fBdo_ask\fR (تا pdftk از شما بپرسد چه کاری انجام دهد)، این رفتار پیش‌فرض را بازنویسی کنید. هنگام اجرا در حالت \fBdont_ask\fR، برنامه pdftk فایل‌ها را بدون اطلاع قبلی با خروجی خود بازنویسی (over-write) خواهد کرد..SH "مثال‌ها (EXAMPLES)" .TP 2 .B تلفیق صفحات اسکن‌شده pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf .br یا اگر odd.pdf دارای ترتیب معکوس است: .br pdftk A=even.pdf B=odd.pdf shuffle A Bend\-1 output collated.pdf .PP مثال‌های زیر از گذرواژه‌های واقعی به عنوان پارامترهای خط فرمان استفاده می‌کنند، که این کار توصیه نمی‌شود (بخش «ملاحظات امنیتی (SECURITY CONSIDERATIONS)» را ببینید). .TP 2 .B رمزگشایی یک PDF pdftk secured.pdf input_pw foopass output unsecured.pdf .TP .B رمزنگاری یک PDF با استفاده از AES-128 (پیش‌فرض) و سلب تمام مجوزها (پیش‌فرض) pdftk 1.pdf output 1.128.pdf owner_pw foopass .TP .B مانند بالا، به جز اینکه گذرواژه \(aqbaz\(aq نیز باید برای باز کردن PDF خروجی استفاده شود pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz .TP .B مانند بالا، به جز اینکه چاپ کردن مجاز است (پس از باز شدن PDF) pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing .TP .B اعمال رمزنگاری ۴۰ بیتی RCA روی خروجی و لغو تمام مجوزها (پیش‌فرض). تنظیم گذرواژه مالک به \(aqfoopass\(aq. pdftk 1.pdf 2.pdf cat output 3.pdf encrypt_40bit owner_pw foopass .TP .B پیوند زدن دو فایل که یکی از آن‌ها نیازمند گذرواژه \(aqfoopass\(aq است. خروجی رمزنگاری نمی‌شود. pdftk A=secured.pdf 2.pdf input_pw A=foopass cat output 3.pdf .TP .B پیوند زدن in1.pdf و in2.pdf در یک PDF جدید به نام out1.pdf pdftk in1.pdf in2.pdf cat output out1.pdf .br یا (با استفاده از دسته‌ها): .br pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf .br یا (با استفاده از نویسه‌های عام): .br pdftk *.pdf cat output combined.pdf .TP .B حذف صفحه ۱۳ از in1.pdf برای ایجاد out1.pdf pdftk in.pdf cat 1\-12 14\-end output out1.pdf .br یا: .br pdftk A=in1.pdf cat A1\-12 A14\-end output out1.pdf .TP .B فشرده‌زدایی از جریان‌های صفحه PDF برای ویرایش PDF در یک ویرایشگر متن (مانند vim یا emacs) pdftk doc.pdf output doc.unc.pdf uncompress .TP .B بازسازی جدول آسیب‌دیده XREF و طول جریان‌های PDF، در صورت امکان pdftk broken.pdf output fixed.pdf .TP .B تجزیه یک سند تک‌فایل PDF به صفحات مجزا و تخلیه داده‌های آن در doc_data.txt pdftk in.pdf burst .TP .B تجزیه یک سند PDF به صفحات رمزنگاری‌شده و مجاز کردن چاپ با کیفیت پایین pdftk in.pdf burst owner_pw foopass allow DegradedPrinting .TP .B نوشتن گزارش از فراداده‌ها و نشانک‌های سند PDF در report.txt pdftk in.pdf dump_data output report.txt .TP .B چرخاندن اولین صفحه PDF به اندازه ۹۰ درجه در جهت عقربه‌های ساعت pdftk in.pdf cat 1east 2\-end output out.pdf .TP .B چرخاندن کل یک سند PDF به اندازه ۱۸۰ درجه pdftk in.pdf cat 1\-endsouth output out.pdf .SH "نکات (NOTES)" این یک پورت از pdftk به جاوا است. ببینید: .br https://gitlab.com/pdftk-java/pdftk .br برنامه اصلی را می‌توان در www.pdftk.com یافت. .SH "نویسنده (AUTHOR)" نویسنده اصلی pdftk، Sid Steward (sid.steward at pdflabs dot com) است. .SH "ملاحظات امنیتی (SECURITY CONSIDERATIONS)" ارسال گذرواژه به عنوان پارامتر خط فرمان ناامن است زیرا می‌تواند در تاریخچه پوسته ذخیره شده و از طریق /proc برای سایر کاربران قابل دسترسی باشد. در عوض، از کلمه کلیدی \fBPROMPT\fR استفاده کرده و گذرواژه‌ها را از طریق ورودی استاندارد وارد کنید.