This is another item governed by a hidden preference file. The preference file that governs custom paper sizes is
This file does not exist until custom paper sizes have been created. Let’s have a look at the contents of a preference file that defines one custom paper size – 4″ x 6″ borderless paper.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>4x6 Borderless</key> <dict> <key>bottom</key> <real>0.0</real> <key>custom</key> <true/> <key>height</key> <real>432</real> <key>id</key> <string>4x6 Borderless</string> <key>left</key> <real>0.0</real> <key>name</key> <string>4x6 Borderless</string> <key>printer</key> <string> </string> <key>right</key> <real>0.0</real> <key>top</key> <real>0.0</real> <key>width</key> <real>288</real> </dict> </dict> </plist>
The first three lines identify the file as an Apple preference file. The fourth line, “” is a dictionary tag. Dictionary tags are used as containers for preference keys. A dictionary is an unordered list of keys, whereas its counterpart – the array, is an ordered list of keys.
The fifth line is the first key in this preference file. In com.apple.print.custompapers, this key is used to define the custom paper size. This key’s value, starting on the sixth line is another dictionary containing the details for this custom paper size. Each key is followed by its value. See the table below for definitions of each of these keys.
|bottom||Bottom margin, expressed in PostScript points*|
|custom||The value “true” indicates this is a custom setting.|
|height||Paper height, expressed in PostScript points*|
|id||The setting’s identifier|
|left||Left margin, expressed in PostScript points*|
|name||The setting’s name|
|printer||Unknown, possibly used to tie settings to individual printers|
|right||Right margin, expressed in PostScript points*|
|top||Top margin, expressed in PostScript points*|
|width||Paper width, expressed in PostScript points*|
*1 inch = 72 PostScript points. Here are some handy Google search terms: “1 inch postscript point”, “1 centimeter postscript point”.
Crafting a custom paper size dictionary by hand requires a bit of arithmetic to translate the PostScript points to more familiar units and the dictionary syntax can be a bit fiddly for some administrators. A useful shortcut would be to use the GUI to create the custom paper size entry on a test computer, then harvest the dictionary from the resulting preference file. Once you have the dictionary, you could use it in a Configuration Profile or Managed Preference.