THotPDF.BuildLoadedPageSVG Method
Seçili yüklenmiş PDF sayfasından bağımsız bir SVG belgesi oluşturur
Bildirim
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Birim
HPDFDoc
Parametreler
| Ad | Amaç |
|---|---|
PageIndex | Yüklenmiş sayfanın sıfır tabanlı indeksi |
EmbedFonts | True, gömülü fontların gliflerini outline olarak SVG'ye yazar; böylece sayfa, o fontların kurulu olmadığı yerlerde de aynı görünür. False ve bu parametreyi taşımayan overload, metni görüntüleyicinin kurulu fontlarına bırakır |
Dönüş değeri
Tam SVG belgesini döndürür; sayfa dışa aktarılamıyorsa boş string döndürür
Kullanım notları
- Path'ler, çözülmüş metin, image XObject'ler, inline image'lar ve özyinelemeli Form XObject'ler paylaşılan content-device interpreter üzerinden üretilir; bir Form XObject, boyandığı yerde geçerli olan renklerle başlar
- Canvas, sayfanın görünür kısmını,
/MediaBox'a kırpılmış/CropBox'ını (bkz.GetLoadedPageVisibleBox) kapsar ve/Rotateile döndürülmüştür; kutunun sol alt köşesi, kutu başlangıç noktasında olmasa bile canvas'ın köşesine eşlenir - Metin, karakter başına bir
xkonumu vexml:space="preserve"ile UTF-8 yazılır; böylece boşluklar korunur. Ligature glifleri temsil ettikleri tüm karakterlere açılır ve XML 1.0'ın izin vermediği kodlar U+FFFD olur - Metin yerleşimi, character ve word spacing, horizontal scaling, rise ve
TJayarları dâhil tam text matrix'i izler; render modları 0-2 doldurur, stroke yapar veya ikisini birden yapar, mod 3 hiçbir şey çizmez, 4-7 modlarında gösterilen metnin glifleri ayrıca text object'in (ET) sonundan graphics state'in sonuna kadar bir clipping path oluşturur - Varsayılan olarak metin kurulu fontları kullanır: standart 14 aile ve onların TrueType karşılıkları Helvetica veya Arial, Times New Roman ve Courier New'e eşlenir; diğer fontlar aile adlarıyla, kelimeleri arasındaki boşluklar da korunarak (
MyriadPro, Myriad Pro) adlandırılır ve arkasına font descriptor flag'lerinden veya addan alınan genel bir aile eklenir. Kalın ve italik metin,font-weightvefont-styledeğerlerini font adının stil taşıyan kısmından (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) ve font descriptor'ın weight, flag'leri ve italic açısından alır EmbedFontsTrueverildiğinde, TrueType veya CFF programı PDF içine gömülü fontlardaki metin, programın glif outline'larından çizilir. Her glif bir kez<defs>içinde<path>olarak tanımlanır ve geçtiği her yerde<use>ile yerleştirilir; böylece yinelenen karakterler outline'larını tekrar etmez. Fill ve stroke modları, çizgi kalınlıkları ve metin kırpma, SVG metninde olduğu gibi metni izler. Metnin kendisi, outline'ların üzerinde şeffaf SVG metni olarak tutulur; böylece seçilebilir, aranabilir ve yardımcı teknolojiler tarafından okunabilir kalır- Gömülü olmayan fontlar, Type 1 font programları (
/FontFile), dikey CJK yazımı ve gömülü programda glifi olmayan bir kod taşıyan diziler,EmbedFontsayarlanmış olsa bile SVG metni olarak kalır. Outline'lar dosyayı büyütür; metin ağırlıklı sayfalarda çoğu zaman iki ila üç katına çıkarır - Herhangi bir color space'te (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, calibrated, Lab, Indexed, Separation ve DeviceN) ayarlanan fill ve stroke renkleri, sayfa renderer'ının dönüştürdüğü şekilde sRGB'ye çevrilir - Tiling pattern ile doldurulan path'ler, pattern hücresini her
XStepveYStep'te yineleyen ve/BBox'ına kırpılan bir SVG<pattern>ile doldurulur; renksiz pattern'lar hücreyi pattern ile verilen renkte boyar. Shading pattern ile doldurulan path'ler, shading'inin gradient'ini veya mesh'ini path'e kırpılmış olarak alır. Pattern matrix'i, sayfanın — ya da pattern'ı kullanan form'un — uzayında uygulanır. Pattern'lı stroke'lar onun rengini kullanır; renkli pattern'lar için siyah - Type 2 axial ve Type 3 radial shading'ler, sınırlı örneklenmiş stop'lara sahip SVG gradient'leri kullanır;
Extend'in uzatmadığı bir uç, PDF'te olduğu gibi boyanmadan kalır - Type 4'ten Type 7'ye mesh shading'ler, en fazla 16 milyon piksellik sınırlı şeffaf bir PNG data URI kullanır
- Inline image'lar aynı yüklenmiş belge image hattı üzerinden çözülür ve PNG data URI olarak gömülür
- Image mask'ler, inline olanlar dâhil, hiçbir şey boyanmayan yerleri şeffaf olan, geçerli fill renginde PNG image'lara dönüşür;
/SMaskve/Maskstencil'leri image'e alpha kanalı verir, mask image'den daha ince taneli olduğunda mask'in çözünürlüğünde. Color-key/Maskdizileri, Flate, LZW ve filtresiz image'lar için eşleşen pikselleri şeffaf yapar WveW*clipping path'leri, ayarlandıkları graphics state ile sonlanan SVG<clipPath>öğelerine dönüşür; Form XObject'ler kendi/BBox'larına, axial ve radial shading'ler de kendilerinkine kırpılır- Type 3 fontlardaki metin, SVG metni olarak değil, fontun glif yordamlarıyla ve
/FontMatrix'i üzerinden yerleştirilerek çizilir;d1ile başlayan glifler geçerli fill renginde boyar. Type 3 glifleri, render modları 4-7'nin clipping path'ine eklenmez - Shading'in
Backgroundrengi, shading pattern'in alanını shading'den önce doldurur; böylece shading'in boyamadığı her yerde görünür. PDF'te olduğu gibi, shadingshile boyandığında yok sayılır - Type 1 function-based shading'ler,
Domain'leri üzerinden en fazla 256'ya 256 örneklik bir PNG data URI'sine örneklenir ve shading'inMatrix'i ile yerleştirilir; ölçeklendiğinde görüntüleyici onu yumuşatır