2016年12月27日火曜日

[iOS]How to make a PDF from an image

さて、今回はiOSにて画像からPDFを作成する方法についてご説明します。
I explain how to make a PDF from an image on iOS this time.

環境(Environment):Xcode 8.2.1, Swift 3


まずコードから。

At first, look sample code below.


func makePDF(image:UIImage){
            //Make PDF Data
            var data:NSMutableData! = NSMutableData()
            UIGraphicsBeginPDFContextToData(data,CGRect.zero , nil)
            UIGraphicsBeginPDFPageWithInfo(CGRect(x: 0,y: 0,width: image.size.width,height: image.size.height),nil)
            image.draw(in: CGRect(x: 0,y: 0,width: image.size.width,height: image.size.height))
            UIGraphicsEndPDFContext()
        
            let pickerCtl = MFMailComposeViewController()
            pickerCtl.mailComposeDelegate = self
            pickerCtl.setMessageBody("", isHTML: false)
            pickerCtl.addAttachmentData(data as Data, mimeType: "application/pdf", fileName: pdfTitle2 + ".pdf")
            
            self.present(pickerCtl,animated:true,completion:nil)
            data = nil

        }

まずUIGraphicsBeginPDFContextToDataNSMutableDataに対するPDF用のグラフィックコンテキストを作成します。その後、UIGraphicsBeginPDFPageWithInfoでPDFのページの大きさを定義します。
そしてUIImageの書き込みを行います。
最後にUIGraphicsEndPDFContextを宣言してグラフィックコンテキストを閉じれば完成です。
これでNSMutableDataはPDFのデータとなっています。
このサンプルでは最後にメールに添付して送信できる様にしています。
Use UIGraphicsBeginPDFContextToData and create a PDF-based graphics context that targets the specified NSMutableData. And use UIGraphicsBeginPDFPageWithInfo and specify the scale of a PDF page.
And draw UIImage to NUMutableData.
At last, declare UIGraphicsEndPDFContext and NSMutableData turns into a PDF data.
In this sample code, a PDF Data is send as a E-mail attachment.

[関連記事(Articles)]
[Android]How to make a PDF from an image

にほんブログ村 ライフスタイルブログ クリエイティブライフへ
にほんブログ村

クリエイティブライフ ブログランキングへ

0 件のコメント:

コメントを投稿