首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WickedPDF在景观定位中的应用

WickedPDF在景观定位中的应用
EN

Stack Overflow用户
提问于 2013-09-16 16:36:00
回答 2查看 2.5K关注 0票数 7

我正在尝试以横向格式发送电子邮件给.pdf。我一直在使用WickedPdf.new.pdf_from_string方法来尝试这样做。即使我指定了景观格式,通过电子邮件发送的PDF也在人像中。

如果有人能告诉我如何做到这一点,我会非常感激的。

梅勒:

代码语言:javascript
复制
class ProjectMailer < ActionMailer::Base
  def email_mindmap_process(project, user, unused_list_items_column1, unused_list_items_column2)
    @project = project
    @user = user
    mail(:subject => "You've received a MindMap from #{@user.email}!", :to => @project.destination_email) do |format|
      format.pdf do
        attachments["#{@project.title}.pdf"] = WickedPdf.new.pdf_from_string(render_to_string(:pdf => "MindMap", :template => 'projects/show.pdf.html.erb', :orientation => 'Landscape', :locals => {:project => @project, :user => @user }))
      end
    end
  end
end

主计长:

代码语言:javascript
复制
def email_mindmap_process
  @project = Project.find(params[:id])
  @user = current_user
  begin
    ProjectMailer.email_mindmap_process(@project, @user, @unused_list_items_column1, @unused_list_items_column2).deliver
    flash[:notice] = "We have emailed your MindMap to #{@project.destination_email}"
  rescue Net::SMTPAuthenticationError, Net::SMTPServerBusy, Net::SMTPSyntaxError, Net::SMTPFatalError, Net::SMTPUnknownError => e
    flash[:error] = "There was a problem emailing #{@project.destination_email}. Please double-check the address"
  end
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-28 08:51:02

我联系了WickedPDF宝石的创建者迈尔斯·斯特雷特,他推荐了以下内容,这是非常完美的!

代码语言:javascript
复制
attachments["#{@project.title}.pdf"] = WickedPdf.new.pdf_from_string(render_to_string(:pdf => "MindMap", :template => 'projects/show.pdf.html.erb',  :locals => {:project => @project, :user => @user }), {:orientation => 'Landscape'})

非常感谢迈尔斯的迅速反应,并建立了这样一个有用的宝石!

票数 18
EN

Stack Overflow用户

发布于 2018-06-15 13:35:15

我想分享一个不使用render_to_string的解决方案。我先解析erb文件,然后将该字符串作为pdf_from_string中的第一个arg传递。

示例

代码语言:javascript
复制
parsed_content = File.read("#{Rails.root}/app/views/content.erb")
render = ERB.new(parsed_content)
content = render.result(binding)

pdf = WickedPdf.new.pdf_from_string(
  content,
  :orientation => 'Landscape'
)

我希望这对某人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18833061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档