如何使用 Prawn Gem 压缩 rails 中用户上传的 pdf

How to compress a pdf uploaded by a user in rails using Prawn Gem

我是 rails 新手,也是编程新手。我正在尝试使用 Prawn gem 压缩 pdf,但我不确定它是否适合 gem 使用或者是否有其他工具。用户可以上传 pdf,但在保存之前,我想压缩。我目前正在使用 Active Storage 并尝试了以下操作,但无法正常工作

elsif @test.tipo == 'pdf'
      pdf = params[:test][:book]
      mini_pdf = Prawn::Document.new(pdf.tempfile, :compress => true)

我所做的就是安装 gem。没有别的。

Prawn 只是一个用于创建 PDF 的库,而不是用于操作它们的库。

如果您想压缩 PDF,请查看 HexaPDF which is a fully-featured PDF library that can compress PDF files (see an example and the compression benchmarks)。

注意事项:我是 HexaPDF 的作者,HexaPDF 是 AGPL 许可的,具有可用的商业许可。它可能是目前处理 PDF 的最佳 pure-Ruby 解决方案。