利用Print.js實現(xiàn)打印pdf、HTML及圖片(可設(shè)置樣式可分頁)
一.安裝及引入Print.js
1.安裝
npm install print-js --save //or yarn add print-js
2.在需要使用的文件引入
import printJS from 'print-js'
二.介紹
Print.js有四種打印類型:'pdf'、'html'、'image'、'json'。
它的基本用法是調(diào)用printJS()并傳入?yún)?shù)
//pdf打印 傳入PDF文檔url
printJS('docs/PrintJS.pdf')
//圖片打印 傳入圖片url,第二個參數(shù):'image'
printJS('images/PrintJS.jpg', 'image')
//html打印 第一個參數(shù):元素id,第二個參數(shù):'html'
printJS('myElementId', 'html')
//json打印 當(dāng)打印Json數(shù)據(jù)時,傳入要打印的數(shù)據(jù)、類型和數(shù)據(jù)屬性
printJS({printable: myData, type: 'json', properties: ['prop1', 'prop2', 'prop3']})三.常用配置
Print.js接受一個對象作為參數(shù),在這里你可以配置一些選項:
| 字段 | 默認(rèn)值 | 說明 |
| printable | null | 數(shù)據(jù)源:pdf or image的url,html類型則填打印區(qū)域元素id,json類型則是數(shù)據(jù)object。 |
| type | 'pdf' | 可選類型:pdf, html, image, json。 |
| header | null | 應(yīng)用于頁面頂部標(biāo)題文本。 |
| headerStyle | 'font-weight: 300;' | 應(yīng)用于標(biāo)題文本的可選標(biāo)題樣式。 |
| maxWidth | 800 | 最大文檔寬度(像素)。 |
| css | null | 這允許我們傳遞一個或多個css文件的url,應(yīng)該應(yīng)用到正在打印的html。Value可以是包含單個URL的字符串,也可以是包含多個URL的數(shù)組。 |
| style | null | 這允許我們傳遞一個自定義樣式的字符串,該字符串應(yīng)應(yīng)用于正在打印的html。 |
四.具體使用
1.打印Html
<div id="printJS-HTML" style="display:none;">
<div v-for="index in 5" :key="index">
<table>
<tr>
<td>序號</td>
<td>作者</td>
</tr>
<tr>
<td>1</td>
<td>Ghmin</td>
</tr>
</table>
<!-- 控制打印分頁的關(guān)鍵 -->
<div class="paging"></div>
</div>
</div>
<button @click="printHtml">打印 HTML</button>const printHtml=()=>{
//在頁面顯示需打印區(qū)域來獲取dom
document.querySelector('#printJS-HTML').style.display = 'block'
printJS({
printable: 'printJS-HTML',//打印區(qū)域id
type: 'html',//打印類型
style: `@page { size: auto; } .paging{page-break-after: always;}`,
})
//獲取打印內(nèi)容后隱藏dom
document.querySelector('#printJS-HTML').style.display = 'none'
}這里 .paging{page-break-after: always;}樣式就是控制分頁的關(guān)鍵。
2.打印圖片
打印圖片的話可以使用上面第一種Html的方式,但更推薦使用Print.js提供的"image"打印類型
printJS({
printable: ['第一張圖片Url','第二張圖片Url','第三張圖片Url'],
type: 'image',
header: null,
imageStyle: `display: block;margin: 0 auto;page-break-after: always;max-width:100%`
})相對于Html方式這個更簡單,傳入需要打印的圖片url數(shù)組即可。
更多內(nèi)容可訪問 Print.js官網(wǎng):https://printjs.crabbly.com/
總結(jié)
到此這篇關(guān)于利用Print.js實現(xiàn)打印pdf、HTML及圖片的文章就介紹到這了,更多相關(guān)Print.js打印pdf、HTML及圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript+CSS無限極分類效果完整實現(xiàn)方法
這篇文章主要介紹了JavaScript+CSS無限極分類效果完整實現(xiàn)方法,涉及JavaScript針對頁面元素節(jié)點遍歷與動態(tài)操作技巧,需要的朋友可以參考下2015-12-12
基于JavaScript實現(xiàn) 網(wǎng)頁切出 網(wǎng)站title變化代碼
這篇文章主要介紹了基于JavaScript實現(xiàn) 網(wǎng)頁切出 網(wǎng)站title變化代碼的相關(guān)資料,需要的朋友可以參考下2016-04-04
JavaScript中箭頭函數(shù)與普通函數(shù)的區(qū)別詳解
這篇文章主要介紹了JavaScript中箭頭函數(shù)與普通函數(shù)的區(qū)別,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
php實例分享之實現(xiàn)顯示網(wǎng)站運行時間
這篇文章主要介紹了php實現(xiàn)顯示網(wǎng)站運行時間,需要的朋友可以參考下2014-05-05

