Ich kann ein PDF mit Flying-Saucer/iText erzeugen. Ich kann jedoch nicht herausfinden, wie das Stylesheet in das PDF-Rendering eingefügt wird.Fliegende Untertasse/iText PDF finde keine CSS-Datei
Ich habe diese flying-saucer/iText PDF in servlet not finding css file als Referenz verwendet.
Es gibt mehrere CSS-Dateien beteiligt, so dass ich nicht in der Lage sein renderer.setDocument(doc, "http://example.com/something/page.html");
als Lösung zu verwenden
ich etwas Ähnliches umgesetzt haben, was der Fragesteller verwendet, aber es ist Zurückgeben eines Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 4: http://localhost:8080/proj/resources/css/custom1.css
Fehler
hier ist mein Code
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();
der Pfad geleitet wird, ist „http://localhost:8080“ wenn ich „http://localhost:8080/resources/css/custom1.css“ direkt in die Adresse ba eingeben r, es zeigt die CSS-Datei. Ich habe versucht, den "Pfad" zu entfernen, aber es wird auch nicht das CSS bekommen. Was mache ich falsch?