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
}
まずUIGraphicsBeginPDFContextToDataでNSMutableDataに対する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 件のコメント:
コメントを投稿