Repolode
Lulzx

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. 1

    npmからパッケージをインストールする

    npm install tinypdf
  2. 2

    pdfをインポートし、ドキュメントを作成して、テキストと図形を含むページを追加し、ファイルを書き出す

  3. 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 の数値は毎日更新されます。

関連プロジェクト