我用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中的第二个,但随后出现了叠加层,所以我认为这是软件的一个问题,但在不同的程序中打开它有相同的结果,缩略图预览也有覆盖,加上,当我发现它是引导程序中的东西然后它消除了软件的错误。
答案 0 :(得分:0)
在绝望中,我进入了Bootstrap Customize页面(http://getbootstrap.com/customize/?id=6470483)并重新下载了文件,并在我的pdf.css
中使用了非缩小版本,它似乎工作正常。
我只勾选了第一列中的前五个复选框:
Print media styles
Typography
Code
Grid system
Tables