vin*_*nce 5 ruby pdf-generation screen-scraping ruby-on-rails
我们需要打印数千张这种格式的发票 -
其中n =数千个订单
浏览每个订单,然后单击"打印",这将花费我们一个漫长的时间.有没有办法从每个URL中创建一个多页pdf,我们可以将其作为一个pdf下载,这样我们可以点击"打印"一次?
您可以使用PDFkit gem 尝试ruby脚本(包装wkhtmltopdf).
我建议将你的pdf分成每个50到100页,不喜欢内存中1000页pdf的想法......可能会摔倒.
示例脚本,将页面连接成一个带有分页符div的大html字符串并保存到文件:
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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |