המתודה THotPDF.BuildLoadedPageSVG
מספק התנהגות של בניית SVG של עמוד טעון עבור זרימת גאומטריית העמוד, והשתמש בו כשמשפחת ה-API הסובבת זקוקה לשליטה מפורשת באובייקטי PDF, תוכן עמודים, משאבים, תאימות או אבחון
הצהרה
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
יחידה
HPDFDoc
פרמטרים
| שם | מטרה |
|---|---|
PageIndex | אינדקס מבוסס אפס של העמוד הטעון |
EmbedFonts | True writes the glyphs of embedded fonts into the SVG as outlines, so the page looks the same where those fonts are not installed. False, and the overload without this parameter, leaves text to the viewer's installed fonts |
ערך החזרה
מחזיר את מסמך ה-SVG המלא, או מחרוזת ריקה כאשר לא ניתן לייצא את העמוד
הערות שימוש
- נתיבים, טקסט מפוענח, image XObjects, תמונות inline ו-Form XObjects רקורסיביים נפלטים דרך המפענח המשותף של מכשיר-התוכן; Form XObject מתחיל עם הצבעים שבתוקף במקום שבו הוא נצבע
- ה-canvas מכסה את החלק הנראה של העמוד, כלומר את
/CropBoxשלו כפי שהיא קטועה על ידי/MediaBoxשלו (ראוGetLoadedPageVisibleBox), מסובב לפי/Rotate; פינת ה-canvas התחתונה-שמאלית של התיבה ממופה לפינת ה-canvas גם כשהתיבה לא מתחילה בראשית - הטקסט נכתב כ-UTF-8 עם מיקום
xאחד לכל תו ועםxml:space="preserve", כך שרווחים נשמרים; גליפי ליגטורה מתרחבים לכל התווים שהם מייצגים, וקודים ש-XML 1.0 אינו מרשה הופכים ל-U+FFFD - מיקום הטקסט עוקב אחרי מטריצת הטקסט המלאה, כולל ריווח תווים ומילים, התאמה אופקית, rise והתאמות
TJ; מצבי render 0 עד 2 ממלאים, מקווים או עושים את שניהם, מצב 3 לא מצייר כלום, והגליפים של טקסט המוצג במצבים 4 עד 7 הופכים גם לנתיב חיתוך מסוף אובייקט הטקסט (ET) ועד סוף מצב הגרפיקה - כברירת מחדל הטקסט משתמש בגופנים מותקנים: 14 משפחות ה-standard ומקבילות ה-TrueType שלהן ממופות אל Helvetica או Arial, Times New Roman ו-Courier New, וגופנים אחרים נקראים לפי המשפחה שלהם, גם עם רווחים בין מילותיהם (
MyriadPro, Myriad Pro), ואחריהם משפחה גנרית הנלקחת מדגלי מתאר הגופן או מהשם. טקסט bold ו-italic מקבלfont-weightו-font-styleמחלק הסגנון של שם הגופן (Arial-BoldMT, Helvetica-Oblique, MinionPro-It) ומהמשקל, הדגלים וזווית ה-italic של מתאר הגופן - כש-
EmbedFontsמוגדרTrue, טקסט בגופן שהתוכנית TrueType או CFF שלו מוטמעת ב-PDF מצויר ממיתרי הגליפים של התוכנית. כל גליף מוגדר פעם אחת כ-<path>בתוך<defs>וממוקם עם<use>בכל מקום שבו הוא מופיע, כך שתווים חוזרים אינם חוזרים על המיתרים שלהם; מצבי מילוי וקו, רוחבי קו וחיתוך טקסט עוקבים אחר הטקסט כפי שעושה עבור טקסט SVG. הטקסט עצמו נשמר כטקסט SVG שקוף מעל המיתרים, כך שעדיין אפשר לבחור, לחפש ולקרוא אותו בטכנולוגיה מסייעת - גופנים שאינם מוטמעים, תוכניות גופן Type 1 (
/FontFile), כתיבת CJK אנכית, ורצפים עם קוד שאין לו גליף בתוכנית המוטמעת נשארים טקסט SVG גם כש-EmbedFontsמוגדר. המיתרים מגדילים את הקובץ, לרוב פי שניים עד שלושה עבור עמודים עשירים בטקסט - צבעי מילוי וקו שנקבעו בכל מרחב צבעים (
DeviceGray, DeviceRGB, DeviceCMYK, ICCBased, מכויל, Lab, Indexed, Separation ו-DeviceN) מומרים ל-sRGB כפי שממיר אותם renderer העמודים - נתיבים הממולאים ב-pattern ריצוף ממולאים ב-
<pattern>של SVG החוזר על תא ה-pattern בכלXStepו-YStep, קטוע ל-/BBoxשלו; patterns חסרי-צבע צובעים את התא בצבע הניתן עם ה-pattern. נתיבים הממולאים ב-shading pattern מקבלים את הגרדיאנט או ה-mesh של ה-shading שלו, קטועים לנתיב. מטריצת ה-pattern מוחלת במרחב של העמוד, או של ה-form שמשתמש ב-pattern. קווים עם pattern משתמשים בצבע שלו, שחור עבור patterns צבעוניים - Shadings צירי מסוג Type 2 ורדיאלי מסוג Type 3 משתמשים בגרדיאנטים של SVG עם עצירות דגימה מוגבלות; קצה ש-
Extendאינו מאריך נשאר לא צבוע, כמו ב-PDF - Mesh shadings מסוג Type 4 עד Type 7 משתמשים ב-PNG שקוף מוגבל בתור data URI, עם מקסימום 16 מיליון פיקסלים
- תמונות inline מפוענחות דרך אותו נתיב תמונה של מסמך טעון ומוטמעות כ-data URIs של PNG
- image masks, כולל inline, הופכות לתמונות PNG בצבע המילוי הנוכחי ששקופות במקומות שבהם לא נצבע דבר;
/SMaskו-/Maskמסוג stencil נותנים לתמונה ערוץ alpha, ברזולוציית המסכה כשהיא עדינה יותר מהתמונה. מערכי/Maskמסוג color-key הופכים את הפיקסלים התואמים לשקופים עבור תמונות Flate, LZW ולא מסוננות - נתיבי חיתוך
Wו-W*הופכים לאלמנטי<clipPath>של SVG שמסתיימים עם מצב הגרפיקה שבו נקבעו; Form XObjects נחתכים ל-/BBoxשלהם, ו-shadings ציריים ורדיאליים נחתכים לשלהם - טקסט בגופני Type 3 מצויר עם פרוצדורות הגליפים של הגופן, ממוקם דרך
/FontMatrixשלו, במקום כטקסט SVG; גליפים שמתחילים ב-d1נצבעים בצבע המילוי הנוכחי. גליפי Type 3 אינם מוסיפים לנתיב החיתוך של מצבי render 4 עד 7 - צבע ה-
Backgroundשל shading ממלא את האזור של shading pattern לפני ה-shading, כך שהוא נראה בכל מקום שבו ה-shading אינו צובע; כמו ב-PDF, הוא מותעלם כשה-shading נצבע עםsh - Shadings מסוג Type 1 מבוססי-פונקציה נדגמים על פני ה-
Domainשלהם לתוך data URI של PNG עם עד 256 על 256 דגימות, הממוקם דרך ה-Matrixשל ה-shading; הצופה מחליק אותו כשהוא מוקטן