Я могу сгенерировать PDF-файл с помощью летающей тарелки/iText. Однако я не могу понять, как получить таблицу стилей, включенную в рендеринг PDF.Flying-saucer/iText PDF не находит файл css
Я использовал это flying-saucer/iText PDF in servlet not finding css file как справка.
Есть несколько файлов CSS, участвующих поэтому я не буду иметь возможность использовать renderer.setDocument(doc, "http://example.com/something/page.html");
в виде раствора
я реализовал нечто подобное тому, что используется Аскер, но он возвращает Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: http://localhost:8080/proj/resources/css/custom1.css
ошибку
Вот мой код
StringBuilder bui = new StringBuilder();
bui.append("<html><head><style>");
bui.append(readFile(path+"/resources/css/custom1.css", Charsets.UTF_8));
bui.append(readFile(path+"/resources/css/custom2.css", Charsets.UTF_8));
bui.append(readFile(path+"/resources/css/custom3.css", Charsets.UTF_8));
bui.append("</style></head>");
bui.append("<body><div><table>");
bui.append(xhtml_file);
bui.append("</table></div></body></html>");
InputStream stream = new ByteArrayInputStream(bui.toString().getBytes(StandardCharsets.UTF_8));
Document doc = tidy.parseDOM(stream, null);
File outputFile = new File(directory+ "FILENAME" +".pdf");
os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(doc, null);
renderer.layout();
renderer.createPDF(os, false);
renderer.finishPDF();
путь передается в «http://localhost:8080» , если я введу «http://localhost:8080/resources/css/custom1.css» непосредственно в адрес ба r, он показывает файл css. Я попытался удалить «путь», но он также не получает css. Что я делаю не так?