gpt4 book ai didi

ruby-on-rails - 使用 Dragonfly 将 PDF 转换为 PNG

转载 作者:数据小太阳 更新时间:2023-10-29 08:40:07 31 4
gpt4 key购买 nike

我有一个 Dragonfly 处理器,它应该接受给定的 PDF 并返回文档第一页的 PNG。

当我通过控制台运行这个处理器时,我按预期取回了 PNG,但是,在 Rails 的上下文中,我得到的是 PDF。

我的代码大致是这样的:

  def to_pdf_thumbnail(temp_object)
tempfile = new_tempfile('png')
args = "'#{temp_object.path}[0]' '#{tempfile.path}'"
full_command = "convert #{args}"
result = `#{full_command}`
tempfile
end

def new_tempfile(ext=nil)
tempfile = ext ? Tempfile.new(['dragonfly', ".#{ext}"]) : Tempfile.new('dragonfly')
tempfile.binmode
tempfile.close
tempfile
end

现在,tempfile 肯定会创建一个 .png 文件,但转换会生成一个 PDF(当从 Rails 3 中运行时)。

关于这里可能出现的问题有什么想法吗?是否对内容类型感到困惑?

我应该补充一点,这个和标准转换 (asset.png.url) 都会生成一个 PDF,其中 PDF 内容作为 (A4) 图像中间的一个小块。

最佳答案

我为此使用的一种方法是通过 Dragonfly 的 ImageMagick 插件中的 thumb 方法动态生成缩略图 PNG:

<%= image_tag rails_model.file.thumb('100x100#', format: 'png', frame: 0).url %>

只要安装了 Ghostscript,ImageMagick/Dragonfly 就会遵循格式/框架(即 PDF 的页面)设置。如果 file 是图像而不是 PDF,它将被转换为 PNG,并忽略帧编号(除非它是 GIF)。

关于ruby-on-rails - 使用 Dragonfly 将 PDF 转换为 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9977829/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com