فرمت فایل PDF - فایل PDF چیست؟
فرمت سند قابل حمل (PDF) نوعی سند است که توسط Adobe در سال 1990 ایجاد شد. هدف از ایجاد این فرمت فایل معرفی استانداردی برای نمایش اسناد و سایر مطالب مرجع در قالبی مستقل از نرم افزار کاربردی، سخت افزار و همچنین سیستم عامل بود. فرمت فایل پیدیاف دارای قابلیت کاملی برای حاوی اطلاعاتی مانند متن، تصاویر، لینکها، فیلدهای فرم، رسانههای غنی، امضاهای دیجیتال، پیوستها، ابردادهها، ویژگیهای مکانی و اشیاء سهبعدی در آن است که میتواند به عنوان بخشی از سند منبع تبدیل شود.
در بیشتر موارد، اسناد موجود به جای ایجاد یک PDF جدید از ابتدا به PDF تبدیل می شوند. اما این بدان معنا نیست که هیچ نرم افزاری برای ایجاد یا دستکاری فایل های PDF وجود ندارد.
(باید چیزی در مورد فرمت فایل PDF به اشتراک بگذارید؟ می توانید یافته های خود را در بخش PDF File Format News ارسال کنید.)
فرمت فایل PDF - تاریخچه مختصر
یک مرور سریع جدول زمانی در مورد PDF file format از نظر جدول زمانی به شرح زیر است:
1993 - Adobe Systems مشخصات PDF را به صورت رایگان در دسترس قرار داد
2008 - PDF به عنوان یک استاندارد باز در 1 ژوئیه 2008 منتشر شد و توسط سازمان بین المللی استاندارد با عنوان ISO 32000-1:2008 منتشر شد.
2008 - Adobe مجوز ثبت اختراع عمومی را با فرمت ISO 32000-1 حقوق بدون حق امتیاز برای همه پتنت های متعلق به Adobe که برای ساخت، استفاده، فروش و توزیع پیاده سازی های منطبق با PDF ضروری هستند منتشر کرد.
The first version of PDF designated as PDF 1.0 which later went through revisions up to PDF 1.7. PDF 1.7 که به ISO 32000-1 تبدیل شد، شامل برخی از فناوریهای انحصاری غیر استاندارد و همچنین مانند Adobe XML Forms Architecture (XFA) و پسوند جاوا اسکریپت برای Acrobat است. در 28 جولای 2017 بود که PDF 2.0 معروف به ISO 32000-2:2017 منتشر شد که شامل هیچ فناوری غیر استانداردی نمی شد.
مشخصات فرمت فایل PDF
یک فایل PDF مجموعهای از بایتها است که میتوان آنها را بر اساس قوانین نحوی که توسط مشخصات PDF تعریف میشود، در توکنها دستهبندی کرد. یک یا چند نشانه ترکیب میشوند تا موجودیتهای نحوی سطح بالاتر، عمدتاً اشیاء را تشکیل دهند، که مقادیر دادههای پایهای هستند که یک سند PDF از آنها ساخته میشود.
ساختار فایل فایل های PDF
محتویات فایل PDF به ترتیب زیر در داخل فایل مرتب شده اند.
|سربرگ | بدنه |جدول متقابل |تریلر
سربرگ فایل PDF
صرف نظر از نسخه PDF، یک فایل PDF با یک سرصفحه حاوی شناسه منحصر به فرد برای PDF و نسخه فرمت مانند %PDF-1.x که x بین 1-7 است شروع می شود.
بدنه فایل
بدنه یک فایل PDF شامل دنباله ای از اشیاء غیر مستقیم است که محتوای یک سند را نشان می دهد. اشیاء، همانطور که در بالا توضیح داده شد، اجزای سند مانند فونت ها، صفحات و تصاویر نمونه را نشان می دهند. با شروع با PDF 1.5، بدنه همچنین میتواند شامل جریانهای شیء باشد، که هر کدام شامل دنبالهای از اشیاء غیرمستقیم است.
جدول مرجع
جدول ارجاع متقابل حاوی اطلاعاتی است که امکان دسترسی تصادفی به اشیاء غیرمستقیم درون فایل را فراهم می کند، به طوری که برای یافتن یک شی خاص نیازی به خواندن کل فایل نیست. جدول باید شامل یک ورودی یک خطی برای هر شیء غیرمستقیم باشد که مقدار افست بایت آن شی را در بدنه فایل مشخص می کند. (از PDF 1.5 شروع می شود، برخی یا تمام اطلاعات ارجاع متقابل ممکن است به طور متناوب در جریان های مرجع متقابل موجود باشد.
تریلر فایل
تریلر یک فایل PDF خواننده سازگار را قادر می سازد تا به سرعت جدول مرجع متقابل و اشیاء خاص خاص را پیدا کند. خوانندگان منطبق باید یک فایل PDF را از انتهای آن بخوانند. خط آخر فایل فقط باید حاوی نشانگر انتهای فایل، %%EOF باشد. دو سطر قبل باید شامل یک در هر خط و به ترتیب کلمه کلیدی startxref و بایت افست در جریان رمزگشایی شده از ابتدای فایل تا ابتدای کلمه کلیدی xref در آخرین بخش ارجاع متقابل باشد.
اشیاء PDF
یک فایل PDF شامل چندین نوع مختلف از اشیا است که از انواع زیر هستند
مقادیر بولی - درست یا نادرست شرطی را نشان می دهد
اعداد - مقادیر صحیح و واقعی
رشته ها - شامل کاراکترهای داخل پرانتز است
نام ها - با یک کاراکتر جلو / شروع به عنوان مثال /ASomewhatLongerName منجر به ASomewhatLongerName می شود
آرایه ها - PDF از آرایه های یک بعدی پشتیبانی می کند. آرایه هایی با ابعاد بالاتر را می توان با استفاده از آرایه ها به عنوان عناصر تو در تو ساخت
دیکشنری ها - مجموعه ای از اشیاء به عنوان جفت کلید-مقدار. می تواند صفر ورودی داشته باشد.
جریان - نشان دهنده دنباله ای از بایت است که می تواند طول نامحدود نیز داشته باشد
شی تهی - یک مقدار تهی را نشان می دهد
ممکن است اشیاء دیگری مانند نظرات وجود داشته باشد که با علامت % معرفی می شوند و ممکن است دارای کاراکترهای 8 بیتی باشند.
اشیاء غیر مستقیم
هر شی در یک فایل PDF ممکن است به عنوان یک شی غیر مستقیم برچسب گذاری شود. به اشیاء غیرمستقیم یک شناسه شی منحصر به فرد داده می شود که توسط آن اشیاء دیگر می توانند به آن رجوع کنند. ارجاع متقابل به اینها در یک جدول فهرست نگهداری میشود و با کلمه کلیدی xref که بدنه اصلی را دنبال میکند علامتگذاری میشود و از ابتدای فایل، افست بایت هر شی غیرمستقیم را نشان میدهد.
طرح بندی پی دی اف خطی و غیرخطی
طرحبندیهای PDF بسته به برنامههای هدف و سایر عوامل به دو دسته Llnear و غیر خطی طبقهبندی میشوند.
غیر خطی - فایل های PDF غیر خطی در مقایسه با فایل های PDF خطی از فضای دیسک کمتری استفاده می کنند. صفحات PDF سند به صورت پراکنده در سراسر فایل PDF قرار دارند و به همین دلیل است که فایل های غیر خطی در مقایسه با فایل های خطی کندتر هستند.
PDF خطی - با هدف قرار دادن بینندگان PDF آنلاین، فایل های PDF خطی به گونه ای ساخته شده اند که به صورت خطی روی دیسک نوشته می شوند. این نیازی به پلاگین های مرورگر ندارد تا کل سند قبل از نمایش بارگیری شود.
بررسی اجمالی اشیاء
همانطور که گفته شد، بدنه PDF مجموعه ای از اشیاء ذکر شده در بالا است. PDF عمدتاً بر اساس PostScript بدون ویژگی های کنترلی زبان های برنامه نویسی مانند فرمان های if و loop است. دستورات صادر شده توسط کد پست اسکریپت برای تولید محتویات گرافیکی، علاوه بر فایل ها، گرافیک ها یا فونت های ارجاع شده توسط سند، جمع آوری و توکن می شوند. همه این محتویات در یک فایل جمع می شوند و در نتیجه خروجی PostScript تشکیل می شود.
متن
Text in PDF is represented by text elements which are actually displayed with glyphs from fonts. A glyph is a graphical shape and is subject to all graphical manipulations, such as coordinate transformation. Because of the importance of text in most page descriptions, PDF provides higher-level facilities to describe, select, and render glyphs conveniently and efficiently.
گرافیک
عملگرهای گرافیکی مورد استفاده در جریان محتوای PDF ظاهر صفحاتی را که قرار است در یک دستگاه خروجی شطرنجی بازتولید شوند، توصیف می کنند. امکانات برای هر دو کاربرد چاپگر و نمایش در نظر گرفته شده است. اپراتورهای گرافیکی شش گروه اصلی را تشکیل می دهند:
اپراتورهای حالت گرافیکی ساختار داده ای به نام حالت گرافیکی را دستکاری می کنند، چارچوب جهانی که سایر اپراتورهای گرافیکی در آن اجرا می کنند. حالت گرافیکی شامل ماتریس تبدیل فعلی (CTM) است که مختصات فضای کاربر مورد استفاده در جریان محتوای PDF را به مختصات دستگاه خروجی ترسیم می کند. همچنین شامل رنگ فعلی، مسیر برش فعلی، و بسیاری از پارامترهای دیگر است که عملوندهای ضمنی عملگرهای نقاشی هستند.
اپراتورهای ساخت مسیر مسیرهایی را مشخص میکنند که شکلها، مسیرهای خطوط و مناطق مختلف را مشخص میکنند. آنها شامل عملگرهایی برای شروع یک مسیر جدید، اضافه کردن بخش های خط و منحنی ها به آن و بستن آن هستند.
اپراتورهای Path-painting یک مسیر را با یک رنگ پر می کنند، یک خط در امتداد آن نقاشی می کنند، یا از آن به عنوان یک مرز برش استفاده می کنند.
سایر اپراتورهای نقاشی، اشیاء گرافیکی خاصی را که خود توصیف می کنند، نقاشی می کنند. اینها شامل تصاویر نمونه برداری شده، سایه های هندسی تعریف شده و کل جریان های محتوا است که به نوبه خود شامل دنباله هایی از عملگرهای گرافیکی است.
Text operators select and show character glyphs from fonts (descriptions of typefaces for representing text characters). Because PDF treats glyphs as general graphical shapes, many of the text operators could be grouped with the graphics state or painting operators. However, the data structures and mechanisms for dealing with glyph and font descriptions are sufficiently specialized.
اپراتورهای محتوای علامت گذاری شده اطلاعات منطقی سطح بالاتر را با اشیاء موجود در جریان محتوا مرتبط می کنند. این اطلاعات بر ظاهر ارائه شده محتوا تأثیر نمی گذارد. برای برنامه هایی که از PDF برای تبادل اسناد استفاده می کنند مفید است.