我目前正在使用Prawn和CombinePDF开发Ruby on Rails 5.2应用程序。我请求将文件发送到Box API。我从框中得到的文件然后使用StringIO.new(image)
转换为字符串,然后将其添加到对虾文档中,如图所示。
attach_docs_from_submission(user_data).each do |file|
image = client.download_file(file)
format_image = StringIO.new(image)
pdf_prawn = Prawn::Document.new
pdf_prawn.image format_image
pdf_data = pdf_prawn.render
pdf << CombinePDF.parse(pdf_data)
end
是否有一种适合全尺寸图像的方法?问题来自Prawn还是CombinePDF?
答案 0 :(得分:0)
此答案基于我的偏爱,因为我意识到有很多方法可以解决此问题。就我个人而言,这是最精简和灵活的解决方案。
savingmulans(pcode, code, name, reg, val)
因此,您将def savingmulans(pcode, ecode, name, reg, mulans): # --------------------- Multiple answer mark
db_con = sqlite3.connect('data.db')
print("Created")
curs = db_con.cursor()
for i in range(len(mulans)):
# a = mulans[i]
curs.execute("INSERT INTO Student_Tab(Name, Id, Examcode, Papercode, MultipleAnswer) VALUES(?, ?, ?, ?, ?);",
(name, reg, ecode, pcode, mulans))
db_con.commit()
curs.close()
db_con.close()
设置为 pdf_prawn = Prawn::Document.new(page_size: 'LETTER')
pdf_prawn.image format_image, fit: [610, 790],
position: :center,
position: :center
,然后考虑到页面上的page_size
边距,将字母的尺寸传递给LETTER
作为参数。 。您也可以使用fit:
来调整图像的大小,但是我发现它缺乏精度。有关此问题的更多信息,请参见Prawn手册
答案 1 :(得分:0)
您可以使用以下方法获取页面尺寸:
pdf_prawn.bounds.width
pdf_prawn.bounds.height
您可以将其传递给适合的人。