Skip to content

Introduction

@osaxyz/carboncopy は、複雑な要素を含むHTMLを正確にPDFにレンダリングするためのクライアントサイドライブラリです。

クイックスタート

typescript
import { convert } from "@osaxyz/carboncopy"

// HTML要素をPDFに変換
const element = document.getElementById("content")
const result = await convert(element)
result.download("document.pdf")

たった3行で、HTMLをPDFに変換できます。

特徴

  • HTML to PDF: HTML要素をそのままPDFに変換
  • 正確なレイアウト: getBoundingClientRect でブラウザの計算結果をそのまま使用
  • ベクター出力: テキストはベクターデータとして出力、検索・選択可能
  • 自動サイズ調整: HTML要素のサイズに合わせてPDFサイズを自動決定
  • 日本語対応: CIDフォント埋め込みによる完全な日本語サポート
  • 軽量: Puppeteer/Chromium不要、ブラウザのみで動作

なぜこのライブラリ?

既存のHTML→PDF変換ライブラリ(jsPDF + html2canvas等)には以下の問題がありました:

問題原因本ライブラリの解決策
サイズずれDPI変換の丸め誤差高精度な単位変換
ぼやけたテキストラスタライズベクター直接変換
検索不可画像化テキストデータ保持
日本語文字化けフォント非対応CIDフォント埋め込み

ユースケース

  • 請求書・見積書の生成
  • 帳票・レポートの出力
  • 印刷プレビュー
  • Webページの正確なPDF保存

次のステップ

Released under the MIT License.