Ein Memo bei Verwendung von jodConverter mit OnlineConverter. Da SpringBoot verwendet wurde, wird es mit JODConverter Spring Boot Starter implementiert.
`[URL in yml festgelegt] / lool / convert-to / [Konvertierungszielerweiterung]`
gesendetapplication.yml
jodconverter:
online:
enabled: true
url:[Online Converter Server URL]
Fügen Sie den Abhängigkeiten von build.gradle die folgenden Einstellungen hinzu
compile 'org.jodconverter:jodconverter-spring-boot-starter:4.1.0'
Legen Sie das Installationsziel von LibreOffice in application.yml fest
application.yml
jodconverter:
enabled: true
officeHome:[LibreOffice-Installationsziel]
@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 {
//Holen Sie sich vor der Konvertierung Dateiinformationen
String inputExtension = FilenameUtils.getExtension(file.getOriginalFilename());
DocumentFormatRegistry registry = this.documentConverter.getFormatRegistry();
DocumentFormat inputFormat = registry.getFormatByExtension(inputExtension);
if (inputFormat == null) {
inputFormat = registry.getFormatByExtension("xlsx");
}
//Erweiterungseinstellung nach der Konvertierung
DocumentFormat outputFormat = registry.getFormatByExtension(outputExtension);
//Umwandlungsprozess
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;
}
}
Ich hatte noch nie die Möglichkeit, OnlineConverter zu verwenden, daher habe ich gelernt, wie man es verwendet.
LocalConverter ist jedoch einfacher zu installieren, da bei Verwendung von OnlineConverter keine Serverimplementierung erfolgt. Ich frage mich, ob ich es verwenden werde, wenn es keinen guten Grund gibt. .. ..
Recommended Posts