Add this maven
<!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf-itext5 -->
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.1.19</version>
</dependency>
Code
String inputFile = "d:/xxx.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "d:/xxx.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
Note
It will throw if any " QName production: QName::=(NCName':')?NCName. ' Exception in thread "main" org.xhtmlrenderer.util.XRRuntimeException: " Then your html tag has problem. correct that html tag and re run it.
for ex: <Table width: 50%">
to
<table width="50%">
<!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf-itext5 -->
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.1.19</version>
</dependency>
Code
String inputFile = "d:/xxx.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "d:/xxx.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
Note
It will throw if any " QName production: QName::=(NCName':')?NCName. ' Exception in thread "main" org.xhtmlrenderer.util.XRRuntimeException: " Then your html tag has problem. correct that html tag and re run it.
for ex: <Table width: 50%">
to
<table width="50%">
No comments:
Post a Comment