移动 Safari 中的强制打印对话框用于多页 PDF

Posted

技术标签:

【中文标题】移动 Safari 中的强制打印对话框用于多页 PDF【英文标题】:Force print dialog in mobile Safari for multi page PDF 【发布时间】:2017-09-21 02:49:07 【问题描述】:

如何在移动 Safari 中为多页(打印第一页有效)PDF 强制工作打印对话框?

侧面信息: 如果我在移动 Safari 中“长按”PDF,我会看到“将图像另存为”对话框。也许移动 Safari 实现将 PDF 呈现为图像,我应该搜索该引擎呈现多个页面的解决方案?!

【问题讨论】:

在这里在 print.js 中作为问题交叉发布github.com/crabbly/Print.js/issues/44 同意。看起来 Safari 移动版将 PDF 呈现为图像。 【参考方案1】:

您可以导出到 iBooks 并从那里打印,而不是尝试在移动 Safari 中打印。

【讨论】:

可以直接触发iBooks里面的打印功能吗?我认为此解决方案需要用户进行另外两项手动操作:1)在 iBooks 中打开 PDF 2)单击“打印”。我正在寻找从移动 Safari 中打印多个页面的直接方法【参考方案2】:

如果你想从 safari 打印完整的 pdf

    Single tap pdf 格式。 您可以在页面顶部看到MoreOpen in "Ibooks" 链接。 (如果您没有看到,只需向下滚动一点,然后再次点击。) 点击More链接,之后可以看到弹窗。 在弹出窗口中,您可以看到一个打印按钮,单击该按钮。 选择副本和范围。

【讨论】:

我正在寻找一个只涉及 1 次“打印”点击的机会,而不是通过 iBooks 的解决方法。在您的情况下,用户必须知道他可以导出到 iBooks 并从那里打印,这非常复杂……【参考方案3】:

我宁愿说这是一个真正的答案,但如果不支持在移动 Safari 中为多页 PDF 强制工作打印对话,则可以选择:

如果生成 PDF 的源是 html,您可以使用页面内的 HTML 并打印它而不是 PDF。这将适用于多个页面,也适用于移动 Safari。

【讨论】:

【参考方案4】:

ios 13 开始,此问题已修复。我想我应该把它留在这里,以防其他人偶然发现这个链接。

从 Safari 打印 PDF 文件的方法如下:

    导航到要保存的 PDF 文件。确保您在 PDF 查看器中。 点按分享图标(它是一个带圆角的正方形,顶部有一个箭头)。 向下滚动到消息和托盘,您可以在其中将文件发送到应用程序。找到并点击“打印”。 点击“打印”后,您可以选择打印机、份数、要打印的页面以及一些选项(单面/双面、彩色/黑白)。 点击“打印”,您的打印机将打印文档。

【讨论】:

以上是关于移动 Safari 中的强制打印对话框用于多页 PDF的主要内容,如果未能解决你的问题,请参考以下文章

强制用户仅在 ios Safari 中打开我的网站

如何在 Safari 中的 WebKit 3D 转换后强制重新渲染

强制链接从带有 javascript 的 Web 应用程序在移动 Safari 中打开

跨域 ajax 不适用于移动 Safari 中的重定向

从移动 Safari 网络应用程序打印

在视口中检测元素不适用于移动 Safari