我们需要打印数千份符合以下格式的发票 -
其中n = 成千上万个订单
逐个查看每个订单,然后点击“打印”需要花费我们很长时间。是否有一种方法可以从每个URL创建一个多页PDF,以便我们可以将其作为一个PDF下载,这样我们只需点击一次“打印”即可?
我们需要打印数千份符合以下格式的发票 -
其中n = 成千上万个订单
逐个查看每个订单,然后点击“打印”需要花费我们很长时间。是否有一种方法可以从每个URL创建一个多页PDF,以便我们可以将其作为一个PDF下载,这样我们只需点击一次“打印”即可?
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')
对于发票,我喜欢使用htmldoc - 它的呈现效果比wkhtmltopdf更好,但缺点是你不能使用样式表。
因此,对于htmldoc,您可能需要重新编码发票视图,以使用更多的表格布局和内联样式。