我想创建一个PDF
使用我的HTML pdfMake
和Angular
(我也试了jsPDF
,不能让它无论是工作).我尝试在Angular控制器中使用以下代码:
var blob = new Blob([document.getElementById('exportable').innerHTML]) var docDefinition = { content: [blob] } pdfMake.createPdf(docDefinition).open();
但是我收到以下错误:
无法识别的文档结构:{"_ margin":null}".
我的HTML由div中的两个简单表组成exportable
.
如果有人知道这个问题的解决方案,或者从Angular获取HTML到PDF的其他方法,请帮助.
任何帮助都非常感谢!
好的,我想出来了.1.你需要html2canvas和pdfmake.您不需要在app.js中进行任何注入,只需包含在脚本标记中
在要创建PDF的div上,添加如下ID ID:
在Angular控制器中,在调用html2canvas时使用div的id:
使用toDataURL()将画布更改为图像
然后在pdfmake的docDefinition中将图像分配给内容.
控制器中完成的代码如下所示:
html2canvas(document.getElementById('exportthis'), { onrendered: function (canvas) { var data = canvas.toDataURL(); var docDefinition = { content: [{ image: data, width: 500, }] }; pdfMake.createPdf(docDefinition).download("Score_Details.pdf"); } });我希望这有助于其他人.快乐的编码!
如果图像很大,这可以创建多个页面吗?
如果文档大于一页,则不起作用.
2> Mahib..:我知道它与这篇文章无关,但可能会帮助其他人在客户端将HTML转换为PDF.如果您使用kendo,这是一个简单的解决方案.它还保留了css(大多数情况).
var generatePDF = function() { kendo.drawing.drawDOM($("#formConfirmation")).then(function(group) { kendo.drawing.pdf.saveAs(group, "Converted PDF.pdf"); }); }
Theme example
This is a template showcasing the optional theme stylesheet included in Bootstrap. Use it as a starting point to create something more unique by building on or modifying it.
Buttons
Tables
# First Name Last Name Username 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 Larry the Bird
# First Name Last Name Username 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 Larry the Bird
# First Name Last Name Username 1 Mark Otto @mdo Mark Otto @TwBootstrap 2 Jacob Thornton @fat 3 Larry the Bird
# First Name Last Name Username 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 Larry the Bird Thumbnails
Labels
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Default Primary Success Info Warning Danger
Badges
Dropdown menus
Navs
Navbars
Alerts
Well done! You successfully read this important alert message.Heads up! This alert needs your attention, but it's not super important.Warning! Best check yo self, you're not looking too good.Oh snap! Change a few things up and try submitting again.Progress bars
60% Complete40% Complete (success)20% Complete60% Complete (warning)80% Complete (danger)60% Complete35% Complete (success)20% Complete (warning)10% Complete (danger)List groups
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Vestibulum at eros
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
Panels
Panel title
Panel contentPanel title
Panel contentPanel title
Panel contentPanel title
Panel contentPanel title
Panel contentPanel title
Panel content推荐阅读
如何解决《SafariHistory.dbhistory_visits.visit_time的格式是什么?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在Windows上没有Python3.5的cx_Oracle吗?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在PHP中显示SUM列》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在多列上使用SparkML的OneHotEncoder》经验,为你挑选了1个好方法。 ... [详细] 如何解决《线性回归的梯度下降不起作用》经验,为你挑选了1个好方法。 ... [详细] 如何解决《为什么JavaFXWebEnginegetLoadWorker循环?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《会话复制不能与tomcat7一起使用》经验,为你挑选了0个好方法。 ... [详细] 如何解决《为什么在compareTo(Object)中有一个强制转换》经验,为你挑选了0个好方法。 ... [详细] 如何解决《Prolog-返回矩阵的第n行》经验,为你挑选了0个好方法。 ... [详细] 如何解决《保留内联tinyMCE中的超链接导航》经验,为你挑选了1个好方法。 ... [详细] 如何解决《反应本机列表视图问题》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在sudosu-myuser之后,我可以使用'systemctl--user'来控制用户systemd吗?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《ASP.NET5:"dotnet"命令是否替换"dnu"和"dnx"命令?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《RabbitMQ+TLS:ssl_upgrade_error》经验,为你挑选了0个好方法。 ... [详细] 如何解决《EXCELVBA:从单元格中的字符串中提取8位数序列》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何创建使用用户定义函数的BigQuery视图?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何要求gson避免在json响应中转义json?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《重新绑定Elixir中外部作用域中的变量》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在Win10中拼写检查文本框-慢》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Flask:NameError:未定义全局名称"redirect"》经验,为你挑选了1个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1在编译期间确定操作系统
- 2如何从连接中获取请求正文?
- 3当期望1d阵列时,传递列向量y
- 4为什么我无法杀死我的JBoss进程?
- 5为什么MimetypesFileTypeMap总是为PNG文件返回"application/octet-stream"?
- 6PHP7 cli vs php-fpm
- 7无法找到容器XXX中的项目MY_ARTIFACT_NAME
- 8替换除R中所有行中具有平均值的列值之外的所有列值
- 9PowerShell:修改数组元素
- 10获取没有索引的dataframe列的最后一个值
- 11从数组中获取最后一次单击项的值
- 12bashrc中的JAVA_HOME
- 13多行变量删除换行符 - 鱼
- 14cordova运行ios错误..错误代码65的命令:xcodebuild与args:
- 15Apple-app-site-association文件不会下载
- 16使用Azure服务结构的默认客户端时如何向请求添加邮件头?
- 17有没有办法可视化Spark mllib随机森林模型?
- 18通过Java访问Windows证书存储证书?
- 19在JS中将vh单位转换为px
- 20为什么lambda和匿名方法不允许在左侧或作为运算符?
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有