2016-04-14 128 views
0

在應用程序中有一個web視圖,在web視圖上有一個「保存」按鈕。如何將網頁保存爲PDF?

點擊「保存」按鈕後,currenturl將被保存到另一個ViewController的TableView中。一切正常。

現在我想也將網頁保存爲PDF到同一個TableView,並可以點擊後打開它。我怎樣才能做到這一點?

以下是保存currenturl的代碼。 savedURLs是保存另一個ViewController上的所有URL的數組。

import UIKit 

class BrowserViewController: UIViewController { 

    @IBOutlet weak var browser: UIWebView! 

    @IBAction func saveButtonPressed(sender: AnyObject) { 
     if let currentURL = browser.request?.URL?.absoluteString { 
      savedURLs.append(currentURL) 
      NSUserDefaults.standardUserDefaults().setObject(currentURL, forKey: "currenturl") 
      NSUserDefaults.standardUserDefaults().setObject(savedURLs, forKey: "savedURLs") 
      self.performSegueWithIdentifier("toSavingVC", sender: self) 
     } 
    } 
+0

這是OBJ-C的答案,我認爲你可以將代碼轉換爲迅速HTTP ://stackoverflow.com/questions/7066212/ios-save-web-page-as-pdf –

+0

謝謝。我會試着讓你知道它是否可以。 – Mike

+0

嗨尤金,請把它作爲答案,以便我可以證實它。謝謝。 – Mike

回答

2

這裏是將網頁圖像雨燕代碼,那麼你可以將其轉換爲PDF格式:

let sixzevid = CGSizeMake(1024, 1100) 

    UIGraphicsBeginImageContext(sixzevid); 

    webview.layer.renderInContext(UIGraphicsGetCurrentContext()!) 

    let viewImage = UIGraphicsGetImageFromCurrentImageContext() 

    UIGraphicsEndImageContext() 

    var imageData = NSData() 

    imageData = UIImagePNGRepresentation(viewImage)! 

    let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 

    let pathFolder = String(String(format:"%@", "new.png")) 

    let defaultDBPathURL = NSURL(fileURLWithPath: documentsPath).URLByAppendingPathComponent(pathFolder) 

    let defaultDBPath = "\(defaultDBPathURL)" 

    imageData.writeToFile(defaultDBPath, atomically: true) 

    // After converting it in to an image you can easily convert it as pdf. 
+0

好答案!保存爲圖像後,我可以在照片庫中找到它,但在保存爲pdf後,我無法在設備上的任何位置找到它。如何在iPhone上找到轉換後的pdf文檔? iBooks什麼的? – coskukoz