| PDFTOSRC(1) | General Commands Manual | PDFTOSRC(1) |
نام (NAME)
pdftosrc - استخراج فایل منبع یا جریان داده (stream) از فایل PDF
خلاصه دستور (SYNOPSIS)
pdftosrc PDF-file [stream-object-number]
توضیحات (DESCRIPTION)
اگر تنها PDF-file بهعنوان آرگومان داده شود، pdftosrc فایل منبع جاسازیشده را از نخستین شیء جریان (stream object) یافتهشده با /Type /SourceFile درون PDF-file استخراج کرده و آن را در فایلی با نام /SourceName (همانگونه که در آن شیء جریان PDF تعریف شده است) مینویسد (مثال کاربردی زیر را ببینید).
اگر هر دوی PDF-file و stream-object-number بهعنوان آرگومان داده شوند و stream-object-number عددی مثبت باشد، pdftosrc جریان PDF مربوط به شیء مشخصشده با stream-object-number را از PDF-file استخراج و از حالت فشرده خارج میکند و آن را در فایلی به نام PDF-file.stream-object-number مینویسد، در حالی که پسوند .pdf یا .PDF از نام اصلی PDF-file حذف میشود.
یک حالت خاص مربوط به جریانهای اشیاء XRef است که از نسخهٔ PDF-1.5 به بعد بخشی از استاندارد PDF هستند: اگر stream-object-number برابر با -1 باشد، آنگاه pdftosrc جریان XRef را از فایل PDF از حالت فشرده خارج کرده و آن را در قالب جدول ارجاع متقابل (cross-reference table) خوانا برای انسان، درون فایلی به نام PDF-file.xref مینویسد (این جریانهای XRef را نمیتوان صرفاً با دادن شماره شیء آنها استخراج کرد).
در هر صورت، اگر فایلی با نام فایل خروجی از قبل وجود داشته باشد بازنویسی خواهد شد.
نکتهها
یک فایل منبع جاسازیشده بدون تغییر نوشته میشود، بدین معنی که از حالت فشرده خارج نخواهد شد.
تنها جریان شیء نوشته خواهد شد، بدین معنی که دیکشنری آن شیء نوشته نمیشود.
دانستن اینکه کدام stream-object-number باید پرسوجو شود، نیازمند اطلاعاتی دربارهٔ فایل PDF است که باید از جای دیگری به دست آید؛ برای نمونه، با بررسی فایل PDF توسط یک ویرایشگر یا استخراج محتوای خام آن با یک ابزار کمکی.
قابلیتهای استخراج جریان در pdftosrc (برای نمونه، دربارهٔ نسخههای شناختهشدهٔ PDF و انواع فیلترها) از قابلیتهای نسخهٔ برنامهٔ پایهای xpdf پیروی میکند.
در حال حاضر شمارهٔ نسل (generation number) شیء جریان پشتیبانی نمیشود. مقدار پیشفرض 0 (صفر) در نظر گرفته میشود.
عبارت stream-object-number ارتباطی با “جریانهای اشیاء” (object streams) معرفیشده در Adobe PDF Reference، ویرایش پنجم، نسخهٔ 1.6 ندارد.
مثالها (EXAMPLES)
یک فایل خارجی، مثلاً myfile.zip، میتواند با استفاده از دستورهای بنیادین (primitives) برنامهٔ pdfTeX در فایلی به نام foo.pdf جاسازی شود، همانطور که در مثال زیر نشان داده شده است:
stream attr {/Type /SourceFile /SourceName (myfile.zip)}
file{myfile.zip} \pdfcatalog{/SourceObject \the\pdflastobj\space 0 R}
گزینهها (OPTIONS)
هیچکدام.
محیط (ENVIRONMENT)
هیچکدام.
خطاها (DIAGNOSTICS)
در صورت موفقیت، کد خروج pdftosrc برابر 0 و در غیر این صورت 1 است.
همهٔ پیامها به stderr فرستاده میشوند. هنگام فراخوانی برنامه، pdftosrc شماره نسخهٔ کنونی برنامهٔ xpdf را اعلام میکند که pdftosrc بر پایهٔ آن ساخته شده است، هرچند که بهعنوان بخشی از pdfTeX نگهداری میشود.
هنگامی که pdftosrc در نوشتن فایل خروجی موفق باشد، یکی از پیامهای زیر صادر خواهد شد:
هنگامی که شیء مشخصشده با stream-object-number شامل یک جریان نباشد، pdftosrc پیام خطای زیر را صادر میکند:
هنگامی که PDF-file باز نشود، پیام خطا چنین است:
هنگامی که pdftosrc با یک فایل PDF نامعتبر روبرو شود، پیام خطا (در چند سطر) چنین خواهد بود:
پیامهای خطای دیگری نیز از سوی pdftosrc برای انواع مختلف فایلهای PDF خراب وجود دارد.
گزارش باگها (BUGS)
همهٔ فایلهای منبع جاسازیشده استخراج نخواهند شد، بلکه تنها نخستین مورد یافتشده استخراج میشود.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
pdftosrc بخشی از pdfTeX است و توسط Hàn The Thành، با استفاده از قابلیتهای xpdf نوشتهشده توسط Derek Noonburg توسعه یافته است. این صفحهٔ راهنما توسط Hartmut Henkel نوشته شده است.
فهرست گفتگوی عمومی برای pdftosrc: https://lists.tug.org/pdftex
| 16 January 2026 | Web2C 2026 |