我正在搜索将我的HTML导出为PDF格式的方法。我目前的领导是使用window.print()
发送页面打印,使目标‘另存为PDF',并继续从那里。这并不完美,我想问的是,是否可以编写代码来自动化用户单击“另存为PDF”的部分以及他们命名该文件的部分。
理想情况下,所发生的一切是用户单击要导出的按钮,单击“另存为PDF”在幕后发生,并且文件自动命名为report.pdf
。这有可能编纂成法典吗?
对于将我的HTML导出为PDF格式的其他方法,我也愿意接受任何建议,但是我不能使用以下任何一个库来帮助我:
jsPDF
本身不支持CSS,因此是不可能的。rasterizeHTML
或html2canvas
一起使用,但是这两项工作都是通过截图和将截图附加到文件中来实现的。这意味着页面无法使用CTRL+F
搜索,这是我的项目的用例之一。另一个选择是使用Xportability库,但到目前为止,我还无法将任何样式表传递到PDF生成调用中。下面是错误代码,它用所有记录的数据生成PDF,但不使用所提供的CSS样式:
<script id="finalReport" type="text/x-kendo-template">
<h3 class="report-header">stub title</h3>
<table class="report-table">
<tr>
<td>Report ID:</td>
<td>stub</td>
</tr>
</table>
</script>
<style>
.report-header {
font-style: italic;
font-weight: bold;
text-align: left;
}
</style>
<script id="main" type="text/javascript">
function generateReport() {
return xepOnline.Formatter.Format("finalReport", {
render: 'download', pageWidth: '216mm', pageHeight: '279mm'
});
}
</script>
如何在样式表中传递?我可以手动添加样式到每个单一的元素,它的工作方式,但这将是可怕的。
发布于 2019-07-04 10:45:57
您可以使用Kendo pdf-export
组件下载特定的div
元素。
样本代码:
$(".export-pdf").click(function() {
// Convert the DOM element to a drawing using kendo.drawing.drawDOM
kendo.drawing.drawDOM($(".content-wrapper"))
.then(function(group) {
// Render the result as a PDF file
return kendo.drawing.exportPDF(group, {
paperSize: "auto",
margin: { left: "1cm", top: "1cm", right: "1cm", bottom: "1cm" }
});
})
.done(function(data) {
// Save the PDF file
kendo.saveAs({
dataURI: data,
fileName: "HR-Dashboard.pdf",
proxyURL: "https://demos.telerik.com/kendo-ui/service/export"
});
});
});
对于fileName
,您可以给出您想要的任何文件名,它将用该文件名保存文件。
网址: PDF出口/文件出口
发布于 2019-07-03 16:02:16
一旦到达打印页面,就可以通过选择“目标”按钮轻松地告诉文档以pdf格式打印。
https://stackoverflow.com/questions/56874016
复制相似问题