PDFJAM(1) User Commands PDFJAM(1) نام (NAME) pdfjam - یک اسکریپت شل برای دستکاری فایل‌های PDF خلاصه دستور (SYNOPSIS) pdfjam [options] [--] [file[pages]]... توضیحات (DESCRIPTION) دستور pdfjam فهرستی از اسناد (pdf،‏ ps،‏ eps،‏ jpg یا png) را در یک فایل pdf واحد ادغام می‌کند. این ابزار امکان چرخاندن، مقیاس‌بندی، بازآرایی و ترکیب آزادانه صفحه‌ها را با بهره‌گیری از توانایی بسته‌های LaTeX به نام‌های 'pdfpages' و 'graphicx' فراهم می‌کند. خروجی با یک نام خودکار تولیدشده نوشته می‌شود (مگر اینکه از طریق --outfile مشخص شود). فایل‌های ورودی به‌صورت گرافیک در خروجی جاسازی می‌شوند. به‌ویژه فایل‌های jpg بدون تبدیل مجدد (transcoding) همان‌طور که هستند حفظ می‌شوند. ورودی از stdin با تعیین /dev/stdin به عنوان یک فایل پشتیبانی می‌شود و در صورتی که فایلی داده نشود، حالت پیش‌فرض است. با مشخص کردن pages می‌توان تعیین کرد کدام صفحه‌ها و با چه ترتیبی گنجانده شوند. مقدار پیش‌فرض '-' تمام صفحه‌ها را انتخاب می‌کند. یک مثال: pdfjam file1 '{},2,4-6,9-' ... یک صفحه خالی ایجاد می‌کند، به دنبال آن صفحه‌های 2، 4، 5، 6 از file1 و سپس صفحه‌های 9 به بعد (تا انتهای file1) قرار می‌گیرند. انتخاب صفحه را می‌توان روی بیش از یک فایل اعمال کرد، برای نمونه: pdfjam file1 file2 file3 last-1 ... انتخاب صفحه 'last-1' (معکوس کردن ترتیب صفحه‌ها) را روی هر سه فایل اعمال می‌کند؛ اما برای مثال: pdfjam file1 file2 2- file3 1-7 ... انتخاب صفحه '2-' را روی file1 و file2، و '1-7' را روی file3 اعمال خواهد کرد. انتخاب صفحه روی تمامی فایل‌هایی اعمال می‌شود که *بلافاصله* پیش از آن در فهرست آرگومان‌ها آمده باشند. برای جزئیات بیشتر درباره نحو pagespec، راهنمای pdfpages را ببینید. گزینه‌های PDFPAGES و GRAPHICX (OPTIONS TO PDFPAGES AND GRAPHICX) گزینه‌های کلید-مقدار برای 'pdfpages' و 'graphicx' را می‌توان به‌صورت --key value مشخص کرد. ابَرگزینه‌ها (META OPTIONS) -h, --help تنها این متن را نمایش می‌دهد؛ بدون هیچ پردازشی روی فایل‌های PDF. --configpath متغیر 'configpath' را نمایش داده و بلافاصله خارج می‌شود؛ بدون پردازش فایل‌های PDF. -V, --version شماره نسخه pdfjam را نمایش داده و بلافاصله خارج می‌شود؛ بدون پردازش فایل‌های PDF. -q, --quiet جلوگیری از نمایش توضیحات اضافی درباره روند پیشرفت. گزینه‌های پردازش (PROCESSING OPTIONS) --batch اجرای ترتیبی pdfjam روی هر یک از فایل‌های ورودی به نوبت، و تولید یک فایل خروجی مجزا برای هر ورودی، به‌جای رفتار پیش‌فرض ادغام‌سازی. برای محل قرارگیری فایل‌های خروجی، --outfile را ببینید. گزینه --batch در صورت دریافت ورودی از stdin قابل استفاده نیست. -o, --outfile name مسیر قرارگیری فایل(های) خروجی را تعیین می‌کند. اگر 'name' یک دایرکتوری موجود باشد، pdfjam تلاش می‌کند فایل(های) PDF خروجی را در آنجا با نام(هایی) برگرفته از نام فایل(های) ورودی و گزینه --suffix (پایین را ببینید) بنویسد. در غیر این صورت، خروجی pdf در 'name' نوشته خواهد شد. --suffix string یک پسوند برای نام فایل‌های خروجی تعیین می‌کند که هنگام نامشخص بودن --outfile یا دایرکتوری بودن آن به کار می‌رود. رشته STRING نباید طول صفر داشته باشد. --checkfiles, --no-checkfiles اگر ابزار یونیکسی 'file' در دسترس باشد، خروجی 'file -Lb FILE1' باید به‌صورت 'PDF document...' باشد که در آن '...' اطلاعات نسخه را ارائه می‌دهد. اگر در سیستم شما چنین است، باید از --checkfiles استفاده کنید؛ در غیر این صورت از --no-checkfiles استفاده نمایید، که در این حالت تمامی فایل‌های ورودی باید دارای پسوندهای صحیح (.pdf،‏ .ps،‏ .eps،‏ .jpg،‏ .jpeg،‏ .png یا معادل‌های بزرگ آن‌ها) باشند. --latex pathtolatex موتور LaTeX مورد استفاده را مشخص می‌کند (یکی از pdflatex،‏ xelatex یا lualatex). رشته pathtolatex باید مسیر کامل به یک فایل اجرایی مناسب LaTeX باشد (برای نمونه /usr/bin/xelatex در بسیاری از سیستم‌های یونیکس). --tidy, --no-tidy مشخص می‌کند که آیا دایرکتوری موقت ایجادشده توسط pdfjam باید حذف شود یا خیر. برای کمک به عیب‌یابی بیشتر خطاها از '--no-tidy' یا '--builddir' (پایین را ببینید) استفاده کنید. --builddir path یک دایرکتوری ساخت را برای استفاده به‌جای دایرکتوری موقت تعیین می‌کند. فایل‌های موجود در آن بازنویسی خواهند شد. این گزینه بر --tidy اولویت دارد. --runs N دستور latex را N بار برای هر سند خروجیِ ساخته‌شده اجرا می‌کند. --vanilla از خواندن هرگونه فایل پیکربندی pdfjam جلوگیری می‌کند. --enc کدگذاری خط فرمان را مشخص می‌کند. گزینه‌های کاغذ (PAPER OPTIONS) --paper papername, --papername اندازه کاغذ LaTeX را مشخص می‌کند؛ برای نمونه '--paper a4' یا به‌سادگی '--a4paper' برای کاغذ ISO A4. به لطف بسته 'geometry' در LaTeX، طیف گسترده‌ای از اندازه‌های کاغذ در دسترس است. برای جزئیات بیشتر مستندات LaTeX و/یا بسته 'geometry' را ببینید. اگر مقدار پیش‌فرضی تنظیم نشده باشد، اندازه کاغذ پیش‌فرض سیستم از طریق libpaper به دست می‌آید و در صورت عدم دستیابی، به A4 بازمی‌گردد. --papersize width,height اندازه کاغذ سفارشی را بر حسب پوینت = ۱/۷۲ اینچ (در LaTeX با نام bp و در سایر نرم‌افزارها با نام pt شناخته می‌شود) مشخص می‌کند، مانند --papersize 612,792. واحدها را می‌توان به‌طور صریح نیز مشخص کرد، مانند --papersize 10in,18cm. --landscape, --no-landscape جهت افقی (landscape) صفحه (یا عدم آن) را در فایل PDF خروجی مشخص می‌کند. --twoside, --no-twoside گزینه کلاس سند 'twoside' (دوطرفه) را مشخص (یا لغو) می‌کند. --other-edge, --no-other-edge هر صفحه فرد را ۱۸۰ درجه می‌چرخاند (یا نمی‌چرخاند). بدین ترتیب لبه‌ای که صفحات در چاپ دوطرفه ورق می‌خورند تغییر می‌کند. --pagecolor rgbspec یک رنگ پس‌زمینه برای صفحه‌های خروجی مشخص می‌کند. مقدار RGBSPEC باید یک سه‌تایی از اعداد صحیح بین 0 و 255 باشد که با کاما از هم جدا شده‌اند. یک مثال: --pagecolor 150,200,150. پیش‌فرض، بدون رنگ پس‌زمینه است. گزینه‌های PDFINFO (PDFINFO OPTIONS) --keepinfo, --no-keepinfo عنوان (Title)، نویسنده (Author)، موضوع (Subject) و کلمات کلیدی (Keywords) را (از آخرین فایل PDF ورودی، در صورت وجود بیش از یکی) در فایل PDF خروجی حفظ (یا عدم حفظ) می‌کند. این مورد نیازمند ابزار pdfinfo از بسته poppler-utils و بسته 'hyperref' در LaTeX است؛ اگر هر یک از آن‌ها موجود نباشد، '--keepinfo' نادیده گرفته می‌شود. --pdftitle string, --pdfauthor string, --pdfsubject string, --pdfkeywords string متن عنوان (Title)، نویسنده (Author)، موضوع (Subject) و کلمات کلیدی (Keywords) را در فایل PDF خروجی فراهم می‌کند. نیازمند بسته 'hyperref' در LaTeX است. این گزینه‌ها، هرکدام به‌طور جداگانه، بر --keepinfo اولویت دارند. گزینه‌های پیشرفته (ADVANCED OPTIONS) --preamble string رشته STRING ارائه‌شده را به دیباچه (preamble) فایل(های) منبع LaTeX، درست قبل از خط '\begin{document}' الصاق می‌کند تا بسته‌های LaTeX بارگذاری شوند یا گزینه‌های سراسری تنظیم گردند. یک مثال: pdfjam --nup 2x2 myfile.pdf -o myfile-4up.pdf --preamble '\usepackage{fancyhdr} \pagestyle{fancy}' اگر '--preamble' بیش از یک بار در فراخوانی استفاده شود، رشته‌های دیباچه داده‌شده به یکدیگر متصل می‌شوند. برای نکته‌ای پیرامون جلوگیری از تداخل‌ها، فایل README را ببینید که در https://github.com/pdfjam/pdfjam نیز در دسترس است. -- پایان پردازش گزینه‌ها را مشخص می‌کند. گزینه‌های PDFPAGES و GRAPHICX (PDFPAGES AND GRAPHICX OPTIONS) --KEY VALUE گزینه‌های مربوط به '\includepdfmerge' در بسته 'pdfpages' لایتک را مشخص می‌کند. برای اطلاعات بیشتر مستندات pdfpages (معمولاً دستور 'texdoc pdfpages') را ببینید. در اینجا KEY نام هر یک از گزینه‌های پرتعداد برای '\includepdfmerge' و VALUE مقدار متناظر با آن است. مثال‌ها: --nup 2x1 (برای چیدمان ۲تایی صفحه در کنار یکدیگر) --scale 0.7 (برای مقیاس‌بندی تمام صفحه‌های ورودی به اندازه ۷۰٪) --offset '1cm 0.5cm' (برای جابه‌جایی تراز تمامی صفحه‌ها -- به نقل‌قول‌ها دقت کنید!) --frame true (برای قرار دادن یک کادر به دور هر صفحه ورودی) --booklet true (برای تغییر ترتیب صفحه‌ها در دسته‌های فرم چاپی (signatures)، معمولاً با --nup مفید است) --signature N (اندازه signature را بر حسب تعداد صفحات اصلی در یک فرم چاپی در سند نهایی مشخص می‌کند. هشدار: booklet صورت کوتاه‌شده‌ای برای signature است، بنابراین اگر از --booklet true استفاده کنید، signature نادیده گرفته می‌شود) --trim '1cm 2cm 1cm 2cm' --clip true (برای بریدن مقادیر مذکور به‌ترتیب از چپ، پایین، راست و بالای صفحه‌های ورودی) --angle NNN (زاویه چرخش بر حسب درجه. زاویه‌هایی غیر از 0، 90، 180 یا 270 همچنان صفحه‌های مستطیلی صاف ایجاد می‌کنند و تنها محتوا چرخانده خواهد شد.) فایل‌های پیکربندی (CONFIGURATION FILES) مقادیر پیش‌فرض برای گزینه‌های --suffix، --keepinfo، --paper، --outfile، --landscape، --twoside، --tidy، --latex، --runs، --checkfiles و --preamble را می‌توان در فایل‌های پیکربندی سراسری سیستم یا فایل‌های ویژه کاربر تنظیم کرد. فایل‌های مورد جستجو عبارتند از: /etc/pdfjam.conf /usr/share/etc/pdfjam.conf /usr/local/share/pdfjam.conf /usr/local/etc/pdfjam.conf $XDG_CONFIG_HOME/pdfjam.conf $HOME/.pdfjam.conf این فهرست را می‌توان با ویرایش 'configpath' در اسکریپت pdfjam تغییر داد. در صورت استفاده از آرگومان --vanilla، تمامی این فایل‌ها نادیده گرفته می‌شوند. نویسندگان (AUTHORS) David Firth (2002 to 2019)، Reuben Thomas (2020 to 2024)، Markus Kurtz (since 2024) همچنین ببینید (SEE ALSO) بسته‌های LaTeX به نام‌های graphicx (https://ctan.org/pkg/graphicx) و pdfpages (https://ctan.org/pkg/pdfpages). برای گنجاندن فایل‌های eps، بسته epstopdf را ببینید (https://ctan.org/pkg/epstopdf). برای اطلاعات بیشتر، از جمله یک نمونه فایل پیکربندی، ببینید: https://github.com/pdfjam/pdfjam pdfjam 4.2 2025-01-30 PDFJAM(1)