JODConverter
--Une bibliothèque qui convertit le format des fichiers Office en utilisant Apache OpenOffice ou LibreOffice --Diverses conversions telles que Excel → PDF sont possibles
L'exemple de code trouvé dans les rues a le flux suivant. Cependant, lorsque le processus suivant est exécuté, LibreOffice est démarré et terminé en tant que processus externe, le processus prend donc du temps. Par exemple, il n'est pas approprié comme processus à exécuter pour chaque requête d'une application Web.
OfficeManager officeManager = LocalOfficeManager.make();
officeManager.start();
//・ ・ ・
//Conversion de format (omis)
//・ ・ ・
officeManager.stop();
La méthode officiellement recommandée consiste à démarrer () un seul Office Manager au démarrage de l'application Web, à le partager avec toutes les demandes et à stop () à la fin de l'application Web. https://github.com/sbraconnier/jodconverter/wiki/Web-Application
ExternalOfficeManager peut être efficace tel quel.
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] Démarrez LibreOffice en spécifiant l'argument comme suit.
soffice.exe -accept="socket,host=127.0.0.1,port=2002;urp;"
[2] Lors de la conversion du format, utilisez ExternalOfficeManager pour vous connecter au LibreOffice démarré. Ce processus peut être exécuté assez rapidement.
OfficeManager officeManager = ExternalOfficeManager.make();
officeManager.start();
//Omission
officeManager.stop();
Cependant, comme décrit dans Javadoc, JOD Converter ne redémarre pas LibreOffice même si LibreOffice se termine anormalement.
Since this implementation does not manage the Office process, it does not support auto-restarting the process if it exits unexpectedly.