【问题标题】:how to convert pdf file into xlsx file in ruby on rails如何在ruby on rails中将pdf文件转换为xlsx文件
【发布时间】:2016-10-18 06:01:38
【问题描述】:

我已上传 1 个 PDF,然后将其转换为 xlsx 文件。我尝试了不同的方法,但没有得到实际的输出。pdf2xls 只显示单行格式而不是整个文件数据。我希望整个 PDF 文件数据显示在 xlsx 文件上。

我有一种方法将 PDF 转换为 xlsx,但无法显示正确的格式。

def do_excel_to_pdf
    @user=User.create!(pdf: params[:pdf])
    @path_in = @user.pdf.path
    temp1 = @user.pdf.path
    @path_out = @user.pdf.path.slice(0..@user.pdf.path.rindex(/\//))
    query = "libreoffice --headless --invisible --convert-to pdf " + @path_in + " --outdir " + @path_out
    system(query)
    file = @path_out+@user.pdf.original_filename.slice(0..@user.pdf.original_filename.rindex('.')-1)+".pdf"
    send_file file, :type=>"application/msexcel", :x_sendfile=>true
end

如果有人使用请帮助我,任何宝石任何脚本。

【问题讨论】:

标签: ruby-on-rails ruby pdf ubuntu-14.04 xlsx


【解决方案1】:

我将从阅读 PDF 开始,在 XLSX 中插入数据很容易,如果您对此有疑问,请提出另一个问题并指定您使用的 gem 以及您为该部分尝试的内容。

您使用 libreoffice 阅读 PDF,但根据 FAQ,您的 PDF 需要混合,也许这就是问题所在。

作为替代方案,您可以尝试使用一些电子书转换工具,例如 Calibre 中的转换工具,但恐怕您会丢失太多格式来恢复您需要的数据。

一切都取决于 PDF 中数据的结构,如果没有太多格式和定位的常规文本,它可以像使用 gem pdf-reader 一样简单

我过去使用过它,我的数据有很多格式 - 你会惊讶地知道 PDF 结构有多么复杂 - 所以我必须为每个字段指定必须在哪个位置准确读取哪些数据,不适合胆小的人。

这里是一个简单的例子。

require 'pdf/reader' # gem install pdf-reader

reader = PDF::Reader.new("my.pdf")
reader.pages.each do |page|
  # puts page.text
  page.page_object.each do |e|
    p e.first.contents
  end
end

【讨论】:

    【解决方案2】:

    无法找到从 PDF 转换为 xsls 的选项,但 API 选项可用于将 PDF 转换为图像和 PDF 转换为 powerpoint(下面给出的链接) 不确定您是否可以更改要求以其他格式显示结果!

    http://www.convertapi.com/

    【讨论】:

    • 你是对的,但我没有使用任何 api 来转换 xlsx 文件,就像我使用“unoconv -d document --format=pdf 文件名”将 pdf 转换为 excel 一样
    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多