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.
  [URL set in yml] / lool / convert-to / [extension of conversion destination] `` `application.yml
jodconverter:
  online:
    enabled: true
    url:[URL du serveur de conversion en ligne]
Ajoutez les paramètres suivants aux dépendances de build.gradle
compile 'org.jodconverter:jodconverter-spring-boot-starter:4.1.0'
Définissez la destination d'installation de LibreOffice dans application.yml
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;
  }
}
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