加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何从html创建多页pdf

发布时间:2020-12-17 03:21:12 所属栏目:百科 来源:网络整理
导读:我们需要打印数千张这种格式的发票 – http://example.com/orders/n 其中n =数千个订单 浏览每个订单,然后单击“打
我们需要打印数千张这种格式的发票 –

http://example.com/orders/n

其中n =数千个订单

浏览每个订单,然后单击“打印”,这将花费我们一个漫长的时间.有没有办法从每个URL中创建一个多页pdf,我们可以将其作为一个pdf下载,这样我们可以点击“打印”一次?

解决方法

您可以使用 PDFkit gem(包装wkhtmltopdf)尝试ruby脚本.

我建议将你的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')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读