Wicked-PDF 不显示图像,'wicked_pdf_image_tag' 未定义

2023-12-30

我想生成一个包含我们部门徽标的 PDF。当我尝试在控制器中使用 WickedPdf 类时(使用中描述的方法)https://github.com/mileszs/wicked_pdf https://github.com/mileszs/wicked_pdf):

def some_action
  image_tag_string = image_tag('logo.jpg')
  pdf = WickedPdf.new.pdf_from_string(image_tag_string)

  save_path = Rails.root.join('testpdfs','logotest.pdf')
  File.open(save_path, 'wb') do |file|
    file << pdf
  end
end

...应用程序将 PDF 保存到目标目录,但它有一个蓝白色的“?”标记图像应该在的位置。

如果我这样做:

  image_tag_string = wicked_pdf_image_tag('logo.jpg')
  pdf = WickedPdf.new.pdf_from_string(image_tag_string)

我收到以下错误:

NoMethodError:
   undefined method `wicked_pdf_image_tag' for #<...

看来我的 Rails 应用程序也丢失/未链接到属于 wicked-pdf gem 的帮助程序文件。

StackOverflow 上类似问题的答案建议编写自定义“图像标签”帮助程序来定位图像或安装 wkhtmltopdf。对我来说,图像标签在放置在视图(whatever.html.erb)中时可以很好地显示徽标。 “logo.jpg”已位于资产管道和#{RailsRoot}/public/images 中。最后,我在 Ubuntu 14.04 上使用 wkhtmltopdf 0.9.9、wicked-pdf 0.11.0 和 Rails 4。

简而言之 - 我做错了什么导致 WickedPDF 无法渲染图像?


首先创建一个 pdf 模板来渲染并使用该模板中的 wicked_pdf 标签。 例如-

应用程序/视图/布局/application.pdf.erb-

<!doctype html>
<html>
  <head>
    <meta charset='utf-8' />
  </head>
  <body onload='number_pages'>
    <div id="content">
      <%= yield %>
    </div>
  </body>
</html>

应用程序/视图/pdf/pdf_view.pdf.erb-

<div>
  <%= wicked_pdf_image_tag 'logo.jpg' %>
</div>

使用此模板代替

def save
  pdf = WickedPdf.new.pdf_from_string(
                        render_to_string(
                          template: 'example/pdf_view.pdf.erb',
                          layout: 'layouts/application.pdf.erb'))
  send_data(pdf,
            filename: 'file_name.pdf',
            type: 'application/pdf',
            disposition: 'attachment') 
end

这可能会帮助你..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wicked-PDF 不显示图像,'wicked_pdf_image_tag' 未定义 的相关文章

  • Rails 4 应用程序...在开发环境中,除非刷新页面,否则 javascript 不会触发

    所以我的第一个rails4应用程序遇到了一个奇怪的问题 除非我重新加载页面 否则我的页面javascript不会触发 对于我的 asset pipeline JS 和 content for JS 来说都是如此 在我的 assets jav
  • Bundle 说 gem 丢失了 - 但事实并非如此?

    背景 我正在维护contentRuby On Rails 站点 但我确实没有 Rails 的经验 当尝试运行 Rails 服务器时 rails s我明白了 在任何来源中均找不到 activesupport 3 2 0 Run bundle
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • 在 Ruby 中创建一个空文件:相当于“touch”?

    创建一个的最佳方式是什么emptyRuby 中的文件 类似于 Unix 命令的东西 touch https en wikipedia org wiki Touch 28Unix 29 touch file txt FileUtils tou
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • 资产管道:仅对一个控制器使用 javascript 文件

    在 Ruby on Rails v4 中 我希望仅为特定控制器加载一个 js 文件 或一组 js 文件 执行此操作的标准方法是什么 在 application js 中有 require tree 线 我假设这需要删除 所以我并不总是加载每
  • 什么是适合 Rails 3 的测试框架?

    去年我一直在使用 Ruby On Rails 但是 无法进行单元测试 现在我必须编写单元测试代码 哪个测试框架好 为什么 有这方面的好的教程吗 我的系统配置 Ruby 1 9 2 Rails 3 Ubuntu 10 第一个技巧是 尝试升级到
  • 在 Sinatra 中运行后台进程

    我有 Sinatra Rails 应用程序和一个启动一些漫长过程的操作 通常我会为后台作业排队 但这种情况太简单了 后台进程很少启动 所以队列是一个开销 那么如何在没有队列的情况下运行后台进程呢 get build logs project
  • Rails 3.2:用 json 序列化中的空字符串替换 null 值

    我正在使用 Rails 3 2序列化 http www simonecarletti com blog 2010 04 inside ruby on rails serializing ruby objects with json 将 ru
  • Ruby 动态变量名

    有没有办法在 Ruby 中创建具有动态名称的变量 我正在读取一个文件 当我找到一个字符串时 会生成一个哈希值 e g file File new games log r file lines do l l split do p if p 1
  • 使用正则表达式搜索 Ruby 数组

    你好 我有一个小的 ruby 函数 它可以分割出一个 Ruby 数组 如下所示 def rearrange arr from to sidx arr index from eidx arr index to arr sidx arr sid
  • '回应?'与“定义?”

    如果我想检查是否定义了给定名称的方法 使用哪个更好 respond to or defined 从效率的角度来看 可以有理由使用defined 因为defined 是一个内置关键字 而respond to 是一种方法 因此前者可能更快 但另
  • 如何将文件的元素放入哈希中? -红宝石

    所以我有一个以下形式的文件 Key1 Value1 Key2 Value2 Key3 Value3 用制表符分隔 我的问题是如何打开这个文件并将其放入哈希中 我曾尝试这样做 fp File open file path fp each do
  • 如何在不初始化Rails的情况下从schema.rb创建数据库?

    我正在尝试从 schema rb 创建所有表 我使用命令 rake db schema load 但是 这失败了 因为在我的一个初始化程序中 它引用了一个显然不存在的模型 表 因为数据库为空 我可以注释掉这些行 然后再次运行 schema
  • 处理铁路中 STI 子类路线的最佳实践

    我的 Rails 视图和控制器散布着redirect to link to and form for方法调用 有时link to and redirect to它们链接的路径是明确的 例如link to New Person new per
  • ruby 字符串到哈希值的转换

    我有一个这样的字符串 str uu p xx m yy n zz m 我想知道如何将给定的字符串转换为哈希值 即我的实际要求是 有多少个值 符号之前 有m n和p 我不需要计数 我需要一个精确的值 这样输出效果会更好 m gt xx zz
  • 带有 Rake 的 RubyMine 调试器?

    使用 RubyMine 3 0 我设置了 Rake 配置来运行单元测试 然后我设置了一些断点 然后运行 Rake 任务 没有命中断点 测试只是像平常一样执行 然后退出 RubyMine 调试器无法通过 Rake 运行吗 尝试这个 转到运行
  • 错误:执行 gem 时... (Gem::FilePermissionError)

    我检查了所有其他类似的答案 没有一个与我的完全一样 这些解决方案也不适合我 gem environment and sudo gem environment给出相同的结果 RubyGems Environment RUBYGEMS VERS
  • 处理 Rails 2.1.x 中的 RoutingError 的最佳方法?

    我正在使用Rails 2 1 中的routing rb 代码 并尝试让它达到这样的程度 我可以对找不到合适路径时抛出的RoutingError 异常执行一些有用的操作 这是一个有点棘手的问题 因为有一些 URL 类别纯粹是糟糕的 azenv
  • 为什么递归会出现“堆栈级别太深”?

    我有这个红宝石代码 def get sum n return 0 if n lt 1 n 3 0 n 5 0 n get sum n 1 get sum n 1 continue execution end puts get sum 999

随机推荐

  • Python:仅在图像蒙版内执行模糊

    我有一个灰度图像和该图像中 ROI 的二值掩模 我想对灰度图像执行模糊操作 但仅限于蒙版的范围内 现在我正在模糊整个图像 而不仅仅是删除蒙版之外的项目 但我不希望蒙版之外的像素影响我的投资回报率 有没有办法在不构建自定义模糊函数的情况下做到
  • 无法将“String.Type”类型的值转换为预期的参数类型“String!”

    我正在使用用 Objective C 编写的 MDWamp 库 它具有以下类型的属性 property nonatomic strong void deferredWampCRASigningBlock NSString challange
  • 如何为 Docker 制作自己的基础镜像?

    根据Docker 文档 https docs docker com engine reference builder from 要构建您自己的映像 您必须始终使用FROM操作说明 显然 有很多图像可供选择Docker 索引 https hu
  • 如何在 Atom 中设置 jshint/jsxhint "esnext" 选项

    我正在使用 Atom 的linter react and linter jshint linter jsxhint 在我的 JSX 文件中 我不断收到警告 警告 导入 仅在 ES6 中可用 使用 esnext 选项 W119 这非常简单 我
  • C# 访问 EXCEL,将单元格格式设置为常规

    在 C 中操作 excel 单元格 通过 COM 对象 时 我应该使用 Value 还是 Value2 那是 sheet Cells row n col Value Hello world or sheet Cells row n col
  • 获取轴的纵横比

    有没有一种简单可靠的方法来确定当前纵横比axes当其方面设置为 auto 显而易见的是要检查的是ax get aspect 但这只是返回 auto 我可以将其设置为任意常数值ax set aspect aspect 之后返回相同的常量ax
  • 无法获取相机预览(调用相机),HTC Thunderbolt

    我是 Android 应用程序开发的新手 所以请任何答案都包含代码示例 我的问题是这样的 我必须开发一个相机应用程序 将 mjpeg 流式传输到服务器 现在我已经成功地为我的摩托罗拉 Atrix 创建了该应用程序 并且效果非常好 我的问题是
  • Play 的成功案例!框架? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Windows 7 x64 上的 Flash ocx“类未注册”

    我有一个在 32 位机器上开发的使用 Flash10c ocx 的 WPF 应用程序 我不必在我的开发机器上注册 ocx 我只需安装最新的闪存 添加引用并开始编码 在 64 位系统上测试时 我得到了旧的 类未注册 我认为这意味着我需要 re
  • 从线程更改 ui

    我知道有类似的问题 但我的问题略有不同 我有这样的代码 Thread t new Thread public void run while running if gpstracker canGetLocation double lon gp
  • 在 Android 中组合音频文件的最佳方式

    我正在开发录音应用程序 其中包括暂停 播放 option 我尝试过两者媒体记录器 and 录音带 的情况下录音带 录制的音频消耗更大的大小 因此如果录制大小增加 例如 如果我录制 1 分钟的音频消耗 40 到 50MB通过将其转换为 来进行
  • 如何在 build.gradle 中使用 gradle 属性

    当我运行这个任务时 task tmpTask lt lt project properties each println it I see org gradle java home usr lib jvm java 6 oracle 但如何
  • 连接两个字典[重复]

    这个问题在这里已经有答案了 给定一些字典 Dictionary
  • 在 websphere 8.5 上启动应用程序时出现异常

    我在 WebSphere 8 5 上启动 Web 应用程序时遇到此错误 应用程序通过 DB2 上的 MyBatis 存储过程进行调用 用户使用 REST WS 触发调用 使用 Jersey 框架实现 春天将一切粘合在一起 相同的应用程序在
  • 在JQuery中,设置新的CSS规则后是否可以获取回调函数?

    I have element css color yellow 我需要下一个事件只发生在这个事件之后 看起来像 element css color yellow function alert 1 我需要这个是因为 element css c
  • 做出这个推论需要什么?

    如果我想从这些事实推断 奥巴马出生在美国 Obama bornIn Hawaii Hawaii partOf USA 这两个事实足以做出推论吗 如果是 应该用RDFS还是OWL来表示事实 是否有一些在线 SPARQL 工具可以让我快速测试这
  • 获取包含 main 的 .class 文件的目录路径

    是否可以从 main 中获取包含 main 函数的 class 文件的路径 URL main Main class getResource Main class if file equalsIgnoreCase main getProtoc
  • PyTorch 中张量的最小-最大归一化

    我想在 PyTorch 中对张量执行最小 最大归一化 获得最小 最大归一化的公式是 我想使用一些方法对张量执行最小 最大归一化new min and new max 无需迭代所有元素张量的 gt gt gt import torch gt
  • RecyclerView + MediaPlayer + 切换按钮 + 字符串 Uri

    背景 我正在开发一款健身应用程序 到目前为止一切都运行良好 但是当我处理音频文件时出现了问题MediaPlayer在安卓中 我检查了资源并发现ListView但在 RecyclerView MediaPlayer 上找不到任何内容 我想知道
  • Wicked-PDF 不显示图像,'wicked_pdf_image_tag' 未定义

    我想生成一个包含我们部门徽标的 PDF 当我尝试在控制器中使用 WickedPdf 类时 使用中描述的方法 https github com mileszs wicked pdf https github com mileszs wicke