[JAVA] J'ai essayé d'utiliser OnlineConverter avec SpringBoot + JODConverter

Aperçu

Un mémo lors de l'utilisation de jodConverter avec OnlineConverter. Depuis que SpringBoot a été utilisé, il est implémenté à l'aide de JODConverter Spring Boot Starter.

environnement

Implémentation de l'appelant OnlineConverter

application.yml


jodconverter:
  online:
    enabled: true
    url:[URL du serveur de conversion en ligne]

Implémentation du serveur Online Converter

application.yml


jodconverter:
  enabled: true
  officeHome:[Destination d'installation LibreOffice]
@RestController
public class SampleController {
  @Autowired
  private DocumentConverter documentConverter;

  @RequestMapping(path = "/api/jodconverter/lool/convert-to/{outputExtension}", method = RequestMethod.POST)
  public Resource convert(
      @RequestParam("data") MultipartFile file,
      @PathVariable("outputExtension") String outputExtension
  ) throws IOException, OfficeException {
    //Obtenez des informations sur le fichier avant la conversion
    String inputExtension = FilenameUtils.getExtension(file.getOriginalFilename());
    DocumentFormatRegistry registry = this.documentConverter.getFormatRegistry();
    DocumentFormat inputFormat = registry.getFormatByExtension(inputExtension);
    if (inputFormat == null) {
      inputFormat = registry.getFormatByExtension("xlsx");
    }

    //Paramètre d'extension post-conversion
    DocumentFormat outputFormat = registry.getFormatByExtension(outputExtension);

    //Processus de conversion
    try (
        InputStream is = file.getInputStream();
        ByteArrayOutputStream os = new ByteArrayOutputStream();
    ) {
      this.documentConverter.convert(is).as(inputFormat).to(os).as(outputFormat).execute();
      return new ByteArrayResource(os.toByteArray());
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
}

Résumé

Je n'ai jamais eu l'occasion d'utiliser OnlineConverter auparavant, j'ai donc appris à l'utiliser.

Cependant, LocalConverter est plus facile à installer car il n'y a pas d'implémentation de serveur lors de l'utilisation d'OnlineConverter. Je me demande si je vais l'utiliser à moins qu'il n'y ait une bonne raison. .. ..

Recommended Posts

J'ai essayé d'utiliser OnlineConverter avec SpringBoot + JODConverter
J'ai essayé d'utiliser JOOQ avec Gradle
J'ai essayé d'utiliser Realm avec Swift UI
J'ai essayé d'utiliser Scalar DL avec Docker
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser TestNG
J'ai essayé d'utiliser Galasa
J'ai fait un blackjack avec Ruby (j'ai essayé d'utiliser minitest)
J'ai essayé DI avec Ruby
J'ai essayé d'utiliser azure cloud-init
J'ai essayé d'utiliser Apache Wicket
J'ai essayé d'utiliser Java REPL
J'ai essayé UPSERT avec PostgreSQL.
J'ai essayé BIND avec Docker
J'ai essayé de démarrer avec Swagger en utilisant Spring Boot
J'ai essayé d'utiliser la bibliothèque CameraX avec Android Java Fragment
J'ai essayé d'utiliser anakia + Jing maintenant
J'ai essayé le didacticiel Angular + SpringBoot + PostgreSQL
J'ai essayé d'utiliser Spring + Mybatis + DbUnit
J'ai essayé l'analyse morphologique avec MeCab
J'ai essayé d'interagir avec Java
J'ai essayé d'utiliser l'API Java8 Stream
J'ai essayé d'utiliser JWT en Java
J'ai essayé GraphQL avec Spring Boot
[Android] J'ai essayé d'utiliser la disposition du coordinateur.
J'ai essayé Flyway avec Spring Boot
J'ai essayé d'utiliser le conteneur Pari gp
J'ai essayé d'utiliser WebAssembly Stadio (version 2018/4/17)
J'ai essayé de personnaliser Slim avec Scaffold
J'ai essayé d'utiliser le mémo Java LocalDate
J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé de me connecter à MySQL en utilisant le modèle JDBC avec Spring MVC
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé d'utiliser l'outil de diagnostic Java Arthas
J'ai essayé d'utiliser UICollectionViewListCell ajouté à partir de Xcode12.
J'ai essayé de démarrer avec Web Assembly
J'ai essayé l'apprentissage de la gestion qui fait gagner du temps avec Studyplus.
C'est nouveau, mais j'ai essayé d'utiliser Groonga
J'ai essayé de jouer un peu avec BottomNavigationView ①
J'ai essayé l'initialisation paresseuse avec Spring Boot 2.2.0
Utiliser SSIServlet avec Tomcat intégré SpringBoot 2.2.4
01. J'ai essayé de créer un environnement avec SpringBoot + IntelliJ + MySQL (MyBatis) (Windows 10)
J'ai essayé d'utiliser Junit avec Mac VScode Maven
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
J'ai essayé de faire une authentification de base avec Java
J'ai essayé de gérer la configuration des jambes de force avec Coggle
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse
J'ai essayé de gérer les informations de connexion avec JMX
[Android] J'ai quitté SQLite et essayé d'utiliser Realm
[Java] J'ai essayé de me connecter en utilisant le pool de connexion avec Servlet (tomcat) & MySQL & Java
J'ai essayé Spring.
[API] J'ai essayé d'utiliser l'API de recherche par code postal
J'ai essayé de mettre Tomcat
J'ai essayé Eclipse MicroProfile OpenAPI avec WildFly Swarm
J'ai essayé youtubeDataApi.
J'ai essayé de refactoriser ①