## 7.7.1.打印當前頁面 :id=print_this
```javascript
printer.print();
printer.print({
hide: ['.layui-btn', '#btn01'], // 打印時隱藏的元素
horizontal: true, // 是否橫向打印
blank: true, // 是否打開新頁面打印
close: true, // 如果是打開新頁面,打印完是否關閉
iePreview: true // 是否兼容ie打印預覽
});
```
> 參數都是可以選參數,默認值已經符合大多數需求。
## 7.7.2.設置不打印的元素 :id=hide
```html
<div class="hide-print">非打印內容</div>
```
> 加`hide-print`這個class即可,可以跟`hide`參數疊加使用。
## 7.7.3.打印自定義內容 :id=print_html
```javascript
var pWindow = printer.printHtml({
html: '<span>xxxx</span>', // 要打印的內容
horizontal: true, // 是否橫向打印
blank: true, // 是否打開新頁面打印
close: true, // 如果是打開新頁面,打印完是否關閉
iePreview: true, // 是否兼容ie打印預覽
print: true // 如果是打開新窗口是否自動打印
});
```
 打印表格時可以給table加`print-table`這個class來設置表格的邊框樣式:`<table class="print-table"></table>`。
> 如果print為false關閉自動打印,可以使用pWindow.print()觸發打印。
## 7.7.4.分頁打印 :id=print_page
```javascript
printer.printPage({
htmls: [
'<span>xxxx</span>', // 要打印的內容
'<span>xxxx</span>'
],
style: '<style> span { color: red; } </style>', // 頁面樣式
horizontal: true, // 是否橫向打印
padding: undefined, // 頁面間距,例如寫'10px'
debug: false, // 調試模式
blank: true, // 是否打開新頁面打印
close: true, // 如果是打開新頁面,打印完是否關閉
iePreview: true, // 是否兼容ie打印預覽
print: true // 如果是打開新窗口是否自動打印
});
```
參數都是可選參數:
- htmls 數組,代表每一頁;
- style 樣式,也可以寫`<link rel="stylesheet">`的形式;
- padding 間距,undefined表示使用打印機默認間距,如果自定義間距,打印機間距要選擇無;
- debug 調試模式,每一頁會加紅色邊框,便于調試大小;
> `padding`為undefined表示使用打印機默認間距,插件內部會根據不同瀏覽器做兼容處理,因為不同瀏覽器的默認間距不同,
> 目前對谷歌、IE、Edge、火狐做了兼容處理,safari、歐朋后續會考慮。
## 7.7.5.拼接html :id=make_html
```javascript
var htmlStr = printer.makeHtml({
title: '網頁標題',
style: '<link rel="stylesheet" href="layui.css"><script type="text/javascript" src="layui.js"><\/script>',
body: $('#xxx').html()
});
```
## 7.7.6.其他方法 :id=method
```javascript
printer.isIE();
printer.isEdge();
printer.isFirefox();
```
## 7.7.7.打印任意url :id=print_url
目前沒有提供直接的方法,可以使用ajax請求到url的html內容,在使用printHtml方法打印:
```javascript
$.ajax({
url: 'xxx.html',
type: 'get',
dataType: 'html',
success: function (res) {
printer.printHtml({
html: res, // 要打印的內容
horizontal: true // 是否橫向打印
});
}
});
```
> 另外js直接控制橫向打印只支持谷歌內核的瀏覽器,火狐不支持js調用打印預覽,
> 火狐打印預覽可以通過設置`blank:true,print:false`然后手動選擇打印預覽。