Hyperlink/Lesezeichen funktioniert nicht mit Remote -Repository
Posted: 13 May 2025, 17:55
Ich habe einen Service mit Abhängigkeit von einer Bibliothek der Dokumentgenerierung. Die Bibliothek verwendet iText PDFHTML, um HTML in PDF umzuwandeln. Im Dokument enthält das Inhaltsverzeichnis Links zum Springen zu bestimmten Abschnitten des Dokuments sowie die Seitenzahlen. Es wurde über HTML -Lesezeichen mit ID -Attribut und Links erstellt. Wenn die Abhängigkeit jedoch auf das Remote -Repository hinweist, funktionieren die Links nicht mehr. Wenn ich mich über den kaputten Link mach, sehe ich den Text "Jar: Datei: /.../ Printerlibrary- {Version} .jar!/Print-resource/#§-1" . Seitenzahlen werden in beiden Szenarien korrekt angezeigt.:
:
:
Code: Select all
/print-resource/example.html
Code: Select all
.new-page {
page-break-before: always;
}
ul.toc a::after {
content: target-counter(attr(href), page);
float: right;
}
Section 1
some content...
Table of content
[list]
[*][url=#section-1]Section 1[/url]
[*][url=#table-of-content]Table of content[/url]
[*][url=#section-2]Section 2[/url]
[*][url=#section-3]Section 3[/url]
[/list]
Section 2
some content...
Section 3
some content...
< /code>
Printer.java
Code: Select all
public class Printer {
protected byte[] printAsPDF() throws IOException {
String html = "...";
URL resource = getClass().getClassLoader().getResource("print-resource");
String resourcePath = resource.toExternalForm();
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
PdfWriter pdfWriter = new PdfWriter(outputStream, new WriterProperties());
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
ConverterProperties props = new ConverterProperties();
props.setBaseUri(resourcePath);
HtmlConverter.convertToPdf(html, pdfDocument, props);
return outputStream.toByteArray();
}
}
}
< /code>
ServiceImpl.java
Code: Select all
public class ServiceImpl implements Service {
private byte[] print() {
return Printer.printAsPDF();
}
}