2017-04-27 121 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應用程序中。 –