Я хотел бы сгенерировать 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();
}
}
Спасибо, я дам ему попробовать, но документация по API не очень понятна (кроме того, что «класс был закрытым пакетом раньше»): http://api.itextpdf.com/itext/com /itextpdf/text/pdf/PdfDocument.html – Petr
Я имею в виду книгу, а не документацию по API ;-) –
Ваши решения действительно сработали. Что меня смутило, так это документация API для PdfAWriter (http: //api.itextpdf. com/pdfa /), согласно которому конструктор принимает PdfDocument ... – Petr