<!--
{
  "availability" : [
    "iOS: 4.2.0 -",
    "iPadOS: 4.2.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPrintInteractionController/print(to:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIPrintInteractionController(im)printToPrinter:completionHandler:"
  },
  "title" : "print(to:completionHandler:)"
}
-->

# print(to:completionHandler:)

Prints directly to the specified printer.

```
func print(to printer: UIPrinter, completionHandler completion: UIPrintInteractionController.CompletionHandler? = nil) -> Bool
```

## Parameters

`printer`

The printer to use for printing. You can obtain a list of available printers using a [`UIPrinterPickerController`](/documentation/UIKit/UIPrinterPickerController) object.

`completion`

The block to execute when the print operation finishes.

## Return Value

<doc://com.apple.documentation/documentation/Swift/true> if printing was successful or <doc://com.apple.documentation/documentation/Swift/false> if there was a problem.

## Discussion

This method starts the print job and displays the printing progress indicator to the user. This method associates the current printing information (available in the [`printInfo`](/documentation/UIKit/UIPrintInteractionController/printInfo) property) with the job but disables duplex printing. Upon completion of the print job, the print interaction controller executes the block in the `completion` parameter.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)