ruby-on-rails - 在 Ruby on Rails 中将 PDF/DOC/DOCx 转换为图像
问题描述
第 1 部分:我的 S3 中存储了 PDF、Docs、Docx。当我下载它们时,我希望它们首先转换为图像(png 或 jpg),然后仅下载(作为图像或图像的缩略图)。如何做到这一点?
第 2 部分:我使用mini-magick将 pdf 转换为图像,它的工作原理如下:
require "mini_magick"
im=MiniMagick::Image.open("path/to_my_pdf.pdf")
im.format("png", 0)
im.write("some_thumbnail.png")
这里的问题是 pdf 可以有多个页面,我需要将每一页都转换为图像格式(可能是图像数组),但我无法实现。我只能转换 pdf 的任何一页。卡在这里。请帮忙。
随意回答问题的任何部分。!!
解决方案
您可以使用RMagick gem 来执行此操作,如下所示。
require 'RMagick'
pdf = Magick::ImageList.new("path/to_my_pdf.pdf")
pdf.each_with_index do |page, i|
page.write "#{i}_thumbnail.png"
end
推荐阅读
- java - Visual Studio 代码导入库
- php - Laravel - 请求验证设置为 Nullable 的图像是不允许的,为什么会出错?
- python - 在端口 80 上侦听的 Python 套接字未接收到数据
- java - 使用 JDBC:将数据从 tar.gz 传输到 MySQL db 在大约 200k 个条目后变得缓慢
- visual-studio-code - 不显示工具栏文本
- c# - MVC 表单加载调用控制器方法及其重载方法而不是调用点击方法?附上代码
- java - 如何覆盖从父类继承的受保护属性?
- firebase - 从数据库连接两个随机用户
- rest - 如何为网关聚合模式配置 Kubernetes?
- python - 递归错误。难以理解递归函数的逻辑