В 5 раз быстрее лидеров отрасли

Самая быстрая PDF-библиотека

Для Rust, Python, JavaScript, TypeScript, Golang, C# и WASM

0.8ms
Среднее на PDF
100%
Успех
3,830
PDF протестировано
5.1×
Быстрее №2
НачатьОткрыть на GitHub

Готово за секунды.

Одна установка. Три строки кода.

$ cargo add pdf_oxide
use pdf_oxide::PdfDocument; let mut doc = PdfDocument::open("paper.pdf")?; let text = doc.extract_text(0)?; let images = doc.extract_images(0)?;

Одна библиотека.
Создание|Редактирование|Извлечение

Все операции с PDF в одной зависимости.
Без обёрток, без вызовов подпроцессов, без рантаймов C/C++/Java.

01

Создание

Создание PDF из любого формата.

  • Markdown
    Конвертация Markdown в пиксельно-точные PDF с заголовками, списками, таблицами и блоками кода.
  • HTML
    Преобразование HTML-разметки в структурированные PDF-документы с полной поддержкой CSS-макетов.
  • Изображения
    Одно- и многостраничные PDF из PNG, JPEG и TIFF с автоподбором размера.
  • QR & Barcodes
    Code128, EAN-13, UPC-A и QR-коды с настраиваемым уровнем коррекции ошибок.
  • Builder API
    Fluent-цепочка PdfBuilder для размера страницы, полей, шрифтов, метаданных и заголовков.
  • Формы
    Текстовые поля, чекбоксы, радиокнопки, выпадающие списки, штампы и водяные знаки.
02

Редактирование

Изменение любой части существующего PDF.

  • DOM Editing
    Поиск текста, замена содержимого, изменение стилей — навигация по PDF как по веб-странице.
  • Страницы
    Поворот, обрезка, объединение документов, извлечение диапазонов страниц и переупорядочивание.
  • Формы
    Получение и установка значений полей, добавление или удаление полей, сведение в статический контент.
  • Аннотации
    Добавление выделений, заметок и ссылок. Выборочное изменение или сведение.
  • Изображения
    Перемещение, изменение размера и замена встроенных изображений с точными границами.
  • Безопасность
    Шифрование AES-256, пароли и детальные флаги разрешений.
03

Извлечение

Извлечение всего из любого PDF.

  • Текст
    Полностраничный текст, стилизованные фрагменты с метаданными шрифтов или посимвольные позиции.
  • Изображения
    Потоки содержимого, вложенные Form XObject и инлайн-изображения с цветовыми пространствами.
  • Markdown
    Чистый Markdown или HTML с определением заголовков и сохранением таблиц.
  • Формы
    Все значения и типы полей. Экспорт в FDF или XFDF. Анализ XFA.
  • Метаданные
    XMP, Dublin Core, метки страниц, каталог и словари трейлеров.
  • Поиск
    Полнотекстовый поиск с регулярными выражениями, без учёта регистра и по целым словам.

В 5 раз быстрее любой альтернативы.

Замерено на 3 830 реальных PDF из 3 публичных тестовых наборов.

Node.js, Go, and C# share the same Rust core — expect matching numbers.

БиблиотекаЯзыкСреднееp99УспешностьЛицензия
PDF Oxide7 языков0.8ms9ms100%MIT
PyMuPDFPython4.6ms28ms99.3%AGPL-3.0
oxidize_pdfRust13.5ms11ms99.1%MIT
pypdfium2Python4.1ms42ms99.2%Apache-2.0
pdfminerPython16.8ms124ms98.8%MIT
pdfplumberPython23.2ms189ms98.8%MIT
pypdfPython12.1ms97ms98.4%BSD-3
unpdfRust2.8ms10ms95.1%MIT
pdf_extractRust4.08ms37ms91.5%Apache-2.0
lopdfRust0.3ms2ms80.2%MIT

Измерено на 3 830 PDF (veraPDF, Mozilla pdf.js, DARPA SafeDocs).
Один поток, без прогрева, таймаут 60 с.

100% надёжность. Без сюрпризов.

Протестировано на 3 830 PDF из трёх независимых публичных тестовых наборов.
Никаких паник, таймаутов и падений.

3 823
валидных PDF разобрано
без единого сбоя
99,5%
сопоставимое качество текста
vs PyMuPDF и pypdfium2
7
повреждённых PDF
корректно отклонены

Корпус охватывает все версии PDF (1.0–2.0), зашифрованные файлы, повреждённые документы, кодировки CJK и краевые кейсы безопасности DARPA SafeDocs, спроектированные для обрушения уязвимых парсеров.

Начните работу.

Бесплатно для коммерческих и open-source проектов.

Документация