Професійний SDK для PDF-застосунків

PDFium Delphi Component для Delphi, C++Builder та Lazarus

PDFium рендерить і читає. Рушій не вміє підписувати документ, записувати шифрування, перевіряти відповідність стандарту PDF чи створювати лінеаризовану або інкрементну ревізію. PDFium Delphi Component реалізує все це мовою Object Pascal поверх рушія — підписи PAdES, шифрування PDF 2.0 AES-256, шість валідаторів стандартів ISO, власний серіалізатор PDF та повну архітектуру переглядача й доступного читача — і постачає кожен рядок вихідного коду разом із ліцензією.

Переглядач PDF PDFium Delphi Component для Delphi

PDFium Delphi Component: огляд

ПродуктPDFium Delphi Component — професійний SDK з вихідним кодом для PDF-застосунків на Delphi, C++Builder і Lazarus
Найкраще підходить дляВипуску високопродуктивних PDF-читачів, інструментів рецензування, документообігу та доступних сценаріїв читання в нативних застосунках
Підтримка IDEDelphi і C++Builder від XE5 до 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL
Роль рушіяPDFium — родина рушіїв з відкритим кодом, що стоїть за відображенням PDF у Chromium — відповідає за рендеринг сторінок і читання документів; необов'язкові DLL середовища виконання V8 / XFA
Прикладний рівень115 000 рядків Object Pascal у 55 модулях, 475 публічних членів TPdf і 152 в TPdfView, включно з рівнями переглядача, серіалізації, підписування, шифрування, стандартів і доступності, яких PDFium не надає
Цифрові підписиПідписування PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), контейнери CMS / CAdES, позначки часу RFC 3161, Document Security Store
ШифруванняЗапис PDF 2.0 AES-256 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC на стеку AES / SHA / HMAC / ASN.1, написаному суто мовою Pascal
СтандартиВалідатори PDF/A (частини 1-4), PDF/X (до X-6), PDF/UA, PDF/E, PDF/VT (до VT-2s) і PDF/R із помічниками збереження та вставляння маркерів
Вивід PDFВласний серіалізатор: лінеаризований Fast Web View, пакування в потоки об'єктів і потоки xref, інкрементні ревізії змінених об'єктів, перевірені копії відновлення
Ресурси читача34 готові до запуску проєкти: професійні еталонні читачі, лабораторії взаємодії, майстерні доступності, інструменти стандартів і preflight, лабораторії тексту CJK та RTL
Великі файлиДоступ на вимогу уникає повного копіювання в пам'ять для документів на кілька гігабайтів; паралельний рендеринг сторінок і обмежене робоче сховище
Вихідний кодПовний вихідний код Object Pascal входить до кожної ліцензії
ЛіцензуванняБез роялті, одноразовий платіж від $350 до $4200 залежно від рівня; поновлення за 40% прейскурантної ціни
Поточна версія3.51.0 (2026-08-16)
ОзнайомленняБезкоштовне завантаження демонстраційного пакета

Де закінчується рушій і починається продукт

PDFium — це рушій рендерингу. Він малює сторінки, видобуває текст і читає наявні структури — і на цьому все. У ньому немає підписування, немає запису шифрування, немає валідатора стандартів, немає лінеаризації, немає запису інкрементних ревізій і немає підтримки XFDF чи XMP. Проста прив'язка до C-API PDFium успадковує рівно ті самі обмеження.

PDFium Delphi Component постачає приблизно 115 000 рядків Object Pascal у 55 модулях. Понад 62 000 із цих рядків розміщені в 36 модулях, які взагалі не мають відповідників в API PDFium — криптографія, підписи, шифрування, шість валідаторів стандартів, серіалізатор PDF, XFDF, XMP, компонування та формування тексту. Написані мовою Pascal, звірені з опублікованими положеннями ISO, ETSI, IETF і FIPS та передані як вихідний код разом із кожною ліцензією.

МожливістьРушій PDFiumРеалізовано в PDFium Delphi Component
Цифрові підписиЧитає лише наявні словники підписівПідписування PAdES B-B / B-T / B-LT / B-LTA, побудова CMS / CAdES SignedData за RFC 5652, клієнт позначок часу RFC 3161, вставляння DSS і VRI, ключі через Windows CNG (RSA-PSS, PKCS#1, ECDSA), віддалене підписування та підписування з HSM, за якого приватний ключ ніколи не залишає сервіс, а також перевірка довіри до ланцюжка сертифікатів
ШифруванняВідкриває зашифровані файли, але не вміє записувати шифруванняISO 32000-2 AES-256 (виведення ключа V5 / R6 за алгоритмом 2.B), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC і повне шифрування всіх потоків та рядків
Криптографічні примітивиЖодного не наданоСуто Object Pascal: AES-128/256 у режимах CBC і GCM, SHA-256/384/512, SHA-3, HMAC, читач і записувач ASN.1 DER, звірені з тестовими векторами FIPS 197 і FIPS 180-4
Відповідність стандартамЖодного валідатораPDF/A частини 1-4, PDF/X до X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s і PDF/R-1 — валідатори на рівні положень, вставляння маркерів і помічники збереження з урахуванням профілю
Серіалізація PDFОдне послідовне збереження всього файлуЛінеаризований Fast Web View з таблицями підказок за Додатком F, пакування в потоки об'єктів і потоки xref, інкрементні ревізії змінених об'єктів із побайтовим збереженням попереднього файлу та копії відновлення з суворою перевіркою
Пошкоджені документиТихе відновлення без звітуПолітики завантаження «сувора», «сумісна» та «відновлення» зі структурованою діагностикою: шлях перебудови, зміщення пошкоджень, суперечливі ревізії та стан бюджетів
Обмін даними формНемає API для XFDF чи FDFІмпорт та експорт XFDF (ISO 19444-1) і FDF для значень полів і 18 підтипів анотацій
МетаданіЧитає класичний словник infoЧитач і записувач пакетів XMP з типізованими контейнерами, які використовує кожен профіль стандартів
Мережа та масштабуванняЗворотні виклики для діапазонів байтів і нічого понад цеПрогресивні сеанси документа, пріоритезований планувальник діапазонів байтів із дедуплікацією, злиттям, обмеженими повторами та скасуванням, паралельний рендеринг сторінок і обмежене робоче сховище, що переливається у тимчасовий файл, який видаляється під час закриття
Прикладний рівеньДескриптори та зворотні виклики мовою CТри зареєстровані компоненти VCL / LCL, 475 публічних членів TPdf і 152 в TPdfView, стан переглядача, мініатюри, сеанси читання та 34 готові до запуску проєкти

Замість проєктувати з нуля стан переглядача, взаємодію, асинхронний рендеринг, зіставлення тексту, фокус у формах, навігацію сторінками, поведінку доступності, контейнери підписів, словники шифрування та записувачі ревізій, команди починають із перевірених компонентів і робочих архітектур читача, а потім адаптують наданий вихідний код Object Pascal під свій продукт.

Майже миттєве відкриття великих PDF: у внутрішніх тестах із зразковими файлами на 2.x ГБ доступ із можливістю позиціонування на вимогу робив перший перегляд придатним до роботи ще до повного читання документа; фактичні результати залежать від сховища, структури документа та обладнання.

Скористайтеся публічними прикладами переглядача та тестовим сценарієм для великих файлів, щоб повторити вимірювання «від відкриття до першого перегляду» на власних PDF, власному сховищі та цільовому обладнанні.

Використовуйте компонент тоді, коли робота з PDF має відбуватися всередині вашого застосунку, а не у зовнішньому переглядачі. Пакет містить візуальні та невізуальні компоненти, вихідний код Object Pascal, професійні еталонні застосунки читачів, сфокусовані приклади робочих процесів, DLL PDFium, необов'язкові DLL середовища виконання з підтримкою V8 / XFA, приклади preflight для командного рядка, регресійні тести й документацію як для інтеграції на рівні застосунку, так і для низькорівневих операцій із PDF.

PDFium VCL Component підтримує Delphi від XE5 до Delphi 13.1 Florence і C++Builder від XE5 до C++Builder 13.1 Florence з цілями Win32 і Win64. PDFium LCL Component містить файли пакетів і демонстрації Lazarus / Free Pascal для робочих процесів LCL.

Основні можливості

  • Високорівневі API застосунку: працюйте з об'єктами документа та переглядача, нативними для Delphi, замість того щоб протягувати сирі дескриптори PDFium через кожен екран, фонове завдання, сценарій роботи з формами та шлях звільнення ресурсів.
  • Інтерфейс переглядача: покладіть TPdfView на форму, щоб отримати масштабування, обертання, режими вписування, односторінкові та безперервні розкладки, розвороти з урахуванням обкладинки, тіні сторінок, безпечні кліки за посиланнями, виділення тексту користувачем, копіювання в буфер обміну та сценарії фокуса у формах.
  • Навігація мініатюрами: додайте TPdfThumbnailView поруч із переглядачем для прокручуваних мініатюр сторінок із наведенням, підсвічуванням вибору та переходом за кліком.
  • Рендеринг: рендеріть сторінки й фрагменти в растрові зображення, використовуйте запис DIB без копіювання там, де це можливо, запускайте скасовуваний прогресивний рендеринг, рендеріть набір сторінок паралельно через RenderPagesParallel, звертайтеся до низькорівневих хуків Skia, коли завантажена DLL їх експортує, і зберігайте чутливість інтерфейсу на великих сторінках.
  • Потокове читання та великі файли: завантажуйте з диска, пам'яті, масивів байтів або власних потоків із позиціонуванням, використовуючи читання PDFium на вимогу, щоб великі або віддалені документи не потребували повної копії в пам'яті.
  • Запуск на великих файлах: починайте перегляд PDF на кілька гігабайтів, не чекаючи повного копіювання в пам'ять; переглядач використовує доступ PDFium із позиціонуванням на вимогу й читає блоки документа в міру потреби.
  • Текст і пошук: видобувайте текст сторінки, шукайте вперед або назад, підсвічуйте збіги, будуйте списки результатів для всіх сторінок і досліджуйте прямокутники символів, початкові точки, кути, згенеровані символи, гарнітуру, насиченість, розмір, верхній і нижній виносні елементи та стан вбудовування шрифту.
  • Структурований текст: GetStructuredText будує ієрархію сторінок, блоків, рядків і стильових діапазонів на основі геометрії символів, метаданих шрифтів, ідентичності текстових об'єктів і семантики Tagged PDF, із запасним упорядкуванням за фізичним компонуванням, якщо документ не має тегів.
  • Видобування таблиць: ExtractTables і ExtractDocumentTables поєднують рамки слів із перетвореними лініями контурів, щоб виявляти таблиці з рамками та вирівняні пробілами, зберігати об'єднані комірки, оцінювати впевненість, позначати продовження на наступних сторінках і експортувати CSV або JSON.
  • Семантичний reflow у HTML: BuildReflowDocument перетворює PDF із фіксованим компонуванням на придатне для повторного використання дерево вузлів, безпечний HTML-вивід якого зберігає заголовки, абзаци, списки, ілюстрації, розділи сторінок і комірки таблиць — для адаптивного відображення, доступності та повторного використання вмісту.
  • Форми: працюйте з полями AcroForm, виявленням стану XFA, доступністю необов'язкових помічників V8 / XFA, виділеним текстом форми, скасуванням і поверненням дій, згенерованим виглядом полів, прапорцями полів і зведенням форм у плоский вигляд.
  • Обмін даними форм: експортуйте та імпортуйте як XFDF (ISO 19444-1), так і FDF (ISO 32000-1 §12.7.11) для значень полів і 18 підтипів анотацій — форматів, для яких PDFium не надає жодного API; вони реалізовані мовою Pascal на власній моделі анотацій і полів компонента.
  • Інтеграція OCR: підключіть будь-який рушій розпізнавання до IPdfOcrProvider, отримуйте растрові зображення сторінок у визначеному піксельному форматі, повертайте чотирикутники слів, а компонент запише шар тексту з можливістю пошуку зі звітуванням про стан кожної сторінки та пропуском сторінок, де текст уже є.
  • Анотації та посилання: створюйте, видаляйте, підраховуйте та досліджуйте анотації; обробляйте посилання сторінок, вебпосилання, призначення закладок, дії JavaScript у документі, ризикові поверхні URI та Launch і події кліків у переглядачі.
  • Складання документів: створюйте документи, додавайте або видаляйте сторінки, імпортуйте діапазони сторінок за міткою чи фізичним індексом, переміщуйте сторінки, компонуйте сторінки N-up, повторно використовуйте сторінки як Form XObjects, накладайте водяні знаки чи штампи, оновлюйте вміст сторінки та керуйте рамками сторінки.
  • Вивід PDF і ревізії: зберігайте лінеаризовані файли Fast Web View з таблицями підказок для зміщень сторінок і спільних об'єктів, пакуйте об'єкти в потоки об'єктів із повним покриттям xref типу 2, додавайте інкрементні ревізії змінених об'єктів, які побайтово зберігають попередній вивід, і створюйте копії відновлення, що перед передаванням повторно перевіряються незалежним суворим завантаженням.
  • Цифрові підписи: підписуйте до рівнів PAdES B-B, B-T, B-LT або B-LTA; будуйте CMS / CAdES SignedData з підписаними атрибутами, яких вимагає профіль; запитуйте токени RFC 3161 у TSA; збирайте ланцюжок сертифікатів у Document Security Store; додавайте архівні позначки часу; і перевіряйте будь-який документ за положеннями PAdES та довірою до ланцюжка сертифікатів — синхронно або асинхронно.
  • Віддалене підписування та HSM: розділіть операцію надвоє за допомогою PreparePadesRemoteSignature і CompletePadesRemoteSignature — застосунок створює документ із заповнювачем і переносний запит на підписування з дайджестом SHA-256, віддалений сервіс або апаратний модуль повертає відокремлену структуру CMS, а компонент її вставляє. Приватний ключ ніколи не мусить потрапляти на робочу станцію.
  • Шифрування та цілісність: записуйте шифрування PDF 2.0 AES-256 з правильним виведенням ключа R6 і блоками дозволів, застосовуйте ISO/TS 32003 AES-GCM там, де це потрібно, додавайте токени ISO/TS 32004 PDF MAC і покладайтеся на примітиви AES, SHA-2, SHA-3, HMAC та ASN.1, написані мовою Object Pascal без жодної зовнішньої залежності від C.
  • Перевірка вмісту та безпеки: видобувайте зображення, рендеріть растри об'єктів, досліджуйте межі та прозорість об'єктів, читайте вкладення, метадані, підписи, дозволи, мову, мітки сторінок, режими сторінок, налаштування переглядача, структуру Tagged PDF та ідентифікатори файлу. TPdfStreamInspector декодує довільні потокові об'єкти в межах явних бюджетів джерела, сирих даних, декодованого обсягу, коефіцієнта розширення та кількості потоків, тож «бомба розпакування» повертає структурований стан, а не вичерпує пам'ять.
  • Доступне читання: будуйте одиниці читання на рівні речень, зіставляйте озвучений текст із вмістом PDF, керуйте підсвічуванням читання на рівні слів, переміщуйтеся полями форм, досліджуйте теговану структуру та застосовуйте растрові перетворення для людей зі зниженим зором у сценаріях допоміжного читання.
  • Звіти preflight: формуйте орієнтовані на стандарти звіти аудиту з полями «пройдено», «потрібна дія», «перевірка», пріоритет, категорія проблеми, кількість за категоріями та наступна дія; експортуйте зручні для читання TXT, HTML і Markdown або машинозчитувані JSON, CSV, SARIF 2.1.0, JUnit XML і NDJSON; отримуйте стабільні відбитки SHA-256 для звітів; запускайте пакетні зведення; долучайте звіти до копій для рецензування; і керуйте збіркою через код виходу утиліти командного рядка.
  • Друк: друкуйте з діапазонами сторінок, кількістю копій, налаштуваннями масштабування, компонуванням N-up, фільтруванням парних і непарних сторінок, виводом у відтінках сірого, метаданими налаштувань переглядача та SetPdfPrintPaperHandlingDevMode для інтеграції з дуплексом і подаванням паперу.

Робочі процеси PDF з урахуванням відповідності

PDFium Delphi Component надає орієнтовані на стандарти API перевірки та збереження для команд, яким потрібні передбачуване передавання PDF, перевірка для архіву, друкарські процеси, перевірки доступності, інженерні документи, вивід зі змінними даними або растрова доставка.

Робочий процесПідтримка в PDFium Delphi ComponentВідповідальність застосунку
PDF/AValidatePdfA, SaveAsPdfA і PdfAConformance охоплюють ISO 19005 частини 1-4 — включно з профілями A-4, A-4f і A-4e на основі PDF 2.0 — з перевірками OutputIntent, метаданих XMP, вбудовування шрифтів, структурними перевірками RoleMap і ParentTree, межами реалізації з Додатка C, обмеженнями шифрування та JavaScript і помічниками збереження з урахуванням профілю.Оберіть архівну ціль, надайте коректні метадані документа й дані кольору та перегляньте всі виявлені проблеми перевірки перед передаванням.
PDF/XValidatePdfX, SaveAsPdfX і PdfXConformance від X-1a до X-6 на основі PDF 2.0, з обробкою OutputIntent та ICC, обмеженнями прозорості й колірних просторів залежно від профілю, геометричними перевірками TrimBox / ArtBox / BleedBox і перевірками профілю, безпечними для друку.Надайте придатні для виробництва дані OutputIntent, геометрію сторінки та налаштування друку для цільового профілю PDF/X.
PDF/UAValidatePdfUa, SaveAsPdfUa, PdfUaConformance, перевірки мови й тегування, дослідження дерева структури, огляд позначеного вмісту та перевірка профілю доступності.Забезпечте осмислений порядок читання, заголовки, списки, семантику таблиць, альтернативний текст і мову документа у вихідному процесі.
PDF/E, PDF/VT, PDF/RValidatePdfE, ValidatePdfVT і ValidatePdfR, відповідні API SaveAs... та властивості відповідності для інженерних, зі змінними даними й растрових профілів PDF. PDF/VT охоплює ієрархії DPart, метадані частин документа та пакування VT-2s у багаточастинні потоки MIME; PDF/E вставляє вбудований OutputIntent sRGB; PDF/R вимагає одне смугове зображення на сторінку та дозволений перелік кодувань.Узгодьте профіль із бізнес-процесом і тримайте вихідний вміст у межах набору можливостей, дозволених обраним стандартом.
Підписи PAdESSignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss і ValidatePadesCompliance охоплюють базові рівні B-B, B-T, B-LT і B-LTA з ETSI EN 319 142-1, з позначками часу RFC 3161, вставлянням Document Security Store, маркерами розширення ESIC і 26 кодами перевірки на рівні положень. SignPadesWithPdfA поєднує архівне перетворення та підписування в одному процесі.Надайте сертифікат підписувача та його ланцюжок, оберіть кінцеву точку TSA для рівнів із позначкою часу та визначте політику вашої організації щодо зберігання й відкликання.
Автоматизація preflightFPdfPreflightReport і PreflightReportCli зводять результати PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R і PDF/VT у зручні для читання TXT, HTML і Markdown або машинозчитувані JSON, CSV, SARIF 2.1.0, JUnit XML і NDJSON з детермінованим упорядкуванням і стабільними відбитками SHA-256.Вирішіть, чи мають результати «пройдено», «потрібна дія», «перевірка» або кількість проблем блокувати CI, передавання чи приймання в архів.

Ці API створені так, щоб робота зі стандартами була видимою в коді. Результати перевірок, зведення preflight і помічники збереження допомагають вашому застосунку відхиляти або виправляти проблемний вивід, а не тихо віддавати файл, який зазнає невдачі лише згодом — в архівному, друкарському чи пов'язаному з доступністю процесі. Вбудовані валідатори зосереджені на перевірках рівня маркерів і вибраних перевірках рівня файлу; командам, яким потрібна формальна сертифікація на рівні вмісту, варто поєднувати їх зі спеціалізованим рушієм перевірки.

Архітектура компонента

  • TPdf: невізуальний компонент документа для завантаження, доступу до потоків, збереження, рендерингу, пошуку, видобування, перевірки, доступу до форм, операцій зі сторінками, метаданих, вкладень, анотацій, звітів preflight і робочих процесів профілів PDF.
  • TPdfView: візуальний компонент переглядача для режимів відображення, взаємодії з користувачем, посилань, прокручування, масштабування, виділення, фокуса у формах, підсвічування, навігації сторінками та роботи з буфером обміну.
  • TPdfThumbnailView: прокручувана бічна панель мініатюр для навігації сторінками, відстеження поточної сторінки, зворотного зв'язку під час наведення та розкладок поруч із переглядачем.
  • Допоміжні модулі: загалом 55 модулів Object Pascal. Крім прив'язки до рушія, вони групуються в криптографію (FPdfAes, FPdfAesGcm, FPdfSha256, FPdfSha512, FPdfSha3, FPdfHmac, FPdfAsn1), підписування (FPdfPades, FPdfCms, FPdfTsa, FPdfCryptoWin), стандарти (FPdfPdfa, FPdfPdfx, FPdfPdfua, FPdfPdfe, FPdfPdfvt, FPdfPdfr, FPdfPreflightReport), серіалізацію та цілісність (FPdfCompress, FPdfEncrypt, FPdfMac, FPdfStreamInspect, FPdfContentNormalize) і сервіси вмісту (FPdfXfdf, FPdfXmp, FPdfLayout, FPdfMeasure, FPdfTextShaping, FPdfStructTree, FPdfAsync, FPdfMatrix).

Кожен наведений вище модуль — це вихідний код, який ви отримуєте й можете покроково налагоджувати. Криптографічні примітиви написані мовою Object Pascal і звірені з опублікованими тестовими векторами FIPS 197 та FIPS 180-4, тож підписування й шифрування не додають жодної зовнішньої бібліотеки C до вашого розгортання та жодного стороннього двійкового файлу до аудиту безпеки.

Завантажити демонстраційний пакет PDFium Delphi Component

2026-08-16 Version 3.51.0: Примітки до випуску PDFium Delphi Component | Довідник API. 3.51.0 робить публічними вісім раніше недоступних членів TPdf, як і зазначено в документації, а також завершує англомовний довідник: кожен публічний член TPdf і TPdfView тепер має власну сторінку — 88 членів отримали її — разом із переліками й записами, доступними з публічних сигнатур.

Ліцензування і ціни

Оплачуйте кредитною чи дебетовою карткою, через PayPal, AliPay або банківським переказом за посередництва 2Checkout. Кожна нова ліцензія PDFium Delphi Component містить вихідний код Object Pascal, рік оновлень і рік підтримки електронною поштою.

ЛіцензіяРозробникиЦіна (одноразово)Замовлення
Single1 розробник$350Придбати PDFium Delphi Component Single
Small BusinessДо 10 розробників$700Придбати PDFium Delphi Component Small Business
Medium BusinessДо 30 розробників$1050Придбати PDFium Delphi Component Medium Business
EnterpriseУсі розробники однієї компанії та її дочірніх підприємств у межах однієї країни$2100Придбати PDFium Delphi Component Enterprise
CorporateУсі розробники однієї компанії та її дочірніх підприємств у всьому світі$4200Придбати PDFium Delphi Component Corporate

Вибір ліцензії: оберіть рівень, що охоплює вашу кількість розробників: Single (1 розробник), Small Business (до 10) або Medium Business (до 30). Enterprise охоплює всіх розробників однієї компанії та її дочірніх підприємств у межах однієї країни; Corporate поширює те саме покриття на весь світ.

Додаткові вихідні коди для Enterprise і Corporate: і PDFium Delphi Component Enterprise, і Corporate містять повний вихідний код спеціального прикладу рівня інструменту PDF Intake & Accessibility Review Workbench Pro. Вихідний код повних наборів тестів, які зазвичай використовуються лише для внутрішньої перевірки, доступний на запит.

Поновлення для наявних клієнтів: поновіть протягом 90 днів після завершення служби оновлень за 40% поточної прейскурантної ціни; після 90 днів зверніться до нас по посилання на замовлення зі знижкою. Відкрити сторінку придбання та поновлення PDFium Delphi Component.

Професійні еталонні застосунки читачів

Пакет виходить за межі окремих фрагментів API. Його 34 готові до запуску проєкти показують, як компоненти працюють разом у повних сценаріях застосунку, даючи командам перевірені відправні точки для роботи над виробничим інтерфейсом, взаємодією, продуктивністю, рецензуванням, стандартами, безпекою та доступністю. Кожна демонстрація відкривається з уже завантаженим вмістом, тож перший клік щось робить, а не просить файл.

  • PDFViewer: повноцінна основа читача з виділенням тексту, пошуком, закладками, навігацією сторінками, друком, посиланнями, режимами відображення, мініатюрами та обробкою подій, якої потребує справжній настільний переглядач.
  • MultiPageViewer: безперервна, розворотна, з урахуванням обкладинки та багатосторінкова поведінка для застосунків рецензування, яким потрібно більше, ніж одна відрендерена сторінка.
  • SplitView: два синхронізовані перегляди одного документа для порівняння, звірки та рецензування.
  • ViewerInteractionLab і SearchAndSelect: придатні до повторного використання шаблони взаємодії для режимів вписування, кольорів сторінки, обертання, підсвічування пошуку, списків результатів за всіма сторінками, попереднього перегляду виділеного тексту, роботи з буфером обміну та зіставлення координат.
  • AccessibilityReader і AccessibilityLab: сеанси читання вголос, інтеграція з мовленнєвим рушієм хоста, одиниці читання на рівні речень, підсвічування на рівні слів, навігація формами, дослідження тегованої структури та режими відображення для зниженого зору.

Приклади робочих процесів поза читачем

  • ContentExtractionLab: єдиний процес для метаданих, тексту, об'єктів сторінки, зображень, вкладень, посилань, анотацій, закладок, шрифтів і метрик символів з експортом TXT / JSON.
  • PDFtoJpg, BatchExport та ImageToPDF: растровий експорт, пакетне перетворення багатьох файлів, потокове завантаження, керування DPI та якістю, введення пароля, індикація перебігу та кооперативне скасування.
  • MergePDF, SplitPDF, CreatePDF і WatermarkStamp: складання документів, програмне створення PDF, придатні до повторного використання водяні знаки як Form XObject, кутові штампи та мітки номерів сторінок.
  • FormFill, FontProperties і Attachment: редагування та зведення значень форм у плоский вигляд, індексоване дослідження шрифтів і символів, а також видобування чи створення вбудованих файлів.
  • SecurityAudit: перевірка лише для читання щодо дозволів, вкладень, JavaScript, посилань URI та Launch, вебпосилань, підписів, стану XFA, доступності помічників середовища виконання та звітів аудиту в TXT / JSON.
  • XfdfLab і XfaLab: проганяйте дані форм та анотації в обидва боки через XFDF і FDF та перевіряйте виявлення стану XFA з необов'язковим середовищем виконання з підтримкою V8 / XFA.
  • CJKTextLab і RTLTextLab: робота з китайським, японським, корейським, арабським та івритським текстом — видобування, пошук, геометрія виділення та поведінка формування там, де наївні припущення про порядок символів не працюють.
  • AnnotationsLab і NavigationLab: створення та редагування анотацій розмітки з геометрією з чотирьох точок, а також шаблони навігації за закладками, призначеннями, іменованими діями та мітками сторінок.
  • AccessibilityWorkbenchCli та IntakeWorkbenchCli: безінтерфейсні конвеєри рецензування та приймання для пакетного оцінювання доступності й приймання документів, придатні для запланованих завдань і CI, а не для настільного вікна.
  • StandardsLab, PreflightReport і PreflightReportCli: процеси перевірки та збереження PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R і PDF/VT, попередній перегляд звітів, експорт TXT / HTML / Markdown / JSON / CSV, пакетні теки, впорядковані зведення, захищені від дублювання імена звітів, долучення звітів і орієнтована на CI поведінка виходу failon=.

Чому команди обирають PDFium Delphi Component

  • Підписування та шифрування без другого постачальника: PAdES від B-B до B-LTA, позначки часу RFC 3161 і шифрування PDF 2.0 AES-256 є частиною цієї бібліотеки. Більшість команд Delphi доходять до цього, додаючи окремий SDK підписування або розгортання OpenSSL; тут це один пакет, одна ліцензія та вихідний код Pascal, який можна перевірити.
  • Робота зі стандартами, видима в коді: шість родин стандартів ISO мають справжні валідатори з кодами результатів на рівні положень, а не позначку в списку. Вивід preflight у TXT, HTML, Markdown, JSON і CSV підключається просто до CI, а утиліта командного рядка повертає код помилки за обраними вами умовами.
  • Записувач PDF, якого немає в рушія: лінеаризований Fast Web View, пакування в потоки об'єктів і інкрементні ревізії змінених об'єктів, що побайтово зберігають попередній файл — саме ті формати виводу, яких потребують архівні системи, вебдоставка та журнали аудиту.
  • Прикладний рівень, а не лише імпортовані функції: три зареєстровані компоненти, 475 публічних членів TPdf і 152 в TPdfView, що охоплюють стан документа, взаємодію з переглядачем, рендеринг, текст, форми, анотації, друк, доступність, перевірку та повторюваний код робочих процесів.
  • Професійні читачі, які можна вивчати й розширювати: 34 готові до запуску проєкти — переглядач, багатосторінковий режим, розділений перегляд, взаємодія, пошук, стандарти, аудит безпеки, текст CJK і RTL та доступне читання — скорочують шлях від першої оцінки до читача, специфічного для вашого продукту.
  • Продуктивність, розрахована на реальні документи: завантаження з позиціонуванням на вимогу, прямі шляхи рендерингу в DIB, скасовуваний прогресивний рендеринг, паралельний рендеринг сторінок і обмежене робоче сховище, що переливається у тимчасовий файл замість вичерпувати пам'ять.
  • Доступність понад формальність: сеанси читання, одиниці читання, зіставлення мовлення зі сторінкою, підсвічування на рівні слів, перетворення для зниженого зору, доступ до форм і дослідження тегованої структури підтримують сценарії допоміжного читання.
  • Ворожі вхідні дані трактуються як ворожі: декодування потоків, нормалізація вмісту та сканування структури виконуються в межах явних бюджетів джерела, виводу, токенів, вкладеності та коефіцієнта розширення, тож хибно сформований чи навмисно створений PDF повертає структурований стан, а не завалює процес.
  • Якість рендерингу PDFium: користуйтеся родиною рушіїв з відкритим кодом, що стоїть за відображенням PDF у Chromium, залишаючи прикладний рівень і вихідний код у власній кодовій базі.
  • Без роялті під час виконання: створюйте настільні застосунки без плати за документ чи за кінцевого користувача.
  • Вихідний код, покриття IDE та підтримувані тести: повний вихідний код Object Pascal, Delphi і C++Builder від XE5 до 13.1 Florence, підтримка Lazarus / Free Pascal та автоматизоване покриття процесів документа, рендерингу, форм, структури, друку, мініатюр, підписування, шифрування, стандартів і переглядача.

Доступне читання як функція застосунку

Підтримка доступності є частиною архітектури читача, а не лише результатом перевірки. TPdfReadingSession узгоджує одиниці читання на рівні речень, зіставлення озвученого тексту та події слів, щоб мовленнєвий рушій хоста міг тримати озвучення синхронним зі сторінкою.

Наданий читач із підтримкою доступності демонструє інтеграцію з мовленнєвими службами хоста, підсвічування читання на рівні слів, регульований темп мовлення, придатні для пошуку одиниці читання, доступ до форм із клавіатури та режими відображення для зниженого зору. Дослідження тегованої структури та орієнтовані на PDF/UA перевірки допомагають командам зрозуміти семантику документа, тоді як спеціалізована перевірка залишається доречною, коли потрібна формальна сертифікація.

Онлайн-документація PDFium Delphi Component

Приклад коду

procedure TForm1.OpenPdf(const FileName: string);
begin
  Pdf.FileName := FileName;
  PdfView.Pdf := Pdf;
  PdfThumbnailView.Pdf := Pdf;
  PdfView.DisplayMode := dmSingleContinuous;
  PdfView.FitMode := pfmFitWidth;
  PdfView.AllowUserTextSelection := True;
  PdfView.Active := True;
end;

procedure TForm1.HighlightInvoiceNumber;
begin
  Pdf.PageNumber := PdfView.PageNumber;
  if Pdf.FindFirst('Invoice', []) >= 0 then
    PdfView.HighlightSearchText('Invoice', False, False);
end;

procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
  if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
    raise Exception.Create('The PDF/A archive copy could not be saved.');
end;

procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
  Options: TPadesSignOptions;
begin
  Options := TPadesSignOptions.Default;
  Options.CertificateThumbprint := SignerThumbprint;
  Options.Level := plB_LTA;          // підпис + токен TSA + DSS + архівна позначка часу
  Options.TsaUrl := 'https://tsa.example.com/tsr';
  Options.Reason := 'Approved for release';

  if not Pdf.SignPades(OutputFile, Options) then
    raise Exception.Create('The document could not be signed.');
end;

procedure TForm1.CheckSignatureLevel;
var
  Result: TPadesValidationResult;
begin
  Result := Pdf.ValidatePades;
  if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
    ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
      [Result.SignatureCount, Result.DocTimeStampCount]))
  else
    ShowMessage('The document does not reach the required PAdES baseline.');
end;

Типові варіанти використання

  • Доступні читачі документів із керуванням читанням уголос, синхронним підсвічуванням слів, навігацією формами, дослідженням тегованої структури та режимами відображення для зниженого зору.
  • Системи керування документами з вбудованим переглядом PDF, пошуком, друком і роботою з формами.
  • Бухгалтерські та рахункові застосунки, яким потрібні перевірка PDF, видобування, робота з вкладеннями, перевірки готовності виводу до архіву, пакетні маніфести preflight і долучення звітів.
  • Юридичне, інженерне, медичне та державне настільне ПЗ, де користувачі мають досліджувати, друкувати, перевіряти, звітувати та зберігати документи PDF, не залишаючи застосунку.
  • Процеси з підписаними документами в регульованих галузях — договори, рахунки, накладні та записи, що мають нести підпис PAdES B-T або B-LTA з довіреною позначкою часу й залишатися перевірними роками.
  • Конфіденційне розповсюдження, що потребує шифрування PDF 2.0 AES-256 із визначеними дозволами, записаного самим застосунком, а не зовнішнім інструментом у другому проході.
  • Інструменти відповідності та приймання, яким потрібні повторювані перевірки PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R або PDF/VT перед надсиланням файлів зовнішнім валідаторам чи в архівні системи.
  • Переглядачі звітів і внутрішні бізнес-інструменти, яким потрібні швидке відображення PDF, растеризація сторінок, копійований текст і контрольований друк.

Коли обирати PDFium Delphi Component

  • Обирайте PDFium Delphi Component, коли застосунок має переглядати, перевіряти, підписувати, шифрувати й передавати документи PDF: професійна основа читача, підписування PAdES, шифрування PDF 2.0, шість валідаторів стандартів, лінеаризований та інкрементний вивід, продуктивність на великих файлах, підтримка доступності, форми й друк — усе з одного пакета з вихідним кодом.
  • Обирайте HotPDF Delphi Component, коли застосунок генерує документи, а ви волієте взагалі не розповсюджувати рушій рендерингу: HotPDF має власний рушій рендерингу, власні кодеки зображень, власний шрифтовий рушій, генерування штрихкодів, компонування XFA та перевірку Factur-X і компілюється прямо у ваш виконуваний файл.
  • Обирайте PDF Library for Delphi, коли один набір інструментів має охопити весь життєвий цикл або коли потрібні OCR, читання штрихкодів, підписування PKCS#11 з апаратним токеном, перевірка за списками довіри ЄС чи доступ через DLL, ActiveX або Dylib для викликів поза Delphi.

Порівнюєте всю родину? Перегляньте огляд PDF-бібліотек для розробників, щоб побачити пряме порівняння PDFium Delphi Component, losLab PDF Library та HotPDF Delphi Component.

Поширені запитання

PDFium Delphi Component — це лише тонка обгортка над DLL PDFium?

Ні. PDFium рендерить і читає; він не вміє підписувати документ, записувати шифрування, перевіряти відповідність стандарту PDF чи створювати лінеаризовані ревізії, потоки об'єктів або інкрементні ревізії. Понад 62 000 із приблизно 115 000 рядків Object Pascal у пакеті розміщені в модулях, що не мають відповідників в API PDFium, і реалізують саме ці рівні: підписування PAdES від B-B до B-LTA, суто Pascal-стек AES / SHA / ASN.1, шифрування PDF 2.0 AES-256, шість валідаторів стандартів ISO, власний серіалізатор PDF, XFDF, XMP, а також архітектуру переглядача, читача й доступності.

Який рушій використовує PDFium Delphi Component?

PDFium Delphi Component використовує PDFium — ту саму родину рушіїв з відкритим кодом, що стоїть за відображенням PDF у Chromium — для рендерингу сторінок і читання документів. Усе, чого рушій не надає, реалізовано losLab мовою Object Pascal: модель компонентів, рівень серіалізації та ревізій PDF, цифрові підписи, шифрування, перевірка стандартів, архітектура читача, рівень доступності, приклади й тести.

Чи може PDFium Delphi Component цифрово підписувати документи PDF?

Так. Він реалізує базові профілі PAdES B-B, B-T, B-LT і B-LTA з ETSI EN 319 142-1: побудову CMS / CAdES SignedData за RFC 5652, запити позначок часу RFC 3161 до TSA, збирання ланцюжка сертифікатів у Document Security Store та архівні позначки часу. Ключі підписування використовуються через бекенд Windows CNG з RSA-PSS, PKCS#1 або ECDSA. Сам PDFium уміє лише читати наявні словники підписів.

Чи може він шифрувати документи PDF?

Так. SaveAsEncrypted записує шифрування ISO 32000-2 AES-256, включно з виведенням хешу пароля R6 за алгоритмом 2.B, записами словника /O, /U, /OE, /UE та /Perms і повним шифруванням потоків і рядків. Підтримуються ISO/TS 32003 AES-GCM та токени ISO/TS 32004 PDF MAC. Примітиви AES, SHA-256/384/512, HMAC і ASN.1 написані суто мовою Object Pascal без зовнішньої залежності від C.

Чи підтримуються Lazarus і Free Pascal?

Так. Пакет містить файли пакетів Lazarus / Free Pascal і демонстрації LCL поряд із компонентами VCL для Delphi та C++Builder, охоплюючи Delphi і C++Builder від XE5 до 13.1 Florence з цілями Win32 і Win64.

Як швидко він відкриває дуже великі PDF?

Переглядач використовує доступ PDFium із позиціонуванням на вимогу замість повного завантаження наперед. У внутрішніх тестах зі зразковими файлами на 2.x ГБ перший перегляд ставав придатним до роботи ще до повного читання документа; фактичні результати залежать від сховища, структури документа та обладнання.

Чи може він створювати або редагувати PDF-документи?

Він охоплює складання документів: створення документів, додавання та видалення сторінок, імпорт діапазонів сторінок, переміщення сторінок, компонування N-up, водяні знаки, штампи та оновлення вмісту сторінок. Для інтенсивного програмного створення PDF краще підходять HotPDF Delphi Component або losLab PDF Library.

Чи обробляє він форми AcroForm і XFA?

Так. Він працює з полями AcroForm, фокусом у формах і виділеним текстом, скасуванням і поверненням дій, згенерованим виглядом, прапорцями полів і зведенням у плоский вигляд, виявляє стан XFA та може використовувати необов'язкові DLL середовища виконання з підтримкою V8 / XFA, коли ці можливості потрібні.

Які стандарти PDF він може перевіряти?

Шість родин стандартів, кожна з власним валідатором і відповідним помічником збереження чи вставляння маркерів: PDF/A (ISO 19005 частини 1-4, включно з A-4 base/f/e на основі PDF 2.0), PDF/X (ISO 15930, включно з X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, включно з пакуванням VT-2s у потоки MIME) і PDF/R (ISO 23504-1). Базова структура PAdES перевіряється окремо за ETSI EN 319 142-1. Звіти preflight експортуються у TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML і NDJSON. Валідатори охоплюють рівень маркерів і дедалі більший набір положень рівня файлу; поєднуйте їх зі спеціалізованим рушієм перевірки, коли потрібна формальна сертифікація.

Чи є роялті під час виконання або плата за користувача?

Ні. Ліцензовані застосунки розповсюджуються без роялті, без плати за документ чи за кінцевого користувача.

Що входить до ліцензії та як працює поновлення?

Нова ліцензія ($350 Single, $700 Small Business (до 10 розробників), $1050 Medium Business (до 30 розробників), $2100 Enterprise (одна компанія, одна країна), $4200 Corporate (одна компанія, весь світ)) містить вихідний код Object Pascal, рік оновлень і рік підтримки електронною поштою. Наявні клієнти поновлюють доступ до оновлень за 40% повної ціни.



Дізнайтеся більше про Delphi PDF Component та розробку електронних таблиць

Підпишіться на оновлення продуктів

Підпишіться, щоб отримувати останні оновлення на вашу електронну пошту.