首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RoR中使用pdf-reader显示PDF

在RoR中使用pdf-reader显示PDF
EN

Stack Overflow用户
提问于 2015-11-10 17:53:49
回答 2查看 1.6K关注 0票数 0

我刚接触Ruby,并且在web应用程序中使用MVC,所以我想知道我应该把示例代码from the gem documentation放在哪里。对于我的应用程序,我正在使用Paperclip上传PDF文件,并且我希望在视图中显示PDF。我尝试将代码放在控制器中,如下所示:

代码语言:javascript
复制
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显示在视图中,以及如何使用控制台测试输出。例如,使用上面的代码,我可以在哪里看到"puts reader.info“语句的输出?

EN

回答 2

Stack Overflow用户

发布于 2015-11-10 18:41:36

试试,这一条:

代码语言:javascript
复制
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

根据文档,如果需要访问呈现页面的完整程序,请使用PDF::Reader::Pagewalk方法

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2019-02-08 14:31:42

尝试使用Active Storage进行PDF上传,它有更好的文档,更容易实现,并且从5.2.2版开始就可以很好地集成到rails中。

在应用程序中启用活动存储从Rake任务开始:运行

代码语言:javascript
复制
rails active_storage:install

一旦执行,它将创建两个表,活动存储需要它们来实现其承诺:active_storage_attachmentsactive_storage_blobs.

以下是官方文档的链接:https://github.com/rails/rails/blob/d3893ec38ec61282c2598b01a298124356d6b35a/activestorage/README.md

就这样。

我希望这对有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33627207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档