JODConverter (für Java OpenDocument Converter) ist ein weitverbreitetes Werkzeug, das Dokumentenkonvertierung automatisiert. unoconv ist ein Python-Tool mit einem ähnlichen Zweck. Lesen Sie hier Details darüber, warum Sie einen Wechsel zum Collabora Online Backend von JODConverter in Betracht ziehen sollten oder kommunizieren Sie direkt mit Collabora Online.
Zu den von diesen Tools unterstützten Formaten gehören OpenDocument, PDF, HTML, Microsoft Office-Formate (DOC/DOCX/RTF, XLS/XLSX, PPT/PPTX) und viele mehr. Sie können als Java/Python-Bibliothek, als Kommandozeilenwerkzeug oder als Webanwendung verwendet werden. Neuere Versionen haben ein JODConverter-Backend, das Collabora Online direkt anstelle von LibreOffice verwendet.
Was sind die Vorteile der Verwendung von Collabora Online für die Dokumentkonvertierung?
- Verbesserte Leistung im Vergleich zum “Start-up Convert Shutdown”-Ansatz
- Die REST-API ist zuverlässiger als das Starten von LibreOffice im Server-Modus und die Kommunikation über Remote-UNO
- Sicherer, weil die Konvertierung in einer isolierten Umgebung erfolgt und dieser mehrschichtige Ansatz Ihre Infrastruktur (von äußeren zu inneren Ebenen) schützt:
- Läuft unkompliziert in einer Virtuellen Maschine oder einem Docker-Container
- Isolation der Dokumentendaten in per Dokument chroots
- Seccomp-bpf: innerhalb dieses chroot sind (fast) keine Systemaufrufe erlaubt
- Sehr schlankes Dateisystem innerhalb des chroot: keine Shell etc.
VorteileJODConverterunoconvCollabora Online
Viele Dateiformate | Ja | Ja | Ja |
Einmalige Einrichtungskosten | Nein | Nein | Ja |
Standard REST-API | Nein | Nein | Ja |
Unkomplizierte Isolation in VM / Docker | Nein | Nein | Ja |
Dokument-Isolation | Nein | Nein | Ja |
Syscall Filter | Nein | Nein | Ja |
Schlankes Dateisystem | Nein | Nein | Ja |
Das bedeutet, dass Sie die Konvertierung von Dokumenten mit Collabora Online sowohl eine verbesserte Leistung als auch eine höhere Sicherheit bietet.
Leistung
Das erste Diagramm zeigt, wie Collabora Online im Vergleich zum LibreOffice Backend und unoconv von JODConverter abschneidet, wenn wir das Threading betrachten und die Anzahl der innerhalb einer Sekunde konvertierten Dokumente messen:
Möchten Sie CODE ausprobieren und einrichten?
Sie können sehen, dass Collabora Online nicht nur eine bessere Anfangsleistung hat, sondern auch besser skaliert, je mehr Threads Sie verwenden. (Wir vergleichen Curl-Aufrufe für Collabora Online mit Java-Kommandozeilenaufrufen von JODConverter und Python-Kommandozeilenaufrufen von unoconv.)
Building
Wenn Sie JODConverter mit seinem Collabora Online Backend ausprobieren möchten:
Git Clone https://github.com/sbraconnier/jodconverter cd jodconverter sh gradlew build -x integTest distZip cd build/distributions unzip jodconverter-cli-*.zip cd jodconverter-cli-*/
Starten
- Beispiel:
bin/jodconverter-cli -c https://localhost:9980/ -f pdf README.txt
- Das Input-Format wird automatisch erkannt, -f definiert das Output-Format.
- Die URL ist Ihre Collabora Online Server-URL, es ist der https:// Wert von der Installationsanweisung.
Die Collabora Online REST-API direkt verwenden
- Falls Sie nicht bereits JODConverter verwenden, können Sie z. B. direkt die REST-API verwenden:
curl -F "data=@test.txt" https://localhost:9980/lool/convert-to/pdf > out.pdf
curl -F "data=@test.txt" https://localhost:9980/lool/convert-to/png > out.png
- Alternativ können Sie die HTML-Formulare verwenden, um z. B. das Format festzulegen:
curl -F "data=@test.txt" -F "format=pdf" https://localhost:9980/lool/convert-to > out.pdf
Unterstützte Formate
Unterstützte Eingabeformate:
Dokumente | Input formats |
---|---|
Writer Dokumente | sxw (betrachten), odt and fodt (bearbeiten) |
Calc Dokumente | sxc (view), ods and fods (edit) |
Impress Dokumente | sxi (betrachten), odp and fodp (bearbeiten) |
Draw Dokumente | sxd (view), odg und fodg (edit) |
Diagramm-Dokumente | odc (bearbeiten) |
Text Master-Dokumente | sxg (betrachten), odm (bearbeiten) |
Text Vorlagen-Dokumente | stw (betrachten), ott (bearbeiten) |
Writer Master-Dokument Vorlagen | otm (bearbeiten) |
Tabellenkalkulationsvorlagen-Dokumente | stc (betrachten), ots (bearbeiten) |
Präsentationsvorlagen-Dokumente | sti (betrachten), otp (bearbeiten) |
Zeichnungsvorlagen-Dokumente | std (betrachten), otg (bearbeiten) |
Base Dokumente | odb (bearbeiten) |
Erweiterungen | oxt (bearbeiten) |
MS Word | doc and dot (bearbeiten) |
MS Excel | xls (bearbeiten) |
MS PowerPoint | ppt (bearbeiten) |
OOXML Textverarbeitung | docx und docm (bearbeiten), dotx und dotm (betrachten) |
OOXML Tabellenkalkulation | xltx and xltm (betrachten), xlsx and xlsb and xlsm (bearbeiten) |
OOXML Päsentation | pptx, pptm, potx, potm (bearbeiten) |
Andere | wpd, pdb, hwp, wps, wri, wk1, cgm, dxf, emf, wmf, cdr, vsd, pub, vss, lrf, gnumeric, mw, numbers, p65, pdf, jpg, jpeg, gif, png, etc (betrachten) |
Andere | dif, slk, csv, dbf, oth, rtf, txt, etc (bearbeiten) |
Unterstützte Ausgabeformate für Writer/Calc/Impress:
Dokumente | Ausgabeformate |
---|---|
Writer | doc for MS Word 97, docm for MS Word 2007 XML VBA, docx for MS Word 2007 XML, fodt for OpenDocument Text Flat XML, html for HTML (StarWriter), odt for writer8, ott for writer8_template, pdf for writer_pdf_Export, rtf for Rich Text Format, txt for Text, xhtml for XHTML Writer File, png for writer_png_Export |
Calc | csv for Text – txt – csv (StarCalc), fods for OpenDocument Spreadsheet Flat XML, html for HTML (StarCalc), ods for calc8, ots for calc8_template, pdf for calc_pdf_Export, xhtml for XHTML Calc File, xls for MS Excel 97, xlsm for Calc MS Excel 2007 VBA XML, xlsx for Calc MS Excel 2007 XML, png for calc_png_Export |
Impress | fodp for OpenDocument Presentation Flat XML, html for impress_html_Export, odg for impress8_draw, odp for impress8, otp for impress8_template, pdf for impress_pdf_Export, potm for Impress MS PowerPoint 2007 XML Template, pot for MS PowerPoint 97 Vorlage, pptm for Impress MS PowerPoint 2007 XML VBA, pptx for Impress MS PowerPoint 2007 XML, pps for MS PowerPoint 97 Autoplay, ppt for MS PowerPoint 97, svg for impress_svg_Export, swf for impress_flash_Export, xhtml for XHTML Impress File, png for impress_png_Export |
Draw | fodg for draw_ODG_FlatXML, html for draw_html_Export, odg for draw8, pdf for draw_pdf_Export, svg for draw_svg_Export, swf for draw_flash_Export, xhtml for XHTML Draw File, png for draw_png_Export |
Vertrauen in das lokale Online-HTTP-Zertifikat von Java
Dies ist nur erforderlich, wenn Sie ein selbstsigniertes Zertifikat für Ihre Online-Installation besitzen.
- Das Zertifikat erhalten:
openssl s_client -connect localhost:9980 2>&1 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
- Fügen Sie es in eine als certfile.txt benannte Datei ein.
- Importieren Sie es in den Java Schlüsselspeicher (Das Default-Passwort lautet changeit):
keytool -importcert -keystore $JAVA_HOME/jre/lib/security/cacerts -alias mycert -file certfile.txt
Abhängig vom Wert von $JAVA_HOME müssen Sie möglicherweise das Keytool mit Root-/ Administrator Rechten ausführen.
Fazit
- Nutzen Sie JODConverter bereits? – ziehen Sie in Betracht, auf das sicherere Backend von Collabora Online umzusteigen.
- Nutzen Sie Collabora Online via JodConverter oder unoconv? – Ziehen Sie einen Wechsel zu unserer unkomplizierten REST Konvertierungs-API in Betracht (Java Beispiel-Code, Python Beispiel-Code).
- Benutzen Sie ein anderes Werkzeug? – Prüfen Sie, ob eine Standardlösung von Collabora Online Ihren Leistungs- und Konvertierungsanforderungen entspricht.