DCSIMG
נעים להכיר - XPS - שחר.נט

שחר.נט

בלוגים שאני קורא

ספרים מומלצים

נעים להכיר - XPS

עם Windows Vista ו .NET Framework 3.0, מיקרוסופט הציגה גם את הXPS, שזכה לפרסום מועט מאד אבל בכל זאת שווה להכיר אותו.
מאחורי ראשי התיבות הללו עומדות המילים XML Paper Specification, שבסה"כ זה שם יפה מאד כדי לתאר פורמט להעברת מסמכים גרפיים. XPS מ(/י)שמש להעברת מסמכים בפורמט קריא-על-ידי-כולם, סטייל PDF של Adobe, רק שבניגוד לקודם, אמור להיות יותר קל לשלב אותו באפליקציות שונות (פורמט פתוח לכל) ובדומה לקודם - גם הוא Cross Platform. בין לבין, הוא אמור להחליף את הפורמטים הקיימים בתור הפורמט שבו מדפסות מקבלות מידע להדפסה ומדפיסות אותו.

קריאת/כתיבת XPS
אם אתם משתמשי Vista, אזי XPS וכל מה שמסביב כבר מוטמע במחשב שלכם. הקריאה תתבצע באמצעות Internet Explorer בגרסא 7, ואת היצירה יכולות לבצע כל התוכנות אם הן יתקשרו עם Microsoft XPS Document Writer - מעין רכיב שמאפשר לאפליקציות שמתקשרות עמו ליצור קבצי XPS בקלות.

אם אתם משתמשי XP, תורידו פשוט את דוט.נט פרימוורק 3 ויש לכם XPS שיוצג לכם באינטרנט אקספלורר. בשביל ליצור XPS, תצטרכו SP2 ומעלה ולהתקין את החבילה הזאת.

משתמשי Word 2007, יכולים להוריד תוסף שיאפשר להם ייצוא קבצי WORD לXPS או לPDF.

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

קבצי ה Word החדשים, הם גם כן פתוחים לכל, אולם, הם דורשים Word או Word Viewer על המחשב. היתרון של XPS שהם לא דורשים אף אחד מהם. לכן, בשביל הדוגמא, אם אתם רוצים ליצור דו"ח, שיהיה זמין על כל מערכת הפעלה בלי תלות בתוכנות כאלה ואחרות, צרו קובץ XPS.

Cross Platform - באמת?
כן, באמת. מיקרוסופט חשפה לחלוטין את הפורמט והספסיפיקציה של XPS, ולכן הוא Cross Platform. נכון, מיקרוסופט לא הציגה client שיאפשר להציג XPS על מערכות שאינן Windows, אבל אנחנו סומכים על קהילת הקוד הפתוח שתעשה משהו בנידון. כל המידע זמין.

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

מסמך XPS נשמר מאחורי הקלעים כסוג של שפה מבוססת XML ומוצג בדיוק כפי שהיה נראה אם היה מודפס על נייר. כשאנחנו רואים קובץ XPS, כדאי שנדע שזה עוד אחד מהמנהגים שבויסטה, להציג קובץ כקובץ יחיד (למשל כמו בגאדג'טים), עם סיומת ווכנה שמסוגלת לקרוא אותו בצורה הזאת, כשלמעשה, מאחורי הקלעים, אותו קובץ הוא קובץ מכווץ בצורת ZIP. אם נשנה את הסיומת, כמו שעשיתי לקובץ הXPS שהצגתי בתמונה, נקבל אוסף של תיקיות שמרכיבות למעשה את אותו XPS.

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

בתמונה מצד שמאל , אתם יכולים לראות את מבנה התיקיות של קובץ XPS. מדובר במבנה התיקיות שמסתתרות, למעשה, מאחורי השם "קובץ XPS".
התיקייה _rels, מכילה מידע הקשור באופן כללי לתצוגת השם של הקובץ. יש שם קובץ XML שמכיל הפניות לסכמות XML.
התיקיה docProps, מכילה קובץ XML שמכיל מידע לגבי העריכות השונות של מסמך הXPS, שם היוצר וצלמית של המסמך.
התיקייה Documents מכילה תת תיקייה לכל מסמך. למעשה, קובץ XPS אחד יכול להכיל מספר מסמכים שונים. בתיקייה rels יהיה מידע שיציין איפה נמצא הקובץ של העמוד. קובץ fixedDoc.fdoc יכיל את העמודים והפנייה לקבצי ה fdoc שמכילים את המידע עליהם. בתיקייה Pages יהיה קובץ fdoc שמכיל תיאור XML-י של העמוד, עם כל המידע בו, הרבה פירוט לגבי צורת התצוגה (התמונה בצד שמאל). שימו לב, שלכל קטע טקסט יש תגית Glyphs שמגדירה בדיוק את הסגנון שלו. בנוסף, תהיה תיקיית Fragments עם קבצי frag שיציינו ת סוגי הסגנון שקיימים.

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

בנוסף, יש לכל מסמך תיקיית structure שמכילה את מבנה המסמך - שמו, מספר העמודים ועוד מידע נוסף אם קיים.

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

כפי  שאפשר להבין עד עכשיו, קובץ XPS הוא מסווה לארכיון ZIP שמכיל מספר מרובה של קבצים ומידע.

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

נ.ב. המלצה לי אליכם. צרו קבצי XPS מורכבים, עם טבלאות, עשרות עמודים וכו', ותראו איך הם נראים. במיוחד איך נראים קבצי ה fdoc שמתארים את העמודים. אלה יהיו התוצר של הקוד שנכתוב בהמשך.

תוכן התגובה

DrorEngel כתב/ה:

יופי של מידע! פשוט נהנתי לקרוא

מחכה לקרוא עוד בנושא

# January 5, 2007 6:07 PM

שחר גבירץ כתב/ה:

אני אכתוב עוד בנושא. אם אתה רוצה לחקור בעצמך, צור קובץ XPS בצורה רגילה (דרך וורד), שנה סיומת מXPS לZIP ותחפור קצת בתוכו.

שחר.

# January 6, 2007 6:37 PM

אורן כתב/ה:

יפה מאוד עזר לי מאוד תודה רבה על ההסבר

# November 28, 2007 1:50 AM

יעקב ברקוביץ כתב/ה:

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

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

יעקב ברקוביץ

בי"ס תיכון גולדווטר אילת

# January 1, 2008 11:47 AM

שמעון כתב/ה:

מצויין, ברור, כמו מורה, אך ללא גינוני צביעות (של הנ"ל).

הוספתי את אתרך ל"מועדפים".

תודה

# June 3, 2008 9:41 AM

דניאל מקסיק כתב/ה:

לעיונכם:

למי במעוניין שיריץ חיפוש על

XPS Essentials Pack

www.microsoft.com/.../details.aspx

קורא עצמאי וכתבן...תהנהו

# August 22, 2008 10:08 AM

מישהו כתב/ה:

זה לא ברור שזה חיקוי של PDF?

עוד דוגמה לגניבת הרעיונות של מיקרוסופט

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

זה רע לתחרות כי אין פה תחרות - מאלצים אותך להשתמש במשהו שכבר יש לך

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

# February 8, 2009 2:52 PM

רועי כתב/ה:

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

# November 11, 2009 12:50 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 5 and 4 and type the answer here:


Enter the numbers above: