CSS и изображение не отображаются в созданном PDF-файле — Летающая тарелкаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 CSS и изображение не отображаются в созданном PDF-файле — Летающая тарелка

Сообщение Гость »


Я хочу создать PDF-файл для своей веб-страницы с помощью Flying Saucer. С помощью приведенного ниже кода я могу создать PDF-файл, но без какого-либо стиля и CSS.

Исходный код HTML,

Я пытаюсь установить базовый URL-адрес с помощью renderer.getSharedContext().setUserAgentCallback(new NaiveUserAgent(baseUrl)) но это не работает.

Java-код
попробуй { // Определить URL-адрес Строка urlcheck = "http://localhost:8888/index.html"; // Устанавливаем URL-соединение Соединение HttpURLConnection = (HttpURLConnection) новый URL-адрес (urlcheck).openConnection(); Connection.setRequestMethod("GET"); // Настраиваем базовую аутентификацию с именем пользователя «admin» и паролем «admin». Строка имя пользователя = «администратор»; Строковый пароль = «admin»; Строка authString = имя пользователя + ":" + пароль; Строка закодированаAuthString = Base64.getEncoder().encodeToString(authString.getBytes()); Connection.setRequestProperty("Авторизация", "Базовый " + encodedAuthString); // Проверяем код ответа (200 означает успех) int responseCode = Connection.getResponseCode(); если (код ответа == 200) { // Получаем входной поток из соединения urlInputStream = Connection.getInputStream(); LOG.info("НАЧАЛО PDF "); // Создаем экземпляр ITextRenderer Средство рендеринга ITextRenderer = новый ITextRenderer(); // Преобразуем входной поток в строку Строка htmlContent = ConvertInputStreamToString (urlInputStream); Очиститель HtmlCleaner = новый HtmlCleaner(); TagNode rootTagNode = clean.clean(htmlContent); // настраиваем свойства сериализатора (необязательно, см. онлайн-документацию) CleanerProperties CleanerProperties = Cleaner.getProperties(); // используем метод getAsString в классе XmlSerializer XmlSerializer xmlSerializer = новый PrettyXmlSerializer (cleanerProperties); Строка cleanHtml = xmlSerializer.getAsString(rootTagNode); LOG.info("cleanedHtml::"+cleanedHtml); // Устанавливаем HTML-контент в качестве документа renderer.setDocumentFromString(cleanedHtml); // Рендеринг в PDF Строка baseUrl = "http://localhost:8888"; renderer.getSharedContext().setUserAgentCallback(new NaiveUserAgent(baseUrl)); // Ошибка ByteArrayOutputStream outputStream = новый ByteArrayOutputStream(); рендерер.макет(); renderer.createPDF(outputStream); рендерер.finishPDF(); } еще { LOG.error("Не удалось получить содержимое URL. Код ответа: " + responseCode); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»