1

我正在使用以下内容将 HTML 转换为 PDF:

InputStream convert(InputStream fileInputStream) {

        PipedInputStream inputStream = new PipedInputStream()
        PipedOutputStream outputStream = new PipedOutputStream(inputStream)
        new Thread({
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setNamespaceAware(false);
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse(fileInputStream)

            ITextRenderer renderer = new ITextRenderer()
            renderer.setDocument(document, "")
             renderer.layout()
            renderer.createPDF(outputStream)
        }).start()

        return inputStream
    }

从文档中,显然我应该能够在某处设置“用户代理”解析器,但我不确定具体在哪里。任何人都知道如何忽略文档中的外部 CSS?

4

1 回答 1

1

不是同一个问题,但我对此的回答也适用于:Resolving protected resources with Flying Saucer (ITextRenderer)

覆盖此方法:

public CSSResource getCSSResource(String uri) {
    return new CSSResource(resolveAndOpenStream(uri));
}

public CSSResource getCSSResource(String uri) {
    return new CSSResource(new ByteArrayInputStream([] as byte[]));
}
于 2011-03-15T16:35:16.523 回答