Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Power-kxLee/vue-print-nb
Vue plug-in, print! Good!
https://github.com/Power-kxLee/vue-print-nb
vue-print-nb
Last synced: 9 days ago
JSON representation
Vue plug-in, print! Good!
- Host: GitHub
- URL: https://github.com/Power-kxLee/vue-print-nb
- Owner: Power-kxLee
- Created: 2017-12-07T03:06:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T04:30:49.000Z (almost 2 years ago)
- Last Synced: 2024-08-01T13:17:27.229Z (3 months ago)
- Topics: vue-print-nb
- Language: JavaScript
- Homepage:
- Size: 4.85 MB
- Stars: 622
- Watchers: 7
- Forks: 144
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# vue-print-nb
This is a directive wrapper for printed, Simple, fast, convenient, light.
- [vue-print-nb](#vue-print-nb)
- [Install](#install)
- [Vue2 Version:](#vue2-version)
- [Vue3 Version:](#vue3-version)
- [Description](#description)
- [Usage Method:](#usage-method)
- [Print the entire page:](#print-the-entire-page)
- [Print local range:](#print-local-range)
- [Print local range More:](#print-local-range-more)
- [Print URL:](#print-url)
- [Print Preview](#print-preview)
- [Print Url Preview:](#print-url-preview)
- [Print local range Preview](#print-local-range-preview)
- [Print Async Url](#print-async-url)
- [v-print API](#v-print-api)## Install
[在线DEMO](https://power-kxlee.github.io/vue-print-nb/dist/index.html)
[ONLINE DEMO](https://power-kxlee.github.io/vue-print-nb/dist/index.html)
### Vue2 Version:
```bash
npm install vue-print-nb --save
``````javascript
import Print from 'vue-print-nb'
// Global instruction
Vue.use(Print);//or
// Local instruction
import print from 'vue-print-nb'directives: {
}```
### Vue3 Version:
```bash
npm install vue3-print-nb --save
``````javascript
// Global instruction
import { createApp } from 'vue'
import App from './App.vue'
import print from 'vue3-print-nb'
const app = createApp(App)
app.use(print)
app.mount('#app')//or
// Local instruction
import print from 'vue3-print-nb'directives: {
}
```![](https://github.com/Power-kxLee/vue-print-nb/blob/master/src/img/Chrome.png)
## Description
Support two printing methods, direct printing page HTML, and printing URL
It's easy to use, Support Vue compatible browser version
## Usage Method:
### Print the entire page:
```
Print the entire page
```### Print local range:
HTML:
```
葫芦娃,葫芦娃
一根藤上七朵花
小小树藤是我家 啦啦啦啦
叮当当咚咚当当 浇不大
叮当当咚咚当当 是我家
啦啦啦啦
...
Print local range
```
Pass in a string type directly
* `id`: ID of local print range### Print local range More:
HTML:
```
Print local range
葫芦娃,葫芦娃
一根藤上七朵花
小小树藤是我家 啦啦啦啦
叮当当咚咚当当 浇不大
叮当当咚咚当当 是我家
啦啦啦啦
...
```
JavaScript:
```
export default {
data() {
return {
printLoading: true,
printObj: {
id: "printMe",
popTitle: 'good print',
extraCss: "https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css",
extraHead: '',
beforeOpenCallback (vue) {
vue.printLoading = true
console.log('打开之前')
},
openCallback (vue) {
vue.printLoading = false
console.log('执行了打印')
},
closeCallback (vue) {
console.log('关闭了打印工具')
}
}
};
}
}
```
You can also pass in an object type `Objcet`### Print URL:
If you need to print the specified URL, you can use the following method:
(Ensure that your URL is the same source policy)HTML:
```
Print local range
```JavaScript:
```
export default {
data() {
return {
printObj: {
url: 'http://localhost:8080/'
beforeOpenCallback (vue) {
console.log('打开之前')
},
openCallback (vue) {
console.log('执行了打印')
},
closeCallback (vue) {
console.log('关闭了打印工具')
}
}
};
}
}
```### Print Preview
Support print preview, pass in` preview:true `, All printing methods are supported#### Print Url Preview:
HTML:
```
Print local range
```JavaScript:
```
export default {
data() {
return {
printObj: {
url: 'http://localhost:8080/'
preview: true,
previewTitle: 'Test Title', // The title of the preview window. The default is 打印预览
previewBeforeOpenCallback (vue) {
console.log('正在加载预览窗口')
},
previewOpenCallback (vue) {
console.log('已经加载完预览窗口')
},
beforeOpenCallback (vue) {
console.log('打开之前')
},
openCallback (vue) {
console.log('执行了打印')
},
closeCallback (vue) {
console.log('关闭了打印工具')
}
}
};
}
}
```
![](2021-05-12-18-28-08.png)#### Print local range Preview
HTML:
```
Print local range
葫芦娃,葫芦娃
一根藤上七朵花
小小树藤是我家 啦啦啦啦
叮当当咚咚当当 浇不大
叮当当咚咚当当 是我家
啦啦啦啦
...
```
JavaScript:
```
export default {
data() {
return {
printLoading: true,
printObj: {
id: "printMe",
preview: true,
previewTitle: 'print Title', // The title of the preview window. The default is 打印预览
popTitle: 'good print',
extraCss: "https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css",
extraHead: '',
previewBeforeOpenCallback (vue) {
console.log('正在加载预览窗口')
},
previewOpenCallback (vue) {
console.log('已经加载完预览窗口')
},
beforeOpenCallback (vue) {
vue.printLoading = true
console.log('打开之前')
},
openCallback (vue) {
vue.printLoading = false
console.log('执行了打印')
},
closeCallback (vue) {
console.log('关闭了打印工具')
}
}
};
}
}
```![](2021-05-12-18-28-56.png)
### Print Async Url
Perhaps, your URL is obtained asynchronously. You can use the following method
HTML:
```
Print local range
```JavaScript:
```
export default {
data() {
return {
printObj: {
asyncUrl (reslove, vue) {
setTimeout(() => {
reslove('http://localhost:8080/')
}, 2000)
},
previewBeforeOpenCallback (vue) {
console.log('正在加载预览窗口')
},
previewOpenCallback (vue) {
console.log('已经加载完预览窗口')
},
beforeOpenCallback (vue) {
console.log('打开之前')
},
openCallback (vue) {
console.log('执行了打印')
},
closeCallback (vue) {
console.log('关闭了打印工具')
}
}
};
}
}
```
Finally, use `reslove()` to return your URL## v-print API
| Parame | Explain | Type | OptionalValue | DefaultValue |
| ------------------------- | ------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------- | ------------ |
| id | Range print ID, required value | String | — | — |
| standard | Document type (Print local range only) | String | html5/loose/strict | html5 |
| extraHead | ``Add DOM nodes in the node, and separate multiple nodes with `,` (Print local range only) | String | — | — |
| extraCss | `` New CSS style sheet , and separate multiple nodes with `,`(Print local range only) | String | — | - |
| popTitle | `` Content of label (Print local range only) | String | — | - |
| openCallback | Call the successful callback function of the printing tool | Function | Returns the instance of `Vue` called at that time | - |
| closeCallback | Close the callback function of printing tool success | Function | Returns the instance of `Vue` called at that time | - |
| beforeOpenCallback | Callback function before calling printing tool | Function | Returns the instance of `Vue` called at that time | - |
| url | Print the specified URL. (It is not allowed to set the ID at the same time) | string | - | - |
| asyncUrl | Return URL through 'resolve()' and Vue | Function | - | - |
| preview | Preview tool | Boolean | - | false |
| previewTitle | Preview tool Title | String | - | '打印预览' |
| previewPrintBtnLabel | The name of the preview tool button | String | - | '打印' |
| zIndex | CSS of preview tool: z-index | String,Number | - | 20002 |
| previewBeforeOpenCallback | Callback function before starting preview tool | Function | Returns the instance of `Vue` | - |
| previewOpenCallback | Callback function after fully opening preview tool | Function | Returns the instance of `Vue` | - |
| clickMounted | Click the callback function of the print button | Function | Returns the instance of `Vue` | - |License:
[MIT](http://opensource.org/licenses/MIT)