È possibile provare uno script rubino utilizzando la gemma PDFkit (avvolge wkhtmltopdf).
Suggerirei di suddividere i tuoi pdf in probabilmente da 50 a 100 pagine ciascuno, non mi piace il pensiero di un pdf di 1000 pagine in memoria ... probabilmente cadere.
Esempio di script, Inserto pagine in un unico grande stringa HTML con div interruzione di pagina e salva su file:
require 'rubygems'
require 'open-uri'
require 'pdfkit'
PDFKit.configure do |config|
config.wkhtmltopdf = '/path/to/wkhtmltopdf'
end
invoice_numbers = (1..1000) #replace with actual numbers
html = ""
invoice_numbers.each do |n|
html << open("http://example.com/orders/#{n}").read + "<div style='page-break-before:always'></div>"
end
pdf = PDFKit.new(html, :page_size => 'Letter')
pdf.to_file('/path/to/invoices.pdf')
fonte
2011-12-19 13:32:23
[PrinceXML] (http://princexml.com/) è un ottimo renderer HTML in PDF. – chesles