zoukankan      html  css  js  c++  java
  • pdf.js

    下载pdf.js

    下载

    https://gitee.com/lovers_der/pdf.js.git
    
    <style>
        .contract-modal {
            position: absolute;
            right: 15%;
             1000px;
            overflow: scroll;
            background: rgba(139, 148, 171, 0.7);
            padding: 20px 0 0;
            z-index: 900;
        }
        .contract-modal .contract-detail {
            margin: 0 auto;
            max- 96%;
            height: auto;
        }
    
        #mycanvas {
            min-height: 50vh;
            background: #fff;
        }
        canvas{
            margin: 0 auto;
            display: block;
            border-bottom:2px solid #aaa;
        }
    </style>
    
    <template>
        <div class="contract-modal">
            <div class="contract-detail"
                    id="contractDetail">
                <div id="mycanvas" ref="mycanvas"></div>
            </div>
        </div>
    </template>
    
    <script>
        import pdf from '../../static/pdf/build/pdf'
        export default {
            name: 'md-contract',
            data () {
                return {}
            },
            methods: {
                getPage (pdf,pageNumber,container,numPages) { //获取pdf
                    let _this = this
                    pdf.getPage(pageNumber).then((page) => {
                        let scale = (container.offsetWidth/page.view[2])
                        let viewport = page.getViewport(scale)
                        let canvas = document.createElement("canvas")
                        canvas.width= viewport.width
                        canvas.height= viewport.height
                        container.appendChild(canvas)
                        let ctx = canvas.getContext('2d');
                        var renderContext = {
                            canvasContext: ctx,
                            transform: [1, 0, 0, 1, 0, 0],
                            viewport: viewport,
                            intent: 'print'
                        };
                        page.render(renderContext).then(() => {
                            pageNumber +=1
                            if(pageNumber<=numPages) {
                                _this.getPage(pdf,pageNumber,container,numPages)
                            }
                        })
                    })
                },
                getPdf () {
                    // 此中方式接受流形式返回
                    let url = '/static/english.pdf'//pdf地址
                    let pdfjsLib = pdf
                    pdfjsLib.PDFJS.workerSrc = '/static/pdf/build/pdf.worker.js'
                    let loadingTask = pdfjsLib.getDocument(url)
                    loadingTask.promise.then((pdf) =>{
                        let numPages = pdf.numPages
                        let container = document.getElementById('mycanvas')
                        let pageNumber = 1
                        this.getPage(pdf,pageNumber,container,numPages)
                    }, function (reason) {
                        alert(reason)
                    });
                }
            },
            created () {
                //初始化
                this.getPdf()
            }
        }
    </script>
    
  • 相关阅读:
    ERROR 1045 (28000): Access denied for user root@localhost (using password:
    MySQL: InnoDB 还是 MyISAM?
    PHP系统函数
    为什么分离数据库软件和数据库服务?
    C#索引器的作用及使用
    asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
    C#父类对象和子类对象之间的转化
    C#中属性简写原理
    c# 中Intern的作用
    C# 中ref和out的区别
  • 原文地址:https://www.cnblogs.com/corvus/p/14961108.html
Copyright © 2011-2022 走看看