2017-08-17 130 views
0

我對我的項目使用了角度2。我準備好打印模板了。我想重複使用相同的我的PDF也使用相同的CSS。所以我寫了下面的代碼拿起HTML使用javascript創建使用靜態html的pdf

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和動態內容吧。我想打印作爲pdf的源html字符串。我試過jspdf,但無法正常工作。

我在下面找到http://blog.stahlmandesign.com/export-html-to-pdf-how-hard-can-it-be/不確定使用哪一個。基本要求是打印靜態HTML在一個變量與HTML和CSS到PDF和導出。

回答

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>' 
+0

如何激活PDF的下載? – Hacker

+1

那麼它應該顯示在瀏覽器內置的pdf查看器(它提供了一個下載和打印按鈕)。 – Jayyf9

+0

不知道如何使用它。你能舉一個例子嗎? – Hacker