Repolode
carlos7ags

carlos7ags/folio

Библиотека на Go для создания, редактирования и подписания PDF, конвертации HTML в PDF, работы с формами и штрихкодами, а также генерации PDF/A.

Open source альтернатива:Adobe Acrobat

Звёзды
873
Форки
57
Открытые issues
49
Последний коммит
позавчера

Что это?

Folio — библиотека для работы с PDF на Go. В ней есть движок компоновки абзацев, таблиц, списков, флекс-контейнеров и изображений. Она конвертирует HTML и CSS в PDF внутри процесса, без headless-браузера. Страницы можно создавать через Go API, а существующие PDF импортировать как шаблоны и заполнять динамическим содержимым.

Помимо создания документов, Folio читает и объединяет PDF, извлекает текст и безвозвратно удаляет его с помощью редактирования. Библиотека также создаёт поля AcroForm, добавляет цифровые подписи PAdES (B-B, B-T и B-LT) с поддержкой внешних подписантов, а также сохраняет документы в форматах PDF/A и PDF с тегами. Формирование текста поддерживает скрипты с письмом слева направо и справа налево, индийские и CJK-письменности. Среди поддерживаемых штрихкодов — Code128, QR и EAN-13.

В Folio входят CLI для объединения и анализа PDF, а также извлечения текста, и разделяемая библиотека C, предоставляющая доступ к функциям Folio из других языков через FFI.

Ключевые возможности

  • 01Движок компоновки с таблицами, списками, флекс-контейнерами, изображениями и переносом содержимого на следующую страницу.
  • 02Конвертация HTML и CSS в PDF внутри процесса.
  • 03Формирование текста для письменностей LTR, RTL, индийских и CJK.
  • 04Интерактивные поля AcroForm: текстовые поля, флажки, переключатели, выпадающие списки и поля подписи.
  • 05Цифровые подписи PAdES с поддержкой внешних подписантов, например HSM или KMS.
  • 06Редактирование текста с удалением содержимого из потоков содержимого PDF.
  • 07Генерация PDF/A и PDF с тегами, а также разделяемая библиотека C и CLI.

Сценарии использования

  • Создание счетов, отчётов и квитанций на стороне Go-бэкенда.
  • Заполнение существующих PDF-шаблонов, например бланков писем или сертификатов.
  • Создание архивных или доступных PDF, которым нужны формат PDF/A или теги.
  • Подписание PDF или удаление из них текста в конвейере обработки документов.

Быстрый старт

  1. 1

    Установите библиотеку

    go get github.com/carlos7ags/folio
  2. 2

    Создайте файл Go с примером Hello World из README, затем запустите его

    go run main.go

Что важно знать

  • Требуется Go 1.25 или новее.
  • Некоторые возможности HTML и CSS не поддерживаются; см. docs/CSS_SUPPORT.md.

Темы

Частые вопросы

Что такое folio?
Библиотека на Go для создания, редактирования и подписания PDF, конвертации HTML в PDF, работы с формами и штрихкодами, а также генерации PDF/A. Folio — библиотека для работы с PDF на Go. В ней есть движок компоновки абзацев, таблиц, списков, флекс-контейнеров и изображений. Она конвертирует HTML и CSS в PDF внутри процесса, без headless-браузера. Страницы можно создавать через Go API, а существующие PDF импортировать как шаблоны и заполнять динамическим содержимым.
folio можно использовать бесплатно? Какая у него лицензия?
folio распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
folio всё ещё поддерживается?
Активно поддерживается. Последний коммит в folio — 17 окт. 2026 г..
Для чего можно использовать folio?
Создание счетов, отчётов и квитанций на стороне Go-бэкенда. Заполнение существующих PDF-шаблонов, например бланков писем или сертификатов. Создание архивных или доступных PDF, которым нужны формат PDF/A или теги. Подписание PDF или удаление из них текста в конвейере обработки документов.
Как установить folio?
Установите библиотеку: go get github.com/carlos7ags/folio Создайте файл Go с примером Hello World из README, затем запустите его: go run main.go
Где скачать folio?
Исходный код и инструкции по установке — на GitHub: https://github.com/carlos7ags/folio

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты