THotPDF.BuildLoadedPageSVG Method
Menyediakan perilaku bangun svg halaman yang dimuat untuk alur kerja geometri halaman. Gunakan ketika keluarga API di sekitarnya memerlukan kontrol eksplisit atas objek PDF, konten halaman, sumber daya, kesesuaian, atau diagnostik
Deklarasi
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Unit
HPDFDoc
Parameter
| Nama | Tujuan |
|---|---|
PageIndex | Indeks berbasis nol dari halaman yang dimuat |
EmbedFonts | True menulis glyph font tertanam ke dalam SVG sebagai outline, sehingga halaman tampak sama di tempat font tersebut tidak terpasang. False, dan overload tanpa parameter ini, menyerahkan teks ke font yang terpasang pada viewer |
Nilai balik
Mengembalikan dokumen SVG lengkap, atau string kosong jika halaman tidak dapat diekspor
Catatan penggunaan
- Path, teks hasil decode, image XObject, inline image, dan Form XObject rekursif dikeluarkan lewat interpreter content-device bersama; Form XObject dimulai dengan warna yang berlaku di tempat ia digambar
- Kanvas menutupi bagian terlihat halaman, yaitu
/CropBoxyang dipotong ke/MediaBox-nya (lihatGetLoadedPageVisibleBox), diputar oleh/Rotate; sudut kiri bawah box dipetakan ke sudut kanvas bahkan saat box tidak mulai dari origin - Teks ditulis sebagai UTF-8 dengan satu posisi
xper karakter danxml:space="preserve", jadi spasi tetap dipertahankan; glyph ligatur di-expand ke semua karakter yang diwakilinya, dan kode yang tidak diizinkan XML 1.0 menjadi U+FFFD - Penempatan teks mengikuti text matrix lengkap, termasuk character dan word spacing, horizontal scaling, rise, dan penyesuaian
TJ; render mode 0 sampai 2 mengisi, menggores, atau melakukan keduanya, mode 3 tidak menggambar apa pun, dan glyph dari teks yang ditampilkan dalam mode 4 sampai 7 juga menjadi clipping path dari akhir objek teks (ET) hingga akhir graphics state - Secara bawaan teks memakai font yang terpasang: 14 keluarga standar dan padanan TrueType-nya dipetakan ke Helvetica atau Arial, Times New Roman, dan Courier New, font lain dinamai menurut keluarganya, termasuk dengan spasi antar kata-katanya (
MyriadPro, Myriad Pro), diikuti keluarga generik yang diambil dari flag font descriptor atau namanya. Teks bold dan italic mendapatfont-weightdanfont-styledari bagian gaya pada nama font (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) serta dari weight, flag, dan italic angle milik font descriptor - Dengan
EmbedFontsdisetel keTrue, teks dalam font yang program TrueType atau CFF-nya tertanam di PDF digambar dari outline glyph milik program tersebut. Setiap glyph didefinisikan sekali sebagai<path>di dalam<defs>dan ditempatkan dengan<use>di setiap kemunculannya, sehingga karakter berulang tidak mengulang outline-nya; mode fill dan stroke, lebar garis, dan clipping teks mengikuti teks seperti pada SVG text. Teksnya sendiri tetap disimpan sebagai SVG text transparan di atas outline, sehingga tetap bisa dipilih, dicari, dan dibaca oleh teknologi bantu - Font yang tidak tertanam, program font Type 1 (
/FontFile), penulisan CJK vertikal, dan run dengan kode yang tidak memiliki glyph dalam program tertanam tetap menjadi SVG text meskiEmbedFontsdisetel. Outline membuat file lebih besar, sering kali dua sampai tiga kali untuk halaman yang padat teks - Warna fill dan stroke yang disetel dalam color space apa pun (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, calibrated, Lab, Indexed, Separation, dan DeviceN) dikonversi ke sRGB seperti yang dilakukan page renderer - Path yang diisi tiling pattern diisi dengan SVG
<pattern>yang mengulang sel pattern setiapXStepdanYStep, di-clip ke/BBox-nya; pattern tanpa warna mencat sel dengan warna yang diberikan bersama pattern. Path yang diisi shading pattern mendapat gradient atau mesh dari shading-nya, di-clip ke path. Matriks pattern diterapkan dalam ruang halaman, atau ruang form yang memakai pattern tersebut. Stroke dengan pattern memakai warnanya, hitam untuk pattern berwarna - Shading Type 2 aksial dan Type 3 radial memakai gradient SVG dengan stop hasil sampling yang terbatas; ujung yang tidak di-
Extenddibiarkan tidak tergambar, sama seperti di PDF - Shading mesh Type 4 sampai Type 7 memakai data URI PNG transparan terbatas dengan maksimum 16 juta piksel
- Inline image didekode lewat jalur gambar dokumen termuat yang sama dan disematkan sebagai data URI PNG
- Image mask, termasuk yang inline, menjadi gambar PNG dengan warna fill saat ini yang transparan di tempat tidak ada yang digambar;
/SMaskdan stencil/Maskmemberi gambar alpha channel, pada resolusi mask saat mask lebih halus dari gambar. Array/Maskcolor-key membuat piksel yang cocok menjadi transparan untuk gambar Flate, LZW, dan tanpa filter - Clipping path
WdanW*menjadi elemen SVG<clipPath>yang berakhir bersama graphics state tempat ia disetel; Form XObject di-clip ke/BBox-nya, dan shading aksial maupun radial juga ke /BBox-nya masing-masing - Teks dalam font Type 3 digambar dengan prosedur glyph milik font, ditempatkan melalui
/FontMatrix-nya, alih-alih sebagai SVG text; glyph yang diawalid1dicat dengan warna fill saat ini. Glyph Type 3 tidak menambah clipping path render mode 4 sampai 7 - Warna
Backgroundsebuah shading mengisi area shading pattern sebelum shading, sehingga terlihat di mana pun shading tidak mencat; seperti di PDF, warna ini diabaikan ketika shading digambar dengansh - Shading berbasis fungsi Type 1 di-sampling di seluruh
Domain-nya menjadi data URI PNG hingga 256 kali 256 sampel, ditempatkan melaluiMatrixshading; viewer menghaluskannya saat diskalakan