JavaScript从HTML生成PDF

JavaScript从HTML生成PDF,javascript,pdf,Javascript,Pdf,我想从HTML生成PDF。我尝试的库是print.js,jsPDF 使用print.js我有了HTML,并尝试将其转换为PDF,但PDF只是HTML,没有CSS。但这不适合我 单位 接触 国家 阿尔弗雷德·福特基斯特 玛丽亚·安德斯 德国 莫特祖马商业中心 张锦松 墨西哥 恩斯特·汉德尔 罗兰·孟德尔 奥地利 岛屿贸易 海伦·贝内特 英国 笑巴克斯酒窖 田纳西 加拿大 马加兹尼营养不良 乔瓦尼·罗维利 意大利 打印表单 桌子{ 字体系列:arial,无衬线; 边界塌陷:塌陷; 宽度:100%;

我想从HTML生成PDF。我尝试的库是
print.js
jsPDF

使用
print.js
我有了HTML,并尝试将其转换为PDF,但PDF只是HTML,没有CSS。但这不适合我


单位
接触
国家
阿尔弗雷德·福特基斯特
玛丽亚·安德斯
德国
莫特祖马商业中心
张锦松
墨西哥
恩斯特·汉德尔
罗兰·孟德尔
奥地利
岛屿贸易
海伦·贝内特
英国
笑巴克斯酒窖
田纳西
加拿大
马加兹尼营养不良
乔瓦尼·罗维利
意大利
打印表单
桌子{
字体系列:arial,无衬线;
边界塌陷:塌陷;
宽度:100%;
}
td,th{
边框:1px实心#dddddd;
文本对齐:左对齐;
填充:8px;
}
tr:n个孩子(偶数){
背景色:#dddddd;
}
最接近成功的是使用
jsPDF
,这次我使用所有css创建图像,然后从该图像生成PDF。但这里的问题是生成的PDF只是图像,我丢失了PDF中的所有元数据


试验品目
开始打印过程
$(“#打印btn”)。单击(()=>{
var pdf=新的jsPDF();
addHTML(document.body,function()){
pdf.save('web.pdf');
});
})
#头色{
颜色:蓝色;
}
另一件事,我尝试过,并真的希望在这里,因为它似乎更清洁的选择对我来说,是与“onbeforeprint”事件。在调用的
window.print()
之前,激活了“onbeforeprint”事件。如果在“onbeforeprint”中,PDF已经生成,我想以某种方式访问它。但我不知道怎么做,也不知道是否可能


尝试打印此文档
提示:键盘快捷键(如Ctrl+p)可设置要打印的页面

注意:Safari和Opera中不支持onbeforeprint事件

打印表单 函数myFunction(){ //获取blob pdf 警报(“您即将打印此文档!”); } 函数printWindow(){ window.print(); }
最后我要问

使用print.js或jsPDF,是否有一种方法不仅可以获取html,还可以获取css?

我可以从“onbeforeprint”事件或任何其他javascript事件获取二进制PDF吗?

我想您可以使用生成PDF。我没有尝试过,但这里有一些链接演示了这种方法: