<!--
{
  "availability" : [
    "iOS: 4.2.0 -",
    "iPadOS: 4.2.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPrintPaper/bestPaper(forPageSize:withPapersFrom:)",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIPrintPaper(cm)bestPaperForPageSize:withPapersFromArray:"
  },
  "title" : "bestPaper(forPageSize:withPapersFrom:)"
}
-->

# bestPaper(forPageSize:withPapersFrom:)

The print-paper object that UIKit determines to be the best for a print job based on the specified page size and the paper size–imageable area combinations specific to the printer.

```
class func bestPaper(forPageSize contentSize: CGSize, withPapersFrom paperList: [UIPrintPaper]) -> UIPrintPaper
```

## Parameters

`contentSize`

The size of the printed page that your application requests, in points. You should think of this as the size of the physical sheet of paper to use in printing without consideration of the margin.

`paperList`

An array of `UIPrintPaper` objects that represent combinations of supported paper size and printable areas. The array of objects usually comes directly from the second argument of the [`printInteractionController(_:choosePaper:)`](/documentation/UIKit/UIPrintInteractionControllerDelegate/printInteractionController(_:choosePaper:)) method of the [`UIPrintInteractionControllerDelegate`](/documentation/UIKit/UIPrintInteractionControllerDelegate) protocol.

## Return Value

An instance of `UIPrintPaper` that represents the optimal printable area and paper size for the current print job. Returns `nil` if the instance could not be created.

## Discussion

The delegate of [`UIPrintInteractionController`](/documentation/UIKit/UIPrintInteractionController) may call this method in its implementation of the [`printInteractionController(_:choosePaper:)`](/documentation/UIKit/UIPrintInteractionControllerDelegate/printInteractionController(_:choosePaper:)) method declared in the [`UIPrintInteractionControllerDelegate`](/documentation/UIKit/UIPrintInteractionControllerDelegate) protocol.

---

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)