2017-04-27 115 views
-1

用例:用户导航到Safari浏览器页面上的任何网址,点击共享按钮,并可以共享Safari浏览器页面的PDF文件通过应用程序。例如:iBooks,iPrint如何使您的应用程序作为打印机上的打印机选择打印扩展选择打印机选项iOS

打开safari,转到任何链接并点击共享按钮。然后转到Apple的打印扩展名,该扩展名将自动生成可传递给任何扩展应用程序的pdf。这里的问题是,共享机制可以从iPhone 6s获得,其中3D Touch可用,我们希望将我们的应用程序添加为打印机,并且应该在打印页面上将其视为“选择打印机”选项。这看起来很有希望。我已经附上了相同的屏幕截图。

点击打印扩展到分享您打开什么样的Safari网页:

Click on Print extension to share what you have opened on safari page

见你的应用程序上选择打印机的选项之一:

See your application as one of the option on Select Printer

+0

你想成为一台打印机?这些是网络打印机 - 你不能挂钩它们。为什么不*添加你的应用程序作为一个共享表项目*这是工作 - 这就是苹果希望你这样做的方式。 – samiles

+0

您也可以在没有3D Touch的设备上进行操作。只需用两根手指放大打印对话框中的预览,然后就可以保存PDF – Paulw11

+0

感谢您的信息。但看起来像这只适用于iOS 10以上 –

回答

0

菜单您所指的只会显示当前可用的airplay打印机,而不会显示应用程序。

相反,您必须为您的应用创建动作扩展。就像打印机Pro的应用程序是这样做的:

enter image description here

关于如何创建这样的扩展遵循以下资源:

http://www.techotopia.com/index.php/Creating_an_iOS_8_Action_Extension

https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/index.html

+0

我已经尝试创建操作扩展从Safari浏览器页面获取PDF文件,但没有成功。所有你得到的是一个url或html从safari页面到你的扩展应用程序,当在uiwebview上加载时可以生成PDF文件,但两种方法都有一些或其他问题。 –

+0

也许是这样?:根据Safari已经显示的内容(pdf或网站),您可以从共享表(从URL到PDF文件或到网站)获取路径。然后,您可以使用此路径在您的应用中下载PDF并最终打印它,或者如果它是一个网站,您可以在webview中打开该URL并使用一些库(如https://github.com/sgr-ksmt/PDFGenerator)来生成PDF出于网站。那是你想要达到的目标吗? – Blackvenom

+0

让我试着简化它。我使用safari上的登录凭证打开https或url等https网址并进入主页。现在我想将页面保存为pdf文件到我的iOS应用程序中。 –