我們是袋鼠雲數棧 UED 團隊,致力於打造優秀的一站式數據中台產品。我們始終保持工匠精神,探索前端道路,為社區積累並傳播經驗價值。 本文作者:佳嵐 The more your tests resemble the way your software is used, the more confide ...
如果你對分頁列印沒思路,而網上的現成方案又不適合,不妨進來看看,也許會對你有幫助.
由於工作環境是區域網,對於插件的安裝有限制,所以排除了jspdf + html2canvas的實現方式;採用window.print(),就會涉及到表格的截斷、文本的截斷等問題,而且需求要求每一頁的pdf都有固定的頁眉頁尾,這裡好像...好像又行不通了...
但是能不能通過一種方式,把每頁的內容都計算出來,然後再列印。順著這種思路,首先需要計算頁面中所有dom元素的高度,有沒有一種方法可以迴圈獲取當前頁面所有dom的高度呢? vue中json可以迴圈、數組可以迴圈,既然ast語法書和vNode(虛擬dom)都可以渲染成真實dom, 那就可以使用一個json來渲染當前頁面,就可以計算所有dom的高度, 最終生成一個二維數組來列印。
代碼在下麵的鏈接中,裡面包括表格的封裝、表格的截斷的計算方式、文本的截斷的計算方式等,相容:ie10、chrome
鏈接: https://pan.baidu.com/s/1_WY7mwvBlvc1woNZHrNV3A?pwd=xgs1 提取碼: xgs1