0.1.5 • Published 1 year ago

pdf-graffiti v0.1.5

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

pdf-graffiti

一个pdf预览 + 涂鸦的工具

基本使用
    npm i -S pdf-graffiti

    <template>
        <div>
            <PdfGraffiti :isEdit="isEdit" :pdfUrl="pdfUrl" />
        </div>
    </template>

    <script>
        import { PdfGraffiti } from 'pdf-graffiti'
        export default {
            components: {
                PdfGraffiti
            },
            data () {
                return {
                    isEdit: true,
                    pdfUrl: ''
                }
            }
        }
    </script>
    
props
属性名描述类型是否必传
v-model存储的数据, 通过save方法同步更新object: { isEmpty, data }isEmpty: 是否是有效数据data: 存储的数据数据,DataURL
isEdit是否处于编辑模式,需要 .sync 修饰符修饰boolean
pdfUrl需要渲染的pdf链接地址string
提供的基本接口
方法名称描述参数参数类型参数说明返回值
render渲染pdfpdfurlstringpdf地址
undo撤销一次绘制
clear清空画板
eraser切换颜色colorstring需要切换颜色的十六进制
save保存当前绘制的数据
importPdf加载本地的pdf
exportAll导出当前的pdf+涂鸦为png
exportNote导出当前的涂鸦为png
toPageLocation滚动到某一页pagenumber需要跳转的页码
initNote初始化涂鸦DataURLstringsave方法保存下来的data数据
htmlToPdf导出当前的pdf+涂鸦为PDFfileNamestring文件名称

基本示例

    <template>
        <div>
            <PdfGraffiti :isEdit="isEdit" :pdfUrl="pdfUrl" ref="MyPdfGraffiti" />
            <button @click="myUndo">撤销</button>
        </div>
    </template>

    <script>
        import { PdfGraffiti } from 'pdf-graffiti'
        export default {
            components: {
                PdfGraffiti
            },
            data () {
                return {
                    isEdit: true,
                    pdfUrl: ''
                }
            },
            methods: {
                myUndo () {
                    this.$refs.MyPdfGraffiti.undo()
                }
            }
        }
    </script>
回调函数
方法名称描述返回值参数说明
onSave保存完成的回调{ isEmpty, data }isEmpty:是否是有效数据data: 保存的数据,DataURL
onLoaded加载完成的回调pageNum当前pdf的页码数量
onPageScroll监听页面滚动top滚动的scrollTop

基本示例

    <template>
        <div>
            <PdfGraffiti :isEdit="isEdit" :pdfUrl="pdfUrl" ref="MyPdfGraffiti" @onPageScroll="onMyPageScroll" />
            <button @click="myUndo">撤销</button>
        </div>
    </template>

    <script>
        import { PdfGraffiti } from 'pdf-graffiti'
        export default {
            components: {
                PdfGraffiti
            },
            data () {
                return {
                    isEdit: true,
                    pdfUrl: ''
                }
            },
            methods: {
                myUndo () {
                    this.$refs.MyPdfGraffiti.undo()
                },
                onMyPageScroll(top) {
                    console.log(top)
                }
            }
        }
    </script>