0

我在我的项目中使用 angular 2。我已经准备好打印模板。我想对我的 pdf 也使用相同的 css 重用相同的内容。所以我写了下面的代码来获取 html

parseHTML(html) {
        return new DOMParser().parseFromString(html, 'text/html');
    }

  this._http.get('assets/print-template.html').toPromise()
              .then((response: any) => {
                  let mynewnodes = me.parseHTML(response._body)
                  mynewnodes.head.innerHTML = mynewnodes.head.innerHTML + AllStyleSheets;
                  mynewnodes.getElementById('holder').innerHTML = printContents;
                  const source = mynewnodes.getElementsByTagName('html')[0].outerHTML;
});

它基本上是从本地文件中获取 html 并将其作为 dom 对象并向其添加 css 和动态内容。我想将我拥有的源 html 字符串打印为 pdf。我尝试了 jspdf,但无法正常工作。

我在下面找到http://blog.stahlmandesign.com/export-html-to-pdf-how-hard-can-it-be/不确定使用哪一个。基本要求是将带有 html 和 css 的变量中的静态 html 打印为 pdf 并导出。

4

1 回答 1

0

您是否考虑过使用 Iframe,您可以使用“srcdoc”标签来引用 HTML,并使用“类型”标签将其创建为 PDF:

<iframe srcdoc="<p>Hello world!</p>" src="demo_iframe_srcdoc.htm" type="application/pdf"></iframe>

您可以设置它的样式以填充整个屏幕,例如:

<style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style>'
于 2017-08-18T08:00:27.573 回答