Ala*_*ain 7 pdf ruby-on-rails prawn
当我尝试使用Prawn插入图像(PNG为72dpi)时,如下所示:
image "#{Rails.root}/public/images/pdf/logo.png"
Run Code Online (Sandbox Code Playgroud)
Prawn插入图像但是将其缩放约30%,这使得它模糊(并且更大.)我在文件中没有任何其他东西,PDF初始化是相当标准的:
super(:page_layout => :portrait,
:left_margin => 0.5.in,
:right_margin => 0.5.in,
:top_margin => 1.in,
:bottom_margin => 0.5.in)
Run Code Online (Sandbox Code Playgroud)
根据文档,Prawn应该将图片插入文档而不做任何修改.为什么这张图片会重新调整大小?
注意:我注意到边界框也比它们应该更大(与我的图像的比例相同).
您可以尝试传递图像实际看到的宽度和高度,如果这有帮助
虾::图片
公共实例方法image(file,options = {})单击以切换源
将文件名图像添加到当前页面.目前仅支持JPG和PNG文件.
注意:使用alpha通道渲染PNG时,Prawn非常慢.那些不介意安装RMagick的人的解决方法是使用:
github.com/amberbit/prawn-fast-png
参数:
文件的路径或响应#的对象
选项:
:在数组[x,y]处,具有图像左上角的位置.
:位置(:左,中,右)或x偏移中的一个
:vposition(:top,:center,:center)之一或y偏移量
:高度图像的高度[图像的实际高度]
:宽度图像的宽度[图像的实际宽度]
:缩放比例缩放图像的尺寸
:比例适合缩放图像的尺寸以适应[宽度,高度]
Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do
pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
image pigs, :at => [50,450], :width => 450
dice = "#{Prawn::BASEDIR}/data/images/dice.png"
image dice, :at => [50, 450], :scale => 0.75
end
Run Code Online (Sandbox Code Playgroud)
如果仅提供:width /:height中的一个,则将按比例缩放图像.当两者都提供时,图像将被拉伸以适合尺寸而不保持纵横比.
如果:提供了at,则图像将放在当前页面中,但文本位置不会更改.
如果不是显式文件名,而是将具有read方法的对象作为文件传递,则可以嵌入来自IO对象的图像以及与它们相似的内容(包括Tempfiles和open-uri对象).
require "open-uri"
Prawn::Document.generate("remote_images.pdf") do
image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
end
Run Code Online (Sandbox Code Playgroud)
此方法返回图像信息对象,如果需要,可以使用该对象检查图像对象的尺寸.(参见:Prawn ::图片:: PNG,Prawn ::图片:: JPG)
| 归档时间: |
|
| 查看次数: |
3791 次 |
| 最近记录: |