使用大虾生成pdf时图像和代码崩溃了,rails

image and the code broke down when generating the pdf using prawn, rails

我正在使用大虾gem在ROR中生成pdf。在处理图像之前一切都非常顺利。当我尝试将图像插入 pdf 时,图像绘制得很好。但是,如果图像位于 pdf 页面的末尾,或者图像超过页面高度,则图像会被破坏,图像之后的 pdf 数据也会被破坏。请找到我为这个问题附上的图片

在 Buildout 文本之后的图像中,图像被破坏了,图像之后的 pdf 数据也被破坏了。

我正在使用 gem 'prawn', '2.0.1' gem 'prawn-table', '~> 0.1.0' 对于 pdf 生成和 ruby ruby 2.1.2p95

任何人都可以帮助我解决这个问题。感谢提前提供解决方案。

大虾没用过gem。但是你可以试试 Wicked PDF 的运气。这也是大多数开发人员用来生成 pdf 的 gem 之一。您可以为 pdf 布局自定义 CSS。希望这可以解决您的问题。

您可以随时控制 Prawn 中图像的 :height、:width 和 :at (location):

 Prawn::Document.generate("images.pdf", :page_layout => :landscape) do     
  photo1 = "#{Prawn::BASEDIR}/data/images/photo1.jpg" 
  image photo1, :at => [50,450], :width => 450, :height => 450                                      
 end   

因此您可以管理位于页面末尾或图像是否超过页面高度。

您可以这样定义尺寸(高度):

# New document, A4 paper, landscaped (height = 841.89)
  pdf = Prawn::Document.new(:page_size => "A4", :page_layout => :landscape)

# New document, Custom size (height = 300)
  pdf = Prawn::Document.new(:page_size => [200, 300])