Skip to end of metadata
Go to start of metadata

If you are presenting a dialogue box such as in the PrintPDF sample, you can set the N-up parameter in the printer dialog. Adobe PDF Library will read N-up value and other information from the data returned from that print dialog and pass the values on to the printer.

N-up refers to the number of pages of a document to print on a single sheet of paper. For example, if N-up is set equal to four, the printer will include four miniature versions of pages of the document on a single sheet of paper, like this:

If you are not presenting a dialogue box, then there is no mechanism for specifying N-up programmatically. The N-up option doesn't appear in System.Drawing.Printing.PrinterSettings because it's a device-specific setting, and appears in the dmDriverExtraData field of the DEVMODE, which contains implementation-specific printer driver data. When the N-up setting is changed in the dialog box, this field of the DEVMODE is updated. Controlling this setting programmatically is not feasible in the Java or .NET Interface, because the Interface does not know how the dmDriverExtraData field is formatted, and the format is different for each printer.

Alternatively, you could consider implementing your own N-up processing prior to printing. This would involve basically creating a small imposition routine with multiple small PDF pages imposed on a larger PDF page. This feature would work on any printer, but it would also increase the amount of data being sent to that printer.

  • No labels