Rails view as PDF... suggestions?

J

J. B. Rainsberger

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.
 
A

ara.t.howard

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.

look at this too

http://www.kitp.ucsb.edu/~paxton/tioga.html

depending on your needs it might fill them quite nicely

pdf::writer is nice too - i think they are taking quite different approaches
and fill different niches.

-a
 
K

Kouhei Sutou

Hi,

2006/11/16 said:
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,
 
G

Giles Bowkett

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

http://www.artima.com/rubycs/articles/pdf_writer.html

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.)

Hi,

2006/11/16 said:
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,
 
J

J. B. Rainsberger

J. B. Rainsberger said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top