Azure环境下Puppeteer-Sharp生成PDF日语翻译失效,本地正常
Puppeteer-Sharp多语言PDF生成异常问题
问题描述
- 使用Puppeteer-Sharp生成带多语言翻译的诊断报告PDF,法语、葡萄牙语可正常生成对应语言的PDF
- 日语、泰语存在异常:日语在本地环境可正常生成对应PDF,部署至Azure生产/UAT环境后,PDF无法显示日语翻译内容;泰语同样异常
相关代码
GenerateDiagnosticReport方法
public async Task<Models.File> GenerateDiagnosticReport(Diagnostic diagnostic,bool isImperial, bool showExposition, bool showConsistency,CultureInfo culture, bool showUserData) { var html = await this.GetContent("Views/report.cshtml", new MobileReportViewModel(diagnostic, isImperial, showExposition, showConsistency,culture, showUserData)); var pdf = await this.CreatePdf(html); var pdfStream = new MemoryStream(); pdfStream.Write(pdf); pdfStream.Position = 0; return new Models.File { Content = pdfStream, ContentType = "application/pdf", Name = $"diagnostic.pdf" }; }
CreatePdf方法
private async Task<byte[]> CreatePdf(string htmlContent) { await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true, ExecutablePath = PuppeteerExtensions.ExecutablePath, Args = new string[] { "--no-sandbox", "--disable-setuid-sandbox" } }); await using var page = await browser.NewPageAsync(); await page.EmulateMediaTypeAsync(MediaType.Screen); await page.SetContentAsync(htmlContent); return await page.PdfDataAsync(new PdfOptions { Format = PaperFormat.A4, PrintBackground = true }); }
截图说明
- 失效PDF:显示未翻译的内容
- 预期效果:正确显示日语翻译后的内容
备注
使用本地化方案实现语言翻译功能
内容的提问来源于stack exchange,提问作者Kamlesh Jangley
相关产品推荐
相关产品推荐

