Docstrange ist ein Open-Source-Tool zur Dokumentenverarbeitung, das sich auf die Extraktion von Daten aus Dokumenten und Bildern in verschiedenen Formaten und deren Umwandlung in Formate wie Markdown, JSON, CSV oder HTML konzentriert. Es nutzt künstliche Intelligenz und fortschrittliche OCR-Technologie, um die Verarbeitung von PDF, Word-Dokumenten, Excel-Tabellen, PowerPoint-Präsentationen, Bildern und Webinhalten zu unterstützen. Benutzer können schnell Text, Tabellen oder bestimmte Felder mit einfachem Code oder Befehlszeilenoperationen extrahieren, wodurch es für Entwickler, Forscher und Geschäftsanwender geeignet ist, die mit komplexen Dokumenten arbeiten. Das Tool unterstützt die Verarbeitung in der Cloud und lokal, garantiert den Datenschutz und die Ausgabe ist klar strukturiert, wodurch es sich besonders für die Verwendung mit Large Language Models (LLMs) eignet.Docstrange wird von NanoNets entwickelt, auf GitHub gehostet, ist kostenlos und einfach zu integrieren.
Funktionsliste
- Extrahieren Sie Text und Daten aus PDF, Word, Excel, PowerPoint, Bildern und Webseiten.
- Unterstützung für die Konvertierung extrahierter Inhalte in die Formate Markdown, JSON, CSV, HTML und reiner Text.
- Bietet eine intelligente Feldextraktion, die benutzerdefiniert werden kann, um spezifische Informationen wie Rechnungsnummern oder Vertragsbedingungen zu extrahieren.
- Unterstützt JSON-Schemadefinitionen und gibt Daten aus, die einer benutzerdefinierten Struktur entsprechen.
- Integrierte fortschrittliche OCR-Technologie zur Verarbeitung von Text in Bildern und gescannten Dokumenten.
- Ermöglicht die Extraktion von Tabellen, wobei die Struktur komplexer Tabellen erhalten bleibt und sie in Markdown oder HTML umgewandelt werden.
- Unterstützt lokale CPU- oder GPU-Verarbeitung zum Schutz des Datenschutzes.
- Bietet sowohl Befehlszeilen- als auch Python-API-Betrieb, geeignet für Entwickler zur Integration.
- Unterstützt die Stapelverarbeitung von mehreren Dateien, um die Arbeitseffizienz zu verbessern.
Hilfe verwenden
Einbauverfahren
Um Docstrange zu verwenden, müssen Sie zunächst die Python-Umgebung installieren (Python 3.8 oder höher wird empfohlen). Dann installieren Sie die Docstrange-Bibliothek, indem Sie die folgenden Schritte ausführen:
- Installation von Docstrange
Führen Sie den folgenden Befehl in einem Terminal aus, um Docstrange zu installieren:pip install docstrange
Nach der Installation kann der Benutzer das Tool über ein Python-Skript oder über die Befehlszeile aufrufen.
- API-Schlüssel abrufen (optional)
Wenn Sie den Cloud-Verarbeitungsmodus verwenden, können Sie sich auf der NanoNets-Website registrieren und einen kostenlosen API-Schlüssel erhalten, um das Verarbeitungslimit zu erhöhen. Nachdem Sie den Schlüssel erhalten haben, können Sie die Befehlszeile an den--api-key YOUR_API_KEY
Parameter angegeben ist. - Lokaler Verarbeitungsmodus (optional)
Wenn eine vollständig lokalisierte Verarbeitung erforderlich ist, installieren Sie eine Abhängigkeit, die native OCR unterstützt (z. B. Ollama). Führen Sie den folgenden Befehl aus, um die CPU- oder GPU-Verarbeitung zu aktivieren:docstrange document.pdf --cpu-mode
vielleicht
docstrange document.pdf --gpu-mode
Hinweis: Der GPU-Modus erfordert eine CUDA-unterstützte Hardwareumgebung.
Verwendung
Docstrange bietet zwei Möglichkeiten der Bedienung: die Python-API und die Kommandozeile. Im Folgenden wird detailliert beschrieben, wie die Kernfunktionalität genutzt werden kann.
Verwendung der Python-API
Die Python-API von Docstrange ist für Entwickler geeignet, um sie in bestehende Projekte zu integrieren. Hier ist ein Beispiel für das Extrahieren des Inhalts einer PDF-Datei:
from docstrange import DocumentExtractor
# 初始化提取器(默认云端模式)
extractor = DocumentExtractor()
# 提取 PDF 文件并转换为 Markdown
result = extractor.extract("document.pdf")
markdown = result.extract_markdown()
print(markdown)
# 提取特定字段
fields = result.extract_data(specified_fields=["invoice_number", "total_amount"])
print(fields)
# 使用 JSON 模式提取结构化数据
schema = {
"contract_number": "string",
"parties": ["string"],
"total_value": "number"
}
structured_data = result.extract_data(json_schema=schema)
print(structured_data)
Die Benutzer können das Ausgabeformat (Markdown, JSON, CSV, HTML) nach ihren Bedürfnissen wählen. [](https://github.com/NanoNets/docstrange)
Verwendung über die Befehlszeile
Befehlszeilenoperationen eignen sich für die schnelle Bearbeitung von Dateien. Im Folgenden sind einige gängige Befehle aufgeführt:
- Extrahieren von PDF-Dateien und Ausgabe in Markdown:
docstrange document.pdf --output markdown
- Extrahiert bestimmte Felder und gibt sie als JSON aus:
docstrange invoice.pdf --output json --extract-fields invoice_number total_amount
- Stapelverarbeitung von mehreren PDF-Dateien:
docstrange *.pdf --output markdown
- Speichern Sie die Ergebnisse in einer Datei:
docstrange document.pdf --output-file result.md
Die Befehlszeile unterstützt flexible Parameterkombinationen, und die Benutzer können das Ausgabeformat oder den Verarbeitungsmodus nach ihren Bedürfnissen festlegen.
Featured Function Bedienung
- Intelligente Feld-Extraktion
Mit Docstrange kann der Benutzer die zu extrahierenden Felder wie Rechnungsnummer, Betrag oder Vertragsdatum angeben. Zum Beispiel bei der Bearbeitung von Rechnungen:docstrange invoice.pdf --output json --extract-fields invoice_number vendor_name total_amount
Das Tool identifiziert automatisch die relevanten Felder im Dokument und gibt strukturierte JSON-Daten zurück. Dies ist ideal für Szenarien, in denen wichtige Informationen schnell extrahiert werden müssen.
- Formular-Extraktion
Bei Dokumenten, die komplexe Tabellen enthalten, kann Docstrange die Tabellen genau extrahieren und in das Markdown- oder HTML-Format konvertieren. Zum Beispiel:result = extractor.extract("financial_report.pdf") html_table = result.extract_html() print(html_table)
Das Ausgabeformular behält seine ursprüngliche Struktur bei und eignet sich für die direkte Verwendung in Webseiten oder die Bearbeitung von Dokumenten.
- lokaler Verarbeitungsmodus
Um den Datenschutz zu gewährleisten, können die Benutzer den lokalen Verarbeitungsmodus aktivieren:extractor = DocumentExtractor(cpu=True) result = extractor.extract("document.pdf") print(result.extract_markdown())
Im lokalen Modus müssen die Daten nicht in die Cloud übertragen werden und sind für die Verarbeitung sensibler Dokumente geeignet.
- Unterstützung des JSON-Schemas
Benutzer können JSON-Schemata definieren, um sicherzustellen, dass die Ausgabedaten einer bestimmten Struktur entsprechen. Zum Beispiel bei der Verarbeitung von Vertragsdokumenten:schema = { "contract_number": "string", "parties": ["string"], "total_value": "number", "start_date": "string" } structured_data = result.extract_data(json_schema=schema) print(structured_data)
Dieser Ansatz eignet sich für Datenausgabeszenarien, die eine Standardisierung erfordern.
caveat
- Der Cloud-Modus erfordert eine stabile Internetverbindung und es wird empfohlen, für eine schnellere Verarbeitung einen API-Schlüssel zu verwenden.
- Für den nativen Modus muss eine zusätzliche OCR-Abhängigkeit installiert werden, siehe die GitHub-Dokumentation für spezifische Anforderungen.
- Derzeit unterstützt das Tool nicht die Verarbeitung handschriftlicher Dokumente und ist für die Verarbeitung gedruckter oder elektronischer Dokumente geeignet.
Anwendungsszenario
- akademische Forschung
Forscher können mit Docstrange PDF-Dateien wissenschaftlicher Arbeiten in das Markdown-Format konvertieren, wobei die Tabellen- und Textstruktur für weitere Analysen oder den Import in eine Wissensdatenbank erhalten bleibt. - Finanzverwaltung
Geschäftsanwender können Schlüsselfelder (z. B. Betrag, Datum) aus Rechnungen, Quittungen oder Finanzberichten extrahieren und sie als JSON oder CSV exportieren, um sie einfach in Finanzsoftware zu importieren. - Rechtliche Dokumentation
Anwälte können schnell Schlüsselklauseln oder Unterschriftsinformationen aus Verträgen extrahieren, um strukturierte Daten zu generieren und den Prozess der Vertragsprüfung zu optimieren. - Datenanalyse
Datenanalysten können Tabellen aus Webseiten oder Excel-Dateien in das CSV-Format extrahieren, um Daten zu visualisieren oder Modelle für maschinelles Lernen zu trainieren.
QA
- Welche Dateiformate werden von Docstrange unterstützt?
Es unterstützt die Datenextraktion aus PDF, Word, Excel, PowerPoint, Bildern (PNG, JPG, etc.) und Webseiten-URLs. - Wie gewährleisten Sie den Datenschutz?
Die Benutzer können zwischen lokalen CPU- und GPU-Verarbeitungsmodi wählen, und die Daten werden nicht in die Cloud hochgeladen, so dass sich die Lösung auch für die Bearbeitung sensibler Dokumente eignet. - Muss ich für die Nutzung bezahlen?
Docstrange ist ein Open-Source-Tool und kann kostenlos genutzt werden. Der Cloud-Modus erfordert die Registrierung eines NanoNets-Kontos für API-Schlüssel, und kostenlose Konten haben Nutzungsbeschränkungen. - Können Sie handschriftliche Dokumente bearbeiten?
Derzeit unterstützt Docstrange hauptsächlich gedruckte oder elektronische Dokumente, wobei handschriftliche Dokumente nur begrenzt bearbeitet werden können.