我想使用自己在应用程序本身中的模型基于Rails应用程序中的视图生成PDF(即访问特定端点将呈现PDF报告)。
这样做的标准/有效方式是什么?
我尝试使用wicked_pdf和PDFKit。两者都依赖于wkhtmltopdf。
但是我遇到了一些问题:
flexbox
show_as_html
不能可靠地向您展示PDF的呈现方式javascript_delay
似乎是灵丹妙药,但不能解决第三方库的问题一定有更好的方法...
答案 0 :(得分:1)
我能想到的实现这种目标的唯一方法是一一解决您要提出的问题。根据我的经验,wicked_pdf
是最好的选择。关于您要提出的问题:
display: flex
。如果在该问题中发现的部分修正不起作用,则解决方案是为PDF生成提供非弹性视图。希望这会有所帮助
答案 1 :(得分:-1)
如果要使用模型生成报告并使用端点渲染pdf,则必须在服务器上生成报告。
但是,如果您不想在服务器上使用pdf生成器(wickedpdf或pdfkit)来生成它,并且您拥有html,则可以使用javascript打印功能,而不想包含的标签可以隐藏使用媒体打印CSS进行打印。
但是,如果要生成某种证书,这不是一个好方法(安全),因为用户可以使用浏览器检查功能编辑html,然后打印。
<!DOCTYPE html>
<html>
<body>
<style type="text/css">
@page { size: auto; margin: 0mm; }
@media print {
.hide_printing {
display : none;
}
}
</style>
<p>Click the button to print the current page.</p>
<button class="hide_printing" onclick="myFunction()">Print this page</button>
<script>
function myFunction() {
window.print();
}
</script>
</body>
</html>