打印在 iTextSharp 中创建的 PDF,然后 Return 控制到浏览器
Print PDF Created in iTextSharp and then Return Control to Browser
这有点 return 我 2012 年的问题 - Is it possible to fire a keypress event for an iframe that has been used to load a PDF file,我想我可能错误地接受了那里的答案。
目前的情况是这样的-
- 主页的
document
附加了一个 onkeypress
事件,当用户扫描特定条形码时,该事件会将 PDF 加载到对象中。
- PDF 使用 iTextSharp 创建并设置了打开操作 -
writer.SetOpenAction(new PdfAction(PdfAction.PRINTDIALOG))
(writer
是 PdfWriter
)。
因此,用户将扫描自动加载打开打印对话框的 PDF 文件的条形码。然后用户将选择打印机并打印 PDF。当用户想要扫描下一个单元时,他们需要单击 html 正文中的某处(但在 PDF 对象之外)然后 然后 扫描条形码以查找待加载新 PDF。
我查看了 this,发现可以在 PDF 插件和浏览器之间设置某种通信,但可以告诉插件将控制权交给 browser/javascript
编辑
一些额外的背景信息 -
- 我试过同时使用对象和 iframe。
- 使用调试器,如果我键入
document.activeElement.id
为元素的 ID 提供适当的元素,但是(在文本输入的情况下)不会出现任何按键。
- 使用调试器我可以使用模糊活动元素将焦点带到另一个元素甚至更改输入的值但是当用户 types/scans 时 HTML/javascript 看不到用户输入。
- 这是在 Internet Explorer 兼容模式下运行的旧版应用程序。
总结一下 - 我想扫描一个条形码,它将打开一个 PDF(已经完成),自动打开它的打印对话框(已经完成)用户打印 PDF,然后无需与页面进行任何进一步的人工交互(即用户在单击打印对话框中的打印按钮后不需要使用鼠标或键盘)用户应该能够扫描另一个条形码,这将打开一个新的 PDF。
与其在 iframe/object 中渲染 PDF,为什么不利用现代 HTML5 和 Mozilla 的辛勤工作并使用 https://github.com/mozilla/pdf.js/ 渲染它 - 它完全是 HTML5/javascript PDF 渲染器,不需要任何插件。
http://mozilla.github.io/pdf.js/web/viewer.html
上有一个不错的在线演示
然后您将在同一页面上一直向下 JavaScript 并且可以避免在两个环境之间传递 focus/events 等,因此您可以轻松地在页面上的任何位置捕获事件够了
这有点 return 我 2012 年的问题 - Is it possible to fire a keypress event for an iframe that has been used to load a PDF file,我想我可能错误地接受了那里的答案。
目前的情况是这样的-
- 主页的
document
附加了一个onkeypress
事件,当用户扫描特定条形码时,该事件会将 PDF 加载到对象中。 - PDF 使用 iTextSharp 创建并设置了打开操作 -
writer.SetOpenAction(new PdfAction(PdfAction.PRINTDIALOG))
(writer
是PdfWriter
)。
因此,用户将扫描自动加载打开打印对话框的 PDF 文件的条形码。然后用户将选择打印机并打印 PDF。当用户想要扫描下一个单元时,他们需要单击 html 正文中的某处(但在 PDF 对象之外)然后 然后 扫描条形码以查找待加载新 PDF。
我查看了 this,发现可以在 PDF 插件和浏览器之间设置某种通信,但可以告诉插件将控制权交给 browser/javascript
编辑 一些额外的背景信息 -
- 我试过同时使用对象和 iframe。
- 使用调试器,如果我键入
document.activeElement.id
为元素的 ID 提供适当的元素,但是(在文本输入的情况下)不会出现任何按键。 - 使用调试器我可以使用模糊活动元素将焦点带到另一个元素甚至更改输入的值但是当用户 types/scans 时 HTML/javascript 看不到用户输入。
- 这是在 Internet Explorer 兼容模式下运行的旧版应用程序。
总结一下 - 我想扫描一个条形码,它将打开一个 PDF(已经完成),自动打开它的打印对话框(已经完成)用户打印 PDF,然后无需与页面进行任何进一步的人工交互(即用户在单击打印对话框中的打印按钮后不需要使用鼠标或键盘)用户应该能够扫描另一个条形码,这将打开一个新的 PDF。
与其在 iframe/object 中渲染 PDF,为什么不利用现代 HTML5 和 Mozilla 的辛勤工作并使用 https://github.com/mozilla/pdf.js/ 渲染它 - 它完全是 HTML5/javascript PDF 渲染器,不需要任何插件。
http://mozilla.github.io/pdf.js/web/viewer.html
上有一个不错的在线演示然后您将在同一页面上一直向下 JavaScript 并且可以避免在两个环境之间传递 focus/events 等,因此您可以轻松地在页面上的任何位置捕获事件够了