将 Prawn PDF 保存为回形针附件?

2024-01-10

我使用 Prawn 和 Prawnto 向用户显示基于 PDF 的报告,但在某些情况下,我还想将 PDF 保存为我的模型之一的附件。我所有的附件都使用回形针。有人对如何做到这一点有任何建议吗?

Thanks!


使用 prawnto 时,您需要评估 .pdf.prawn 模板中的变量。 第二步是模仿真实的回形针文件。

  1. 生成 PDF:

    #find the prawwnto template you want
    template = File.read("#{RAILS_ROOT}/app/views/reports/your_report.pdf.prawn")
    
    pdf = Prawn::Document.new(:page_size => 'A4', :your_options => :etc)
    
    pdf.instance_eval do
      @report = find_report #put here, all local variables that the pdf template needs
      eval(template) #this evaluates the template with your variables
    end
    
    attachment = pdf.render
    
  2. 用回形针保存 PDF:

    file = StringIO.new(attachment) #mimic a real upload file
    file.class.class_eval { attr_accessor :original_filename, :content_type } #add attr's that paperclip needs
    file.original_filename = "your_report.pdf"
    file.content_type = "application/pdf"
    
    
    #now just use the file object to save to the Paperclip association.
    
    
    # assuming your Paperclip association is named "pdf_report"
    @report_store.pdf_report = file
    @report_store.save!
    

希望这可以帮助。

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

将 Prawn PDF 保存为回形针附件? 的相关文章

随机推荐

  • 如何从 Google Chrome 扩展程序获取当前选项卡的 URL?

    我很喜欢 Google Chrome 扩展 我只想知道如何将当前选项卡的 URL 存储在变量中 Use chrome tabs query 像这样 chrome tabs query active true lastFocusedWindo
  • 使用 TLS 1.2 将客户端连接到 TCP 服务器

    我尝试将设备连接到 Net 4 5 2 服务器 但没有成功 它是设备打开的 TCP 连接 使用 TLS 1 2 在服务器端 我有一个 TCP 服务器的标准 Net 实现 SslStream包裹着DotNetty https github c
  • Hibernate ManyToMany 只返回一个元素

    我想为使用 Hibernate 的用户阅读几个 Elements These are my tables in the database And this is the code of my user class Entity Table
  • 从 Facebook 获取用户周年纪念日的 API?

    我注意到 Graph API 例如 GEThttps graph facebook com UID https graph facebook com UID 返回relationship status and significant oth
  • 远程访问在 kubernetes 中运行的 Kafka

    我有一个单节点 Kafka 代理在单节点 kubernetes 环境的 pod 内运行 我将此图像用于卡夫卡 https hub docker com r wurstmeister kafka https hub docker com r
  • PHP DateTime DateInterval isset 在 var_dump 之后发生变化

    该对象中的任何变量都是 isset 但如果我使用 var dump interval 或 print r interval 这些变量就会变成 isset 这也适用于empty empty 所以在下面的代码中 interval gt i最初是
  • HttpClient 4.1 出现 SSL“对等未验证”错误

    我正在构建一个简单的应用程序监视器来轮询我们的 API URL 之一 如果无法从响应中获取 HTTP 200 状态代码 则向我们发送电子邮件 这表明我们的 API 由于某种原因已关闭 我正在使用 HttpClient4 1 这很重要 因为它
  • 从 Google Play 商店安装应用程序后仅显示卸载按钮

    从 Google Play 商店安装应用程序后 打开按钮就会消失 它只显示卸载按钮 我找不到设备上列出的我的应用程序 我已经在不同的设备上尝试过 但结果是相同的 我现在的版本是34 以前的版本还可以 这是安装应用程序后的屏幕截图 您从项目的
  • Google Maps API - 获取地址坐标

    我想将地址转换为长 纬度 有没有什么方法可以在不使用 JavaScript 的情况下做到这一点 因为就我而言 没有必要display任何事情 因为转换是在后台进行的 你正在寻找的东西叫做地理编码 http en wikipedia org
  • 局部函数中声明的值类型变量是否是堆栈分配的?

    我正在阅读最近介绍的本地函数 并开始思考这个问题 Afaik lambda 中值类型的局部变量是在堆中分配的 此外 在捕获值类型时 本地函数比 lambda 更有优势 在这种情况下不需要额外的堆分配 我仍然不清楚 局部函数中声明的局部值类型
  • 无法让“Hello World”与 Angular JS 一起使用

    我正在尝试学习有关 AngularJS 基础知识的 PluralSight 课程 这家伙的代码和我的代码如下
  • 检查连接四个字段的算法

    我想知道在四人制比赛中检查获胜者的最佳方法是什么 我对你们的想法感兴趣 以及是否有一些 众所周知 的算法可以解决此类问题 解决方案 我用 Python 实现了 Ardavan 的哈希表解决方案 我让算法在每个字段上运行一次 在我的 Inte
  • python pandas dataframe 聚合 groupby

    我的 pandas DataFrame 有很多行和列 这里只显示三行 date place number 2010 LON 10 2010 BER 20 2010 LON 5 2011 LON 10 2011 BER 15 2011 BER
  • 比较两列,并返回 Excel 中的特定相邻单元格

    我正在使用以下组合if vlookup match iserror函数 不幸的是我没能找到正确的公式 比较两列的匹配情况非常容易 困难的部分是在找到匹配项后返回特定的单元格 所以我正在处理的是这样的事情 Header Column A Co
  • iOS 10 不调用通知服务扩展

    我尝试实现新的通知服务扩展 但遇到问题 在我的NotificationService swift 文件中 我有以下代码 class NotificationService UNNotificationServiceExtension var
  • 在android studio中的所有活动中保留帐户信息

    我的应用程序只是一个管理数据库应用程序 我设置了一个远程 mysql 服务器 我的 android studio 应用程序使用 http post 请求连接到该服务器 假设我想在所有活动中保留用户名 密码等帐户信息 现在我使用 putExt
  • CUBA:实体继承

    提供的示例 实体继承 具有以下实体模型 顾客 公司拓展客户 人扩展客户 命令 OrderEdit 屏幕显示如何处理与客户 可以是公司或个人 关联的字段的继承 这是非常清楚的 但是 公司和个人的编辑屏幕不考虑继承 它们只是复制通常从客户继承的
  • 为什么线程 10000 次 start() 调用比 10000 次 run() 调用花费更多时间?

    我正在线程上做一个 hello world 我使用以下命令创建了一个简单的线程run 调用 这只是一个普通的方法调用 和一个使用 start 调用的重复线程 它会生成另一个线程来处理 但是 start 通话次数多于run 调用 这不是线程调
  • 使用Maven部署后如何运行测试?

    我正在尝试决定如何为 Java EE Web 应用程序创建一组验收测试 设置如下 Maven 用于生成 WAR 文件并将其部署到 Glassfish 中 部署时 MySQL 数据库架构会使用 Hibernate hbm2ddl auto 选
  • 将 Prawn PDF 保存为回形针附件?

    我使用 Prawn 和 Prawnto 向用户显示基于 PDF 的报告 但在某些情况下 我还想将 PDF 保存为我的模型之一的附件 我所有的附件都使用回形针 有人对如何做到这一点有任何建议吗 Thanks 使用 prawnto 时 您需要评