首页 > Web开发 > 详细

ruby on rails 中使用phantomjs 生成pdf

时间:2016-07-31 17:43:07      阅读:178      评论:0      收藏:0      [点我收藏+]

一、新建项目

  rails new app --skip-bundle

  完成后修改Gemfile文件:vim Gemfile

  把source 修改成taobao或者ruby-china的源。

  在这个文件里加入:gem ‘phantomjs‘

  然后运行:bundle install

  这样项目就新建完成了。

二、生成pdf

  创建一个controller在头部加上require ‘phantomjs‘,在里面加入一个获取pdf的get方法:get_pdf

  在这个方法里加入如下代码:

  Phantomjs.base_dir = "/path/project_name/bin/phantomjs/" #phantomjs将要安装的目录
     Phantomjs.run(‘/path/project_name/public/generate_pdf.js‘)

  send_file("public/mypdf.pdf", :filename => "mypdf.pdf", :type => "application/pdf")

  在generate_pdf.js加入如下代码:

  var page = require(‘webpage‘).create();
  page.open(‘http://www.baidu.com‘);
  page.onLoadFinished = function() {
      page.render(‘public/mypdf.pdf‘);
      phantom.exit();
  }

三、运行

  启动服务:rails s

  在地址栏里输入http://localhost:3000/controller/get_pdf

  第一次请求这个方法,会安装phantomjs到/path/project_name/bin/phantomjs/这个目录。

  等安装完成后,就可以看到保存要下的pdf了:

  技术分享

  这样这成功了。

  注意:这样导出的pdf不包含css样式里的背景和背景图片。

  

ruby on rails 中使用phantomjs 生成pdf

原文:http://www.cnblogs.com/limx/p/5723245.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!