Minimal zero-dependency TypeScript library for generating real PDF files with text, rectangles, lines, JPEG images and links.
carlos7ags/folio
HTMLからの変換やレイアウトエンジン、フォーム、バーコード、PDF/A出力に対応した、PDFの生成・編集・署名用Goライブラリ。
代替できる製品:Adobe Acrobat
- スター
- 873
- フォーク
- 57
- 未解決の Issue
- 49
- 最終コミット
- 一昨日
これは何?
FolioはGo向けのPDFライブラリです。段落、表、リスト、フレックスコンテナ、画像に対応したレイアウトエンジンを備え、ヘッドレスブラウザを使わずに、プロセス内でHTMLとCSSをPDFに変換できます。Go APIでページを作成できるほか、既存のPDFをテンプレートとして取り込み、動的なコンテンツを追加できます。
PDFの生成だけでなく、読み込みや結合、テキストの抽出、墨消しによるテキストの完全な削除にも対応しています。また、AcroFormフィールドの作成、外部署名者に対応したPAdES電子署名(B-B、B-T、B-LT)の追加、PDF/Aおよびタグ付きPDFの出力も可能です。テキスト整形は、左から右、右から左、インド系文字、CJKの各スクリプトに対応しています。バーコードはCode128、QR、EAN-13を利用できます。
Folioには、PDFの結合、検査、テキスト抽出を行うCLIと、FFI経由で他の言語から機能を利用できるC共有ライブラリが付属しています。
主な機能
- 01表、リスト、フレックスコンテナ、画像に対応し、改ページ時の分割も可能なレイアウトエンジン。
- 02プロセス内で実行できる、HTMLとCSSからPDFへの変換。
- 03LTR、RTL、インド系文字、CJKの各スクリプトに対応したテキスト整形。
- 04テキスト、チェックボックス、ラジオボタン、ドロップダウン、署名などのインタラクティブなAcroFormフィールド。
- 05HSMやKMSなどの外部署名者に対応したPAdES電子署名。
- 06コンテンツストリームからテキストを削除する、テキストベースの墨消し。
- 07PDF/Aおよびタグ付きPDFの出力に加え、C共有ライブラリとCLIを提供。
ユースケース
- Goバックエンドから請求書、レポート、領収書を生成する。
- レターヘッドや証明書など、既存のPDFテンプレートに情報を入力する。
- PDF/Aやタグ付き出力が必要な、長期保存用またはアクセシブルなPDFを作成する。
- ドキュメント処理パイプラインでPDFに署名したり、墨消ししたりする。
クイックスタート
- 1
ライブラリをインストールする
go get github.com/carlos7ags/folio - 2
README の Hello World の例を使って Go ファイルを作成し、実行する
go run main.go
使う前に知っておきたいこと
- Go 1.25 以降が必要です。
- 一部の HTML と CSS の機能には対応していません。docs/CSS_SUPPORT.md を参照してください。
トピック
よくある質問
- folio とは?
- HTMLからの変換やレイアウトエンジン、フォーム、バーコード、PDF/A出力に対応した、PDFの生成・編集・署名用Goライブラリ。 FolioはGo向けのPDFライブラリです。段落、表、リスト、フレックスコンテナ、画像に対応したレイアウトエンジンを備え、ヘッドレスブラウザを使わずに、プロセス内でHTMLとCSSをPDFに変換できます。Go APIでページを作成できるほか、既存のPDFをテンプレートとして取り込み、動的なコンテンツを追加できます。
- folio は無料で使えますか?ライセンスは?
- folio は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- folio は今もメンテナンスされていますか?
- 活発にメンテナンス中。folio の最終コミットは 2026年10月17日 です。
- folio は何に使えますか?
- Goバックエンドから請求書、レポート、領収書を生成する。 レターヘッドや証明書など、既存のPDFテンプレートに情報を入力する。 PDF/Aやタグ付き出力が必要な、長期保存用またはアクセシブルなPDFを作成する。 ドキュメント処理パイプラインでPDFに署名したり、墨消ししたりする。
- folio のインストール方法は?
- ライブラリをインストールする: go get github.com/carlos7ags/folio README の Hello World の例を使って Go ファイルを作成し、実行する: go run main.go
- folio はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/carlos7ags/folio
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PDFフォームの作成・入力と、オンラインでの電子署名収集に対応したセルフホスト型のオープンソースプラットフォーム。
~/.ssh/configに定義されたSSHホストの閲覧、接続、管理を行うターミナルTUI。
コマンド1つでローカルHTTPサーバーを公開HTTPS URLにできる、オープンソースのngrok代替ツール。
セッションやウィンドウ、ペイン、コマンドを保存し、TUIのピッカーから必要なものを復元できるGo製tmux CLI。