THotPDF.BuildLoadedPageSVG Method
Будує окремий документ SVG з обраної завантаженої сторінки PDF
Оголошення
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Модуль
HPDFDoc
Параметри
| Назва | Призначення |
|---|---|
PageIndex | Індекс завантаженої сторінки (від нуля) |
EmbedFonts | True записує гліфи вбудованих шрифтів у SVG як контури, тож сторінка виглядає так само і там, де цих шрифтів не встановлено. False, як і перевантаження без цього параметра, залишає текст установленим шрифтам переглядача |
Повернене значення
Повертає повний документ SVG або порожній рядок, якщо сторінку не вдалося експортувати
Примітки щодо використання
- Контури, декодований текст, image XObject, inline-зображення та рекурсивні Form XObject виводяться через спільний інтерпретатор content-device; Form XObject починається з кольорів, чинних у місці, де він малюється
- Полотно покриває видиму частину сторінки — його
/CropBox, обрізаний до/MediaBox(див.GetLoadedPageVisibleBox), — повернутий на/Rotate; лівий нижній кут боксу відображається в кут полотна навіть тоді, коли бокс не починається з початку координат - Текст записується як UTF-8 з однією позицією
xна символ іxml:space="preserve", тож пробіли зберігаються; гліфи-лігатури розгортаються в усі символи, які вони представляють, а коди, яких не дозволяє XML 1.0, стають U+FFFD - Розміщення тексту слідує повній текстовій матриці, зокрема міжсимвольному та міжсловному інтервалах, горизонтальному масштабуванні, rise і коригуваннях
TJ; режими рендерингу 0-2 заливають, обводять або роблять обидва, режим 3 не малює нічого, а гліфи тексту, показаного в режимах 4-7, також стають шляхом обрізання від кінця текстового об'єкта (ET) до кінця графічного стану - Типово текст використовує встановлені шрифти: стандартні 14 родин і їхні TrueType відповідники відображаються на Helvetica або Arial, Times New Roman і Courier New, а інші шрифти називаються за своєю родиною, також із пробілами між її словами (
MyriadPro, Myriad Pro), за якими слідує узагальнена родина з прапорців дескриптора шрифту або з назви. Жирний і курсивний текст отримуютьfont-weightіfont-styleзі стилюєвої частини назви шрифту (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) і від ваги, прапорців та кута нахилу дескриптора шрифту - З
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 так, як їх конвертує рендерер сторінки - Шляхи, залиті тилінговим візерунком, заливаються SVG
<pattern>, який повторює клітинку візерунка через кожніXStepіYStep, з обрізанням за його/BBox; некольорові візерунки малюють клітинку кольором, заданим разом із візерунком. Шляхи, залиті шейдинговим візерунком, отримують градієнт або сітку його шейдингу, з обрізанням за шляхом. Матриця візерунка застосовується в просторі сторінки або форми, що використовує візерунок. Обведення з візерунком використовує його колір, чорний для кольорових візерунків - Осьові (Type 2) і радіальні (Type 3) шейдинги використовують градієнти SVG з обмеженою кількістю дискретизованих опорних точок; кінець, який
Extendне продовжує, залишається непофарбованим, як у PDF - Сітчасті шейдинги Type 4-Type 7 використовують обмежений прозорий PNG data URI розміром щонайбільше 16 мільйонів пікселів
- Inline-зображення декодуються тим самим шляхом зображень завантаженого документа та вбудовуються як PNG data URI
- Маски зображень, зокрема inline, стають PNG-зображеннями в поточному кольорі заливки, прозорими там, де нічого не намальовано;
/SMaskі трафаретні/Maskдають зображенню альфа-канал — із роздільністю маски, коли вона вища за роздільність зображення. Масиви колірних ключів/Maskроблять відповідні пікселі прозорими для Flate, LZW і нефільтрованих зображень - Шляхи обрізання
WіW*стають елементами SVG<clipPath>, що завершуються разом із графічним станом, у якому їх було задано; Form XObjects обрізаються за своїм/BBox, а осьові та радіальні шейдинги — за своїми - Текст у шрифтах Type 3 малюється процедурами гліфів шрифту, розміщеними через його
/FontMatrix, замість тексту SVG; гліфи, що починаються зd1, малюють поточним кольором заливки. Гліфи Type 3 не додаються до шляху обрізання режимів рендерингу тексту 4-7 - Колір
Backgroundшейдингу заповнює область шейдингового візерунка перед шейдингом, тож він видно всюди, де шейдинг не малює; як і в PDF, він ігнорується, коли шейдинг малюється черезsh - Шейдинги Type 1 на основі функції дискретизуються по своїй
Domainу PNG data URI розміром щонайбільше 256 на 256 зразків, розміщений черезMatrixшейдингу; переглядач згладжує його під час масштабування