在rails应用程序中阅读PDF

时间:2013-09-13 05:59:12

标签: ruby-on-rails ruby-on-rails-3.2

在Rails应用程序中阅读PDF。

我的应用程序位于RAILS 4,我想在我的应用程序中阅读PDF。我不想下载PDF。我上传PDF并在我的申请中查看。

怎么可能或我怎么做?

请帮帮我......

提前致谢

3 个答案:

答案 0 :(得分:2)

使用PDF阅读器gem。 https://github.com/yob/pdf-reader。它允许您通过URL阅读网页。

例如:

def count_words_in_pdf_file(filepath)
    io = filepath.start_with?('http') ? open(filepath) : filepath
    reader = PDF::Reader.new(io)
    total_count = 0
    if reader
      reader.pages.each do |page|
        total_count += count_words_in_text(page.text)
      end
    end
    total_count
end

答案 1 :(得分:0)

如果我理解正确,您希望向用户显示PDF。

作为解决方案,您可以使用FancyBox2在框架中显示PDF:

<a class="fancybox" data-fancybox-type="iframe" href="http://samplepdf.com/sample.pdf">Test pdf</a>

$(".fancybox").fancybox({
    openEffect  : 'none',
    closeEffect : 'none',
    iframe : {
        preload: false
    }
});

http://jsfiddle.net/RHaAX/

答案 2 :(得分:0)

您可以使用send_data方法

def view_pdf
  File.open("path/to/pdf", 'rb') do |f|
    send_data f.read, :type => "application/pdf", :disposition => "inline"
  end
end

但是用户的浏览器无论如何都可以覆盖和下载pdf。

如果您想强制pdf查看,可以使用mozilla创建的pdf.js

https://github.com/mozilla/pdf.js