由于 IMGKit 的代码示例不多,我在下面发布了我的。
我研究了 IMGKit documentation ,它说你可以通过元标记将选项传递给 wkhtmltoimage 。所以我创建了一个带有以下元标记的页面,但它不起作用:
<!DOCTYPE html>
<html>
<head>
...
<meta name="imgkit-height" content="420" />
...
</head>
<body>
...
</body>
</html>
最佳答案
两周内有 127 次观看,没有评论或回答,所以我努力寻找答案。此外,因为这个 gem 上的内容太少,我想我会添加我的整个过程和代码作为示例。
开发安装:MAC OSX
生产安装:Ubuntu 10.04 LTS
cat /proc/cpuinfo
找出我的服务器 CPU 是 Intel,因此将 i386 版本手动安装到/usr/local/bin。我更改了 wkhtmltoimage-i386 文件的权限以允许执行。此外,为了让 IMGKit 识别文件,我必须重命名文件,去掉“-i386”。 调用 IMGKit 函数的 Controller 。
def email_profile
...
filename = current_user.username + "_" + cur_date + '.jpg'
kit = IMGKit.new("https://www.myapp.com/applet/?auth_token=" + token)
img = kit.to_img(:jpg)
file = kit.to_file(Rails.root + "public/profile_images/" + filename)
...
end
“小程序” Controller
此 View 永远不会在浏览器中呈现。专供 IMGKit/wkhtmltoimage 读取。请注意,呈现了不同的 rails 布局文件:
class AppletController < ApplicationController
def index
render(:layout => "layouts/applet_lo")
end
end
布局文件
布局文件具有调用 wkhtmltoimage 选项以通过 IMGKit gem 裁剪图像的新元标记。它仍然不起作用。 gem 的作者回信说这个功能很挑剔。我正在使用 minimagick 进行裁剪,直到修复为止。
<!DOCTYPE html>
<html>
<head>
<meta name="imgkit-crop-h" content="990">
<meta name="imgkit-crop-w" content="635">
</head>
<body>
<%= yield %>
</body>
</html>