Tag: pdfkit

在Heroku上使用PDFKit生成文件 – 没有这样的文件或目录

我正在使用PDFKit从Heroku Cedar上的Resque作业中的给定URL创建pdf。 我的代码看起来像: kit = PDFKit.new(url) pdf = kit.to_file(“/tmp/#{SecureRandom.hex}.pdf”) 然后我使用雾将文件上传到S3以进行永久存储。 这项工作通常有效,但也可能在三分之一的时间内失败: No such file or directory – /tmp/a05c165fc80878b75fd15c447695de71.pdf 手动运行控制台中的代码将产生相同的错误。 根据Heroku文档,我应该能够在Cedar的应用程序目录中的任何位置编写临时文件。 我已经尝试首先创建tmp目录(在控制台中),但似乎没有改变任何东西。 也没有保存到“#{Rails.root} / tmp /#{SecureRandom.hex} .pdf”。 任何想法将不胜感激。 UPDATE 控制台中的完整错误是: Error: Failed loading page http://grist.org/living/you-look-great-in-green-clothing-industry-gets-a-makeover-maybe.html (sometimes it will work just to ignore this error with –load-error-handling ignore) Errno::ENOENT: No such file or directory – /tmp/55a1d418074736decfd4e123d8e2bba2.pdf 似乎这可能是来自wkhtmltopdf的错误,但是,如果我通过PDFkit使用wkhtmltopdf,我不知道在哪里添加此标志。

将HTML导出为PDF时出现中文和日文字符编码问题

我运行一个基于Web的时间线制作工具,允许用户使用HTML / JavaScript创建时间轴,然后将它们导出为PDF文件,以便在完成后进行打印。 当时间轴包含某些Unicode字符时,我有几个用户报告将时间轴导出为PDF的问题。 例如,这是一个屏幕截图,显示了生成的网页和PDF文件: 我一直试图解决为什么像块元素和格鲁吉亚这样的Unicode字符块会输出但中文和日文不会输出的原因。 此外,当我在本地计算机上执行导出时,导出正常工作,但在Heroku上导出时会导致上述输出。 有谁知道这可能导致什么? 为了完整性,后端在Ruby on Rails中,它使用PDFKit gem将HTML页面转换为PDF,并且该站点在Heroku上托管。

render_to_string找不到partials(PDFKit控制器响应)

Ruby 1.8.7,Rails 3.0.4,PDFKit 0.5.0 我正在尝试使用PDFKit创建PDF而不使用中间件,因此我可以禁用javascript(那里有一个手风琴动作,隐藏了大量应该在PDF上的信息)。 但是,每当我尝试时,它都会失败,因为它表示我的视图(show.html.erb)中的部分缺失: 使用{:locale => [:en,:en],:formats => [:pdf],:handlers => [:erb,:rjs,:builder,:rhtml,:rxml]}缺少部分程序/详细信息 如果我删除对partials的引用,它工作正常。 我也尝试将部分与show.html.erb放在同一目录中无济于事。 这是我的控制器的show动作中的代码: respond_to do |format| format.html # show.html.erb format.pdf { html = render_to_string(:template => “show.html.erb”) kit = PDFKit.new(html, :disable_javascript => true ) send_data(kit.to_pdf, :filename => “test_pdf”, :type => “application/pdf”, :disposition => ‘attachment’) } end 有没有办法做到这一点并保持部分? 编辑:现在我已经这样做了: # config/initializers/pdfkit.rb PDFKit.configure do |config| […]

如何在Rails中的PDFKit中使用UTF-8?

我在我的Rails应用程序中使用PDFKit来生成PDF。 问题是我的一些内容包含非ascii字符。 如何强制它使用UTF-8?

使用wkhtmltopdf输出到PDF时,页面上的Highcharts图表无法正确呈现

我的wkhtmltopdf页面上有几个Highcharts图表的PDF输出缺少图表的某些元素,主要是所有简单的直线,包括刻度线,网格线,列边框,图例边框和线条/样条线图中的线条(数据点显示)。 我尝试过用于解决其他堆栈问题的技巧,即在系列中设置以下所有内容: enableMouseTracking: false, shadow: false, animation: false …以及在列/样条曲线上设置它们。 没运气。 这是指向浏览器页面图像的链接 。 这是pdf输出图像的链接 。 这是前两个图表的图表选项要点的链接 。 这是在安装在VirtualBox客户机上的Linux Ubuntu 12.04上,使用两天前的最新Highcharts下载和wkhtmltopdf版本0.10.0_rc2。 对wkhtmltopdf的调用主要是通过Rails 3应用程序中的PDFKIT gem,但是我在命令行上直接调用了wkhtmltopdf并得到了相同的结果。 TIA任何帮助! 更新: 我已将问题分解为图表之前的特定HTML片段。 我使用Twitter Bootstrap css / javascript框架,这段代码产生一组按钮: 2012 2011 2010 2009 2008 具体来说,导致问题的是.btn-group标签的存在 – 取走它,将其他所有内容保留原样,并且PDF生成与页面显示相同而没有指出的问题。 此外,如果您将此代码段移动到图表后页面上的任何位置,则一切正常。 我进一步将问题分解为实际的html / css,因为当我完全禁用Bootstrap javascript函数时问题仍然存在。

wicked_pdf无法在Ubuntu服务器上运行:wkhtmltopdf:无法连接到X服务器

我正在尝试在我的prod服务器上使用wicked_pdf,但它一直在使用: RuntimeError (Failed to execute: “/usr/bin/wkhtmltopdf” -q “file:////tmp/wicked_pdf20130709-23109-1adqx5g.html” “/tmp/wicked_pdf_generated_file20130709-23109-1ic5dbe.pdf” Error: PDF could not be generated! Command Error: wkhtmltopdf: cannot connect to X server ): app/controllers/contrats_controller.rb:15:in `block (2 levels) in show’ app/controllers/contrats_controller.rb:11:in `show’ 我试着按照这个答案: wkhtmltopdf:无法连接到X服务器,但它仍然无法正常工作。

PDFkit不以PDF格式显示图片

Rails 2,PDFkit 0.5.0 我使用PDFkit从Rails 2中的View生成PDF,一切正常。 唯一不起作用的是在pdf中显示图片。 当我在浏览器中查看视图时,图片就在那里但在PDF中丢失了。 PDF中只存在占位符。 image_tag看起来像这样: 我也尝试用css文件实现它,但它也不起作用。 有任何想法吗?

Rails 3 + PDFKit:如何将视图转换为PDF?

在Windows上的 Rails 3应用程序中,我有以下页面,其中显示了作业收据并允许用户编辑它: http://localhost:3001/jobs/45/invoice 我在页面底部还有一个“创建PDF”按钮。 按下时,调用我的JobsController create_pdf_invoice : def create_pdf_invoice job = Job.find(params[:id]) kit = PDFKit.new(“HelloThis is PDF!!!”, :page_size => “A4”) file = kit.to_file(“my_file_name.pdf”) redirect_to(:action => ‘index’) end end 这一切都很好,即PDF已创建! 我的问题是如何打印发票本身而不是这个静态文本(如果我在http://localhost:3001/jobs/45/invoice页面上按“打印”)? UPDATE 我试着把 require ‘pdfkit’ 和 config.middleware.use PDFKit::Middleware 在config/application.rb ,如此处所示 。 服务器正常启动,但是当我去的时候 http://localhost:3001/jobs/45/invoice.pdf Ruby崩溃: 我用: ruby 1.9.2p0 (2010-08-18) [i386-mingw32] Rails 3.0.1 rake, version 0.8.7 pdfkit […]

生成带有图像的pdf时,PDFkit会挂起

我想将网页呈现为PDF。 它使用单个图像,我已经读过你需要提供PDFkit的绝对URL才能使用图像,所以我的代码是: = image_tag image_url(user.avatar) 这在以HTML格式查看时有效,并且PDFkit能够生成删除了图像的PDF。 但是,在使用图像时,它会挂起,直到我杀死服务器。 我怎样才能让它发挥作用? 这是杀死服务器时的完整输出: 2013-12-04 13:53:36.576 wkhtmltopdf[27410:507] CoreText performance note: Client called CTFontCreateWithName() using name “Arial” and got font with PostScript name “ArialMT”. For best performance, only use PostScript names when calling this API. 2013-12-04 13:53:36.577 wkhtmltopdf[27410:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug. 2013-12-04 13:53:36.582 wkhtmltopdf[27410:507] […]

pdfkit没有样式pdf

我有一个使用pdfkit创建pdf文档的rails 3.1应用程序,除了生成的pdf没有任何样式这一事实外,一切都按指定的方式工作。 我假设wkhtmltopdf无法访问我的样式表,并且它不是一个更大的问题。 有人会知道如何允许访问这些样式表吗? 我基本上已经关注了这个主题的railscast#220,但是我不得不创建一个新的初始化程序来使pdfkit与rails 3.1一起使用。 这是我必须使用的初始化程序,以使pdfkit与rails 3.1一起使用 ActionController::Base.asset_host = Proc.new { |source, request| if request.env[“REQUEST_PATH”].include? “.pdf” “file://#{Rails.root.join(‘public’)}” else “#{request.protocol}#{request.host_with_port}” end } pdf的链接如下所示: “pdf”) %> 这将为我提供一个没有样式的pdf链接。 在我的application.rb中,我已经配置了pdfkit: config.middleware.use PDFKit::Middleware, :print_media_type => true 我还将此添加到我的layouts / application.html.erb文件中: “all” %>