对我来说,这真是令人头疼。
我能够在Rails / WEBrick中创建没有问题的PDF。当我改为Apache时,我收到了消息:
no wkhtmltopdf executable found at please install wkhtmltopdf
显然,
gem 'pdfkit'
gem 'wkhtmltopdf-binary'
在Gemfile中并且(正确)安装或者在WEBrick中无法正常工作。 在网上搜索我发现了这个:https://github.com/pdfkit/pdfkit/issues/123
这让我得到了答案:WEBRick和Apache之间在 PDFKit 或 wkhtmltopdf-binary 的环境中有所不同。
我修改了https://github.com/pdfkit/pdfkit/issues/123中的建议,并创建了一个初始化程序,〜/ config / initializers / pdfkit.rb
# See https://github.com/pdfkit/pdfkit/issues/123
# This should resolve a problem where PDFKit works with WEBrick but not under Apache
require 'rbconfig'
PDFKit.configure do |config|
# See ~/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/wkhtmltopdf-binary-0.12.3.1/bin/wkhtmltopdf
suffix = case RbConfig::CONFIG['host_os']
when /linux/
(RbConfig::CONFIG['host_cpu'] == 'x86_64') ? 'linux_amd64' : 'linux_x86'
when /darwin/
'darwin_x86'
else
raise "Invalid platform. Must be running on linux or intel-based Mac OS."
end
prefix = File.join(Rails.root, '.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/wkhtmltopdf-binary-0.12.3.1/bin/wkhtmltopdf').to_s
config.wkhtmltopdf = "#{prefix}_#{suffix}"
end
我不喜欢硬编码'。rbenv / versions / 2.4.1 / lib / ruby / gems / 2.4.0 / gems / wkhtmltopdf-binary-0.12.3.1 / bin / wkhtmltopdf'在上面的代码中。
我想知道如何在 config.wkhtmltopdf = 的右侧生成名称。