You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:41:07