数秒で動きます。
インストール1回。コード3行。
$ cargo add pdf_oxideuse pdf_oxide::PdfDocument;
let mut doc = PdfDocument::open("paper.pdf")?;
let text = doc.extract_text(0)?;
let images = doc.extract_images(0)?;ひとつのライブラリで。
作成|編集|抽出
すべてのPDF操作を単一の依存関係で実現。
ラッパーなし。サブプロセスなし。C/C++/Javaランタイム不要。
01
作成
あらゆるソース形式からPDFを生成。
- Markdown見出し、リスト、テーブル、コードブロック付きのMarkdownをピクセルパーフェクトなPDFに変換。
- HTMLHTMLマークアップをCSSレイアウト完全対応の構造化PDFドキュメントに変換。
- 画像PNG、JPEG、TIFFから自動サイズ調整で単一・複数ページのPDFを生成。
- QR & BarcodesCode128、EAN-13、UPC-A、QRコード。設定可能な誤り訂正レベル。
- Builder APIページサイズ、余白、フォント、メタデータ、ヘッダーをメソッドチェーンで設定するPdfBuilder API。
- フォームテキストフィールド、チェックボックス、ラジオボタン、ドロップダウン、スタンプ、ウォーターマーク。
02
編集
既存PDFのあらゆる部分を変更。
- DOM Editingテキスト検索、コンテンツ置換、スタイル変更 — WebページのようにPDFを操作。
- ページ回転、トリミング、ドキュメント結合、ページ範囲抽出、並べ替え。
- フォームフィールド値の取得・設定、フィールドの追加・削除、静的コンテンツへのフラット化。
- 注釈ハイライト、ノート、リンクの追加。選択的な変更・フラット化。
- 画像埋め込み画像の位置変更、リサイズ、座標指定での置換。
- セキュリティAES-256暗号化、パスワード、きめ細かな権限フラグ。
03
抽出
あらゆるPDFからすべてを抽出。
- テキストページ全体のテキスト、フォントメタデータ付きスタイルスパン、文字単位の位置情報。
- 画像コンテンツストリーム、ネストされたForm XObject、カラースペース付きインライン画像。
- Markdown見出し検出とテーブル保持付きのクリーンなMarkdownまたはHTML。
- フォームすべてのフィールド値と型。FDFまたはXFDFエクスポート。XFA分析。
- メタデータXMP、Dublin Core、ページラベル、カタログ、トレーラー辞書。
- 検索正規表現、大文字小文字無視、単語単位の全文検索。
あらゆる代替ライブラリの5倍高速。
3つの公開テストスイートの実データ3,830件でベンチマーク。
Node.js, Go, and C# share the same Rust core — expect matching numbers.
| ライブラリ | 言語 | 平均 | p99 | パス率 | ライセンス |
|---|---|---|---|---|---|
| PDF Oxide | 7 言語 | 0.8ms | 9ms | 100% | MIT |
| PyMuPDF | Python | 4.6ms | 28ms | 99.3% | AGPL-3.0 |
| oxidize_pdf | Rust | 13.5ms | 11ms | 99.1% | MIT |
| pypdfium2 | Python | 4.1ms | 42ms | 99.2% | Apache-2.0 |
| pdfminer | Python | 16.8ms | 124ms | 98.8% | MIT |
| pdfplumber | Python | 23.2ms | 189ms | 98.8% | MIT |
| pypdf | Python | 12.1ms | 97ms | 98.4% | BSD-3 |
| unpdf | Rust | 2.8ms | 10ms | 95.1% | MIT |
| pdf_extract | Rust | 4.08ms | 37ms | 91.5% | Apache-2.0 |
| lopdf | Rust | 0.3ms | 2ms | 80.2% | MIT |
3,830件のPDF(veraPDF、Mozilla pdf.js、DARPA SafeDocs)で計測。
シングルスレッド、ウォームアップなし、60秒タイムアウト。
信頼性100%。想定外ゼロ。
3つの独立した公開テストスイートの3,830件のPDFでテスト済み。
パニック、タイムアウト、クラッシュなし。
3,823
有効なPDF解析成功
失敗ゼロ
失敗ゼロ
99.5%
テキスト品質同等
対 PyMuPDF・pypdfium2
対 PyMuPDF・pypdfium2
7
意図的に壊れたPDF
正しく拒否
正しく拒否
コーパスはすべてのPDFバージョン(1.0–2.0)、暗号化ファイル、不正なドキュメント、CJKエンコーディング、脆弱なパーサーをクラッシュさせるよう設計されたDARPA SafeDocsセキュリティエッジケースをカバーしています。