如何知道PDF.JS是否已经完成渲染?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (186)

我使用PDF.JS将pdf页面呈现到不同的画布元素中。我的要求是捕获画布的输出并将其显示为图像。是否有事件要知道在画布中的pdf页面的渲染是否已经完成。因为当我试图捕获画布的输出时,它是空白的。但是pdf页面被正确地呈现。看起来我的捕获事件是在pdf.js完成呈现过程之前调用的。

这是我的代码:

page.render(renderContext);
var myImage = new Image();
myImage.src = document.getElementById('my-canvas-id').toDataURL();
$('body').append(myImage);

如果我在Firefox的控制台中执行相同的代码,这很好。所以这段代码没有什么问题。

我已经尝试过document.readandwindow.load事件。

提问于
用户回答回答于
//Step 1: store a refer to the renderer
var pageRendering = page.render(renderContext);
//Step : hook into the pdf render complete event
var completeCallback = pageRendering.internalRenderTask.callback;
pageRendering.internalRenderTask.callback = function (error) {
  //Step 2: what you want to do before calling the complete method                  
  completeCallback.call(this, error);
  //Step 3: do some more stuff
};
用户回答回答于
<script type="text/javascript">
  document.addEventListener("pagesloaded", function(e) {
   //do sth..
  });
</script>

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问5 回答
  • uncle_light

    5 粉丝518 提问4 回答
  • o o

    4 粉丝495 提问4 回答
  • 学生

    8 粉丝476 提问3 回答

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动