תנאי כשל

מה בדיוק נבדק

פרוטוקול Matterhorn מחלק את תקן PDF/UA-1 ל‑31 נקודות בדיקה ו‑ תנאי כשל. טאגארט מזהה 106 מהם אוטומטית. הרשימה שלמטה היא התנאים שמשתמש פוגש בפועל — אלה שמופיעים בדוח שאדם קורא — עם הנוסח העברי שהאפליקציה עצמה מציגה.

תנאי כשל בפרוטוקול, כולל הרחבות ימין‑לשמאל של טאגארט
106טאגארט מזהה אוטומטית
48מוצגים בעברית באפליקציה

חמשת תנאי TG-RTL אינם ב‑Matterhorn המקורי. הפרוטוקול נכתב עבור כתב משמאל לימין, ולכן אין בו שם לכשל הנפוץ ביותר במסמכים בעברית: טקסט שאוחסן בסדר ויזואלי. טאגארט הוסיף אותם כהרחבה, ומסמן אותם ככאלה בכל דוח — הם אינם מתחזים לסעיפי תקן.

01 Real content tagged

  • חוסםתוכן אינו מסומן כ‑Artifact ואינו מתויג כתוכן אמיתי01-005

    תוכן שאינו נמצא בעץ המבנה ואינו מסומן כדקורטיבי פשוט אינו קיים עבור טכנולוגיה מסייעת.

    מה קורא מסך עושה: הקורא מדלג על התוכן לחלוטין. המשתמש אינו יודע שמשהו חסר.

  • חוסםרשומת Suspects מכילה true01-007

    המפיק סימן בעצמו שהתיוג עשוי שלא להתאים לתוכן.

    מה קורא מסך עושה: כלי בדיקה עשויים לדווח על המסמך כתקין בעוד המפיק עצמו הצהיר שאינו בטוח.

02 Role Mapping

  • חוסםמיפוי תפקידים ממפה לתפקיד לא סטנדרטי02-001

    תג מותאם חייב להתמפות דרך RoleMap לתג סטנדרטי, אחרת הקורא אינו יודע מה הוא.

    מה קורא מסך עושה: הרכיב מוכרז כטקסט רגיל, ומשמעותו — כותרת, רשימה, טבלה — אובדת.

  • חוסםמיפוי תפקידים מכיל מעגל02-003

    שרשרת מיפוי החוזרת לעצמה אינה ניתנת לפתרון.

    מה קורא מסך עושה: הקורא אינו יכול להכריע מהו התג ומתייחס אליו כאל תוכן חסר משמעות.

  • חוסםתג סטנדרטי ממופה מחדש לתג סטנדרטי אחר02-004

    מיפוי מחדש של תג תקני לתקני אחר משנה את משמעות המסמך בלי שהדבר ייראה.

    מה קורא מסך עושה: הקורא מכריז סוג רכיב שונה ממה שהמחבר התכוון.

06 Metadata

  • חוסםהמסמך אינו מכיל זרם מטא‑דאטה XMP06-001

    בקטלוג אין ערך Metadata שמפנה לחבילת XMP. התקן PDF/UA-1 מחייב אותה — שם נמצאות הצהרת התאימות וכותרת המסמך.

    מה קורא מסך עושה: בלי XMP הקורא נופל חזרה לכותרת שבמילון DocInfo או לשם הקובץ, ומעבדים תואמים אינם יכולים לזהות את הצהרת ה‑PDF/UA.

  • חוסםמטא‑דאטה XMP אינה כוללת את מזהה PDF/UA06-002

    זרם המטא‑דאטה אינו כולל את סכמת pdfuaid, ולכן הקובץ אינו מצהיר על תאימות PDF/UA.

    מה קורא מסך עושה: הקורא אינו מקבל אינדיקציה שהמסמך נועד להיות נגיש.

  • חוסםזרם המטא‑דאטה XMP אינו מכיל dc:title06-003

    מאפיין הכותרת של Dublin Core חסר מחבילת ה‑XMP.

    מה קורא מסך עושה: הקורא מכריז את שם הקובץ במקום שם המסמך — "ללא שם", או "final-v3-REALLY-FINAL.pdf".

  • אזהרההכותרת dc:title אינה מזהה את המסמך בבירור06-004

    יש כותרת אך היא חסרת תועלת: שם הקובץ, "Microsoft Word - Document1", "untitled", או שם התבנית.

    מה קורא מסך עושה: הקורא מכריז כותרת שאינה אומרת למשתמש דבר על המסמך שנפתח.

07 Dictionary

  • חוסםמילון ViewerPreferences אינו מכיל ערך DisplayDocTitle07-001

    בלי ערך DisplayDocTitle, תוכנת הצפייה רשאית להציג בכותרת החלון את שם הקובץ במקום את כותרת המסמך.

    מה קורא מסך עושה: כותרת החלון או הלשונית שמוכרזת בפתיחת המסמך היא שם הקובץ, ולא שם המסמך.

  • חוסםהערך DisplayDocTitle מוגדר כ‑false07-002

    הערך קיים, ומורה במפורש לתוכנת הצפייה להציג את שם הקובץ במקום את כותרת המסמך.

    מה קורא מסך עושה: כותרת החלון או הלשונית שמוכרזת בפתיחת המסמך היא שם הקובץ, ולא שם המסמך.

09 Appropriate Tags

  • אזהרהתגיות אינן בסדר קריאה לוגי09-001

    סדר הרכיבים בעץ המבנה אינו תואם לסדר שבו אדם היה קורא את הדף. זהו הכשל המהותי הנפוץ ביותר במסמכים מתויגים.

    מה קורא מסך עושה: הקורא מכריז תוכן מחוץ לסדר: סרגל צד באמצע משפט, טבלה לפי טורים, מאמר בשני טורים שנקרא לרוחב.

  • חוסםרכיב מבנה של טבלה אינו תואם ל‑ISO 32000-1, טבלה 33709-004

    מבנה הטבלה שבור: תא TD מחוץ לשורה TR, שורה TR מחוץ ל‑Table, ‏THead, ‏TBody או TFoot, טבלה בלי שורות, או שורות שמשתרעות על מספר שונה של עמודות.

    מה קורא מסך עושה: הניווט בטבלה קורס: הקורא מסרב להיכנס למצב טבלה, או מכריז תאים בלי הקשר של שורה ועמודה.

  • חוסםרכיב מבנה של רשימה אינו תואם ל‑ISO 32000-1, טבלה 33609-005

    דקדוק הרשימה שבור: תגית LI מחוץ ל‑L, תגית Lbl או LBody מחוץ ל‑LI, או פריט רשימה בלי LBody.

    מה קורא מסך עושה: הקורא אינו מכריז "רשימה בת N פריטים" ואינו יכול לנווט מפריט לפריט.

  • חוסםרכיב מבנה של תוכן עניינים אינו תואם ל‑ISO 32000-1, טבלה 33309-006

    תגית TOCI מופיעה מחוץ ל‑TOC, או ש‑TOC מכיל צאצאים שאינם TOC או TOCI.

    מה קורא מסך עושה: תוכן העניינים אינו מוכרז כמבנה שאפשר לנווט בו.

10 Character Mappings

  • חוסםקוד תו שאי אפשר למפות ל‑Unicode10-001

    מצויר גליף שלקוד התו שלו אין מקבילה ב‑Unicode — לא דרך מפת ה‑ToUnicode של הגופן, לא דרך הקידוד ולא דרך שמות הגליפים. הטקסט נראה תקין על המסך, אבל אי אפשר לחלץ אותו.

    מה קורא מסך עושה: הקורא לא מכריז דבר, או מכריז תווים חלופיים, על טקסט שנראה בבירור על המסך. העתקה והדבקה מפיקות ג׳יבריש.

11 Declared Natural Language

  • חוסםשפת הטקסט בתוכן העמוד אינה ניתנת לקביעה11-001

    אין /Lang בקטלוג ואין דריסה ברמת הרכיב, ולכן אין דרך לדעת באיזו שפה המסמך כתוב.

    מה קורא מסך עושה: הקורא משתמש בקול ברירת המחדל של המערכת. בעברית התוצאה בדרך כלל בלתי מובנת.

  • חוסםלא ניתן לקבוע את שפת המטא‑דאטה של המסמך11-006

    למאפיין dc:title ב‑XMP (ולשאר המטא‑דאטה) אין xml:lang, ולקטלוג אין /Lang.

    מה קורא מסך עושה: כותרת המסמך מוכרזת בהגייה של השפה הלא נכונה.

  • אזהרההשפה הטבעית אינה מתאימה11-007

    השפה המוצהרת אינה השפה שבה הטקסט כתוב בפועל.

    מה קורא מסך עושה: עברית שמוקראת בקול אנגלי אינה עברית במבטא — היא איות של שמות אותיות, או שקט.

13 Graphics

  • אזהרהאובייקט גרפי שאינו מתויג כ‑Figure13-001

    תמונה, תרשים או ציור שאינם עטופים באלמנט Figure אינם חלק ממבנה המסמך. אין להם מקום בסדר הקריאה, ולא ניתן לתלות בהם טקסט חלופי.

    מה קורא מסך עושה: התמונה פשוט אינה קיימת עבור הקורא: היא אינה מוכרזת, אי אפשר לנווט אליה, והמידע שבה אובד לגמרי.

  • חוסםלתג Figure אין טקסט חלופי או טקסט מחליף13-004

    תמונה בלי /Alt או /ActualText היא חור במסמך: הקורא יודע שיש כאן משהו ולא יודע מה.

    מה קורא מסך עושה: הקורא מכריז “גרפיקה” ועוצר. מי שמסתמך עליו לא יֵדע מה מופיע בתמונה.

14 Headings

  • אזהרהכותרות אינן מתויגות כ‑Heading14-001

    טקסט שנראה ככותרת — מודגש, גדול יותר — מתויג כפסקה רגילה.

    מה קורא מסך עושה: רשימת הכותרות, שהיא כל מנגנון הניווט במסמך ארוך, ריקה.

  • חוסםתגית הכותרת הראשונה אינה H114-002

    המסמך משתמש בכותרות ממוספרות (H1–H6), אך הראשונה שמופיעה בעץ המבנה אינה H1.

    מה קורא מסך עושה: המתאר מתחיל באמצע ההיררכיה, ולכן הקורא מכריז כותרת ברמה 2 בלי הורה — המשתמש שומע שהוא נמצא בתוך סעיף שאינו קיים.

  • חוסםרמות כותרות ממוספרות מדלגות14-003

    אחרי H1 מגיעה H3. משתמש שמנווט לפי רמה 2 מדלג על תוכן בלי לדעת שהוא קיים.

    מה קורא מסך עושה: הקורא מדווח על מבנה שאינו תואם את המסמך, וניווט לפי רמה מפספס חלקים.

15 Tables

  • אזהרהבשורה יש תא כותרת, אך הוא אינו מתויג ככותרת15-001

    התא השמאלי ביותר בכל שורה (או הימני ביותר, בכתיבה מימין לשמאל) מתאר את השורה, אך מתויג כ‑TD במקום TH.

    מה קורא מסך עושה: בתנועה במורד עמודה הקורא אינו יכול להכריז באיזו שורה אתם — שומעים ערכים בלי התוויות שלהם.

  • אזהרהלעמודה יש תא כותרת שאינו מתויג ככותרת15-002

    שורת הכותרת של הטבלה מכילה תאי TD במקום TH.

    מה קורא מסך עושה: בתנועה לאורך שורה הקורא מכריז ערכים חשופים בלי שמות עמודות.

  • חוסםלתא כותרת (TH) אין Scope או הפניות Headers15-003

    תא כותרת שאינו אומר אם הוא מוביל שורה או עמודה משאיר את הקורא לנחש.

    מה קורא מסך עושה: הקורא מכריז את הערך בלי לומר לאיזו עמודה הוא שייך.

  • דורש הכרעהטבלה מורכבת אינה משתמשת בהפניות Headers/ID15-005

    תאים ממוזגים או שתי שורות כותרת אינם ניתנים לביטוי באמצעות Scope בלבד.

    מה קורא מסך עושה: הקורא משייך ערכים לכותרות שגויות, או לא לכותרת כלל.

16 Lists

  • אזהרהתוכן הוא רשימה אך אינו מתויג כרשימה16-003

    פסקאות שמתחילות במקף או בתו תבליט אינן רשימה מבחינת המבנה.

    מה קורא מסך עושה: הקורא אינו מכריז „רשימה, 5 פריטים”, והמשתמש אינו יודע כמה פריטים יש או היכן הרשימה מסתיימת.

18 Page Headers and Footers

  • אזהרהכותרות עליונות ותחתונות אינן מסומנות כ‑artifact של עימוד18-001

    מספר עמוד ושורת לוגו חוזרים בכל עמוד. כשהם בעץ המבנה הם נקראים שוב ושוב באמצע התוכן.

    מה קורא מסך עושה: הקורא מקריא את מספר העמוד ואת הכותרת הרצה בכל מעבר עמוד, בתוך רצף המשפטים.

27 Navigation

  • דורש הכרעהאין בדיקות ייעודיות לניווט27-001

    התקן PDF/UA-1 אינו קובע כאן בדיקה מכנית, אך מסמך ארוך בלי סימניות נכשל בפועל ב‑WCAG 2.4.5, וזו התלונה הנפוצה ביותר במכרזים.

    מה קורא מסך עושה: חלונית הסימניות ריקה; הניווט היחיד שנותר הוא רשימת הכותרות.

28 Annotations

  • חוסםלהערה או לקישור אין תיאור נגיש28-004

    לכל הערה שאינה פקד טופס דרוש תיאור: או ערך Contents בהערה עצמה, או Alt באלמנט המבנה שעוטף אותה. בלי אחד מהם אין לקורא המסך מה להקריא מלבד סוג ההערה.

    מה קורא מסך עושה: ההערה מוכרזת בסוג שלה בלבד — «קישור», «קישור», «קישור» — ורשימת הקישורים של הקורא מלאה בשורות זהות שאי אפשר להבחין ביניהן.

  • חוסםלשדה טופס אין תיאור נגיש28-005

    לשדה יש שם פנימי ואין /TU, ולכן אין לו שם שמוכרז.

    מה קורא מסך עושה: הקורא מכריז „Text1” במקום „תאריך לידה”. טופס של שלושים שדות כאלה אינו שמיש.

  • חוסםבעמוד שמכיל הערה אין ערך Tabs28-008

    כל עמוד שיש בו הערות חייב להגדיר סדר ניווט. התקן PDF/UA-1 מחייב את הערך S ב‑Tabs — סדר הניווט הולך לפי עץ המבנה.

    מה קורא מסך עושה: המיקוד עובר בין קישורים ושדות לפי הסדר שבו הם מופיעים במערך ההערות — בדרך כלל סדר היצירה, לא סדר הקריאה.

  • חוסםבעמוד שמכיל הערה יש ערך Tabs שאינו S28-009

    הערך Tabs קיים, אבל מוגדר ל‑R (סדר שורות) או ל‑C (סדר עמודות) במקום ל‑S (סדר המבנה).

    מה קורא מסך עושה: סדר הניווט הולך לפי המיקום בעמוד ולא לפי המבנה הלוגי — ובמסמך מימין לשמאל, התוצאה הרסנית.

  • חוסםהערת Widget אינה נמצאת בתוך תג Form28-010

    כל פקד טופס חייב להיות בתוך רכיב מבנה מסוג Form.

    מה קורא מסך עושה: לפקד אין מקום בסדר הקריאה, ולכן הוא מוכרז מחוץ להקשר או מדולג.

  • חוסםלהערת קישור אין רכיב מבנה Link28-011

    הקישור לחיץ בעכבר ואינו קיים בעץ המבנה.

    מה קורא מסך עושה: הקישור פשוט אינו קיים עבור קורא מסך.

  • חוסםהערת קישור אינה כוללת תיאור חלופי בערך Contents28-012

    הערות קישור צריכות ערך Contents שמתאר לאן הקישור מוביל.

    מה קורא מסך עושה: ברשימת הקישורים של הקורא מופיעה שורה ריקה, או כתובת שמוקראת תו‑תו.

31 Fonts

  • חוסםגופן שבו מוצג טקסט אינו מוטמע בקובץ31-009

    תוכנית הגופן עצמה אינה נמצאת בתוך ה‑PDF, כך שהקובץ תלוי בכך שאותו גופן יהיה מותקן במחשב שפותח אותו. אם אינו מותקן, הקורא מחליף אותו בגופן אחר — ובעברית זה בדרך כלל גופן שאין בו את האותיות, והמסמך מוצג כריבועים.

    מה קורא מסך עושה: החלפת גופן משנה את המיפוי מקודי תו ל‑Unicode. קורא מסך מקריא אז תווים שאינם מה שנכתב, או אינו מקריא דבר — הטקסט נראה על המסך ואינו קיים עבורו.

  • חוסםערכי Unicode ב‑ToUnicode CMap הם אפס31-028

    הערך U+0000 אינו יעד מיפוי תקין; בדרך כלל זה אומר שהיצרן לא הצליח לקבוע את התו וכתב ממלא מקום.

    מה קורא מסך עושה: התווים האלה מחולצים כ‑NUL, ואז מושמטים או מוכרזים כרעש.

TG-RTL Right-to-left text and reading order (Taggart extension)

  • חוסםטקסט מימין לשמאל מאוחסן בסדר ויזואליTG-RTL-001

    מערכות ישנות של ממשל, משפט ו‑DTP בישראל פורסות עברית על ידי היפוך סדר התווים ואז ציור משמאל לימין. הדף נראה תקין, אבל הטקסט השמור הפוך.

    מה קורא מסך עושה: קורא המסך מכריז את המשפט הפוך — גם סדר המילים וגם סדר האותיות. זהו הכשל המרכזי של נגישות PDF בעברית, ואף כלי מקובל אינו מזהה אותו.

  • חוסםלקטע מימין לשמאל אין הצהרת שפהTG-RTL-002

    המסמך מצהיר en-US ברמת הקטלוג ואינו דורס זאת, ולכן פסקאות בעברית יורשות אנגלית.

    מה קורא מסך עושה: הקורא מבטא אותיות עבריות בסינתיסייזר אנגלי: רצף של שמות עיצורים במקום מילים.

  • אזהרהקטע מעורב כיוונים אינו מסודר נכוןTG-RTL-003

    משפטים בעברית המכילים שמות מוצר, תאריכים, אחוזים או מספרי ציטוט הם המקרה הקשה ביותר. מפיקים לרוב הופכים את העברית ומשאירים את הלטינית, או הופכים הכול.

    מה קורא מסך עושה: המילים באנגלית בתוך משפט עברי מוכרזות במקום שגוי, לעיתים קרובות בקצה השני של המשפט.

  • חוסםסדר הקריאה אינו מודע לימין‑לשמאלTG-RTL-004

    כלי תיוג אוטומטי מסדרים בלוקים משמאל לימין ומלמעלה למטה. בפריסת שני טורים בעברית הסדר הנכון מתחיל בטור הימני.

    מה קורא מסך עושה: הקורא מכריז את הטור השני לפני הראשון, כך שכל עמוד נקרא כשתי מחציות משולבות.

  • אזהרהסימני פיסוק או ספרות בימין‑לשמאל ממוקמים שגויTG-RTL-005

    נקודה שמצוירת בקצה השמאלי של שורה עברית חייבת להישמר בסוף המחרוזת הלוגית, לא בתחילתה. סוגריים נשמרים כתו הפותח או הסוגר הלוגי, לא כתו המשוקף.

    מה קורא מסך עושה: הקורא מכריז פיסוק בתחילת משפטים וסוגריים שאינם תואמים.

  • דורש הכרעהלא ניתן היה לקבוע את סדר האחסון של טקסט מימין לשמאלTG-RTL-006

    שני אותות מכריעים אם שורה מימין לשמאל מאוחסנת בסדר ויזואלי או לוגי: הכיוון שבו פעולות הצגת הטקסט מתקדמות על הדף, והאם אותיות שמופיעות רק בסוף מילה אכן יושבות בסוף המילים. יש שורות שאינן נותנות אף אחד מהשניים — שורה שנצבעת כפעולה אחת אין לה כיוון לקרוא, ושורה קצרה עשויה לא לשאת אף אות כבולת־מיקום. השורות האלה מפורטות כאן במקום להיספר כעוברות. מסמך שכל שאר שורותיו תוקנו אך נותרו בו שורות שלא הוכרעו לא הוכח כתקין; הוכח שלא ניתן להוכיח שהוא שגוי, וזו טענה אחרת.

    מה קורא מסך עושה: אם השורות שלא הוכרעו אכן מאוחסנות בסדר ויזואלי, קורא מסך יכריז אותן הפוך — מדויק באות ונטול משמעות. פתחו את תצוגת קורא המסך והאזינו לשורות שמפורטות כאן.

TG-STRUCT Structure-tree hygiene (Taggart extension)

  • אזהרהאלמנט מבנה שמכיל רק רווחיםTG-EMPTY-001

    כלי כתיבה מייצרים פסקה ריקה בכל מקום שבו המחבר לחץ אנטר פעמיים, וכל אחת מהן הופכת ל‑<P> בעץ המבנה שמחזיק רווח בודד. זה לא כשל של אף תנאי Matterhorn — שום דבר לא שבור בקובץ — אבל קורא שעובר אלמנט אחרי אלמנט עוצר בכל אחד מהם לחינם. בייצוא רגיל מ‑Word יש בדרך כלל תריסר; בדוח ארוך, מאות. רווחים אינם תוכן, והמקום הכן שלהם הוא זרם הארטיפקטים, שם כבר יושבת ריהוט הדף.

    מה קורא מסך עושה: בניווט לפי אלמנטים הקורא מכריז "ריק" או פשוט שותק וממתין, פעם אחת לכל אלמנט ריק. זה לא מטעה, זה מייגע — והייגוע הוא מה שגורם לאנשים להפסיק להשתמש בקורא מסך על מסמך ולבקש מעמית להקריא להם אותו.

TG-SCAN Scanned documents

  • חוסםהעמוד הוא תמונה של טקסט ואין בו שכבת טקסטTG-SCAN-001

    עמוד סרוק הוא תצלום של עמוד. אין בקובץ אובייקט טקסט בכלל, אז אין מה לתייג, אין מה לסדר ואין מה להקריא — כל תיקון מבנה במנוע הזה לא עושה דבר. זה גם המקרה הנפוץ ביותר במאגרי מסמכים אמיתיים והתיקון שמשנה הכי הרבה, כי המסמך עובר מבלתי-קריא לקריא ולא מתיוג גרוע לתיוג טוב. הזיהוי כותב את המילים מתחת לתמונה כשכבה שקופה; בתמונה עצמה אין נגיעה, והעמוד נראה בדיוק כמו קודם.

    מה קורא מסך עושה: הקורא מכריז “גרפיקה” ועוצר, או שותק לגמרי. גם אי אפשר לחפש, לסמן או להעתיק שום דבר — עבור מי שמשתמש בטכנולוגיה מסייעת המסמך פשוט לא קיים.

שאלות

מה זה פרוטוקול Matterhorn?

הוא אינו תקן נוסף. זו החלוקה של PDF/UA-1 על ידי איגוד ה‑PDF ל‑31 נקודות בדיקה ו‑136 תנאי כשל ספציפיים, שמתוכם 87 ניתנים להכרעה על ידי מכונה ו‑47 דורשים שיקול דעת אנושי. זו הדרך לבדוק את PDF/UA-1, לא משהו לעמוד בו בנפרד.

למה רק חלק מהתנאים מופיעים כאן בעברית?

מפני שאלה התנאים שמשתמש באמת פוגש. השאר מתארים מבנים פנימיים של מילוני גופנים — ערכי CIDSystemInfo, כניסות CMap — שאינם מופיעים בדוח שאדם קורא. תרגום מכונה של 142 דפים היה בדיוק מה ש‑Google מזהיר מפניו, והוא לא היה אומר דבר שמישהו יכול להשתמש בו.

איזה מהתנאים ייחודי לעברית?

חמשת תנאי TG-RTL הם הרחבה של טאגארט לפרוטוקול, ואינם מופיעים ב‑Matterhorn המקורי — הוא נכתב עבור כתב משמאל לימין. הם מתארים טקסט שאוחסן בסדר ויזואלי, קטע ללא הצהרת שפה, ערבוב כיוונים, סדר קריאה בעמוד דו‑טורי מימין לשמאל, ופיסוק שנשמר בצד הלא נכון של המחרוזת.

איפה הפירוט המלא?

דפי התנאים המלאים נכתבים באנגלית, מפני שהם מלאים בשמות אובייקטים ובסעיפי תקן שמופיעים בקובץ עצמו כפי שהם. כל שורה כאן מקשרת לדף שלה.

בדקו קובץ משלכם. הבדיקה חינמית — בלי חשבון עד 60 עמודים, ובלי מגבלת עמודים עם חשבון חינמי — ותיקח כשנייה לומר לכם מול מה אתם עומדים.

בדקו PDF בחינם