ایران سرفراز- نرم افزار وپروژهای دانشجویی


نرم افزار وپروژهای دانشجویی

ساختار فایل هایPdf

Mo-mah.persianblog.ir

Mohsen_mahyar@yahoo.com

 

Pdf ساختار فایل های

 

صفحه : 1

Pdf ساختار فایل های

صفحه : 2

خدایا:

گَرَم تو روی آری چه باک که دیگران روی بگردانند

اگرَم تو یاور باشی چه ترس که آفریدگانت یاوریم نکنند

وگر تو غمخوار گشتی چه غم که خلقت غم نخورند

خداوندگارا

مهربانا

معشوقا

گرَم تو روی گردانی چه سود که دیگران روی آرند

اگرم تو یاوری نکنی چه حسن که آفریدگانت یاوری کنند

وگر تو غم نخوری چه شادیست که خلقت غمخوار گردند

خداوندا : همنشینی ، یاوری ، غمخواری

من خوب میدانم که تنها نیستم !!

مهربانا

اگر آنی ... همنشینیم، یاوریم ،غمخواریم نکنی

عمری تنهای تنهایم

معشوقا

من ،تنها با تو تنها نیستم

ای تنها ترین ، تنهایم مگذار...

......................................................................................................................................................................

تقدیم بر آستان مهربان مهر هشتم

Mo-mah.persianblog.ir

Mohsen_mahyar@yahoo.com

Pdf ساختار فایل های

صفحه : 3

فهرست :

فصل اول : مقدمه 4

5 Pdf 1.1 معرفی اسناد

با اسناد دیگر 5 Pdf 1.2 تفاوت اسناد

6 Pdf فصل دوم : نیم نگاهی بر

فصل سوم : اشیاء 7

3.1 بولین ها 7

3.2 اعداد 7

3.3 رشته ها و نوشته ها 7

3.3.1 نوشته ها 8

3.4 اسم ها 8

3.5 آرایه ها 9

3.6 واژه نامه 9

3.7 جریان ها و اعداد تهی 10

فصل چهارم : ساختار فایل 11

11 Pdf 4.1 فایل های

4.2 هدر 12

4.3 بدنه 12

4.4 جدول ارجاع متقابل 13

4.5 تریلر 16

4.6 بروزآوری افزایشی 18

19 Pdf فصل پنجم : ساختار اسناد

5.1 مقدمه 20

5.2 کاتالوگ 20

5.3 درخت صفحات 21

5.4 درخت نقشه 23

5.4 عملیات ها 24

5.5 واژه نامه اطلاعات 25

مراجع :b Pdf نمونه ای از فایل : a : ضمائم

Pdf ساختار فایل های

صفحه : 4

1. مقدمه

قالب اصلی PDF ( این کتابچه بشرح در مورد اسناد با فرمت قابل حمل (سبک

ادوب اکروبات و خانواده تولیدات می پردازد.

( PDF: Portable Document Format )

هدف از این تولیدات این است که کاربران را برای معاوضه (تغییر) و نمایش اسناد

الکترونیکی به آسانی و بطور قابل اعتماد قادر سازد ، جدا از محیطی که آن اسناد در

آن ساخته شده اند.

پیشرفت های اخیر دنیای تجارت باعث شده است تا نیاز به تبادل اطلاعات روز به

روز بیشتر شود . با استفاده از پست الکترونیکی ، کاربران کامپیوتر مجبور نیستند

اسنادو مدارک ، PDF مدت زیادی منتظر تبادل اطلاعات خود بمانند و با استفاده از

درهمه کامپوترهایکسان نشان داده میشوندودرهمه چاپگرهایکسان چاپ میشوند.

تا متن و گرافیک را با Postscript اثر گذاشته بر مدل های تصویری از زبان Pdf )

وضعیت وسایل مستقل و وضوح مستقل وصف کند.)

یکی از بهترین روش های توسعه کارایی نمایش مجازی است. PDF بی شک

همچنین شامل اشیائی از قبیل حاشیه نویسی و پیوند های ما فوق متن (پیوندی Pdf

که به سادگی از قسمتی از متن به قسمت دیگر میرود ) و ... میباشد؛ و اینها جزئی از

خود صفحات نیست بلکه برای نمایش محاوره ای ( مجازی ) مفید است .

و سازگاری آن با تمام سیستم های Pdf به علت سرعت و کارایی بالای فرمت فایل

کامپیوتری ، این فرمت مورد پسند اکثر کاربران وب و شبکه های داخلی قرار گرفته

حجم کمی دارند و به همین دلیل در سایت های وب و پیغام های Pdf است .فایل های

و با پست Pdf الکترونیکی به کار می روند .قرارداد ها و اسناد حقوقی در فرمت

Pdf ساختار فایل های

صفحه : 5

، Acrobat الکترونیکی ارسال میشوند زیرا با استفاده از ابزار امضاء دیجیتالی در

میتوان اینگونه اسنادرا امضاء کرد.

PDF 1.1 معرفی اسناد

منتشر شدو ازآن زمان دنیای Adobe توسط شرکت Acrobat در سال 1993 اولین نسخه

انتشار اسناد الکترونیکی متحول شد.

همین طورکه تقاضای به اشتراک گذاشتن اسناد بیشتر می شد مسائل ومشکلات هم افزایش می

وبعضی باسیستم های مکینتاش کار میکردند. IBM یافت. بعضی ازکاربران باسیستم های سازگار

همچنین هرسندفقط دربرنامه ایی باز میشد که سند را بوجود آورده بود. حتی زمانی که کامپیوتر

ونرم افزارهم یکی بود،فونت هامتفاوت بودند. اسنادی که از طریق پست الکرونیکی ارسال میشدند

ممکن بود در کامپیوتر مقصد باز نشوندیا با ظاهری متفاوت باز شوند.

مشکلات Pdf . دنیای تجارت به شکل واحدی از کاغذ دیجیتالی جهت تبادل اطلاعات نیاز داشت

هر کسی Adobe Acrobat رایگان یا Reader توزیع اسناد کاغذی را بر طرف کرد. با استفاده از

را دقیقاً یکسان مشاهده و چاپ کند . کاربرانی که با سیستم عامل لینوکس یا Pdf میتواند اسناد

با Pdf را دقیقا یکسان مشاهده میکنند. و حالاکمی شمارا باتفاوت Pdf ویندوز کار میکنند فایل های

اسناد دیگر آشنا میکنم:

با اسناد دیگر PDF 1.2 تفاوت اسناد

و Excel, Word با فایل های Pdf را میتوان از طریق اینترنت توزیع کرد . فایل های Pdf اسناد

به منظور ویرایش شدن ایجاد نمی شوند و نکته منفی Pdf متفاوتند . فایل های Page marker

از فایل اصلی کوچکتر است. ظاهر سند Pdf قابییت های ویرایشی اندک است . معمولاً Pdf فایل

به خوبی حفظ میشود . خطوط و پارگراف ها و فونت ها تغییر نمی کنند. Pdf اصلی در

با استفاده از تنظیمات امنیتی میتوانید دسترسی بیا چاپ یا ویرایش فایل را محدود کنید. برای

استفاده کنید. Comments اینکه تغییرات انجام شده در هر فایل را به بقیه یادآوری کنید از ابزار

Pdf قابلیت هایی جهت بوجود آوردن ملاحظات تبادل آنها بین کپی یک سند Comments ابزار

جهت ویرایش و غلط گیری بینچند نفر توزیع شده باشد.در این صورت هر شخصی میتواند

ملاحظاتش را در فایل مربوط به خودش وارد و همچنین ملاحظات دیگران را نیز به آن بیفزاید .

Pdf ساختار فایل های

صفحه : 6

PDF 2. نیم نگاهی بر

چیست. Pdf این مهم است که بدانیم Pdf چیست ؟؟ قبل از نگاه انداختن به جزئیات ساختار Pdf

یک فرمت فایل استفاده شده برای بیان کردن اسناددریک روش مستقل ازبرنامه های کاربردی PDF

و دیگر Pdf شامل یک سند ، Pdf ، سخت افزار و سیستم عامل است . برای ساختن آن ، یک فایل

اطلاعات تعریف شده می شود.

می تواند شامل یک یا چندین صفحه باشد.هر یک ازصفحات در یک سند ، میتواند Pdf یک فایل

شامل ترکیبی از متن ، گرافیک و تصاویر در یک وسیله باشد و وضوح مستقل از نوع است.

همچنین ممکن است محتوی اطلاعاتی که فقط برای Pdf این بود شرح مختصر یک صفحه سند

نمایش الکترونیک باشد مثل لینک های مافوق متن ،صدا و حتی فیلم .

در بر دارد شرحی که مشخصه های استفاده شده در فایل Pdf در فزاش دادن یک سند ، یک فایل

و اطلاعات درباره ساختارها مهم در فایل را نشان میدهد ( موقعیت یابی میکند) Pdf

درست میشود و استفاده میشود. Pdf مهم است بدانیم که چگونه یک سند Pdf برای فهمیدن یک

نیز بیشتر شایع Pdf کاربرد های آن و خواندن فایل های ، Pdf بطوریکه با فراگیر شدن اسناد

شده است.

یکی از اهداف این کتابچه این است که فایل با فرمتی قابل دسترس بطوریکه برنامه های اجرایی

بتوانند از آن استفاده کنند بسازید.

در فصول بعدی بیشتر با ساختار و اشیائی که در این ساختار وجود دارند آشنا می شوید.

همچنین در ادامه فصول نیز به طریقه ساخت امضاء الکترونیک برای اسناد و حفاظت از آنها آشنا

میشوید.

Pdf ساختار فایل های

صفحه : 7

3. اشیاء

از هفت نوع اصلی پشتیبانی میکند : PDF

رشته ها و نوشته ها ، اسم ها ،آرایه ها ،واژه نامه ،(Boolean ) بولین ها ، (Numbers) شماره ها

هیچ ) برای کاربرد های متفاوت تدارک دیده شده است. )Null و جریان ، بعلاوه شیء

اشیاء میتوانند برچسب زده شده باشند تا اینکه بوسیله اشیاء دیگر بتوانند به آنها اشاره نمود.

یک شی برچسب زده شده یک مفعول غیر مستقیم (شی غیر مستقیم) نامیده میشود .

را مورد وصف قرار میدهیم . null در بخش های زیر انواع اشیاء و شی

نسبت به حروف کوچک و بزرگ حساس میباشد و حروف کوچک و بزرگ متمایز از یکدیگرند!!/ Pdf : توجه

( Booleans ) 3.1 بولین ها

است . و نشان دهنده مقدار صحیح (درست) یا غلط false و True اشیاء بولین دارای کلمه کلیدی

(نادرست) هستند.

( Numbers ) 3.2 اعداد

از دو نوع عدد پشتیبانی میکند : اعداد صحیح / اعشاری . Pdf

ها هم فقط در شکل اعشاریند. Real اعداد صحیح داری مقادید علامت دار یا بدون علامت میباشند و

1.0 پشتیبانی نشده است. e نکته : شکل توانی برای اعداد نظیر 3

3.3 رشته ها و نوشته ها

یک رشته مجموعه ای بدون علامت ار بایت های 8 بیتی و نوشته ها از ترکیب قرار گیری

کاراکترها و بوسیله پرانتر از یکدیگر جدا شده اند.

اگر طول یک رشته بسیار زیاد باشد بطوریکه نتوان آنرا در یک خط قرار داد میتوان آنرا در

خطوط دیگر ( خطوط متوال ادامه رشته ) قرار داد . برای این کار فقط کافیست از علامت \

در انتهای یک خط شکافته شده استفاده نمود که نشان میدهد رشته روی خط (Backslash)

زیری ادامه می یابد . در این قسمت مثال هایی از رشته ها آورده شده است :

( This is string number 1? )

( strangeonium spectroscopy )

(This string is split \

Pdf ساختار فایل های

صفحه : 8

across \

three lines)

در طول یک رشته ممکن است کاراکتر ’\‘همراه با کاراکتر های دیگر بکار برده شده باشد که هر

یک از ترکیبات ’\‘با آن کاراکترها مشخص کننده عملیاتی هستند. در پایین به چند نمونه از این

ترکیبات اشاره شده است :

\n تعویض خط

\v تعویض سطر

\t tab حرکت بصورت افقی

\b Backspace

\\ Backslash

پرانتز) )\

پرانتز( (\

\ddd (decimal) ddd کاراکترهای

(Text) 3.3.1 نوشته ها

رشته های مطمئنی ( مسلمی ) را در بر دارند که اطلاعات آن توسط انسان خواناست.

این رشته هاشامل شرح متون ، شرح نشانه گذاری ها ، نام بندها ، اطلاعات اسناد و غیره میباشد.

(Names) 3.4 اسم ها

یک اسم شبیه به رشته است و با ترتیبی از قرارگیری کاراکتر ها نوشته شده است .

ادامه یابد. ASCII اسم باید با کاراکتر برش ’/‘ شروع شود و با ترتیبی از کاراکتر های

بعضی از کاراکتر های خاص مجا به استفاده در اسم ها نمی باشند که برخی از آنها کاراکترهای

{, } , [ , ] , < , > , ( , ) ,# , / ,% و چند کد اسکی :

در این قسمت نمنه ای از چند اسم مجاز آورده شده است :

/Name1

/ASomewhatLongerName2

/A;Name_With-various***Characters?.

/1.2

/.notdef

00 >میتواند در اسامی استفاده شود. برای ایکار باید از > Null کاراکتری به عنوان کاراکتر هیچ

علامت # در بین نام استفاده کرد :

/Adobe#20Green

Pdf ساختار فایل های

صفحه : 9

/PANTONE#205757#20CV

/paired#28#29parentheses

/TheKeyOfF#23Minor

/A#42

در ضمن میتوان بجای استفاده از خود کاراکتر از کد اسکی آن کاراکتر نیز استفاده نمود به

است. /AB راه دیگری برای نوشتن /A# عنوان مثال 42

** این خاصیت در رشته ها هم وجود دارد.

نکته: حداکثر شماره مربوط به کاراکترها 127 میباشد .

اشاره میکند ، نه شش کاراکتر. (B فضا A / ) به چهار کاراکتر /A#20B برای مثال اسم

3.5 آرایه ها

است و ممکن است مخلوطی از انواع اشیاء را در بر داشته Pdf یک آرایه یک ترتیب از اشیاء

باشد.

ک آرایه با علامت کروشه چپ ] شروع گشته و در ادامه وسیله یک ترکیبی از اشیاء ادامه

یافته و با کروشه راست [ نیز پایان می پذیرد.

این یک مثال از آرایه است :

[0 (Higgs) false 3.14 3 549 /SomeName]

(Dictionary) 3.6 واژه نامه

یک واژه نامه جدولی رادر بر دارد که شامل جفت هایی از اشیاء است .

اولین عنصر هر جفت کلید نامیده میشود و عضو دومین ارزش نامیده شده است.

کلید باید یک اسم باشد و یک ارزش از هر نوع شی و نیز شامل یک واژه نامه میتواند باشد.

عموماٌ یک واژه نامه استفاده میشود ( کاربرد دارد) تا اینکه با دیگر خصیصه های یک شیء

پیچیده با مشخص کردن جفتِ ‘کلید وارزش ‘ از یک خصیصه جمع شود و متصل شود (واژه

نامه تو در تو )( این قسمت اشاره به استفاده واژه نامه در اشیائی نظیر صفحه و دیگر اشیاء

مرکب دیگر دارد )

یک واژه نامه با استفاده از کروشه زاویه دار (>>) شروع و بایک ترکیب ازجفت های کلیدوارزش

ادامه یافته و در انتها نیز با کروشه زاویه دار راست (<<) پایان می پذیرد.

برای مثال :

<<.…… ارزش کلید/ ارزش کلید / >>

Pdf ساختار فایل های

صفحه : 10

<< /Type /Example /Key2 12 /Key3 (a string) >>

نمونه ای از واژه نامه های تو در تو ( واژه نامه ای در داخل واژه نامه دیگر) :

<< 

/Type /AlsoAnExample

/Subtype /Bad

/Reason (unsure)

/Version 0.01

/MyInfo

<< 

/Item1 0.4

/Item2 true

/LastItem (not!)

/VeryLastItem (OK)

>> 

>> 

هستند. Pdf اشیاء واژه نامه ، قطعات ( ساختار) اصلی یک سند

مثل صفحات و فونت ها برای نمایش داده شدن از واژه نامه Pdf بخش های زیادی در مدرک

استفاده میکنند.

توسط مجمعی ازانواع کلید یک واژه نامه مشخص میکند یک نوع شی را (شی مرکب) که در واژه

نامه تعریف شده است .

را مشخص کند که در مواردی چون (subtype) ودر برخی حالات کلید میتواند به یک زیر انواع

تخصصی شدن یک نوع خاص استفاده میشود .

True type, Type3,MMType1,Type مثلاً دریک فونت ، ارزش کلیدوچندین زیر عنوان شامل 1

و ... است .

(Null) و اشیاء تهی (Streams) 3.7 جریان ها

از دیگر اشیاء از مجموعه اشیاء بکار رفته می توات جریان ها و اشیاء تهی و اشیاء غیر مستقیم

و ... نام برد

میباشند و هیچ مقداری را نشان Null اشیاء تهی همانطور که از نامشان پیداست داری کلمه کلیدی

نمی دهند .( از موارد کاربردی آنها در واژه نامه هاست که در قسمت ارزش واژه نامه قرار گرفته

و راه سریع تر و ساده تری برای واژه نامه است که در مجموع کلید را حذف میکند.(کلید حاوی

مقدار تهی بی فایده است ) ).

و اشیاء غیر مستقیم نیز برای تعریف انواع جدید بکار میرود که اصطلاحاً به آنها مفعول بی

واسطه میگویند.

Pdf ساختار فایل های

صفحه : 11

در فصول بعدی با استفاده از اشیاء توصیف شده در این بخش به معرفی ساختار فایل و اسناد

می پردازیم ... Pdf

4. ساختار فایل

می پردازم . Pdf در این فصل به شرح سازماندهی و ساختار یک فایل

نمایش میدهد. (document) آماده میکند ساختاری را که یک سند را Pdf یک فایل

این ساختار راهی را که به سرعت بازیابی کند هر بخش یک سند و یک سازو کار برای سازماندهی

آن را آماده می کند.

استفاده می شوند. Pdf که در شکل دادن Pdf شامل مراحل ( مراتب) اشیاء Pdf بدنه یک فایل

Pdf 4.1 فایل های

استاندارد شامل چهار بخش است : Pdf یک فایل

(Header سر صفحه ( هدر

( Body ) بدنه

( cross reference table) جدول ارجاع متقابل

(Trailer تریلر ( ناظر

شکل زیر این ساختار را نمایش میدهد :

<PDF file> ::= <header>

<body>

<cross-reference table>

<trailer>

ممکن است دارای خطوط طویلی باشد . binary با داده های Pdf یک فایل

بیشتر Pdf با برنامه های کاربدی ، طول خطوط در یک فال Pdf به هرحال ، برای سازگاری فایل

از 255 کاراکتر نخواهد بود.

اما یک استثنا در مورد محتویات رشته ای یک واژه نامه وجود دارد .

که تابحال به روز آوری نشده است : Pdf • شکل 5.1 : ساختار یک فایل

Pdf ساختار فایل های

صفحه : 12

header

Body

cross-reference table

trailer

(Header) ( 4.2 هدر (سر صفحه

را مشخص میسازد تا به فایل بپیوندد Pdf که شماره نگارش مشخصه Pdf اولین خط یک فایل

میتوان این مقدار را یافت ). Pdf مثلا نگارش جاری 1.4 است .( با نگاهی به فایل کامل

از یک یا چند ویرایش زود تر از 1.4 هم که باشد توسط برنامه Pdf به هر حال اگر یک فایل

کاربردی قابل اجرا میباشد . مثلا اگر چندفایل مربوط به نگارش 1.3 و 1.2 و یا 1.1 باشند باز

هم توسط برنامه کاربردی قابل خواندن هستند.

واقع است نشان دهنده این نگارش است . Pdf و هدر که در اولین خط یک فال

<header> ::= <PDF version>

نمایان میشود. " %PDF است و توسط یک رشته " 1.3 Pdf هدر معرفی کننده یک سند

و این همانند اعداد جادویی در یونیکس است .

4.3 بدنه

(document) تشکیل شده است از دنباله ای از اشیاء که غیر مستقیم یک سند Pdf بدنه یک فایل

را نمایش میدهند.

ساختار بدنه سند شامل اطلاعاتی راجع به اشیاء بکار رفته در صفحات است.

و این یک مجموعه از اشیاء برای توصیف کردن درخت ساختار صفحه که در آن صفحات و

عنصر ها ( متن ، گرافیک و...) روی صفحات سازماندهی شده است.

می باشند ، که هر شی شامل سه مولفه است: Pdf برگ های درخت Pdf اشیاء

و محتویات (ظرفیت ) / (offset) Pdf یک شماره / موقعیت شی در فایل

Pdf ساختار فایل های

صفحه : 13

اشیاء در نوع های اصلی که در فصل قبلی ( اشیاء) شرح آنها بیان شده است .

عبارتند از : (document) مولفه های نشان دادن یک مدرک

فونت ها ، صفحات ،تصاویر نمونه و ....

می توانند در هر جا در بخش بدنه یک فایل ظاهر شود. (comments) توضیحات

آنها با یک علامت % شروع میشوند و ممکن است در هر نقطه ای روی خط قرار گیرند. تمام

نوشته های ما بین % تا پایان خط به عنوان تو ضیحات در نظر گرفته میشود.

در مورد رشته ها یا جریان هایی که در طول یک بخش قرار دارد comment و قسمت های

توضیحاتی بیان می کند.

(Cross-reference table) 4.4 جدول ارجاع متقابل

به (Adobe Acrobat مانند ) Pdf جدول ارجاع ( جدول مختصات ) اجازه میدهد یک تجزیه گر

سرعت به اشیا دست بیابد .

اطلاعات جدول ارجاع متقابل شامل دستیابی تصادفی (دستیابی مستقیم) به مفعول های غیر

مستقیم در فایل ، که این امکان را فراهم میکند برای سازماندهی یک سی خاص ، فایل بطور کامل

خواده نشود ( عملکردی شبیه به شاخص ها )

برای هر مفعول غیر مستقیم در فایل ، جدول شام یک خط توصیف راجع به محل ورود شی در

فایل است. یعنی مختصاتی از اشیاء در جدول گرداوری شده است که برای دست یابی به شیء

خاصی در فایل ، با یافتن مختصات ، فقط به همان قسمت از فایل دستیابی داشته و پس از

خواندن آن قسمت به شی دست می یابد.

به همین منظور است که به جدول ارجاع متقابل ، جدول مختصات فایل نیز می گویند.

شامل یک جدول ارجاع متقابل است که خود شامل یک یا چندین بخش می باشد. Pdf هر فایل

اگر بروز آوری به فایل اضافه نشده باشد، جدول ارجاع شامل فقط یک بخش می باشد و بخش

میباشد. (Update) اضافه شده به جدول ارجاع متقابل مربوط به زمان به روز آوری

به یک شکل ثابت است و برای دستیابی Pdf بخش ثابت (بخش اولیه ) جدول مختصات در فایل

در جدول ارجاع اجازه میدهد. (entry) تصادفی ( مستقیم) به ورودی ها

شروع میشود . xref این بخش با خطی شامل کلمه کلیدی

Pdf ساختار فایل های

صفحه : 14

و در ذیل این خط یک یا چندین زیر جدول مختصات است .

<cross-reference section> ::=

xref

<cross-reference subsection>+

توجه : اگر بروزآوری در فایل انجام نشده باشد جدول ارجاع فقط یک بخش را در بردارد.

هر یک از ورودی های زیر بخش ها شامل حدود پیوسته از شماره های اشیاء می باشند.

ساختار زیر بخش های سیستم مختصات مفید برای بروزآوری افزایشی (که درقسمت های بعدی

توضیح می دهم) می باشد ؛ زیرا اجازه میدهد یک زیر بخش به سیستم مختصات اضافه شود تا

به جدول ارجاع نیز اضافه شوند. Pdf اشیاء ورودی یا حذف شده در فایل

هر زیر بخش سیستم مختصات شامل یک هدر که یا دو شماره شروع میشود :

در زیر بخش (entry) اول شماره شی در آن زیر بخش و شماره وارده

در پایین نمونه ای بیان شده است :

<cross-reference subsection> ::=

<object number of first entry in subsection>

<number of entries in subsection>

<cross-reference entry>+

می باشد. (eol) end of line شامل 20 بایت می باشد و نیز شامل علامت entry هر

این دو شکل متفاوت برای وارده های جدول ارجاع هستند.

یکی برای اشیائی که در حال استفاده میباشند و دیگری برای اشیائی که حذف شده اند و آزاد

میباشند:

<cross-reference entry> ::= <in-use entry> | <free entry>

بایت ( محاسبه بایت ) ( شماره بایت ها از offset برای یک شی در حال استفاده وارده شامل

می باشد. n شروع فایل به شروع شی ) و شماره ایجاد شی (شماره نسل ) و نیز کلمه کلیدی

<in-use entry> ::= <byte offset> <generation number> n <end-of-line>

شامل 10 رقم میباشد . در صورت لزوم میتوان باقیمانده آنرا با صفر های (offset) بایت افست

مقدم پرنمود.

شماره ایجاد شی توسط یک فاصله جدا شده است . شماره ایجاد شی یک پنج رقمیست و برای

آن نیز می توان با صفر های مقدم لایی گذاشت .

Pdf ساختار فایل های

صفحه : 15

eol است ، در پایان هم کلمه کلیدی n بعد از شماره ایجاد (شماره نسل ) یک فاصله و کلمه کلیدی

برای اشیاء در حال استفاده بکار میرود ) n است ( توجه کنید کلمه کلیدی

وارده شامل شماره شی آزاد بعدی و شماره نسل خودش و (delete/free ) برای یک شی آزاد

است. f کلمه کلیدی

<free entry> ::=

<object number of next free object>

<generation number> f <end-of-line>

وارده همان شکل و فرمتی را دارد که یک شی در حال استفاده دارد : یک ده رقمی برای شماره

.(end of line) eol و در پایان هم f شی ، یک فضا ، یک پنج رقمی شماره ایجاد و یک کلمه کلیدی

برای هر شی آزاد ، اشاره به entry اشیاء آزاد در فرم جدول ارجاع ، یک لیست پیودیست که با

شی آزاد بعدی میکند.

در جدول ( شیء شماره صفر ) آزاد است و یک شماره نسل 65535 (entry) همیشه اولین وارده

دارد و آن سر لیست پیوندی اشیاء آزاد میباشد.

وارده آزاد گزاشته در جدول ارجاع ( سر لیست پیوندی ) شیء شماره صفر ، برای دستیابی به

شی آزاد بعدی بکا برده میشود .

جدول ارجاع آزاد علامتگذاری شده entry ؛ موقعیکه یک مفعول غیر مستقیم حذف شده است

است . شماره نسل در وارده افزایش داده شده است تا شماره ایجادش توسط یک شی بکاربرده

شده در زمانی دیگر استفاده شود.

دوباره استفاده شده است ، شماره نسل (شماره ایجاد) افزایش داده شده entry هر زمانی که

است . بیشترین حد شمکاره ایجاد 65535 است . و این شماره به اولین وارده جدول ارجاع

رسیده است.

:( • نمونه ای از جدول ارجاع ( 1

نمایش یک سیستم مختصات شامل بخش اولیه با یک زیر بخش دارای 6 وارده که 4 تای آن در

. ( حال استفاده ( 1و 2و 4و 5) و دو تای آن آزادند ( 3و 0

xref

0 6

0000000003 65535 f

0000000017 00000 n

0000000081 00000 n

0000000000 00007 f

Pdf ساختار فایل های

صفحه : 16

0000000331 00000 n

0000000409 00000 n

شیء شماره 3 حذف شده است وبه شی بعدی ایجاد شده با شماره شیئی 3 ، شماره ایجاد 7

داده خواهد شد.

:( • نمونه ای دیگر از جدول ارجاع ( 2

نمایش یک سیستم مختصات با 4 زیر بخش شامل 5 وارده ( درمجموع )

زیر بخش اول که شامل وارده ای برای شی شماره 0 که آزاد است

زیر بخش دوم که دارای یک وارده برای شی شماره 3 که در حل استفاده است .

زیر بخش سومین شامل دو وارده با شماره اشیائ 23 و 24 که هر دو در حال استفاده اند.

شی شماره 23 ، دوباره استفاده شده است بطوریکه دیده میشود که آن شماره ایجاد 2 دارد.

و زیر بخش چهارمین یک وارده داشته ، شی شماره 3 که در حال استفاده است .

xref

0 1

0000000000 65535 f

3 1

0000025325 00000 n

23 2

0000025518 00002 n

0000025635 00000 n

30 1

0000025777 00000 n

(trailer 4.5 تریلر ( ناظر

به سرعت به جدول Pdf تریلر این امکان را فراهم می آورد که با درخواست خواندن یک فایل

ارجاع و اشیاء دسیابی پیدا شود .

را از پایانش بخواند . Pdf است ) باید فایل Pdf برای این کار برنامه ( منظور برنامه خواننده

است و دو خط قبل از آن نیز شامل %eof دارای علامت [end of file] Pdf آخرین خط فایل

سیستم xref فاصله ) بایت از شروع فایل به شروع کلمه )offset که startxref کلمه کلیدی

مختصات را در بر دارد .

و واژه نامه تریلر در دو خط قبل تر قرار دارد.( واژه نامه تریلر تشکیل شده از کلمه کلیدی

و در ادامه نیز مجموعه ای از ازرش و کلید که در کروشه های زویه دار زوج شده اند ) trailer

Pdf ساختار فایل های

صفحه : 17

به نمای کلی یک تریلر توجه کنید :

<trailer> ::= trailer

<< 

<trailer key–value pair>+

>> 

startxref

<cross-reference table start address>

%%EOF

آدرس شروع سیستم مختصات در فایل ذخیره شده است یعنی میزان startxref نکته : در

از ابتدای فایل xref فاصله

و نمونه ای از یک تریلر برای یک فایل بروز آوری شده در پایین نشان داده شده است:

trailer

<< 

/Size 22

/Root 2 0 R

/Info 1 0 R

>> 

startxref

18799

%%EOF

و حالا به برخی از خصوصیات تریلر می پردازم و در باره آنها توضیحاتی میدهم:

Key Type Semantics

Size integer شماره مجموع وارده های جدول ارجاع فایل، شامل جدول اصلی و تمام به بروز آوری ها

(لازم )

Prev integer ( ( لازم فقط در حالتی که جدول ارجاع بیشتر از یک بخش داشته باشد

و شماره فاصله محل قبلی جدول ارجاع از ابتدای فایل

اگر جدول ارجاع بروز نشده باشد این کلید را در بر نخواهد داشت

Root dictionary ( شی کاتالوگ برای یک سند ( در فصل بعد توضیح داده شده

Info dictionary واژه نامه اطلاعات برای یک سند

ID array یک آرایه از دو رشته که هر دوی انها یک شناسه اند

شناسه اول زمانی را که فایل درست شده و شناسه دوم زمانی که

Pdf ساختار فایل های

صفحه : 18

فایل تغییر کرده یا بروز رسانی شده است نشان میدهد ( لازم )

Encrypt dictionary زمانی که سند رمزی شده باشد لازم است و اطلاعاتی در مورد رمز شدن سند داراست

( Incremental update) 4.6 بروز آوری افزایشی

بدون بازنویسی کردن فایل کامل ، به روزآوری می شود و تغییرات به Pdf محتویات یک فایل

پایان فایل اضافه می شود بطوریکه محتویت اصلی فایل دستنخورده باقی می ماند.

جدیدی به روزآوری شده است یا اشیاء عوض شده ، اضافه شده اند ، یک Pdf موقعیکه یک فایل

بخش سیستم مختصات اضافه شده اسن و یک تریلر جدید وارد شده است .

در شکل زیر فایل با ساختار نتیجه را نشان می دهد:

<Updated PDF file> ::=

<PDF file>

{<update>}*

<update> ::= <body>

<cross-reference section>

<trailer>

به روز آوری میشود یک بخش اضافه میشود. Pdf سیستم مختصات موقعیکه یک ایل

که شامل وارده های اشیائی بوده اند که تغییر یافته یا حذف شده باشند ، بعلاوه وارده ای

. برای شی 0

اشیاء حذف شده بی تغییر در فایل باقی میمانند اما علامت گذاشته شده اند بطوریکه در

های جدول ارجاع حذف شده اند . (entry) وارده

شکل زیر نمایی از تاثیر یک به روزآوری افزایشی را نمایش می دهد :

Pdf ساختار فایل های

صفحه : 19

Header

Original

Body

Original

cross-reference

section

Original trailer

Body update 1

Cross-reference

section 1

Updated trailer 1

....

Body update n

Cross-reference

section n

Updated trailer n

Pdf 5. ساختار اسناد

فراهم کرده است یک نمایش الکترونیکی از یک مدرک را که مجموعیست از صفحات که شامل Pdf

متن ، گرافیک و تصاویر به همراه دیگر اطلاعات مختصر مانند تصاویر ریز از صفحات ، شرح

متون ، لینک های ما فوق متن و ... .

را توضیح دادم اما درباره خود Pdf در فصول قبل اساس مقدماتی برای درک نمایش یک مدرک

نمایش توضیحی بیان نشده است .

را نشان میدهند. Pdf از ترتیبی از اشیاء تشکیل شده است که مجموعاً یک مدرک Pdf بدنه یک فایل

تمرکز میکند و شامل توضیحات از Pdf این فصل منحصراً روی محتویات بخش بدنه یک فایل

در بردارد ، میباشد. Pdf اشیائی که یک مدرک

در این فصل فقط به اشیائی می پردازیم که بیشترین کاربرد را دارند و استفاده از آنها عمومیست.

1. مقدمه

Pdf ساختار فایل های

صفحه : 20

توصیف میشود بعنوان ترکیبی از اشیاء که در بخش بدنه آنها را در بر دارد . Pdf یک مدرک

را نشان میدهد. Pdf شکل 6.1 ساختار یک مدرک

اشیاء زیادی در این سلسله مراتب ، واژه نامه اند ( اشیاء مرکب)

والدین ، فرزند و نیز هم نسلان (برادران ) که توشط زوج ، کلید و ارزش ، که بطور غیر

مستقیم به والدین /فرزند و هم نسلان ارتباط دارند ، نشان داده شده اند.

برای مثال شی کاتالوگ که ریشه درخت است شامل کلید صفحات میباشد و یک اشاره غیر

مستقیم به شیئی که فرزند صفحه است دارد .

هر صفحه از مدرک با توجه به محتویاتی که شامل آن میباشد ، روی صفحه ظاهر می شود.

شکل 6.1

5.2 کاتالوگ

کاتالوگ یک واژه نامه است که گره ی ریشه ای مدرک است .

و شامل یک اشاره به درخت صفحات در مدرک ،واشاره ای به خطوط اصلی نمایش دادن

( اشیاءسند ، و یک اشاره به رشته های بند مدرک ، و فهرست مقصد های نام دارد ( شکل 6.1

در پایین نمونه ای از شی کاتالوگ نشان داده شده است :

1 0 obj

<< 

/Type /Catalog

/Pages 2 0 R

/Outlines 3 0 R

/PageMode /UseOutlines

>> 

endobj

.......

.......

Catalog

Pages

tree

Article threads

Named

destinations

AcroForm

Outline

tree

Page

Page

Outline entry

Outline entry

Pdf ساختار فایل های

صفحه : 21

،Dests ، Type : در ضمن کاتالوگ دارای صفات مختلفی است که چند تا از آنها عبارتند از

و ... که به توضیح در باره تک تک آنها نمی پردازم . Threads ، Pages ، Outlines

5.3 درخت صفحات

صفحات یک مدرک در دسترس هستند توسط یک گره از درخت که به درخت صفحات مشهورند.

این درخت ترتیب صفحات سند را مشخص می سازد.

درخت ها adobe PDF و adobe Distiller ، برای بهینه سازی نمایش در برنامه های کاربردی

را متعادل و موزون ساخته اند.

ساختار درخت اجازه میدهد تا برنامه کاربردی برای یک مدرک شامل هزاران صفحه ، تنها حافظه

محدودی را مصرف کند ، همچنین سرعت دستیابی به صفحات هم افزایش می یابد.

بایستی این نوع درخت را بپذیرند .بشرط اینکه گره های Pdf بنابراین برنامه های نمایش دهنده

درخت شامل کلید هایی باشد که در پایین ذکر شده اند .

ساده ترین ساختار تشکیل شده از یک گره صفحه و آن مستقیماً به تمام اشیاء موجود در صفحه

اشاره میکند.

** توجه : ساختار درخت صفحات برای یک مدرک با محتوای مدرک بی ارتباط است . برای یک

به عنوان مثال برای یک کتاب ، تضمینی نیست که یک فصل توسط یک گره تنها در Pdf فایل

درخت صفحات نشان داده شده باشد.

Key Type Semantics

Type name ( نام نوع بکاررفته ( بشتر اوقات صفحه نوع بکار رفته است

(لازم )

Kids array ( لازم) لیستی از اشیاء غیر مستقیم به فرزندان بی واسطه گره صفحه

Count integer ( تصریح کننده شماره ی گره های ریشه ( لازم

Parent dictionary

Pdf ساختار فایل های

صفحه : 22

را مصرف میکنند ( منظور نمایش دادن است و کاربردهای دیگر ) یا Pdf برنامه هایی که فایل

تولید میکند نیاز به این ندارند تا ساختار موجود درخت صفحات را حفظ کنند .

ریشه و تمام گره های درخت صفحات ، واژه نامه هستند . که مقداری از محتویات آن در جدول

زیر آورده شد است :

2 0 obj

<< 

/Type /Pages

/Kids [4 0 R 10 0 R 24 0 R]

/Count 3

>> 

endobj

(Inheritance of Attributes) 5.3.1 به ارث بردن خواص

یک شی صفحه ممکن است در بردارنده خواص اضافی باشد و انها ارزش هایی را برای فرزندان

شیء صفحه فراهم می آورد .

چنانچه که ما می گوئیم آن مقادیر را به ارث برده اند.

را برای تمام صفحات به وسیله شی صفحه mediabox برای مثال یک سند ممکن است یک

ریشه ، تعریف کند ( شی صفحه در بخش بعدی توضیح داده شده )

را به طور اختصاص هم تعریف کند ، به عنوان mediabox یک صفحه منفرد در مدرک می توان

در شی صفحه این خاصیت رابرای آن صفحه بی اعتبار mediabox مثال مشخص کردن یک

میکند ( صفحات میتوانند با خواص اختصاصی مربوط به خود ، از خواص به ارث رسیده طبعیت

نکند )

Pdf ساختار فایل های

صفحه : 23

آورده شده Rotate وراثت خواص : خواص ذکر شده در باره کلید

(outline tree) 5.4 درخت نقشه

به یک کاربر اجازه میدهد تا به نمایشی از سند به وسیله (outline یک نقشه ( خطوط اصلی

نام ها دسترسی داشته باشد .

فعال (bookmark) بطوریکه بایک لینک شرح ، قسمتی از خطوطی که کاربر درخواست کرده است

شود ( نمایش داده شود ). درخت نقشه شامل وارده هایی است که به آن خطوط اصلی میگویم.

درخت نقشه از ترکیبی از عنصرها تشکیل شده است . یک وارده ممکن است (entrys) واردهای

خود دارای یک یا چندید مرحله ( بخش) باشد . که به آن زیروارده میگویندو آن زیر وارده ممکن

است یزر وارده ، وارده های دیگر باشد و یا ممکن است زیر وارده ای از مجموعه خودش باشد.

یک وارده خطوط اصلی ممکن است باز یا بسته باشد .اگر آن وارده باز باشد ، فرزندانش هم قایل

رویت هستند و موقعیکه خطوط اصلی نشان داده شده است و اگر آن وارده بسته باشد این طور

نیست .

دارای درخت نقشه باشد ، در گاتالوگ به کلید ( منظور کلید ریشه ) (document) اگر یک مدرک

خطوط اصلی دسترسی داده شده است ( کلید در بخشی از شی کاتالوگ ذخیره میگردد )

Pages

Pages

Pages

Pages

/Rotate 180

Pages

/Rotate 90

Pages Pages Pages

Pages

/Rotate 0

Pages

Pages

/Rotate 270

Pages

/Rotate 90

Pdf ساختار فایل های

صفحه : 24

مقدار این کلید ، شی خطوط اصلی است که ریشه درخت نقشه ( درخت خطوط اصلی ) است.

نام برد . Last و First و Count : محتویات واژه نامه خطوط اصلی را میتوان به کلید های

شیء خطوط اصلی با 6 وارده

21 0 obj

<< 

/Count 6

/First 22 0 R

/Last 29 0 R

>> 

endobj

وارده های خطوط اصلی سطح بالا ، در یک لیست پیوندی واقعند که با اشاره گر اول به سر

لسیت و با اشاره گر آخر به پایان لیست اشاره میکنند.

5.5 عملیات ها :

1.1 ) مشخص میکند که یک همل چه موقع انجام شده است ، مثلاً یک نمایش Pdf (شروع در

توسط لینک چه موقعی انجام شده و یا زمانی که وارده های خطوط اصلی فعال شده اند و یا حتی

موقعیکه یک مدرک باز شده است.

چند زیر عنوان را برای عمل ها تعریف میکند: Pdf

و ... Hide ، SetState ، Movie ، Sound ، Url ، Launch ، GoToR ، GoTo

نکته : برخی از عناوین عمل ها در ویرایش 1.3 اضافه گشته است .

Action Type Description

GoTo تغییر یافتن شماره صفحه و رفتن به صفحه مبدا یا زوم کردن

GoToR(Go to Remote ) باز کردن فایل پی دی اف دیگری و یافتن شماره صفحه

و رفتن به صفحه مبدا یا زوم کردن

Launch باز کردن یک برنامه ، و معمولا باز کردن یک فایل

Sound Play a sound.

Movie Play a movie.

Thread Begin reading an article thread.

JavaScript Execute a JavaScript script.

ImportData Import field values from a file.

Pdf ساختار فایل های

صفحه : 25

و ...

5.6 واژه نامه اطلاعات :

تریلر یک مدرک ممکن است یک اشاره به یک واژه نامه اطلاعات که آن اطلاعات آماده ساختن

( فراهم آوردن ) یک مدرک را در بر دارد ، داشته باشد .

این واژه نامه اختیاری ممکن است یک یا چندیدن کلید در بر داشته باشد ، که قادیر هر یک از

کلیدها ، رشته هستند ....

و در اغلب موارد رشته ها اغلب مکتون هستند یعنی رشته ها توسط افراد هم میتوانند خوانده

بروزآوری شود. Pdf شوند. که این رشته ها ممکن است نشان داده شوند و یا توسط کاربر فایل

Pdf نمونه ای از یک فایل : a ضمیمه

کوچک آورده شده است .جدول زیر حاوی اشیاء بکاررفته Pdf در این قسمت نمونه ای از یک فایل

در سند است .

Object number Object type

1 Catalog

2 Outlines

3 Pages

4 Page

5 Contents

6 ProcSet array

%PDF-1.0

1 0 obj

<< 

/Type /Catalog

/Pages 3 0 R

/Outlines 2 0 R

>> 

endobj

2 0 obj

<< 

/Type /Outlines

/Count 0

>> 

endobj

3 0 obj

<< 

/Type /Pages

/Count 1

/Kids [4 0 R]

Pdf ساختار فایل های

صفحه : 26

>> 

endobj

4 0 obj

<< 

/Type /Page

/Parent 3 0 R

/Resources << /ProcSet 6 0 R >>

/MediaBox [0 0 612 792]

/Contents 5 0 R

>> 

endobj

5 0 obj

<< /Length 35 >>

stream

endstream

endobj

6 0 obj

[/PDF]

endobj

xref

0 7

0000000000 65535 f

0000000009 00000 n

0000000074 00000 n

0000000120 00000 n

0000000179 00000 n

0000000300 00000 n

0000000384 00000 n

trailer

<< 

/Size 7

/Root 1 0 R

>> 

startxref

408

%%EOF

مراجع : b ض میمه

کتابها و کتب الکنرونیک b.a

1. Portable Document Format - Reference Manual / Version 1.3

Adobe Systems Incorporated / March 11, 1999

Authors—Tim Bienz, Richard Cohn, and Jim Meehan

2. Portable Document Format - Reference Manual / Version 1.2

Adobe Systems Incorporated / November 12, 1996

Authors—Tim Bienz, Richard Cohn, and Jim Meehan

. خود آموز ادوب اکروبات / اسمیت- کوکس / مترجم

Pdf ساختار فایل های

صفحه : 27

Mo-mah.persianblog.ir

Mohsen_mahyar@yahoo.com

 

   + MOHSEN GHASEMI - ٧:٢٠ ‎ق.ظ ; ۱۳۸٩/٦/٢٥