Sto generando PDF su Azure utilizzando NReco che utilizza WkHtmlToPdf. Sul mio server locale tutto genera bene. Su Azure tuttavia esegue il rendering di tutti i caratteri con quadratini neri.NReco PDF ha quadratini neri su Azure
Ho provato tutto quello che riesco a trovare on-line.
Ecco il mio HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
@@font-face {
font-family: "FreeSerif";
src: url(@(HttpContext.Current.Server.MapPath("~/Content/FreeSerif.ttf"))) format("truetype");
}
* {
font-family:"FreeSerif", Helvetica, Arial, sans-serif;color:black;
}
</style>
</head>
Ho anche provato ad utilizzare Url.Content("~/Content/FreeSerif.ttf")
E il mio C#:
string htmlText = RenderPartialViewToString("~/Views/Templates/PDF/ListPDFView.cshtml", pdfList);
HtmlToPdfConverter nPdf = new HtmlToPdfConverter();
nPdf.Size = PageSize.Letter;
nPdf.Orientation = PageOrientation.Landscape;
nPdf.CustomWkHtmlArgs = "--encoding UTF-8";
pdfBuf = nPdf.GeneratePdf(htmlText);
Response.ContentType = "application/pdf";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "Inline; filename=file.pdf");
Response.BinaryWrite(pdfBuf);
Response.Flush();
Response.End();
mio web.config contiene:
<system.webServer>
<staticContent>
<remove fileExtension=".ttf" />
<remove fileExtension=".svg" />
<remove fileExtension=".eot" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".ttf" mimeType="font/truetype" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".woff" mimeType="application/x-woff" />
</staticContent>
</system.webServer>
Ogni soluzione risultati in quadrati neri. Sono alla fine del mio spirito qui. Il tuo aiuto è molto apprezzato.
Come tecnica di debug perché non provi ad usare solo uno standard built-in carattere di Windows (o rimuovere la definizione del carattere del tutto dal vostro CSS). Solo per vedere se riesci a farlo generare qualcosa di leggibile. –
Ho provato Helvetica, Arial, Verdana, 'Arial MS Unicode', Tahoma, Georgia, sans-serif. Nessuno dei quali ha funzionato. – brenjt
Che ne dici di nessuno? Basta lasciare una dichiarazione di carattere e vedere cosa succede. –