Pessoal, estou enviando um arquivo PDF atachado por email!!
Quando vou abrir ele não tem nada dentro, sendo que na tela ele me
mostra o pdf gerado.
Segue o ActionMailler
def fabrica(options = {})
email = "<a href='mailto:
garci...@gmail.com'>garcia.g12@gmail</
a>"
recipients options[:para] || ""
from options[:from] || email
subject options[:assunto] || ""
reply_to options[:responder] || email
body :corpo => options[:corpo] || email
puts options[:doc]
puts options[:arquivo]
attachment "application/pdf" do |a|
a.body = options[:doc].render_stream(:pdf)
a.filename = options[:arquivo]
end
def report_pedido
RGhost::Config::GS[:path]= "c:\\gs\\gs8.64\\bin\\gswin32c.exe"
@pedido = Pedido.find(:first,
:conditions => ["
pedidos.id = ?", params[:id]],
:joins => [:parceiro])
@filename = "pedido#{@
pedido.id}.pdf"
@path_report = 'public/reports/'
doc=RGhost::Document.new :paper => [30,15],
:landscaped => true,
:margin_top => 2,
:margin_bottom => 2
doc.define_tags do
tag :my_bold15, :name => 'Times-New-Roman', :size =>
10, :row_padding => 1
tag :my_bold10, :name => 'Times-New-Roman', :size =>
8, :row_padding => 1
end
doc.show 'Nome Fantasia', :height => 1
doc.moveto :x => 4, :y => :current_row
doc.show @pedido.parceiro.nome_fantasia
doc.show 'Pedido Nº ', :align => :page_right
doc.show @
pedido.id
doc.next_row
doc.show 'Cliente', :height => 1
doc.moveto :x => 4, :y => :current_row
doc.show @pedido.parceiro.cnpj
doc.show ' '
doc.show @pedido.parceiro.razao_social
doc.next_row
doc.show 'Rua'
doc.moveto :x => 4, :y => :current_row
doc.show @pedido.parceiro.endereco
doc.moveto :x => 10, :y => :current_row
doc.show 'Nº '
doc.show @pedido.parceiro.numero
doc.moveto :x => 12, :y => :current_row
doc.show 'Bairro '
doc.show @pedido.parceiro.bairro
doc.next_row
doc.show 'CEP'
doc.moveto :x => 4, :y => :current_row
doc.show @pedido.parceiro.cep
doc.moveto :x => 7, :y => :current_row
doc.show 'Cidade '
doc.show @pedido.parceiro.cidade.cidade
doc.moveto :x => 11, :y => :current_row
doc.show ' Estado '
doc.show @pedido.parceiro.cidade.uf
doc.moveto :x => 15, :y => :current_row
doc.show 'Fone '
doc.show @pedido.parceiro.fone_comercial unless
@pedido.parceiro.fone_comercial.nil?
doc.next_row
doc.show 'Dias Vencto'
doc.moveto :x => 4, :y => :current_row
doc.show @pedido.dia1.to_s+' '+...@pedido.dia2.to_s+'
'+...@pedido.dia3.to_s+' '+...@pedido.dia4.to_s+' '+...@pedido.dia5.to_s+'
'+...@pedido.dia6.to_s+' '+...@pedido.dia7.to_s+' '+...@pedido.dia8.to_s
doc.next_row
doc.next_row
doc.define_tags do
tag :meus_itens, :name => 'Hershey-Plain-Duplex-Bold', :size
=> 5, :row_padding => 1
end
doc.grid :data => @pedido.item_pedido, :style
=> :border_lines, :tag => :meus_itens do |g|
g.column :id, :title => "Item", :align => :center, :width => 1
g.column lambda{|v| (v.flag_brinde == true) ? "Sim" :
"Não"}, :title => "Brinde? ", :width => 2
g.column 'produto.referencia_produto', :title => " Produto
", :align => :center, :width => 2
g.column 'produto.descricao', :title => "Descricao", :width => 2
g.column 'gtam.descricao', :title => "Gtam", :width => 2
g.column :cor_id, :title => "Cor", :align => :center, :width =>
1
g.column 'cor.descricao', :title => "Descricao Cor", :width => 2
g.column :qtde1, :align => :right, :width => 1
g.column :qtde2, :align => :right, :width => 1
g.column :qtde3, :align => :right, :width => 1
g.column :qtde4, :align => :right, :width => 1
g.column :qtde5, :align => :right, :width => 1
g.column :qtde6, :align => :right, :width => 1
g.column :qtde7, :align => :right, :width => 1
g.column :qtde8, :align => :right, :width => 1
g.column :preco, :title => "Preço", :align => :right, :width =>
1
g.column :preco_liquido, :title => "Preço Liquido", :align
=> :right, :width => 2
g.column :total_item, :title => "Total Item", :align
=> :right, :width => 2
end
#doc.render :pdf, :filename => @path_report + @filename
send_email_pedido(doc, @filename)
#render_report_pdf(path + filename + ".pdf")
#send_data doc.render_stream(:pdf), :filename => @path_report
#render :template => "/reports/report_pedido", :layout => false
doc.done
end
private
def send_email_pedido(doc, nome_arquivo)
corpo = <<-CODE
<b>Cadastro de Pedido<br /></b>
<b>Pedido Nr.</b>#{@
pedido.id}<br />
<b>CNPJ</b>#{@pedido.parceiro.cnpj}<br />
<b>Razao Social</b>#{@pedido.parceiro.razao_social}<br />
<b>Data do cadastro: </b>#{@pedido.created_at}<br />
CODE
EnvioEmail.deliver_fabrica(:corpo => corpo, :assunto =>
"Solicitação de Cadastro de pedido",
:para => '
julia...@hotmail.com', :doc
=> doc, :arquivo => nome_arquivo)
EnvioEmail.deliver_cliente(:corpo => corpo, :assunto =>
"Solicitação de Cadastro de pedido",
:para => "
julia...@hotmail.com")
end
Ele envia tudo certo o anexo, mas na hora de abrir da um erro!!!
--
Você está recebendo esta mensagem porque se inscreveu no grupo "rghost-pt" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para
rgho...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para
rghost-pt+...@googlegroups.com.
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/rghost-pt?hl=pt-BR.