Javascript 如何从html网页生成pdf?
我正在寻找一个库来转换我的网页成PDF文件后,点击事件从一个按钮。Javascript 如何从html网页生成pdf?,javascript,jquery,html,pdf,css-to-pdf,Javascript,Jquery,Html,Pdf,Css To Pdf,我正在寻找一个库来转换我的网页成PDF文件后,点击事件从一个按钮。 我正在尝试jspdf,但是它在没有CSS的情况下打印,如何使用JavaScript/jQuery实现这一点并保留CSS?还是我可以选择的其他CSS?有一个新的jQuery+云解决方案,可以将任何HTML页面及其CSS(包括打印媒体规则)呈现为PDF。解决方案是设置为打印网页的任何区域,您只需告诉格式化程序要打印哪个容器元素,其余部分由库完成。您得到的是一个可嵌入的PDF,或者后端将推回PDF供下载 这是您的库(GitHub):
我正在尝试
jspdf
,但是它在没有CSS的情况下打印,如何使用JavaScript/jQuery
实现这一点并保留CSS?还是我可以选择的其他CSS?有一个新的jQuery+云解决方案,可以将任何HTML页面及其CSS(包括打印媒体规则)呈现为PDF。解决方案是设置为打印网页的任何区域,您只需告诉格式化程序要打印哪个容器元素,其余部分由库完成。您得到的是一个可嵌入的PDF,或者后端将推回PDF供下载
这是您的库(GitHub):这是你的小提琴:
这是一个有效的演示:
目前还没有使用说明,但是下面的示例(查看源代码)应该是非常自解释的(查看Print It按钮),下面是Format方法或多或少理解的附加选项/参数
options
{
pageWidth: "8.5in",
pageHeight: "11in",
pageMargin: ".25in",
pageMarginTop: "1in",
pageMarginRight: "1in",
pageMarginBottom: "1in",
pageMarginLeft: "1in",
render: ("none"|"newwin<default>"|embed"|"download<default IE>"),
foStyle: {
// puts fo style attributes on the root, ex. fontSize:14px
foStyleName: 'value', ...
}
}
希望这有帮助 试试这个npm包
htmlto
。它用CSS样式从html创建PDF
var htmlTo = require('htmlto')
htmlTo.pdf('./public/html/report.html','./public/pdf/report.pdf',{width: 2480, height: 3508})
安装:
npm安装-S htmlto
npm安装-S幻影
*您还可以指定dimensions.phantom版本^4.0.3和node版本v6.5.0我创建了一个简单易用的API,它使用基于webkit的CLI的库,以便将HTML页面从URL转换为PDF。以下是Github回购协议: 这是一个如何从锚标记使用它的示例。这将显示生成的<代码>https://www.github.com新浏览器选项卡中的站点:
<a href="https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=show" target="_blank">Show PDF</a>
在repo中,我还解释了如何在中非常轻松地克隆和部署您自己的API,这样您就可以自己维护API,而不必依赖外部服务。。。。他们在那里解释了很多,但我找不到任何脚本或如何使用itI。我请一位开发人员为您发布说明。JS和该示例页面的源代码都在Github上,以了解如何在Github上找到它?您好,我尝试使用此库,但遇到错误:缺少或无效选择器'。现在我的选择器(ID)很好,我知道,但我没有任何带有媒体打印的CSS或类似的东西。HTML页面使用常规CSS设置样式。这就是问题所在吗?这是xepOnline插件引发的自定义错误。选择器的形式应为“#ContainerID”或任何有效的jQuery选择器。您使用的是哪个版本的xepOnline插件?使用常规CSS进行样式设置很好。这似乎使用了外部服务后端,因此可能不适合敏感内容correct@pvgoddijn。此免费版本的软件和公共服务不适用于内容敏感数据。这项服务可以在自己的网络后面进行定制和私人安装。我同意上面的两条评论-小心使用。这是在服务器上进行的渲染。a能否生成链接以下载结果PDF?将PDF保存在应用程序的公共路径中,然后即可下载Hello David。您的项目非常棒,但它不再有效。你能修一下吗?我们将表示感谢。
<a href="https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=show" target="_blank">Show PDF</a>
<a href="https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=download&file_name=my_pdf">Download PDF</a>
document.getElementById("your-button-id").addEventListener("click", function() {
var link = document.createElement('a');
link.href = 'https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=download';
link.download = 'file.pdf';
link.dispatchEvent(new MouseEvent('click'));
});