What is the FrameMaker Developer Kit?

The Adobe® FrameMaker® Developer Kit (FDK) is a set of C libraries and header files that allow you to write Application Programmer Interface (API) clients or plug-ins using the C or C++ programming language. Using the FDK, an API client can perform interactive user tasks and more. It gives programmers direct access to all the objects in a FrameMaker session or document. This includes graphics, text, markers, paragraphs, formats, and more. You can find additional information regarding the FDK in the FrameMaker Developer Knowledgebase.

FDK overview

The following sections describe the principal parts of the FDK and discuss how you can use them:

API

The FrameMaker API allows you to write C language programs, called API clients, which can do interactive user tasks and more. The API gives a client direct access to all objects in a document including text and graphics. An API client can take control of a FrameMaker product session and communicate interactively with the user. The API includes a set of header files, libraries, and tools for each supported platform. Here are some examples of the types of clients you can create with the API:

  • Grammar checkers
  • Bibliography utilities
  • Voice control utilities
  • Document reporting utilities
  • Version control systems for documents
  • Table utilities, such as sorting and totaling
  • Database publishing packages
  • Filters to exchange files between other desktop publishing applications and FrameMaker

FDE

The FrameMaker Development Environment helps you make your client portable to all platforms supported by FrameMaker products. The FDE provides platform-independent alternatives to platform-specific I/O, string, and memory allocation schemes. It also provides a variety of utility functions, such as Maker Interchange Format (MIF) writing functions. You are encouraged to use the FDE to develop all your clients. The FDE includes header files and libraries for each supported platform.

Structure Import/Export API

The Structure Import/Export API allows you to write clients that control the import of SGML or XML documents into FrameMaker, and control the export of FrameMaker structured documents to XML or SGML documents.

Product tools

MIF

Maker Interchange Format is an easily parsed ASCII format that describes a document's text, graphics, formatting, and layout. Any version of a FrameMaker product (except Adobe FrameViewer®) can save a document or a book to an MIF file and convert an MIF file back to a document or book without losing any information. You can write applications or scripts that convert an MIF file to the format of another desktop publishing package, or convert other formats to MIF. Here are some examples of things you can use MIF for:

  • Sharing files with earlier releases of FrameMaker products
  • Converting database files into FrameMaker documents
  • Filtering word processor documents into FrameMaker documents
  • The MIF Reference is an online manual that's included with FrameMaker. It provides a complete description of MIF.

fmbatch

The fmbatch utility is shipped with UNIX® versions of FrameMaker. It allows you to open, print, reformat, and save FrameMaker files without displaying them. You can use fmbatch directly at a UNIX graphics workstation or in a remote shell from a nongraphics terminal. The fmbatch utility provides interactive and batch modes. When you use it in batch mode, you can execute operations on multiple files automatically. For example, you can use fmbatch for:

  • Printing books or documents from a remote location
  • Printing multiple books or documents automatically
  • Updating multiple books or documents automatically
  • Converting multiple books or documents to MIF
  • For more information on the fmbatch utility, see the FrameMaker User Guide for UNIX platforms.

Choosing the right FrameMaker tools

There are often several tools or combinations of tools that you can use to solve a given problem. In particular, you can use the API to perform many of the tasks that MIF and fmbatch perform. The tool or combination of tools you should use depends on your needs. Generally, MIF and fmbatch are more useful for solutions to small problems, whereas the API is more useful for full-scale applications or applications where interaction with the user is required. The table below summarizes the advantages and limitations of each FrameMaker tool.

Comparing tools

FrameMaker tool Advantage Limitation
FrameMaker API Interactive and portable; easy to provide a user interface for your applications; greatest functionality Must be compiled; requires C programming expertise
MIF Can be used by text-processing utilities or UNIX shell script Files must be saved as MIF; not interactive
fmbatch Doesn't require C programming; can be used remotely from a nongraphics terminal Limited functionality; only available on UNIX platforms
FDE Platform-independent Must be used with other tools to manipulate FrameMaker binary documents and books