咖啡加糖_ 2023-03-10 15:14 采纳率: 66.7%
浏览 23
已结题

pdfJs 如何实现打印当前页?

目前客户有个需求是预览、下载、打印pdf,目前预览、下载、打印全部已经使用pdfjs实现,
但是客户提出需要增加一个按钮实现打印当前页,不是通过调用浏览器打印,目前调研了一下
能获取到某页内容,也能实现预览某个页面,大概代码如下
function showPdf(){

    PDFJS.workerSrc = '../build/pdf.worker.js';//加载核心库
    PDFJS.getDocument("test.pdf").then(function getPdfHelloWorld(pdf) {
    //
    // 获取第一页数据
    //
    
        pdf.getPage(5).then(function getPageHelloWorld(page) {            
            var scale = 1.5;
            var viewport = page.getViewport(scale);
            var canvas = document.getElementById('the-canvas');
            var context = canvas.getContext('2d');
            canvas.height = viewport.height;
            canvas.width = viewport.width;
            debugger
            //
            // Render PDF page into canvas context
            //
            var renderContext = {
              canvasContext: context,
              viewport: viewport
            };
            page.render(renderContext);

        });
    });

}

目前思路
1、直接获取到怕个内容直接调用pdfjs的打印方法,目前对于pdfjs还不太熟,未找到对应的方法,
2、获取到canvas内容转成html或放入iframe中,然后调用打印,
但是目前都阻塞住了,请教下搞过pdfjs的朋友指点下,谢谢

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-10 19:28
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集