AlambicEdit API reference

The AlambicEdit library allows Workflow to access, create or modify PDF files. It does so by wrapping Adobe PDF Library API calls in an object-oriented COM API. The use of COM as the underlying technology allows Workflow's scripting environment to create an instance of that COM object through the Watch.GetPDFEditObject method (see The Watch Object).

The object's hierarchy is modeled on the PDF document structure:

  • The PDF object defines methods to open, close and save files, as well as to access meta information such as the XMP attachment. It also implements a Pages collection object to access the list of pages in the PDF. (See PDF object.)
  • The Pages collection object defines methods to add, import, move or delete pages as well to access individual Page items. (See Pages collection object.)
  • The Page object defines methods to retrieve information from a page or modify it. (See Page object.)

PdfInfos, PdfPrintParams and PdfRect are the structures used.

Note: In OL Connect, PDF files are normally best handled by OL Connect tasks. However, the AlambicEdit API can provide a solution in special situations; see for example Stamping one PDF file on another PDF file.

Syntax conventions

The syntax for methods, properties and structures is as follows.

Methods

Syntax

methodName([arg1[, arg2[,...]]])

The type of each argument is specified in the description.

What a method returns is specified below the description of the arguments.

In case of failure, methods raise an exception.

Examples

Open(fileName, doRepair)

GetXYML()

JavaScript implementation:
myPDF.Open("C:\\PDFs\\SomeDocument.pdf", false);
var myXYML = myPDF.GetXYML();

Note: In JavaScript, all method calls must include parentheses, even for methods that do not require arguments (e.g. Watch.GetPDFEditObject(), myPDF.Pages() ).

VBScript implementation:
myPDF.Open "C:\\PDFs\\SomeDocument.pdf", false
myXYML = myPDF.GetXYML

Properties

Syntax

propName

Examples

Orientation

JavaScript implementation:
var currentOrientation = myPDF.Pages(0).Orientation;
myPDF.Pages(0).Orientation = 180;

VBScript implementation:
currentOrientation = myPDF.Pages(0).Orientation
myPDF.Pages(0).Orientation = 180;

Structures

Syntax

STRUCT_NAME {
fieldName1[,
fieldName2[,
...]]
}

Examples

PDFRect {
left,
top,
right,
bottom
}

left, top, right and bottom are integers.

JavaScript implementation:
var pdfRect = myPDF.Pages(0).Size();
var pageWidth = pdfRect.right - pdfRect.left;

VBScript implementation:
set pdfRect = myPDF.Pages(0).Size
pageWidth = pdfRect.right - pdfRect.left