我是Ruby的新手,并将MVC用于网络应用,所以我想知道在哪里放置示例代码from the gem documentation。对于我的应用,我使用Paperclip上传PDF文件,我想在视图中显示PDF。我尝试将代码放在控制器中,如下所示:
require 'rubygems'
require 'open-uri'
class BooksController < ApplicationController
...
def index
io = open('http://www.cbu.edu.zm/downloads/pdf-sample.pdf')
reader = PDF::Reader.new(io)
puts reader.info
end
但是当我运行它时,它会冻结服务器。我想知道如何在视图中显示此PDF以及如何使用控制台测试输出。例如,使用上面的代码,我在哪里可以看到&#34;输出reader.info&#34;的输出。声明?
答案 0 :(得分:0)
试试这个:
io = open('http://www.cbu.edu.zm/downloads/pdf-sample.pdf')
reader = PDF::Reader.new(io)
reader.pages.each do |page|
puts page.fonts
puts page.text
puts page.raw_content
end
根据文档,如果您需要访问用于呈现页面的完整程序,请使用walk
PDF::Reader::Page
方法
class RedGreenBlue
def set_rgb_color_for_nonstroking(r, g, b)
puts "R: #{r}, G: #{g}, B: #{b}"
end
end
io = open('http://www.cbu.edu.zm/downloads/pdf-sample.pdf')
reader = PDF::Reader.new(io)
page = reader.page(1)
receiver = RedGreenBlue.new
page.walk(receiver)
答案 1 :(得分:0)
尝试将Active Storage用于PDF上传,它具有更好的文档,更易于实现的方法,并且已很好地集成到5.2.2版中的Rails中。
在应用程序中启用Active Storage始于Rake任务:运行
rails active_storage:install
执行后,它将创建Active Storage需要履行承诺的两个表: active_storage_attachments 和 active_storage_blobs 。
以下是官方文档的链接: https://github.com/rails/rails/blob/d3893ec38ec61282c2598b01a298124356d6b35a/activestorage/README.md
就是这样。
我希望这对您有帮助
在有帮助的情况下将此答案赞为有用,或在答案下方评论以进一步说明。