私のアプリから直接印刷しようとしています。それはチェックリストです。私が印刷するときだけの問題です、イメージは印刷用紙の1/4を満たすでしょう。 8.5インチ×11インチのフルサイズの用紙に画像を欲しい。印刷ボタンで8.5インチx 11インチのイメージを印刷するにはどうすればよいですか? Swift 3、IOS
これは私の印刷ボタンです:
@IBAction func buttonAction2(_ sender: UIButton) {
//Screenshot of view controller (minus status/Nav bar)
let top: CGFloat = 46
let bottom: CGFloat = 0
let size = CGSize(width: view.frame.size.width, height: view.frame.size.height - top - bottom)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
let context = UIGraphicsGetCurrentContext()!
context.translateBy(x: 0, y: -top)
view.layer.render(in: context)
let snapshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
///Print screenshot
let printController = UIPrintInteractionController.shared
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.jobName = "printing an image"
printInfo.outputType = .photo
printController.printInfo = printInfo
printController.printingItem = snapshot
printController.present(animated: true) { (_, isPrinted, error) in if error == nil {
if isPrinted {
print("image is printed")
}else{
print("image is not printed")
}
}
}
}
は、私は私のカメラロールに画像を保存し、代わりに私のアプリから直接印刷する、そこから印刷し、それが完璧に動作することができます。カメラのロールから印刷すると、イメージはページ全体を塗りつぶします。
//Save photo to camera roll
UIImageWriteToSavedPhotosAlbum(snapshot!, nil, nil, nil)
私は本当にアプリから印刷する必要があります。これを達成する方法はありますか?
画像は今75%が遮断され、まだのみのページの75%を埋める(それが吹いてから)。 – DanielG