Code: Select all
var pdfBytes = Document.Create(container =>
{
container.Page(page =>
{
page.Size(PageSizes.A4);
page.Content().Svg(svgContent);
});
}).GeneratePdf();
Und schließlich, wenn ich meine App in Azure Functions bereitstelle, wird kein Text gerendert. Bilder und Tabellen sind vorhanden, aber kein einziger Buchstabe ist vorhanden.
Da meine Schriftarten nicht in Docker angewendet werden, vermute ich, dass es an den Schriftarten liegt. Wahrscheinlich sind im Cloud-Container keine verfügbar (nicht einmal ein Ersatzcontainer) und deshalb kann der Text nicht gerendert werden. Aber wie kann ich das Problem beheben?
Ich habe versucht, Schriftarten in mein Projekt einzubeziehen und sie zur Laufzeit zu registrieren, wie in der QuestPDF-Dokumentation vorgeschlagen, etwa so:
Code: Select all
private static void AddFonts()
{
try
{
var fontsDir = Path.Combine(AppContext.BaseDirectory, "Resources", "Fonts");
using (var juraStream = File.OpenRead(Path.Combine(fontsDir, "Jura.ttf")))
{
FontManager.RegisterFontWithCustomName("Jura", juraStream);
}
using (var interItalicStream = File.OpenRead(Path.Combine(fontsDir, "Inter-Italic.ttf")))
{
FontManager.RegisterFontWithCustomName("Inter", interItalicStream);
}
Console.WriteLine("Fonts registered successfully via streams: Jura, Inter-Italic");
}
catch (Exception ex)
{
Console.WriteLine($"Error registering fonts: {ex.Message}");
throw;
}
}
Code: Select all
RegisterFont
Mobile version