【问题标题】:HTML to PDF Javascript (Angular)HTML 到 PDF Javascript (Angular)
【发布时间】:2019-11-01 19:41:54
【问题描述】:

我正在使用 Angular 8 并且有漂亮的 HTML,我想实现“打印到 PDF”功能。我只研究了“window.print()”,但听起来我不能以编程方式摆脱浏览器上的默认页眉/页脚。我想知道是否有人知道通过 Angular/JS 用这种样式的 HTML 生成 PDF 的好方法?

【问题讨论】:

  • 您可以使用 jsPDF 之类的库来执行此操作,但根据您的要求,此过程可能需要大量额外工作
  • 是的,我一直在研究 jsPDF。它是在 WYSIWYG 中设置的动态 HTML,因此可以保留那里的样式。另外,一些 div 需要在它们周围加上边框。这就是为什么我希望能够将 HTML 直接转换为 PDF,如果可能的话

标签: javascript angular pdf printing


【解决方案1】:

window.print() 不会自行打印到 PDF,它只会调用打印对话框,您可以从中选择目标打印机,其中可能包括物理打印机或您可能已安装的 PDF 打印机软件。

如果您对该解决方案感到满意,并且您唯一担心的是正在打印页眉和页脚,那么您应该使用 CSS 媒体查询。 CSS 媒体查询允许您为屏幕显示和纸上打印(以及其他情况)指定不同的样式。

在你的样式表中,假设你的页眉和页脚元素是这样调用的,你可以这样做:

@media print {
  header, footer { display: none; }
}

您还可以使它们具有不同的样式(例如更苗条),而不是完全隐藏。

更多信息:https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries

【讨论】:

  • 对不起,我的意思是打印生成的页眉和页脚。如网址、日期等。
  • 您可以在打印对话框中禁用。根据您使用的操作系统,查找名为“打印页眉和页脚”之类的复选框或输入。
  • 是的,不幸的是,我正在寻找一个不依赖用户的选项。
【解决方案2】:
带角度 2 对于 Angularjs

您可以在 MEDIUM (pdfmake) 中查看this 教程

【讨论】:

    猜你喜欢
    • 2018-07-28
    • 2017-04-18
    • 2011-06-19
    • 1970-01-01
    • 2021-04-17
    • 2014-10-01
    • 2014-09-14
    • 2019-07-04
    • 1970-01-01
    相关资源
    最近更新 更多