这有点回到了我2012年的问题 - Is it possible to fire a keypress event for an iframe that has been used to load a PDF file,我想我可能错误地接受了答案。
目前的情况是这样的 -
document
附加了onkeypress
事件,当用户扫描特定条形码时,该事件会将PDF加载到对象中。writer.SetOpenAction(new PdfAction(PdfAction.PRINTDIALOG))
(writer
是PdfWriter
)。因此,用户将扫描条形码,该条形码自动加载PDF文件,打开其打印对话框。然后,用户将选择打印机并打印PDF。当用户想要扫描他们需要在html体内某处(但在PDF对象之外)点击的下一个单元并且然后扫描条形码以获取要加载的新PDF时,就会出现问题。 / p>
我查看了this,看到可以在PDF插件和浏览器之间建立某种通信,但是可以告诉插件将控制权交给浏览器/ javascript
修改 一些额外的背景信息 -
document.activeElement.id
,则为元素的ID提供适当的元素(但在文本输入的情况下),不会显示任何按键。总结一下 - 我想要扫描一个条形码,它会打开一个PDF(已经完成),自动打开它的打印对话框(已经完成),用户打印PDF,然后不再与页面进行任何人工交互(即用户在单击打印对话框中的打印按钮后不需要使用鼠标或键盘)用户应该能够扫描另一个条形码,这将打开一个新的PDF。
答案 0 :(得分:1)
为什么不利用现代HTML5和Mozilla的辛勤工作并使用https://github.com/mozilla/pdf.js/渲染它,而不是在iframe / object中渲染PDF,它是一个完全HTML5 / javascript PDF渲染器,并且不需要任何插件。
http://mozilla.github.io/pdf.js/web/viewer.html
有一个不错的在线演示然后,您将与JavaScript一直处于同一页面,并且可以避免在两个环境之间传递焦点/事件等,因此您可以轻松地在页面上的任何位置捕获事件。