我需要从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
但是,我不知道我可以在现有代码中注入这段代码。
答案 0 :(得分:1)
将这些样式添加到您正在构建的Xhtml的头部
1:肖像:@page {size:letter portrait;}
2:for landscape:@page {size:letter landscape;