<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSPrinter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSPrinter"
  },
  "title" : "NSPrinter"
}
-->

# NSPrinter

An object that describes a printer’s capabilities.

```
class NSPrinter
```

## Overview

[`NSPrinter`](/documentation/AppKit/NSPrinter) provides information about a printer; it does not modify printer attributes or control a printing job. A printer object can be constructed by specifying either the printer name or the make and model of an available printer. Typically, Cocoa apps don’t create [`NSPrinter`](/documentation/AppKit/NSPrinter) objects; instead, the printing system uses these objects to support the printing jobs and when it shows users a list of printers.

## Topics

### Creating the Printer Object

[`init(name:)`](/documentation/AppKit/NSPrinter/init(name:))

Creates and returns a printer object initialized with the specified printer name.

[`init(type:)`](/documentation/AppKit/NSPrinter/init(type:))

Creates and returns a printer object initialized to the first available printer with the specified make and model information.

### Getting General Printer Information

[`printerNames`](/documentation/AppKit/NSPrinter/printerNames)

Returns the names of all available printers.

[`printerTypes`](/documentation/AppKit/NSPrinter/printerTypes)

Returns descriptions of the makes and models of all available printers.

[`NSPrinter.TypeName`](/documentation/AppKit/NSPrinter/TypeName)

The type you use to describe a printer’s make and model.

### Getting Attributes

[`name`](/documentation/AppKit/NSPrinter/name)

The printer’s name.

[`type`](/documentation/AppKit/NSPrinter/type)

A description of the printer’s make and model.

### Getting Page and Printer Information

[`pageSize(forPaper:)`](/documentation/AppKit/NSPrinter/pageSize(forPaper:))

Returns the size of the page for the specified paper type.

[`NSPrinter.PaperName`](/documentation/AppKit/NSPrinter/PaperName)

The type you use to specify the name of a type of paper.

[`languageLevel`](/documentation/AppKit/NSPrinter/languageLevel)

The PostScript language level recognized by the printer.

### Querying Tables

[`deviceDescription`](/documentation/AppKit/NSPrinter/deviceDescription)

A dictionary of keys and values that describe the device.

### Deprecated

[`isKey:inTable:`](/documentation/AppKit/NSPrinter/isKey:inTable:)

Returns a Boolean value that indicates whether the specified key is in the specified table.

[`stringForKey:inTable:`](/documentation/AppKit/NSPrinter/stringForKey:inTable:)

Returns the first occurrence of a value associated with specified key.

[`stringListForKey:inTable:`](/documentation/AppKit/NSPrinter/stringListForKey:inTable:)

Returns an array of strings, one for each occurrence, associated with specified key.

[`booleanForKey:inTable:`](/documentation/AppKit/NSPrinter/booleanForKey:inTable:)

Returns the Boolean value associated with the specified key.

[`floatForKey:inTable:`](/documentation/AppKit/NSPrinter/floatForKey:inTable:)

Returns the floating-point value associated with the specified key.

[`intForKey:inTable:`](/documentation/AppKit/NSPrinter/intForKey:inTable:)

Returns the integer value associated with the specified key.

[`rectForKey:inTable:`](/documentation/AppKit/NSPrinter/rectForKey:inTable:)

Returns the rectangle associated with the specified key.

[`sizeForKey:inTable:`](/documentation/AppKit/NSPrinter/sizeForKey:inTable:)

Returns the size data type associated with the specified key.

[`statusForTable:`](/documentation/AppKit/NSPrinter/statusForTable:)

Returns the status of the specified table.

[`NSPrinter.TableStatus`](/documentation/AppKit/NSPrinter/TableStatus)

Constants that describe the state of a printer information table stored by a printer object.

[`printerWithName:domain:includeUnavailable:`](/documentation/AppKit/NSPrinter/printerWithName:domain:includeUnavailable:)

Deprecated.

[`acceptsBinary`](/documentation/AppKit/NSPrinter/acceptsBinary)

Deprecated.

[`domain`](/documentation/AppKit/NSPrinter/domain)

Deprecated.

[`host`](/documentation/AppKit/NSPrinter/host)

Deprecated.

[`imageRectForPaper:`](/documentation/AppKit/NSPrinter/imageRectForPaper:)

Deprecated.

[`isColor`](/documentation/AppKit/NSPrinter/isColor)

Deprecated.

[`isFontAvailable:`](/documentation/AppKit/NSPrinter/isFontAvailable:)

Deprecated.

[`isOutputStackInReverseOrder`](/documentation/AppKit/NSPrinter/isOutputStackInReverseOrder)

Deprecated.

[`note`](/documentation/AppKit/NSPrinter/note)

Deprecated.



---

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)