使用java从JSON生成PDF

时间:2018-05-03 08:57:15

标签: java html json xml xslt

我需要从JSON生成PDF。为此,我尝试了以下步骤来生成PDF,

首先,我将JSON解析为XML,然后从XML转换为HTML转换,最后从HTML生成PDF。

请在下面找到我的代码。,它的工作正常。

Transformer transformer;
    try {
        transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(new File(xslPath)));
    } catch (TransformerConfigurationException | TransformerFactoryConfigurationError e1) {
        throw ExceptionUtils.handle((Exception) e1);
    }

    DOMResult result = new DOMResult();

    try {
        transformer.transform(new StreamSource(new ByteArrayInputStream(xml.toString().getBytes("UTF-8"))), result);
    } catch (TransformerException e) {
        throw ExceptionUtils.handle(e);
    }

    ITextRenderer renderer = new ITextRenderer();
    try {
        renderer.getFontResolver().addFont("C:/WINDOWS/FONTS/ARIAL.TTF", true);
    } catch (DocumentException e) {
        throw ExceptionUtils.handle(e);
    }

    Document resultDoc = (Document) result.getNode();
    renderer.setDocument(resultDoc, "");
    renderer.layout();

它在Portrait中生成PDF但是,我希望PDF应该以{{1​​}}模式生成。为此,我必须修改Landscape代码位。

我必须整合下面的代码才能使我的PDF处于HTML模式

Landscape

但是,我不知道我可以在现有代码中注入这段代码。

1 个答案:

答案 0 :(得分:1)

将这些样式添加到您正在构建的Xhtml的头部

1:肖像:@page {size:letter portrait;}

2:for landscape:@page {size:letter landscape;