import java.io.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.xhtmlrenderer.extend.FontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;
public class HtmlToPdf {
public static void main(String[] args) throws IOException {
String html = "
hello
";
String xhtml = htmlToXhtml(html);
xhtmlToPdf(xhtml, "output.pdf");
}
private static String htmlToXhtml(String html) {
Document document = Jsoup.parse(html);
document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
return document.html();
}
private static void xhtmlToPdf(String xhtml, String outFileName) throws IOException {
File output = new File(outFileName);
ITextRenderer iTextRenderer = new ITextRenderer();
FontResolver resolver = iTextRenderer.getFontResolver();
iTextRenderer.getFontResolver().addFont("MyFont.ttf", true);
iTextRenderer.setDocumentFromString(xhtml);
iTextRenderer.layout();
OutputStream os = new FileOutputStream(output);
iTextRenderer.createPDF(os);
os.close();
}
}