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

Rails 7中使用wkhtmltopdf生成PDF时asset_path无法显示图片

解决wkhtmltopdf生成PDF时Logo不显示的问题
  • 使用本地绝对文件路径:wkhtmltopdf对相对路径的解析可能存在问题,直接传入图片的本地绝对路径替代asset_path:

    <div class="logo center"> 
      <img src="<%= Rails.root.join('app', 'assets', 'images', 'pcm_logo.png').to_s %>" alt="PCM Logo"> 
    </div>
    
  • 开启本地文件访问权限:如果用WickedPdf这类封装gem,在初始化配置里添加enable_local_file_access选项,允许wkhtmltopdf读取本地文件:

    # config/initializers/wicked_pdf.rb
    WickedPdf.config = {
      enable_local_file_access: true,
      # 其他配置项...
    }
    
  • 使用完整asset URL:换成asset_url生成包含主机地址的完整URL,确保wkhtmltopdf能正确获取资源。开发环境需先设置config.action_controller.asset_host = "http://localhost:3000":

    <div class="logo center"> 
      <img src="<%= asset_url('pcm_logo.png') %>" alt="PCM Logo"> 
    </div>
    
  • 检查文件权限:确认运行wkhtmltopdf的进程拥有读取app/assets/images/pcm_logo.png文件的权限,避免因权限不足导致加载失败。

内容的提问来源于stack exchange,提问作者sohail khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:47:07