.TH PDFTOSRC 1 "16 January 2026" "Web2C 2026" .\"===================================================================== .if t .ds TX \fRT\\h'-0.10m'\\v'0.17v'E\\v'-0.17v'\\h'-0.06m'X\fP .if n .ds TX TeX .\"===================================================================== .SH "نام (NAME)" pdftosrc \- استخراج فایل منبع یا جریان داده (stream) از فایل PDF .SH "خلاصه دستور (SYNOPSIS)" .B pdftosrc .I PDF-file .RI [ stream-object-number ] .\"===================================================================== .SH "توضیحات (DESCRIPTION)" اگر تنها .I PDF-file به‌عنوان آرگومان داده شود، .B pdftosrc فایل منبع جاسازی‌شده را از نخستین شیء جریان (stream object) یافته‌شده با /Type /SourceFile درون .I PDF-file استخراج کرده و آن را در فایلی با نام /SourceName (همان‌گونه که در آن شیء جریان PDF تعریف شده است) می‌نویسد (مثال کاربردی زیر را ببینید). .PP اگر هر دوی .I PDF-file و .I stream-object-number به‌عنوان آرگومان داده شوند و .I stream-object-number عددی مثبت باشد، .B pdftosrc جریان PDF مربوط به شیء مشخص‌شده با .I stream-object-number را از .I PDF-file استخراج و از حالت فشرده خارج می‌کند و آن را در فایلی به نام .IR PDF-file . stream-object-number می‌نویسد، در حالی که پسوند .B .pdf یا .B .PDF از نام اصلی .I PDF-file حذف می‌شود. .PP یک حالت خاص مربوط به جریان‌های اشیاء XRef است که از نسخهٔ PDF-1.5 به بعد بخشی از استاندارد PDF هستند: اگر .I stream-object-number برابر با \-1 باشد، آنگاه .B pdftosrc جریان XRef را از فایل PDF از حالت فشرده خارج کرده و آن را در قالب جدول ارجاع متقابل (cross-reference table) خوانا برای انسان، درون فایلی به نام .IB PDF-file .xref می‌نویسد (این جریان‌های XRef را نمی‌توان صرفاً با دادن شماره شیء آن‌ها استخراج کرد). .PP در هر صورت، اگر فایلی با نام فایل خروجی از قبل وجود داشته باشد بازنویسی خواهد شد. .PP .B نکته‌ها .PP یک فایل منبع جاسازی‌شده بدون تغییر نوشته می‌شود، بدین معنی که از حالت فشرده خارج نخواهد شد. .PP تنها جریان شیء نوشته خواهد شد، بدین معنی که دیکشنری آن شیء نوشته نمی‌شود. .PP دانستن اینکه کدام .I stream-object-number باید پرس‌وجو شود، نیازمند اطلاعاتی دربارهٔ فایل PDF است که باید از جای دیگری به دست آید؛ برای نمونه، با بررسی فایل PDF توسط یک ویرایشگر یا استخراج محتوای خام آن با یک ابزار کمکی. .PP قابلیت‌های استخراج جریان در .B pdftosrc (برای نمونه، دربارهٔ نسخه‌های شناخته‌شدهٔ PDF و انواع فیلترها) از قابلیت‌های نسخهٔ برنامهٔ پایه‌ای .B xpdf پیروی می‌کند. .PP در حال حاضر شمارهٔ نسل (generation number) شیء جریان پشتیبانی نمی‌شود. مقدار پیش‌فرض 0 (صفر) در نظر گرفته می‌شود. .PP عبارت .I stream-object-number ارتباطی با \(lqجریان‌های اشیاء\(rq (object streams) معرفی‌شده در \fIAdobe PDF Reference\fP، ویرایش پنجم، نسخهٔ 1.6 ندارد. .SH "مثال‌ها (EXAMPLES)" یک فایل خارجی، مثلاً \fImyfile.zip\fP، می‌تواند با استفاده از دستورهای بنیادین (primitives) برنامهٔ pdf\*(TX در فایلی به نام \fIfoo.pdf\fP جاسازی شود، همان‌طور که در مثال زیر نشان داده شده است: .PP .RS \\immediate\\pdfobj stream attr {/Type /SourceFile /SourceName (myfile.zip)} file{myfile.zip} \\pdfcatalog{/SourceObject \\the\\pdflastobj\\space 0 R} .RE سپس \fImyfile.zip\fP می‌تواند با فراخوانی \(lqpdftosrc foo.pdf\(rq از \fIfoo.pdf\fP استخراج شود. .\"===================================================================== .SH "گزینه‌ها (OPTIONS)" هیچ‌کدام. .SH "محیط (ENVIRONMENT)" هیچ‌کدام. .\"===================================================================== .SH "خطاها (DIAGNOSTICS)" در صورت موفقیت، کد خروج .B pdftosrc برابر 0 و در غیر این صورت 1 است. .PP همهٔ پیام‌ها به stderr فرستاده می‌شوند. هنگام فراخوانی برنامه، .B pdftosrc شماره نسخهٔ کنونی برنامهٔ .BR xpdf را اعلام می‌کند که .B pdftosrc بر پایهٔ آن ساخته شده است، هرچند که به‌عنوان بخشی از pdf\*(TX نگهداری می‌شود. .PP هنگامی که .B pdftosrc در نوشتن فایل خروجی موفق باشد، یکی از پیام‌های زیر صادر خواهد شد: .PP .RS Source file extracted to .I source-file-name .RE یا .RS Stream object extracted to .IR PDF-file . stream-object-number .RE یا .RS Cross-reference table extracted to .IR PDF-file .xref .RE .PP هنگامی که شیء مشخص‌شده با .I stream-object-number شامل یک جریان نباشد، .B pdftosrc پیام خطای زیر را صادر می‌کند: .RS Not a Stream object .RE .PP هنگامی که .I PDF-file باز نشود، پیام خطا چنین است: .RS Error: Couldn't open file .RI ' PDF-file '. .RE .PP هنگامی که .B pdftosrc با یک فایل PDF نامعتبر روبرو شود، پیام خطا (در چند سطر) چنین خواهد بود: .RS Error: May not be a PDF file (continuing anyway) .RE .RS (سطرهای بیشتر) .RE .RS Invalid PDF file .RE .PP پیام‌های خطای دیگری نیز از سوی .B pdftosrc برای انواع مختلف فایل‌های PDF خراب وجود دارد. .\"===================================================================== .SH "گزارش باگ‌ها (BUGS)" همهٔ فایل‌های منبع جاسازی‌شده استخراج نخواهند شد، بلکه تنها نخستین مورد یافت‌شده استخراج می‌شود. .\"===================================================================== .SH "همچنین ببینید (SEE ALSO)" .BR pdfimages (1), .BR pdftex (1), .BR pdftotext (1), .BR xpdf (1). .\"===================================================================== .SH "نویسندگان (AUTHORS)" .B pdftosrc بخشی از pdf\*(TX است و توسط H\[`a]n The Th\[`a]nh، با استفاده از قابلیت‌های .B xpdf نوشته‌شده توسط Derek Noonburg توسعه یافته است. این صفحهٔ راهنما توسط Hartmut Henkel نوشته شده است. .PP فهرست گفتگوی عمومی برای pdftosrc: https://lists.tug.org/pdftex