Сожмите HTML-страницу и конвертируйте ее в формат А4

Преобразование HTML-страницы в PDF. Когда я конвертирую страницу в pdf, содержимое страницы html не помещается на странице A4. Я хочу, чтобы вся HTML-страница была преобразована в PDF без пропажи содержимого.

У меня уже есть код, который преобразует HTML в PDF

            String tempOutFileNameXHTML = "/Users/Common/index" + i + DOT + "xhtml";
            String tempOutFileNamePDF = "/Users/Common/index" + i + DOT + PDF;
            File targetFile = targetFiles.get(i); // gets all the specified html files
            CleanerProperties props = new CleanerProperties();
            props.setTranslateSpecialEntities(true);
            props.setTransResCharsToNCR(true);
            props.setOmitComments(true);

            //checking of starting and ending tags are in proper
            HtmlCleaner htmlCleaner = new HtmlCleaner(props);
            TagNode tagNode = htmlCleaner.clean(targetFile);
            PrettyXmlSerializer prettyXmlSerializer = new PrettyXmlSerializer(props);

            prettyXmlSerializer.writeToFile(tagNode, tempOutFileNameXHTML, "utf-8");

            File xhtmlpath = new File(tempOutFileNameXHTML);
            File pdfPath = new File(tempOutFileNamePDF);
            com.itextpdf.text.Document pdfDocument = null;
            PdfWriter pdfWriter = null;
            pdfDocument = new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4); // TODO handle this

            pdfWriter = PdfWriter.getInstance(pdfDocument, new FileOutputStream(pdfPath));
            pdfDocument.open();
            Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 25, Font.BOLD);
            pdfDocument.add(new Paragraph("Target : " + targetFile.getParentFile().getName(), catFont));

            XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, (com.itextpdf.text.Document) pdfDocument,
                    new FileInputStream(xhtmlpath), null);

            pdfDocument.close();

Проблема здесь заключается в том, что, когда ширина html-страницы слишком велика, она не помещается в формате pdf формата A4. Есть в любом случае, чтобы сжать или сделать его в формате PDF без потери содержимого.? Как я могу это сделать? HTML-страницы могут быть сжаты и преобразованы в PDF? Есть идеи, как это сделать?

2 ответа

"Проект рендерера" Летающая тарелка XHTML "поддерживает вывод XHTML в PDF. Посмотрите пример здесь".

> ИСТОЧНИК <

iText, вероятно, поддерживает стилизацию CSS. Вы можете использовать таблицы стилей для форматирования вашей HTML-страницы, чтобы она умещалась на одной странице. Некоторая информация о таблицах стилей и iText: http://itextpdf.com/examples/iia.php?id=56

Как уже упоминалось, вы также можете попробовать Flying Saucer, который является еще одним конвертером HTML в PDF. По крайней мере, с Flying Saucer вы можете предоставить настоящие таблицы стилей, а поддержка CSS довольно хорошая.

Другие вопросы по тегам