2013-06-10 4 views
0

Я хотел бы сгенерировать PDF-документ формата A5 с помощью HTML-шаблона с использованием библиотеки Java iText.Создание PDF-документа A5 из HTML с использованием Java iText

Мне удалось создать PDF-документ, но вместо одной страницы A5 я получил одну страницу формата А4 (с текстом на ней), а затем пустую страницу A5 (см.: the output document). Что я делаю не так?

Ниже приведен пример кода Java.

Большое спасибо за помощь.


public final class Main { 

    public static void main(String[] args) throws IOException, DocumentException { 
     htmlToPdf(new StringReader("<html><head><title>Hello, World!!!</title></head><body style=\"font-family: 'Times New Roman', serif;\"><div>Hello, World!!!</div></body></html>"), new File("Test.pdf")); 
    } 

    private static void htmlToPdf(final StringReader htmlSource, final File pdfOutput) throws IOException, DocumentException { 

     final FileOutputStream pdfOutputStream = new FileOutputStream(pdfOutput); 
     final PdfDocument document = new PdfDocument(); 

     FontFactory.defaultEmbedding = true; 

     document.setPageSize(com.itextpdf.text.PageSize.A5); 

     final PdfWriter pdfWriter = PdfAWriter.getInstance(document, pdfOutputStream, PdfAConformanceLevel.PDF_A_1B); 
     document.addWriter(pdfWriter); 
     document.open(); 

     XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, document, htmlSource); 

     document.close(); 
     pdfOutputStream.close(); 
    } 
} 

ответ

0

Вы создаете PdfDocument экземпляр вместо Document экземпляра! Как указано в документе, класс PdfDocument предназначен только для внутреннего использования.

+0

Спасибо, я дам ему попробовать, но документация по API не очень понятна (кроме того, что «класс был закрытым пакетом раньше»): http://api.itextpdf.com/itext/com /itextpdf/text/pdf/PdfDocument.html – Petr

+0

Я имею в виду книгу, а не документацию по API ;-) –

+0

Ваши решения действительно сработали. Что меня смутило, так это документация API для PdfAWriter (http: //api.itextpdf. com/pdfa /), согласно которому конструктор принимает PdfDocument ... – Petr

Смежные вопросы