Class LibreOfficePdfConverter
java.lang.Object
com.sankcrm.erp.contract.infrastructure.template.word.LibreOfficePdfConverter
- All Implemented Interfaces:
AutoCloseable
LibreOffice DOCX转PDF组件。
底层LibreOffice进程由可复用进程池管理。每次转换仍使用独立任务工作目录,转换 结果校验通过后再原子替换目标PDF,避免失败任务破坏已有文件。
- Since:
- 1.4.2
- Author:
- zhsxin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class转换异常。诊断信息受max-process-output-bytes限制。static final recordstatic enum -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLibreOfficePdfConverter(Properties.LibreOffice properties) LibreOfficePdfConverter(Path executable, Duration conversionTimeout) LibreOfficePdfConverter(Path executable, Duration conversionTimeout, Path fontconfigFile) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()将DOCX转换为PDF。static LibreOfficePdfConverterdiscover()boolean
-
Field Details
-
DEFAULT_TIMEOUT
-
-
Constructor Details
-
LibreOfficePdfConverter
-
LibreOfficePdfConverter
-
LibreOfficePdfConverter
-
-
Method Details
-
discover
-
convert
public LibreOfficePdfConverter.ConversionResult convert(Path docx, Path targetPdf) throws LibreOfficePdfConverter.ConversionException 将DOCX转换为PDF。- Parameters:
docx- DOCX文件targetPdf- 目标PDF文件- Returns:
- 转换结果
- Throws:
LibreOfficePdfConverter.ConversionException- 转换失败
-
executable
-
isRunning
public boolean isRunning() -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-