Wie benutze ich benutzerdefinierte Schriftart mit OpenHTMLTOPDF?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie benutze ich benutzerdefinierte Schriftart mit OpenHTMLTOPDF?

by Anonymous » 27 Mar 2025, 14:39

Ich entwickle einen Microservice im Springboot, um PDF mithilfe von Freemarker und OpenHTMLTOPDF -Bibliotheken zu generieren. Ich möchte eine benutzerdefinierte Schriftart (tamilische Sprache) vorstellen. Aber nur #### als Ausgabe. Ich bin mir nicht sicher, wo ich falsch gehe.

Code: Select all

private fun convertToPdf(htmlContent: String): ByteArrayResource {
val jsoupDocument = Jsoup.parse(htmlContent)
jsoupDocument.outputSettings().syntax(Document.OutputSettings.Syntax.html)
val xmlDocument = W3CDom().fromJsoup(jsoupDocument)

val FONT_FILE = File("resources/fonts/NotoSansTamil.ttf")

val byteArrayOutputStream = ByteArrayOutputStream()
val baseUrl = javaClass
.protectionDomain
.codeSource
.location
.toString()

PdfRendererBuilder()
.withW3cDocument(xmlDocument, baseUrl)
.useFont(FONT_FILE, "Nota Sans")
.toStream(byteArrayOutputStream)
.run()
return ByteArrayResource(byteArrayOutputStream.toByteArray())
}
Freiemarker -Vorlage

Code: Select all




FreeMarker

@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url(./fonts/NotoSansTamil.ttf);
}



 Welcome to FreeMarker ${name} 



Top