記nodejs中html-pdf依賴的使用


一、環境

node版本為v8.11.2

typescript版本為^3.0.0

html-pdf版本為^2.2.0

二、需求

html轉pdf,並且添加頁碼

三、實現

由於需要在node端實現該需求,因此尋找了一下html轉pdf的依賴,發現各式各樣的還是蠻多的,從以前的項目里發現了一個html-pdf的依賴,也就直接拿來用用看。

配置直接參考https://www.npmjs.com/package/html-pdf上面,已經很詳細了。

其實現本質上還是需要前端將渲染好的html源碼,包括樣式等作為字符串傳到node端,然后直接調用依賴中的方法導出pdf即可,工作量主要還是在前端的處理上。

node端代碼如下:

@PostMapping('/xhr/downloadPDF')
    async downloadPDF(
        ctx: Context
    ) {
        const html: string = ctx.request.body.html as string;
        ctx.body = await new Promise((resolve, reject) => {
            create(html + '', {
                format: 'A4',
                border: '10px',
                httpHeaders: {
                    Cookie: ctx.request.headers.cookie
                },
                base: `http://127.0.0.1:${9123}`,
                type: 'pdf',
                footer: {
                    height: '10mm',
                    contents: {
                        default: '<span style="color: #444;">{{page}}</span>/<span>{{pages}}</span>' // fallback value
                    }
                }
            }).toStream((err, stream) => {
                if (err) reject(err);
                resolve(stream);
            });
        });
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM