פורמט קובץ PDF - מהו קובץ PDF?
פורמט מסמכים ניידים (PDF) הוא סוג של מסמך שנוצר על ידי Adobe עוד בשנות ה-90. מטרת פורמט קובץ זה הייתה להציג תקן לייצוג של מסמכים וחומרי עזר אחרים בפורמט שאינו תלוי בתוכנת יישום, חומרה ומערכת הפעלה. לפורמט קובץ ה-PDF יש יכולת מלאה להכיל מידע כמו טקסט, תמונות, היפר-קישורים, שדות טופס, מדיה עשירה, חתימות דיגיטליות, קבצים מצורפים, מטא נתונים, תכונות גיאו-מרחביות ואובייקטים תלת-ממדיים, שיכולים להפוך לחלק ממסמך המקור.
ברוב המקרים, מסמכים קיימים מומרים ל-PDF במקום ליצור PDF חדש מאפס. אבל זה לא אומר שאין תוכנות ליצירה או מניפולציה של קבצי PDF.
(צריך לשתף משהו לגבי פורמט קובץ PDF? אתה יכול לפרסם את הממצאים שלך בקטע חדשות פורמט קובץ PDF.)
פורמט קובץ PDF - היסטוריה קצרה
מעבר מהיר על ציר הזמן לגבי היווצרות קובץ ה-PDF במונחים של ציר הזמן הוא כדלקמן:
1993 - Adobe Systems הפכה את מפרטי ה-PDF לזמינים ללא תשלום
2008 - PDF שוחרר כתקן פתוח ב-1 ביולי 2008 ופורסם על ידי הארגון הבינלאומי לתקינה כ-ISO 32000-1:2008.
2008 - אדובי פרסמה רישיון פטנט ציבורי בפורמט ISO 32000-1 ללא תמלוגים עבור כל הפטנטים שבבעלות Adobe הנחוצים כדי ליצור, להשתמש, למכור ולהפיץ יישומים תואמי PDF.
הגרסה הראשונה של PDF שהוגדרה כ-PDF 1.0 שעברה מאוחר יותר תיקונים עד ל-PDF 1.7. PDF 1.7, שהפך ל-ISO 32000-1, כולל כמה טכנולוגיות קנייניות לא סטנדרטיות כמו גם Adobe XML Forms Architecture (XFA) והרחבת JavaScript עבור 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 תומך במערכים חד מימדיים. ניתן לבנות מערכים בעלי ממדים גבוהים יותר על ידי שימוש במערכים כאלמנטים מקוננים
- מילונים - אוסף אובייקטים כזוגות מפתח-ערך. זה יכול לכלול אפס ערכים.
- זרמים - מייצג רצף של בתים שיכול להיות גם באורך בלתי מוגבל
- אובייקט Null - מייצג ערך null
יכולים להיות אובייקטים אחרים כמו הערות שמוצגים עם הסימן % ועשויים להכיל תווים של 8 סיביות.
אובייקטים עקיפים
כל אובייקט בקובץ PDF עשוי להיות מסומן כאובייקט עקיף. אובייקטים עקיפים מקבלים מזהה אובייקט ייחודי שבאמצעותו אובייקטים אחרים יכולים להתייחס אליו. הצלבה לאלה נשמרת בטבלת אינדקס ומסומנת במילת המפתח xref העוקבת אחר הגוף הראשי ונותנת את היסט הבתים של כל אובייקט עקיף מתחילת הקובץ.
פריסות PDF ליניאריות ולא ליניאריות
פריסות PDF מסווגות כ-Llnear ולא ליניאריות בהתאם ליישומי היעד ולגורמים אחרים.
לא לינארי - קבצי PDF לא לינאריים צורכים פחות שטח דיסק בהשוואה לקבצי PDF ליניאריים. דפי PDF של המסמך נמצאים בצורה מפוזרת על פני קובץ ה-PDF וזו הסיבה שקבצים לא ליניאריים איטיים יותר בהשוואה לקבצים ליניאריים.
PDF ליניארי - מכוון לצופי PDF מקוונים, קבצי PDF ליניאריים בנויים בצורה כזו שהם נכתבים לדיסק בצורה ליניארית. זה לא מצריך תוספי דפדפן לטעינת המסמך כולו לפני התצוגה.
סקירת אובייקטים
כאמור, PDF body הוא אוסף של אובייקטים שהוזכרו לעיל. PDF מבוסס ברובו על PostScript ללא תכונות הבקרה של שפות תכנות כמו פקודות if ו-loop. פקודות המונפקות על ידי קוד Postscript ליצירת תוכן גרפי נאספות ומסומנות בנוסף לכל קבצים, גרפיקה או גופנים שמתייחסים למסמך. כל התכנים הללו מצטברים לקובץ בודד, וכתוצאה מכך פלט PostScript מורכב.
טקסט
טקסט ב-PDF מיוצג על ידי רכיבי טקסט המוצגים למעשה עם גליפים מגופנים. גליף הוא צורה גרפית ונתון לכל המניפולציות הגרפיות, כגון טרנספורמציה של קואורדינטות. בגלל חשיבות הטקסט ברוב תיאורי הדפים, PDF מספק מתקנים ברמה גבוהה יותר לתיאור, בחירה ועיבוד גליפים בצורה נוחה ויעילה.
גרפיקה
האופרטורים הגרפיים המשמשים בזרמי תוכן PDF מתארים את המראה של דפים שיש לשכפל בהתקן פלט רסטר. המתקנים מיועדים הן ליישומי מדפסת והן ליישומי תצוגה. האופרטורים הגרפיים יוצרים שש קבוצות עיקריות:
- מפעילי מצבי גרפיקה מבצעים מניפולציות במבנה הנתונים הנקרא מצב הגרפיקה, המסגרת הגלובלית שבתוכה מבצעים שאר האופרטורים הגרפיים. המצב הגרפי כולל את מטריצת הטרנספורמציה הנוכחית (CTM), אשר ממפה קואורדינטות של מרחב המשתמש המשמשות בתוך זרם תוכן PDF לקואורדינטות של התקן פלט. הוא כולל גם את הצבע הנוכחי, נתיב הגזירה הנוכחי ופרמטרים רבים אחרים שהם אופרנדים מרומזים של מפעילי הציור.
- מפעילי בניית נתיבים מציינים נתיבים, המגדירים צורות, מסלולי קווים ואזורים מסוגים שונים. הם כוללים אופרטורים לתחילת נתיב חדש, הוספת קטעי קו ועיקולים אליו וסגירתו.
- מפעילי ציור נתיבים ממלאים נתיב בצבע, צובעים קו לאורכו או משתמשים בו כגבול גזיר.
- מפעילי ציור אחרים מציירים אובייקטים גרפיים מסוימים המתארים את עצמם. אלה כוללים תמונות מדוגמות, הצללות מוגדרות גיאומטרית וזרמי תוכן שלמים שבתורם מכילים רצפים של אופרטורים גרפיים.
- אופרטורים של טקסט בוחרים ומציגים גליפים של תווים מגופנים (תיאורי גופנים לייצוג תווי טקסט). מכיוון ש-PDF מתייחס לגליפים כאל צורות גרפיות כלליות, ניתן לקבץ רבים מאופרטורי הטקסט עם מצב הגרפיקה או אופרטורים ציור. עם זאת, מבני הנתונים והמנגנונים להתמודדות עם תיאורי גליפים וגופנים מיוחדים מספיק.
- מפעילי תוכן מסומנים מקשרים מידע לוגי ברמה גבוהה יותר לאובייקטים בזרם התוכן. מידע זה אינו משפיע על המראה המעובד של התוכן; זה שימושי ליישומים המשתמשים ב-PDF להחלפת מסמכים.