Chapter 16
Optional Content Groups

cpdf -ocg-list in.pdf

cpdf -ocg-rename -ocg-rename-from <a> -ocg-rename-to <b> in.pdf -o out.pdf

cpdf -ocg-order-all in.pdf -o out.pdf

cpdf -ocg-coalesce-on-name in.pdf -o out.pdf

In a PDF file, optional content groups are used to group graphical elements together, so they may appear or not, depending on the preference of the user. They are similar in some ways to layers in graphics illustration programs.

cpdf -ocg-list in.pdf

List the optional content groups in the PDF, one per line, to standard output. UTF8.

cpdf -ocg-rename -ocg-rename-from <a> -ocg-rename-to <b> in.pdf -o out.pdf

Rename an optional content group.

cpdf -ocg-coalesce-on-name in.pdf -o out.pdf

Coalesce optional content groups. For example, if we merge or stamp two files both with an OCG called ”Layer 1”, we will have two different optional content groups. Running -ocg-coalesce-on-name will merge the two into a single optional content group.

cpdf -ocg-order-all in.pdf -o out.pdf

Ensure that every optional content group appears in the order list.

JavaScript Interface

 
// CHAPTER 16. Optional Content Groups 
 
/** Begins retrieving optional content group names. The number of entries is returned. 
@arg {pdf} pdf PDF document 
@return {number} number of entries */ 
function startGetOCGList(pdf) {} 
 
/** Retrieves an OCG name, given its serial number 0..n - 1. 
@arg {number} n serial number 
@return {string} OCG name */ 
function ocgListEntry(n) {} 
 
/** Ends retrieval of optional content group names. */ 
function endGetOCGList() {} 
 
/** Renames an optional content group. 
@arg {pdf} pdf PDF document 
@arg {string} name_from source name 
@arg {string} name_to destination name */ 
function ocgRename(pdf, name_from, name_to) {} 
 
/** Ensures that every optional content group appears in the OCG order list. 
@arg {pdf} pdf PDF document */ 
function ocgOrderAll(pdf) {} 
 
/** Coalesces optional content groups. For example, if we merge or stamp two 
files both with an OCG called "Layer 1", we will have two different optional 
content groups. This function will merge the two into a single optional 
content group. 
@arg {pdf} pdf PDF document */ 
function ocgCoalesce(pdf) {}