У меня есть требование для создания PDF из JSON. Для этого я попробовал следующие шаги для генерации PDF,
Сначала я проанализировал JSON в XML, затем из XML в HTML и, наконец, сгенерировал PDF из HTML.
Пожалуйста, найдите мой код ниже., Он работает нормально.
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();
Это генерирует PDF в Portrait
, но я хочу, чтобы PDF генерировал в режиме Landscape
. Для этого мне нужно изменить HTML
кодовый бит.
Я должен интегрировать приведенный ниже фрагмент кода, чтобы сделать мой PDF в режиме Landscape
XMLResource res = XMLResource
.load(new StringReader("<html><head><style>@page { size : 29.7cm 21cm; }</style></head><body></body></html>"));
Но я не уверен, где я могу внедрить этот фрагмент кода в мой существующий код.