0

我用 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 时,它在 Adob​​e Reader 中似乎是完美的一秒钟,但随后出现了覆盖,所以我认为这是软件的问题,但在不同的程序中打开它会得到相同的结果,并且缩略图预览也有覆盖,另外,当我发现它是引导程序中的某些东西时,它消除了有问题的软件。

4

1 回答 1

0

绝望中,我去了引导程序自定义页面(http://getbootstrap.com/customize/?id=6470483)并重新下载了文件并在我的文件中使用了非缩小版本pdf.css,它似乎工作正常。

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

Print media styles
Typography
Code
Grid system
Tables
于 2013-09-06T22:04:14.660 回答