2013-09-16 45 views
3

我正在嘗試以橫向格式向.pdf發送電子郵件。我一直在使用WickedPdf.new.pdf_from_string方法來嘗試這樣做。即使我指定了橫向格式,通過電子郵件發送的PDF也是縱向的。以橫向電子郵件發送WickedPDF

如果有人能告訴我一種方法來實現這一點,我會非常感激。

梅勒:

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 

控制器:

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 

回答

11

我聯繫了WickedPDF寶石,萬里斯特雷特的創造者,他提出以下建議,這完美地工作!

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'}) 

非常感謝邁爾斯及時迴應,併爲建立這樣一個有用的寶石!