Share via


PrintablePlates Object

Publisher Developer Reference

A collection of the PrintablePlate objects in a publication.

Remarks

The PrintablePlates collection is generated when a publication's print mode is set to separations. Returns "Permission Denied" when any other print mode is specified.

The PrintablePlates collection represents the plates that will actually be printed for the publication, based on:

  • The plates (if any) you have defined for the publication
  • The advanced print options specified

You cannot programmatically create a printable plates collection, or add a printable plate to the collection.

Use the following properties of the AdvancedPrintOptions object to specify which plates are included in the PrintablePlates collection:

  • Use the PrintMode property to set the publication to print as separations.
  • Use the InksToPrint property to select which types of plates to print.
  • Use the PrintPlate property to select individual plates to print.
  • Use the PrintBlankPlates to determine whether to print plates for any pages where an ink is not used.

This collection corresponds to the plates listed on the Separations tab of the Advanced Print Settings dialog box.

Example

Use the PrintablePlates property of the AdvancedPrintOptions object to return the PrintablePlates collection. The following example returns a list of the printable plates currently in the collection for the active document. The example assumes that separations have been specified as the active publication's print mode.

Visual Basic for Applications
  Sub ListPrintablePlates()
    Dim pplTemp As PrintablePlates
    Dim pplLoop As PrintablePlate
    
Set pplTemp = ActiveDocument.AdvancedPrintOptions.<strong class="bterm">PrintablePlates</strong>
Debug.Print "There are " &amp; pplTemp.Count &amp; " printable plates in this publication."

For Each pplLoop In pplTemp
    With pplLoop
        Debug.Print "Printable Plate Name: " &amp; .Name
        Debug.Print "Index: " &amp; .Index
        Debug.Print "Ink Name: " &amp; .InkName
        Debug.Print "Plate Angle: " &amp; .Angle
        Debug.Print "Plate Frequency: " &amp; .Frequency
        Debug.Print "Print Plate?: " &amp; .PrintPlate
    End With
Next pplLoop

End Sub

Use the FindPlateByInkName method to return a specific plate by referencing its ink name. Process colors are assigned different index numbers in the Plates collection than in the PrintablePlates collection. Use the FindPlateByInkName method to insure the desired Plate or PrintablePlate object is accessed.

The following example returns a spot color plate and sets several of its properties. The example assumes that separations have been specified as the active publication's print mode.

Visual Basic for Applications
  Sub SetPlatePropertiesByInkName()

Dim pplPlate As PrintablePlate ActiveDocument.AdvancedPrintOptions.UseCustomHalftone = True

Set pplPlate = ActiveDocument.AdvancedPrintOptions.PrintablePlates.<strong class="bterm">FindPlateByInkName</strong>(pbInkNameSpot3)

With pplPlate
    .Angle = 75
    .Frequency = 133
    .PrintPlate = True
End With

End Sub

See Also