标签: documents4j

我如何解决以下在使用Documents4j库将docx转换为pdf时遇到的异常?

我使用以下代码将docx转换为pdf.

    public static void main(String[] args) {
    File inputdocxfile = new File(System.getProperty("user.dir") + "/src/test/resources/files/output/");

    File outputpdffile = new File(System.getProperty("user.dir") + "/src/test/resources/files/output/"
            + "CustomerOutputdocx.pdf");
    IConverter converter = LocalConverter.builder().baseFolder(inputdocxfile)
            .workerPool(20, 25, 2, TimeUnit.SECONDS).processTimeout(5, TimeUnit.SECONDS).build();

    Future<Boolean> conversion = converter.convert(inputdocxfile).as(DocumentType.MS_WORD).to(outputpdffile)
            .as(DocumentType.PDF).prioritizeWith(1000).schedule();
}
Run Code Online (Sandbox Code Playgroud)

我在下面的例外中得到了这个.我使用的是与documents4j官方网站中提到的相同的代码.

Exception in thread "main" java.lang.IllegalStateException: The application was started without any registered or class-path discovered converters.
at com.documents4j.conversion.ExternalConverterDiscovery.validate(ExternalConverterDiscovery.java:68)
at com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85)
at com.documents4j.conversion.DefaultConversionManager.<init>(DefaultConversionManager.java:22)
at com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:74)
at com.documents4j.job.LocalConverter.<init>(LocalConverter.java:47)
at com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:162)
at com.apakgroup.docgen.converters.ConvertToPdf.main(ConvertToPdf.java:19)
Exception in thread "Shutdown hook: com.documents4j.job.LocalConverter" java.lang.NullPointerException
at com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:95)
at com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:125)
Run Code Online (Sandbox Code Playgroud)

java pdf docx file-conversion documents4j

5
推荐指数
1
解决办法
2672
查看次数

在java中将html + css(印刷媒体)转换为msword

这是我的情况。我有一个HTML / CSS(CSS装有打印介质的性能如@page@bottom-center等)的资源,其通过转换为PDFflying-saucer就好了。

现在,我还需要将相同的资源转换为 msword(doc 或 docx)格式。

我曾尝试使用docx4j-ImportXHTMLdocuments4j库,但不幸的是我无法获得所需的结果,尤其是使用样式表的打印媒体属性时。是否有任何需要进行的特殊设置或库不支持它?理想情况下,我希望 pdf 和 docx 输出看起来几乎相同。

非常感谢

示例资源:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.pleft</groupId>
    <artifactId>html2word</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j-ImportXHTML</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.7</version>
        </dependency>

        <dependency>
            <groupId>org.xhtmlrenderer</groupId>
            <artifactId>flying-saucer-pdf</artifactId>
            <version>9.0.6</version>
        </dependency>
    </dependencies>

</project>
Run Code Online (Sandbox Code Playgroud)

html2word.java

import com.lowagie.text.DocumentException;
import org.docx4j.convert.in.xhtml.XHTMLImporterImpl;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.xhtmlrenderer.pdf.ITextRenderer;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class Html2Word …
Run Code Online (Sandbox Code Playgroud)

java ms-word docx4j documents4j

5
推荐指数
1
解决办法
256
查看次数

请提供使用 Documents4j 将 Word 文件简单转换为 PDF 格式的明确示例?

我有一个简单的 Word 文件,我想使用documents4japi 将其转换为 PDF。已经搜索了几个小时,但还没有找到如何编写代码。我只需要一个基本的工作代码。

java pdf docx documents4j

0
推荐指数
1
解决办法
9449
查看次数

标签 统计

documents4j ×3

java ×3

docx ×2

pdf ×2

docx4j ×1

file-conversion ×1

ms-word ×1