gpt4 book ai didi

ruby-on-rails - Rails wicked_pdf (wkhtmltopdf) 生产环境中的小图和bug

转载 作者:行者123 更新时间:2023-12-04 18:52:21 33 4
gpt4 key购买 nike

出于某种原因,我使用 wicked_pdf gem 生成 PDF 文件的 Rails 应用程序(使用软件 wkhtmltopdf 的 gem)正在开发和生产中生成不同的 PDF。

这就是它在开发中的输出方式,几乎没问题:Click here to view .
这就是生产中的输出方式,有很多错误:Click here to view .

系统的真正区别在于,在开发中我在 OSX 中使用 wkhtmltopdf 0.9.9。在生产中,我在 Ubuntu 中使用 wkhtmltopdf 0.9.9。一旦 Ubuntu Server 14.04 不使用 X Server(并且 wkhtmltopdf 需要它),我就安装了 Xorg 并制作了以下包装器:

/usr/bin/wkhtmltopdf.sh

xvfb-run -a -s "-screen 0 1024x768x32" wkhtmltopdf "$@"

Rails 初始化程序中的以下代码:

/config/initializers/wicked_pdf.rb
if Rails.env.production?
WickedPdf.config = {
:exe_path => '/usr/bin/wkhtmltopdf.sh'
}
else
WickedPdf.config = {
:exe_path => '/usr/local/bin/wkhtmltopdf'
}
end

这就是我渲染 PDF 的 Controller 代码:
render :pdf => "curriculum",
:template => 'kurrics/kurrics.pdf.erb',
:margin => { :top => 4, :bottom => 4, :left => 0, :right => 0 },
:encoding => "utf8",
:print_media_type => true

如果需要,PDF 模板布局:
https://gist.github.com/fschuindt/e173c05d0cc7378df105

我很迷茫,有什么建议吗?

最佳答案

你的问题可能已经解决了。但是这个答案对其他人有帮助。

作为您的 pdf 样本,问题出在外部 css 和背景图像上。我遇到了同样的问题,我在 pdf 模板中添加了如下内部 css 行。 (请看这个
issue )

background-image: url('file://<%= Rails.root.join('app/assets/images/colorful-triangles.jpg') %>');

此方法适用于开发和生产环境。

最好为 pdf 使用单独的 css 文件。这将加快您的 pdf 生成速度并降低服务器成本。并且,避免将不需要的 css 文件和图像加载到 pdf 布局中。

关于ruby-on-rails - Rails wicked_pdf (wkhtmltopdf) 生产环境中的小图和bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305677/

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