JODConverter
Der in den Straßen gefundene Beispielcode hat den folgenden Ablauf. Wenn jedoch der folgende Prozess ausgeführt wird, wird LibreOffice als externer Prozess gestartet und beendet, sodass der Prozess einige Zeit in Anspruch nimmt. Beispielsweise ist es nicht als Prozess geeignet, der für jede Anforderung einer Webanwendung ausgeführt wird.
OfficeManager officeManager = LocalOfficeManager.make();
officeManager.start();
//・ ・ ・
//Formatkonvertierung (weggelassen)
//・ ・ ・
officeManager.stop();
Die offiziell empfohlene Methode besteht darin, einen einzelnen Office Manager zu starten (), wenn die Web-App gestartet wird, ihn für alle Anforderungen freizugeben und stop () zu beenden, wenn die Web-App endet. https://github.com/sbraconnier/jodconverter/wiki/Web-Application
ExternalOfficeManager kann so wie es ist effektiv sein.
ExternalOfficeManager (JODConverter Local 4.3.0 API) https://www.javadoc.io/static/org.jodconverter/jodconverter-local/4.3.0/org/jodconverter/local/office/ExternalOfficeManager.html
[1] Starten Sie LibreOffice, indem Sie das Argument wie folgt angeben.
soffice.exe -accept="socket,host=127.0.0.1,port=2002;urp;"
[2] Verwenden Sie beim Konvertieren des Formats ExternalOfficeManager, um eine Verbindung zum gestarteten LibreOffice herzustellen. Dieser Vorgang kann relativ schnell ausgeführt werden.
OfficeManager officeManager = ExternalOfficeManager.make();
officeManager.start();
//Unterlassung
officeManager.stop();
Wie in Javadoc beschrieben, startet JOD Converter LibreOffice jedoch nicht neu, selbst wenn LibreOffice abnormal beendet wird.
Since this implementation does not manage the Office process, it does not support auto-restarting the process if it exits unexpectedly.
Recommended Posts