2016-09-29 2 views
1

Я искал много страниц, но не видел никаких хороших объяснений для создания изображения в формате pdf. Также есть много ответов на вопрос. Так что здесь полезно спросить. В приложении есть кнопки «Камера», «Фотобиблиотека» и «Создать PDF». После того, как принято/выбрать картину, которую я хочу, чтобы прикрепить этот файл в PDF-файл кнопку 'Создать PDF' наВставить изображение в файл PDF Swift

Главная Раскадровка:

my scrreen

ViewController:

import UIKit 

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

@IBOutlet weak var PhotoLibrary: UIButton! 
@IBOutlet weak var Camera: UIButton! 
@IBOutlet weak var ImageDisplay: UIImageView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


//MARK: Photo Library Button Action 
@IBAction func PhotoLibraryAction(sender: UIButton) { 
    let picker = UIImagePickerController() 
    picker.delegate = self 
    picker.sourceType = .PhotoLibrary 

    presentViewController(picker, animated: true, completion: nil) 
} 




//MARK: Camera Button Action 
@IBAction func CameraAction(sender: UIButton) { 
    let picker = UIImagePickerController() 
    picker.delegate = self 
    picker.sourceType = .Camera 

    presentViewController(picker, animated: true, completion: nil) 
} 




//MARK: Adding Texts on Selected/Taken Image 
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 

    if var image = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     ImageDisplay.image = image 

    } 
    dismissViewControllerAnimated(true, completion: nil) 
} 




} 
+0

вы не можете сделать это напрямую. Вам нужно преобразовать PDF в изображение. Затем вам нужно взять его в imageView. После этого изображение, которое вы хотите вставить, переносит его в другое изображение. Затем просто захватите screenShot. После этого снова преобразуйте его в pdf, вот и все. – JAck

+0

выглядит очень сложно. Я новичок в Swift, поэтому я не могу этого сделать. – coskukoz

+0

Это можно сделать напрямую. См. Мой ответ –

ответ

4

Используйте следующую функцию конвертировать Ваше изображение в pdf

func createPdfFromView(imageView: UIImageView, saveToDocumentsWithFileName fileName: String) 
{ 
    let pdfData = NSMutableData() 
    UIGraphicsBeginPDFContextToData(pdfData, imageView.bounds, nil) 
    UIGraphicsBeginPDFPage() 

    let pdfContext = UIGraphicsGetCurrentContext() 

    if (pdfContext == nil) 
    { 
     return 
    } 

    imageView.layer.renderInContext(pdfContext!) 
    UIGraphicsEndPDFContext() 

    if let documentDirectories: AnyObject = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first 
    { 
     let documentsFileName = (documentDirectories as! String) + ("/\myPDFImage.pdf") 
     debugPrint(documentsFileName, terminator: "") 
     pdfData.writeToFile(documentsFileName, atomically: true) 
    } 
} 

Я создаю pdf-представление, поэтому передаю UIView этой функции. Передайте ваш UIImageView этой функции, и он должен работать нормально.

+0

Отлично! Я пытаюсь, но не могу передать UIImageView этой функции. Можете ли вы нести меня? – coskukoz

+0

Несомненно, с какими проблемами вы сталкиваетесь? –

+0

Я отредактировал его для UIImageView, попробуйте сейчас –

 Смежные вопросы

  • Нет связанных вопросов^_^