Rails PDFKit外观Bug与Bootstrap

时间:2013-09-06 21:22:20

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-2 pdfkit

我用jQuery抓取我的DOM并发送一个AJAX请求来创建PDF:

// store html in variable
var html = '<html>' + $('html').html() + '</html>';

// create pdf
$.ajax({           
    url: '/quotes/generate_pdf', 
    data: { html : html, quote_id : quote_id },
    type: "POST",
    cache: false,           
    success: function(data) {

    },
    error: function() {
        alert('An error occurred, please refresh the page and try again');
    }   
 });

然后,在Rails中:

def generate_pdf
  if request.post?  
    kit = PDFKit.new(params[:html])
    kit.stylesheets << RAILS_ROOT + '/public/stylesheets/portal/pdf.css'
    file = kit.to_file(RAILS_ROOT + '/pdfs/' + params[:quote_id] + '.pdf')
    render :text => '1'
  end
end

pdf.css是我页面中的样式表合并为一个文件。

生成的PDF看起来很完美,除了由于某种原因在它上面有某种灰色覆盖。花了一些时间试验看是什么导致它,它似乎是bootstrap.css内的东西,但我不知道是什么只是希望别人解决了同样的问题,但我似乎找不到任何东西

打开PDF时,它似乎非常适合Adobe Reader中的第二个,但随后出现了叠加层,所以我认为这是软件的一个问题,但在不同的程序中打开它有相同的结果,缩略图预览也有覆盖,加上,当我发现它是引导程序中的东西然后它消除了软件的错误。

1 个答案:

答案 0 :(得分:0)

在绝望中,我进入了Bootstrap Customize页面(http://getbootstrap.com/customize/?id=6470483)并重新下载了文件,并在我的pdf.css中使用了非缩小版本,它似乎工作正常。

我只勾选了第一列中的前五个复选框:

Print media styles
Typography
Code
Grid system
Tables