'IndexOutOfBoundsException when converting html to pdf using itext.html2pdf
I tried to convert html to pdf using itext.html2pdf converter, the following exception is thrown:
java.lang.IndexOutOfBoundsException: Index: 17, Size: 17
at java.util.ArrayList$SubList.rangeCheck(ArrayList.java:1227)
at java.util.ArrayList$SubList.get(ArrayList.java:1044)
at com.itextpdf.layout.renderer.TableBorders.processAllBordersAndEmptyRows(TableBorders.java:139)
at com.itextpdf.layout.renderer.CollapsedTableBorders.updateBordersOnNewPage(CollapsedTableBorders.java:542)
at com.itextpdf.layout.renderer.TableRenderer.layout(TableRenderer.java:309)
at com.itextpdf.layout.renderer.BlockRenderer.layout(BlockRenderer.java:219)
at com.itextpdf.layout.renderer.BlockRenderer.layout(BlockRenderer.java:219)
at com.itextpdf.layout.renderer.LineRenderer.layout(LineRenderer.java:339)
at com.itextpdf.layout.renderer.ParagraphRenderer.layout(ParagraphRenderer.java:209)
at com.itextpdf.layout.renderer.BlockRenderer.layout(BlockRenderer.java:219)
at com.itextpdf.layout.renderer.BlockRenderer.layout(BlockRenderer.java:219)
at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:134)
at com.itextpdf.html2pdf.attach.impl.layout.HtmlDocumentRenderer.close(HtmlDocumentRenderer.java:193)
at com.itextpdf.layout.Document.close(Document.java:135)
at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:149)
at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:135)
at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:110)
I am using iTextpdf.html2pdf version 2.0.2.
Is there any workaround or am I just doing something wrong?
Using below code to convert"
RestTemplate rTemplate = new RestTemplate();
HttpMessageConverter<String> sMessageConverter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
List<HttpMessageConverter<?>> httpMessageConverter = Lists.newArrayList();
httpMessageConverter.add(sMessageConverter);
rTemplate.setMessageConverters(httpMessageConverter);
String d = rTemplate.getForObject(url, String.class);
org.jsoup.nodes.Document document = Jsoup.parse(d, "utf-8");
ByteArrayOutputStream outputArray = new ByteArrayOutputStream();
HtmlConverter.convertToPdf(document.html(), outputArray);
return outputArray.toByteArray();
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
