У меня есть простой файл Word, и я хотел бы преобразовать его в PDF, используя documents4j
api. Вы искали несколько часов, но не узнали, как писать код. Мне просто нужен базовый рабочий код.Определенный пример простого преобразования файлов Word в формат PDF с использованием документов4j, пожалуйста?
0
A
ответ
2
Добавить необходимые зависимости в pom.xml
т.е.,
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-api</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-util-conversion</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-util-all</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local-demo</artifactId>
<version>0.2.1</version>
</dependency>
и использовать следующий фрагмент кода для того, чтобы преобразовать документ в формате PDF. В приведенном ниже примере я преобразую RTF-файл в PDF.
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream("C:\\PDF\\RichText1.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File("C:\\PDF\\"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future<Boolean> conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
Таким образом, ваш требуемый преобразованный файл будет храниться в объекте ByteArrayOutputStream (bo) здесь.
Вы пытались решить эту проблему? Если у вас есть, отредактируйте свой вопрос, чтобы включить свой код и исследование, чтобы показать, что не сработало для вас. Если вы этого не сделали, сначала попытайтесь решить эту проблему, а затем опубликуйте код и исследуйте здесь. Это затрудняет ответ другим пользователям! – SuperBiasedMan