首页 文章

如何打印SFSafariViewController完整网页?

提问于
浏览
2

我在 SFSafariViewController 打开一个pdf文件 . 现在我想从 SFSafariViewController 打印此PDF .

但是safari视图控制器的Share按钮没有打印选项 .

请告诉我如何将打印功能添加到 SFSafariViewController .

1 回答

  • 0

    您可以自定义活动 .

    extension ViewController: SFSafariViewControllerDelegate {
            func safariViewController(_ controller: SFSafariViewController, activityItemsFor URL: URL, title: String?) -> [UIActivity] {
                let acitivity = CustomActivity()
                return [acitivity]
            }
    
            func printURL(url: URL) {
            }
        }
    

    CustomActivity.swift

    import Foundation
    import UIKit
    
    class CustomActivity: UIActivity {
        override class var activityCategory: UIActivityCategory {
            return .action
        }
    
        override var activityType: UIActivityType? {
            return UIActivityType.print
        }
    
        override var activityTitle: String? {
            return "Print"
        }
    
        override var activityImage: UIImage? {
            return nil
        }
    
        override func canPerform(withActivityItems activityItems: [Any]) -> Bool {
            return true
        }
    
        override func perform() {
            // do something here
        }
    
    }
    

    enter image description here

相关问题