[JAVA] ExceptionConverter: java.io.IOException: The document has no pages.

[JAVA] ExceptionConverter: java.io.IOException: The document has no pages. 

ExceptionConverter: java.io.IOException: The document has no pages.
 at com.itextpdf.text.pdf.PdfPages.writePageTree(PdfPages.java:113)
 at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1214)
 at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:768)
 at com.itextpdf.text.Document.close(Document.java:398)

자바에서 itextpdf-5.3.3.jar (com.itextpdf.text.pdf.PdfWriter) 로 PDF 생성시 비어있는 도큐먼트 객체(com.itextpdf.text.Document)를 닫는 경우 (document.close()) 발생하는 오류다.

오류를 방지하려면 document.add(new Chunk(“”)); 를 사용해서 빈 페이지를 만들어주면 된다. (com.itextpdf.text.Chunk)

예를 들면 아래와 같이 코딩하면 된다.

StringReader strReader = new StringReader(html);
List<Element> objects = HTMLWorker.parseToList(strReader, styles, interfaceProps);

if (objects != null && objects.size() > 0) {
    int objectCount = objects.size();
    for (int i=0; i<objectCount; i++) {
        document.add((Element)objects.get(i));
    }
} else {

    // IOException: The document has no pages 방지
    document.add(new Chunk(“”));
}

document.close();

참고사이트 : https://stackoverflow.com/questions/6816195/exceptionconverter-java-io-ioexception-the-document-has-no-pages-am-using-ite