# PrintParams Class

> Print settings, primarily used for PostScript printers or output.

- Product: Adobe PDF Library 21
- Language: .NET Framework
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PrintParams
- Version index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt

```csharp
class PrintParams : SystemIDisposable
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** `SystemIDisposable`

## Description

Print settings, primarily used for PostScript printers or output.

**Referenced by:** [`PrintUserParams`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PrintUserParams.md)

**Uses types:** [`Duplex`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/Duplex.md), [`FarEastFont`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/FarEastFont.md), [`Inclusion`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/Inclusion.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/OptionalContentContext.md), [`OutputType`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/OutputType.md), [`PageMarkFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/PageMarkFlags.md), [`PageRange`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PageRange.md), [`PageTilingMode`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/PageTilingMode.md), [`PrintWhat`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/PrintWhat.md), [`PrintWhatAnnotFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/PrintWhatAnnotFlags.md), [`Rect`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Rect.md)

## Constructors

### PrintParams

```csharp
Datalogics.PDFL.PrintParams.PrintParams()
```

*constructor*

## Properties

### ApplyOCGPrintOverrides

```csharp
bool Datalogics.PDFL.PrintParams.ApplyOCGPrintOverrides { get; set; }
```

When true, apply print-specific visibility state settings from the optional-content group.

### BinaryOK

```csharp
bool Datalogics.PDFL.PrintParams.BinaryOK { get; set; }
```

true if binary data is permitted in the PostScript file, false otherwise. It is overridden by the printer's "Output Protocol" device settings. The default value is true.

### BitmapResolution

```csharp
uint Datalogics.PDFL.PrintParams.BitmapResolution { get; set; }
```

DPI for bitmaps. The default is 300. This will only work when you set useFullResolutionJP2KData to false; it should not be less than 50.

### BoundingBox

```csharp
Rect Datalogics.PDFL.PrintParams.BoundingBox { get; set; }
```

### BrokenCRDs

```csharp
bool Datalogics.PDFL.PrintParams.BrokenCRDs { get; set; }
```

If true, do not set rendering intent in PostScript stream due to broken non-default CRDs. This is not honored anymore: its value is always false.

### CenterCropBox

```csharp
bool Datalogics.PDFL.PrintParams.CenterCropBox { get; set; }
```

true if CropBox output is centered on the page when the CropBox < MediaBox, false otherwise. The default value is true.

### DisableFlattening

```csharp
bool Datalogics.PDFL.PrintParams.DisableFlattening { get; set; }
```

Disable flattening of the PDF file; transparency data will be ignored. Also note the preprocessor define below.

### DoOPP

```csharp
bool Datalogics.PDFL.PrintParams.DoOPP { get; set; }
```

Do the overprint preview operation.

### DoProofing

```csharp
bool Datalogics.PDFL.PrintParams.DoProofing { get; set; }
```

When true, print using proofing settings.

### DoTiling

```csharp
PageTilingMode Datalogics.PDFL.PrintParams.DoTiling { get; set; }
```

Determines whether to tile none, all, or only large pages.

### Duplex

```csharp
Duplex Datalogics.PDFL.PrintParams.Duplex { get; set; }
```

Sets the duplex mode if the device supports duplex printing. The default value is kPDDuplexOff.

### EmitBG

```csharp
bool Datalogics.PDFL.PrintParams.EmitBG { get; set; }
```

Emit black generation. The default is true.

### EmitColorSeps

```csharp
bool Datalogics.PDFL.PrintParams.EmitColorSeps { get; set; }
```

Emit images for Level-1 separations. The default value is false. This will be honored only when printing to a printer.

### EmitDeviceExtGState

```csharp
bool Datalogics.PDFL.PrintParams.EmitDeviceExtGState { get; set; }
```

When emitting the extended graphics state, if this flag is true, include the device-dependent parameters (overprint, black generation, undercolor removal, transfer, halftone, halftone phase, smoothness, flatness, rendering intent) in addition to the device-independent parameters (font, line width, line cap, line join, miter limit, dash pattern). If this flag is false, only the device-independent parameters will be emitted. This flag overrides emitHalftones; if this is false, then halftones are not emitted. The default is true.

### EmitFlatness

```csharp
bool Datalogics.PDFL.PrintParams.EmitFlatness { get; set; }
```

Honors the flatness settings over gstate flatness.

### EmitHalftones

```csharp
bool Datalogics.PDFL.PrintParams.EmitHalftones { get; set; }
```

Preserve any halftone screening in the PDF file. The default value is false.

### EmitInRipSeps

```csharp
bool Datalogics.PDFL.PrintParams.EmitInRipSeps { get; set; }
```

When true, it requests that separations, one sheet per ink, be generated in the RIP (printer).

### EmitPS

```csharp
bool Datalogics.PDFL.PrintParams.EmitPS { get; set; }
```

If true, emit a PostScript file. The default value is true.

### EmitPageClip

```csharp
bool Datalogics.PDFL.PrintParams.EmitPageClip { get; set; }
```

Emit page clip. The default is true.

### EmitPageRotation

```csharp
bool Datalogics.PDFL.PrintParams.EmitPageRotation { get; set; }
```

Emit a concat at the beginning of each page so that the page is properly rotated. Used when emitting EPS. The default value is false.

### EmitRawData

```csharp
bool Datalogics.PDFL.PrintParams.EmitRawData { get; set; }
```

true if adding no unnecessary filters when emitting image data, false otherwise. The default value is false.

### EmitSeparableImagesOnly

```csharp
bool Datalogics.PDFL.PrintParams.EmitSeparableImagesOnly { get; set; }
```

If emitting EPS, include only CMYK and gray images.

### EmitTTFontsFirst

```csharp
bool Datalogics.PDFL.PrintParams.EmitTTFontsFirst { get; set; }
```

Emit TrueType fonts before any other fonts. The default value is false.

### EmitTransfer

```csharp
bool Datalogics.PDFL.PrintParams.EmitTransfer { get; set; }
```

Emit transfer. The default is true.

### EmitUCR

```csharp
bool Datalogics.PDFL.PrintParams.EmitUCR { get; set; }
```

Emit undercolor removal. The default is true.

### ExpandToFit

```csharp
bool Datalogics.PDFL.PrintParams.ExpandToFit { get; set; }
```

true if small pages are to be scaled up to fit the printer page size, false, otherwise. It overrides the scale. The default value is true.

### FarEastFontOpt

```csharp
FarEastFont Datalogics.PDFL.PrintParams.FarEastFontOpt { get; set; }
```

GDI to PS or download CJK fonts PDPDFarEastFont_Print_As_Image will not be honored.

### FlattenInfoExternalDPI

```csharp
float Datalogics.PDFL.PrintParams.FlattenInfoExternalDPI { get; set; }
```

Get the resolution for flattening the edges of atomic regions.

ExternalDPI for flattening defaults to 144 (72x2).

### GradientResolution

```csharp
uint Datalogics.PDFL.PrintParams.GradientResolution { get; set; }
```

DPI for gradients interior to the object (not edges). It can generally be lower than the bitmapResolution. The default is 150.

### HostBasedCM

```csharp
bool Datalogics.PDFL.PrintParams.HostBasedCM { get; set; }
```

Do hostBased color management using the destination profile. The default is false, which means doing CSA generation for profiles instead of converting all colors on the host.

### IncBaseFonts

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncBaseFonts { get; set; }
```

Embed the base fonts. The default value is kIncludeOncePerDoc.

### IncCIDFonts

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncCIDFonts { get; set; }
```

Embed CID fonts. The default value is kIncludeNever.

### IncEmbeddedFonts

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncEmbeddedFonts { get; set; }
```

Embed fonts that are embedded in the PDF file. This overrides the incType1Fonts, incTrueTypeFonts, and incCIDFonts fields. The default value is kIncludeWhenNeeded.

### IncOtherResources

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncOtherResources { get; set; }
```

Include all other types of resources in the file. The default value is kIncludeByRange.

### IncProcsets

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncProcsets { get; set; }
```

Include Procsets in the file. The default value is kIncludeOncePerDoc. This is not honored anymore: its value is always false. Procsets are always emitted at the document level.

### IncTrueTypeFonts

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncTrueTypeFonts { get; set; }
```

Embed TrueType fonts. The default value is kIncludeNever.

### IncType1Fonts

```csharp
Inclusion Datalogics.PDFL.PrintParams.IncType1Fonts { get; set; }
```

Embed Type 1 fonts. The default value is kIncludeNever.

### InkBlack

```csharp
bool Datalogics.PDFL.PrintParams.InkBlack { get; set; }
```

Proofing settings: simulate ink black.

### LastHeight

```csharp
int Datalogics.PDFL.PrintParams.LastHeight { get; set; }
```

Used when setPageSize is true to prevent unneeded setpagedevice calls.

### LastWidth

```csharp
int Datalogics.PDFL.PrintParams.LastWidth { get; set; }
```

Used when setPageSize is true to prevent unneeded setpagedevice calls.

### LineWidth

```csharp
float Datalogics.PDFL.PrintParams.LineWidth { get; set; }
```

The line weight to use for printer marks.

### MacQDPrinter

```csharp
bool Datalogics.PDFL.PrintParams.MacQDPrinter { get; set; }
```

true if the printer is a Mac QuickDraw printer, false otherwise.

### MarkStyle

```csharp
int Datalogics.PDFL.PrintParams.MarkStyle { get; set; }
```

Specify the style to use for page marks. The PDPrintMarkStyles enum contains possible styles. It applies to print separations.

### Mirrorprint

```csharp
int Datalogics.PDFL.PrintParams.Mirrorprint { get; set; }
```

One of the following constants: kPDPrintFlipNone = 0x01 kPDPrintFlipX = 0x02 kPDPrintFlipY = 0x04 kPDPrintFlipXY = 0x08

Mirroring is done in the PostScript output stream.

### Negative

```csharp
bool Datalogics.PDFL.PrintParams.Negative { get; set; }
```

When true, invert the plate.

### NumCollatedCopies

```csharp
uint Datalogics.PDFL.PrintParams.NumCollatedCopies { get; set; }
```

Enables collation for the viewer.

### OptimizeForSpeed

```csharp
bool Datalogics.PDFL.PrintParams.OptimizeForSpeed { get; set; }
```

If true, do it fast; false means PostScript code must be page-independent. If it is set to true, font downloads are forced from kIncludeOnEveryPage to kIncludeOncePerDoc. The default is true.

### OptionalContentContext

```csharp
OptionalContentContext Datalogics.PDFL.PrintParams.OptionalContentContext { get; set; }
```

An optional-content context that determines what contents are visible. null uses the document's optional-content context.

This context is copied and the copy is used in drawing. This allows a client to change its copy of the context without raising an exception.

### OutputType

```csharp
OutputType Datalogics.PDFL.PrintParams.OutputType { get; set; }
```

Print PostScript or EPS with or without a preview. EPS preview generation is not available on UNIX.

### PageRanges

```csharp
System.Collections.Generic.IList<PageRange> Datalogics.PDFL.PrintParams.PageRanges { get; set; }
```

Get the page ranges for printing.

### PaperWhite

```csharp
bool Datalogics.PDFL.PrintParams.PaperWhite { get; set; }
```

Proofing settings: simulate paper white.

### PrintWhat

```csharp
PrintWhat Datalogics.PDFL.PrintParams.PrintWhat { get; set; }
```

Print the document, the document and comments, or document form fields only.

### PrintWhatAnnot

```csharp
PrintWhatAnnotFlags Datalogics.PDFL.PrintParams.PrintWhatAnnot { get; set; }
```

Annotation flags which modify PDPrintWhat to enable Pro product behavior.

### PsLevel

```csharp
int Datalogics.PDFL.PrintParams.PsLevel { get; set; }
```

PostScript level: 1, 2, or 3. The default value is 3.

### Reverse

```csharp
bool Datalogics.PDFL.PrintParams.Reverse { get; set; }
```

If set to true, reverse the order of page output.

### Rotate

```csharp
bool Datalogics.PDFL.PrintParams.Rotate { get; set; }
```

Enable the auto-rotating behavior from past versions of PDFL.

### RotateAndCenter

```csharp
bool Datalogics.PDFL.PrintParams.RotateAndCenter { get; set; }
```

true if the page is to be rotated to fit the printer's orientation and centered in the printer's page size; false, otherwise. The default value is true. Rotation and centering (true) only occur, however, if the page contents are too wide to fit on a narrow page (or vice versa) and the page contents are less than an inch smaller than the target page in one direction.

### SaveVM

```csharp
bool Datalogics.PDFL.PrintParams.SaveVM { get; set; }
```

true means try to save VM when printing to PostScript. The default is true.

### Scale

```csharp
float Datalogics.PDFL.PrintParams.Scale { get; set; }
```

The document-wide scale factor. 100.0 = full size. The default value is 100.

### SetPageSize

```csharp
bool Datalogics.PDFL.PrintParams.SetPageSize { get; set; }
```

(PostScript level 2 only) Set the page size on each page. Use the media box for outputting to PostScript files, use the crop box for EPS files. Default is false.

### ShrinkToFit

```csharp
bool Datalogics.PDFL.PrintParams.ShrinkToFit { get; set; }
```

true if the page is scaled to fit the printer page size, false, otherwise. This field overrides the scale. The default value is true.

### SuppressCJKSubstitution

```csharp
bool Datalogics.PDFL.PrintParams.SuppressCJKSubstitution { get; set; }
```

If true, do not do CJK substitution on the printer. This will work only when farEastFontOpt is PDPDFarEastFont_Download_None.

### SuppressCSA

```csharp
bool Datalogics.PDFL.PrintParams.SuppressCSA { get; set; }
```

Do not emit CSAs for 4-component (CMYK) colors. This will take precedence over the hostbasedCM settings.

### SuppressOPPWhenNoSpots

```csharp
int Datalogics.PDFL.PrintParams.SuppressOPPWhenNoSpots { get; set; }
```

When true, suppress OPP for pages that do not contain spot colors

### TTasCIDT2

```csharp
bool Datalogics.PDFL.PrintParams.TTasCIDT2 { get; set; }
```

When this is set, emit TrueType fonts as CIDType2 instead of as CIDFontType0.

### TTasT42

```csharp
bool Datalogics.PDFL.PrintParams.TTasT42 { get; set; }
```

If including TrueType fonts, convert to Type 42 fonts instead of Type 1 fonts. The default value is false.

### TransparencyQuality

```csharp
uint Datalogics.PDFL.PrintParams.TransparencyQuality { get; set; }
```

The transparency flattening quality. The range is 0-100. Lower values flatten faster. Higher values provide better quality. The default is 80, which usually provides good quality at a reasonable speed.

### TrapType

```csharp
int Datalogics.PDFL.PrintParams.TrapType { get; set; }
```

The trap type. kPDPrintTrapNone = 0x01 kPDPrintTrapOnHost = 0x02 is NOT SUPPORTED in Acrobat 7 kPDPrintTrapInRIP = 0x04

### UseExecForm

```csharp
bool Datalogics.PDFL.PrintParams.UseExecForm { get; set; }
```

When true, emit execform calls when emitting Form XObjects.

### UseFontAliasNames

```csharp
bool Datalogics.PDFL.PrintParams.UseFontAliasNames { get; set; }
```

Used when printing with system fonts. The default value is false.

### UseFullResolutionJP2KData

```csharp
bool Datalogics.PDFL.PrintParams.UseFullResolutionJP2KData { get; set; }
```

Determines whether to use the maximum available JPEG2000 resolution.

### UseMaxVM

```csharp
bool Datalogics.PDFL.PrintParams.UseMaxVM { get; set; }
```

If true, store all possible resources in VM.

### UseSubFileDecode

```csharp
bool Datalogics.PDFL.PrintParams.UseSubFileDecode { get; set; }
```

Add SubFileDecode filter to work around stream problems [false]. The SubFileDecode filter will always be emitted when you print as binary.

### WesternMarksStyle

```csharp
bool Datalogics.PDFL.PrintParams.WesternMarksStyle { get; set; }
```

When true, use western style for page marks. It applies to print separations. Obsoleted by markStyle below.

### WhichMarks

```csharp
PageMarkFlags Datalogics.PDFL.PrintParams.WhichMarks { get; set; }
```

Page mark indication. It is a bit-wise OR of the PDPageMarkFlags values.

It applies to print separations.

## Methods

### Dispose

```csharp
void Datalogics.PDFL.PrintParams.Dispose()
```

**Returns:** `void`
