Section:

Usage Examples for CosEdit

Apryse’s CosEdit is a stand-alone desktop application for low-level PDF editing. This section covers the basic use of CosEdit explaining all the available options.

Apryse Docs Image

Mapping the PDF File Structure to CosEdit User Interface

CosEdit’s graphical user interface (GUI) has a clean mapping of the PDF file structure. For a details on the PDF file structure, please refer to the latest PDF Reference Manual.

To summarize, a PDF file consists of four sections:

  • A one-line header identifying the version of the PDF specification to which the file conforms.
  • A body containing the objects that make up the document contained in the file.
  • A cross-reference table containing information about the indirect objects in the file.
  • A trailer giving the location of the cross-reference table and certain special objects within the body of the file.

This initial structure may be modified by later updates, which append additional elements to the end of the file.

The following figure illustrates how the basic PDF file structure is mapped to CosEdit's GUI.

Apryse Docs Image

Cross-reference table elements map directly to the entries in the cross-reference table (xref) view. Xref View displays, in a tabular form, all elements from the latest cross-reference table. Columns of the table contain useful information about the indirect object such as its type, file offset, object, generation number, etc.

File body is a container of indirect objects. Indirect objects can refer to each other forming a graph- like structure. The root of the graph is the trailer object. In CosEdit, the trailer can always be located by selecting the first row of the Xref View (or by clicking on the 'root' button in the toolbar).

Selecting rows in the Xref View will display corresponding objects in the Object View that is located to the right. The Object View displays the value of the selected indirect object. You can use the Object View to modify existing objects and, in the case of container objects (i.e. dictionaries and arrays), create direct sub-objects as well as references to other indirect objects. References to indirect objects can be easily identified as icons containing the L (as in Link) symbol.

Double clicking on the link will select the referenced element in the Xref and Object View. Effectively, clicking on the link allows you to navigate the Cos object graph. The History Bar shown in the figure below illustrates the current position in the graph starting from the specific indirect object.

Apryse Docs Image

You can use the left and right arrow buttons to go back and forth through position history, or you can directly edit the path as in a web browser.

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales