咖啡加糖_ 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日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备