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