PDF、Office文書、HTMLなどを構造化データに変換し、生成AIのパイプラインで活用できるオープンソースのドキュメントパーサー。
Lulzx/tinypdf
テキスト、四角形、線、JPEG画像、リンクを含むPDFを生成できる、依存関係ゼロの軽量なTypeScriptライブラリ。
- スター
- 1,923
- フォーク
- 76
- 未解決の Issue
- 0
- 最終コミット
- 2 か月前
これは何?
tinypdfは、TypeScriptとJavaScript向けの小さなPDF作成ライブラリです。依存関係はなく、コードは400行未満、サイズは約3.3 KBです。カスタムフォント、PNG/SVG、フォーム、暗号化、HTMLからPDFへの変換などはあえて対象外とし、ページへのテキストや画像の配置に特化しています。
コールバックベースのAPIでドキュメントを作成します。ページを作り、テキスト、四角形、線、JPEG画像、クリック可能なリンクを描画したら、build()を呼び出してUint8Arrayを取得するか、大きなファイルの場合はbuildStream()でReadableStreamを取得します。markdown()ヘルパーを使うと、見出し、リスト、水平線を含むシンプルなMarkdownをページ分割されたPDFに変換できます。また、measureText()はテキストの幅をポイント単位で返します。
レイアウトが固定され、Helveticaのテキストで十分な請求書、領収書、レポート、チケット、証明書の生成に適しています。Unicodeフォントやより複雑なPDF機能が必要な場合は、READMEでjsPDFまたはpdf-libが案内されています。
主な機能
- 01サイズ、16進カラー、配置を指定して、Helveticaでテキストを描画します。
- 02ページに塗りつぶしの四角形、線、JPEG画像を追加します。
- 03任意で下線を付けたクリック可能なリンクを作成します。
- 04サイズを指定した複数ページに対応します。
- 05シンプルなMarkdownをページ分割されたPDFに変換します。
- 06buildStream()で大きなドキュメントをストリーミング出力します。
ユースケース
- 固定レイアウトの請求書や領収書を生成する。
- ロゴや署名入りのイベントチケットや証明書を作成する。
- Node、Bun、またはサーバーサイドJavaScriptアプリからデータレポートをPDFとして出力する。
- 大きな依存関係を追加せずに、PDFをHTTPレスポンスとして配信する。
クイックスタート
- 1
npmからパッケージをインストールする
npm install tinypdf - 2
pdfをインポートし、ドキュメントを作成して、テキストと図形を含むページを追加し、ファイルを書き出す
- 3
Bunで任意のサンプルを実行する
bun examples/executive-report.ts
使う前に知っておきたいこと
- テキストには組み込みのHelveticaフォントとWinAnsiエンコーディングのみ使用できます。Unicodeやカスタムフォントには対応していません。
- 画像はJPEGのみ対応しています。PNG、GIF、SVGには対応していません。
- フォーム、暗号化、圧縮、HTMLからPDFへの変換などの機能は含まれていません。
トピック
よくある質問
- tinypdf とは?
- テキスト、四角形、線、JPEG画像、リンクを含むPDFを生成できる、依存関係ゼロの軽量なTypeScriptライブラリ。 tinypdfは、TypeScriptとJavaScript向けの小さなPDF作成ライブラリです。依存関係はなく、コードは400行未満、サイズは約3.3 KBです。カスタムフォント、PNG/SVG、フォーム、暗号化、HTMLからPDFへの変換などはあえて対象外とし、ページへのテキストや画像の配置に特化しています。
- tinypdf は無料で使えますか?ライセンスは?
- tinypdf は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- tinypdf は今もメンテナンスされていますか?
- 半年以内に更新あり。tinypdf の最終コミットは 2026年8月13日 です。
- tinypdf は何に使えますか?
- 固定レイアウトの請求書や領収書を生成する。 ロゴや署名入りのイベントチケットや証明書を作成する。 Node、Bun、またはサーバーサイドJavaScriptアプリからデータレポートをPDFとして出力する。 大きな依存関係を追加せずに、PDFをHTTPレスポンスとして配信する。
- tinypdf のインストール方法は?
- npmからパッケージをインストールする: npm install tinypdf pdfをインポートし、ドキュメントを作成して、テキストと図形を含むページを追加し、ファイルを書き出す Bunで任意のサンプルを実行する: bun examples/executive-report.ts
- tinypdf はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Lulzx/tinypdf
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ライブPDFプレビュー、応募管理、AIアシスタント、セルフホストに対応した、無料のオープンソース履歴書ビルダー。
PDFなどのドキュメントをMarkdown、JSON、チャンク、HTMLに変換し、オプションでLLMを使って精度を高められます。
PDFをMarkdown、バウンディングボックス付きJSON、HTMLに変換し、AIパイプラインで活用できるオープンソースPDFパーサー。タグなしPDFの自動タグ付けにも対応。
PDFがテキストベースかスキャン画像かを判定し、テキストベースのPDFをOCRなしでクリーンなMarkdownに変換するRustライブラリおよびCLI。
DocuSignに代わるセルフホスト可能なオープンソースの文書署名プラットフォーム。PDF署名を基盤としています。