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

Flutter Web部署后pdf包无法生成PDF问题求助

解决Flutter Web部署后PDF生成无响应问题

针对本地debug/release模式运行正常、上线后点击生成PDF按钮无反应的问题,可从以下方向排查解决:

  • 排查CORS跨域限制
    线上环境的CORS策略可能拦截pdfjs加载外部资源的请求。建议将pdf.worker脚本和cmap资源下载到项目web目录,改用相对路径加载:

    <script type="text/javascript">
      pdfjsLib.GlobalWorkerOptions.workerSrc = "/pdf.worker.min.js";
      pdfRenderOptions = {
        cMapUrl: "/cmaps/",
        cMapPacked: true,
      };
    </script>
    
  • 匹配pdf包与pdfjs版本兼容性
    你使用的Flutter pdf包可能和指定的pdfjs-dist@3.4.120版本不兼容。查看pdf包官方文档,确认其依赖的pdfjs版本,对应调整资源版本。

  • 查看浏览器控制台报错
    上线后打开浏览器开发者工具(F12),切换到Console标签,点击生成PDF按钮,查看是否存在404、CORS等报错信息,根据报错直接定位问题。

  • 确认资源打包配置
    若使用本地资源,需在pubspec.yaml中添加资源配置,确保构建时资源被正确打包:

    assets:
      - web/pdf.worker.min.js
      - web/cmaps/
    

    同时检查部署工具是否正确复制了这些资源到线上服务器。

  • 修正PDF生成逻辑中的路径问题
    确保生成PDF的代码中没有依赖本地绝对路径的逻辑,线上环境路径结构与本地不同,需使用相对路径或正确的Flutter assets路径加载字体、图片等资源。

内容的提问来源于stack exchange,提问作者Snehil Tejani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:32:33