[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Rails view as PDF... suggestions?

J. B. Rainsberger

11/16/2006 1:40:00 AM

Hi, everybody!

I am about to do some research tomorrow, but if any of you has an
obvious answer, then that would help. I am looking to build PDFs from
Rails views, and I'd like some guidance on how to go about it.

If this is not the right forum, feel free to forward me to a better one.

I want to put placeholders, both text and images, onto a template and
end up with a PDF. I'm pretty open about how that all happens, so feel
free to make wild suggestions. The only important constraint I can think
of is that layout (meaning spacing) matters, so relying on a browser
rendering HTML is probably not an option. The template will be a kind of
background on which the placeholders will be laid out, and I imagine
it's the template that will be the tricky part.

I have looked into PDF::Writer, but I'm not sure whether we'll need to
draw the templates or not. If we get the template as a pre-rendered file
(say PDF, RTF, whatever), then I'd like to be able to overlay the
placeholders onto the template and merge.

So, any suggestions? Any questions for me? Any choice Google keywords
you care to suggest? I could really use your help.

Take care.
--
J. B. (Joe) Rainsberger :: http://www....
Your guide to software craftsmanship
JUnit Recipes: Practical Methods for Programmer Testing
2005 Gordon Pask Award for contribution Agile Software Practice

4 Answers

Ara.T.Howard

11/16/2006 1:51:00 AM

0

Kouhei Sutou

11/16/2006 2:29:00 AM

0

Hi,

2006/11/16, J. B. Rainsberger <jbrains762@gmail.com>:

> I am about to do some research tomorrow, but if any of you has an
> obvious answer, then that would help. I am looking to build PDFs from
> Rails views, and I'd like some guidance on how to go about it.

> I want to put placeholders, both text and images, onto a template and
> end up with a PDF. I'm pretty open about how that all happens, so feel
> free to make wild suggestions. The only important constraint I can think
> of is that layout (meaning spacing) matters, so relying on a browser
> rendering HTML is probably not an option. The template will be a kind of
> background on which the placeholders will be laid out, and I imagine
> it's the template that will be the tricky part.

My suggestion is the following:

1. make a SVG for template with Illustrator, Inkscape and so on
2. substitute placeholders in the SVG by ERB, Amrita and so on
3. generate PDF from the substituted SVG.
(See [ruby-talk:225127])

# You can't use PDF::Writer for this suggestion.

Thanks,
--
kou

Giles Bowkett

11/16/2006 6:45:00 PM

0

PDF::Writer -- it kicks ass and it's easy to use.

http://www.artima.com/rubycs/articles/pdf_w...

require "pdf/writer"

class HelloController < ApplicationController
# ...
def pdf
_pdf = PDF::Writer.new
_pdf.select_font "Times-Roman"
_pdf.text "Hello, Ruby.", :font_size => 72, :justification => :center

send_data _pdf.render, :filename => "hello.pdf",
:type => "application/pdf"
end
# ...
end

the only problem with it is that you can't define templates and then
have PDF::Writer process them the same way you can process other
templates within Rails as views.

however, it sounds as if that's what your application needs, and I
think creating a templating facility for PDF::Writer would be your
best bet. if you create it, please open-source it! it'll make a useful
library stunningly useful.

(actually, I might be willing to help with that, I think it would be
very, very cool.)

On 11/15/06, Kouhei Sutou <kou@cozmixng.org> wrote:
> Hi,
>
> 2006/11/16, J. B. Rainsberger <jbrains762@gmail.com>:
>
> > I am about to do some research tomorrow, but if any of you has an
> > obvious answer, then that would help. I am looking to build PDFs from
> > Rails views, and I'd like some guidance on how to go about it.
>
> > I want to put placeholders, both text and images, onto a template and
> > end up with a PDF. I'm pretty open about how that all happens, so feel
> > free to make wild suggestions. The only important constraint I can think
> > of is that layout (meaning spacing) matters, so relying on a browser
> > rendering HTML is probably not an option. The template will be a kind of
> > background on which the placeholders will be laid out, and I imagine
> > it's the template that will be the tricky part.
>
> My suggestion is the following:
>
> 1. make a SVG for template with Illustrator, Inkscape and so on
> 2. substitute placeholders in the SVG by ERB, Amrita and so on
> 3. generate PDF from the substituted SVG.
> (See [ruby-talk:225127])
>
> # You can't use PDF::Writer for this suggestion.
>
> Thanks,
> --
> kou
>
>


--
Giles Bowkett
http://www.gilesg...

J. B. Rainsberger

11/20/2006 5:35:00 AM

0

J. B. Rainsberger wrote:
> Hi, everybody!
>
> I am about to do some research tomorrow, but if any of you has an
> obvious answer, then that would help. I am looking to build PDFs from
> Rails views, and I'd like some guidance on how to go about it.
>
> If this is not the right forum, feel free to forward me to a better one.
>
> I want to put placeholders, both text and images, onto a template and
> end up with a PDF. I'm pretty open about how that all happens, so feel
> free to make wild suggestions. The only important constraint I can think
> of is that layout (meaning spacing) matters, so relying on a browser
> rendering HTML is probably not an option. The template will be a kind of
> background on which the placeholders will be laid out, and I imagine
> it's the template that will be the tricky part.
>
> I have looked into PDF::Writer, but I'm not sure whether we'll need to
> draw the templates or not. If we get the template as a pre-rendered file
> (say PDF, RTF, whatever), then I'd like to be able to overlay the
> placeholders onto the template and merge.
>
> So, any suggestions? Any questions for me? Any choice Google keywords
> you care to suggest? I could really use your help.

This is just a follow-up. I found a neat tool online, from FyTek, called
"PDF Meld" that can overlay a PDF onto a graphic, which is perfect for
our purposes. We're now integrating its script into our Rails
application, and if it works well, you'll see me write about it in
detail. If not, your ideas are a tremendous backup plan.

Thanks again.
--
J. B. (Joe) Rainsberger :: http://www....
Your guide to software craftsmanship
JUnit Recipes: Practical Methods for Programmer Testing
2005 Gordon Pask Award for contribution Agile Software Practice