In Sekunden startklar.
Eine Installation. Drei Zeilen Code.
$ 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)?;Eine Bibliothek.
Erstellen|Bearbeiten|Extrahieren
Alle PDF-Operationen in einer einzigen Abhängigkeit.
Keine Wrapper, keine Subprozess-Aufrufe, keine C/C++/Java-Laufzeiten.
Erstellen
PDFs aus jedem Quellformat erstellen.
- MarkdownMarkdown pixelgenau in PDFs konvertieren — mit Überschriften, Listen, Tabellen und Codeblöcken.
- HTMLHTML-Markup in strukturierte PDF-Dokumente mit vollständiger CSS-Layout-Unterstützung umwandeln.
- BilderEin- oder mehrseitige PDFs aus PNG, JPEG und TIFF mit automatischer Größenanpassung.
- QR & BarcodesCode128, EAN-13, UPC-A und QR-Codes mit konfigurierbarer Fehlerkorrektur.
- Builder APIFluente PdfBuilder-Kette für Seitengröße, Ränder, Schriftarten, Metadaten und Kopfzeilen.
- FormulareTextfelder, Checkboxen, Radiobuttons, Dropdowns, Stempel und Wasserzeichen.
Bearbeiten
Jeden Teil eines bestehenden PDFs ändern.
- DOM-BearbeitungText suchen, Inhalte ersetzen, Stile ändern — durch das PDF navigieren wie durch eine Webseite.
- SeitenDrehen, Zuschneiden, Dokumente zusammenführen, Seitenbereiche extrahieren und neu ordnen.
- FormulareFeldwerte lesen und setzen, Felder hinzufügen oder entfernen, zu statischem Inhalt reduzieren.
- AnnotationenHervorhebungen, Notizen und Links hinzufügen. Selektiv ändern oder reduzieren.
- BilderEingebettete Bilder repositionieren, skalieren und mit exakten Grenzen ersetzen.
- SicherheitAES-256-Verschlüsselung, Passwörter und detaillierte Berechtigungs-Flags.
Extrahieren
Alles aus jedem PDF extrahieren.
- TextGanzseitiger Text, stilisierte Spans mit Schrift-Metadaten oder zeichenweise Positionen.
- BilderContent-Streams, verschachtelte Form-XObjects und Inline-Bilder mit Farbräumen.
- MarkdownSauberes Markdown oder HTML mit Überschriftenerkennung und Tabellenerhaltung.
- FormulareAlle Feldwerte und -typen. Export nach FDF oder XFDF. XFA-Analyse.
- MetadatenXMP, Dublin Core, Seitenlabels, Katalog- und Trailer-Dictionaries.
- SucheVolltextsuche mit Regex, Groß-/Kleinschreibung ignorierend und Ganzes-Wort-Modus.
5× schneller als jede Alternative.
Benchmark mit 3.830 realen PDFs aus 3 öffentlichen Test-Suites.
Node.js, Go, and C# share the same Rust core — expect matching numbers.
| Bibliothek | Sprache | Durchschnitt | p99 | Erfolgsrate | Lizenz |
|---|---|---|---|---|---|
| PDF Oxide | 7 Sprachen | 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 |
Gemessen an 3.830 PDFs (veraPDF, Mozilla pdf.js, DARPA SafeDocs).
Einzelner Thread, kein Aufwärmen, 60s Timeout.
100% zuverlässig. Keine Überraschungen.
Getestet an 3.830 PDFs aus drei unabhängigen öffentlichen Test-Suites.
Keine Panics, keine Timeouts, keine Abstürze.
ohne einen einzigen Fehler
gegenüber PyMuPDF & pypdfium2
korrekt abgelehnt
Das Corpus umfasst alle PDF-Versionen (1.0–2.0), verschlüsselte Dateien, fehlerhafte Dokumente, CJK-Kodierungen und DARPA-SafeDocs-Sicherheits-Grenzfälle, die darauf ausgelegt sind, anfällige Parser zum Absturz zu bringen.