CIB format technical documentation (EN)

Site: CIB eLearning
Course: CIB format
Book: CIB format technical documentation (EN)
Printed by: Guest user
Date: Friday, 29 March 2024, 9:39 AM

Scope of delivery

CIB format/output is delivered as binary module in the form of DLLs or shared Libraries (Linux/Unix).


Komponente

Softwareumfang

CIB format/output

 

WIN32(64)

CibPrt32(64).dll


CibPrt32(64).lib

CibPrt.h

CoMod.h

libeay32(64).dll

dictionaries

CIB format/output-DLL for WIN32, Application Programming Interface

Library for CIB format/output

Header file for CIB format/output

General Header file for CoMod Module

Library for PDF signature with certificate

Folder, containing dictionaries for automatic hyphenation

Unix

libcibprtux(64).so

libcibprtux.sl               

shared library for Unix(e)

shared library for HP Ux

WIN32

cibrsh.exe       

CIB runshell, WIN32 command line shell

Unix

cibrshux  

CIB runshell, command line shell for Unix(e)


Furthermore, support information and examples of use are also delivered with the software.


Introduction

CIB format/output is the core component of CIB office Module. With CIB format/output the user can print data in various input formats (especially RTF) and convert them to other formats. These input files are usually the result of merger of several parts (e.g. dynamic fields) into one document and mostly are the (intermediate) result of the workflow. For this CIB merge (and partially CIB chart) modules are frequently used.

CIB pdf toolbox is another tool for processing input PDF files (see the corresponding Technical Manual).

This document gives a general overview of software functionality.

Supported platforms
Additional modules
     ▸ CIB view and CIB image
     ▸ CIB pdf toolbox
     ▸ CIB runshell
     ▸ JCoMod Wrapper
     ▸ CoMod.net
     ▸ CIB documentServer/J2EE
Supported platforms

CIB format/output can be run on the following platforms:

  • Linux(e)
  • SUN Solaris
  • Deka Solaris
  • IBM Aix
  • HP Ux
  • Siemens Reliant
  • Linux for OS/390

other platforms on demand.


Additional modules

According to modular approach, all products are supplemented by additional components that either make easier for the developer the technical integration in the preferable architecture or extent the functionality of the current components.

All the CIB products and modules are documented in detail in the corresponding Technical Manuals. You can freely ask for this information at CIB Support.


CIB view and CIB image

CIB view and its successor CIB image are additional components applied to CIB format/output as preview-components for client computers. Along with standard preview of the pages, support of RTF/PDF forms and electronic signatures are special features of these components.


CIB pdf toolbox

CIB pdf toolbox provides additional functionality:  within RTF drafts the user can process PDF files as background files (e.g., letterhead, form template), attachments or additional components of the document. The main output format is therefore PDF(/A).


CIB runshell

CIB runshell is a command line tool with the help of which all CIB products delivered in the form of DLLs or shared libraries can be called.

CIB runshell can set all the call parameters (“Properties”) for CIB office module.

CIB runshell calls all the output modules from CIB format/output . (Batch)jobs can also be applied.


JCoMod Wrapper

JCoMod Wrapper makes a complete JAVA/JNI encapsulation, so that CIB format/output could be run by JAVA components. The corresponding JAVA/JNI interfaces serve for CIB runshell as well, so the user can run CIB components with JAVA VM.


CoMod.net

In case you want to launch CIB format/output and other CIB modules on .NET platform, you can ask us for the corresponding interfaces, which are available in shared assembly for CIB format/output, CIB merge, CIB pdf toolbox, CIB view and CIB job.


CIB documentServer/J2EE

CIB documentserver optimizes the use of CIB office Module (CoMod) especially from servers (document and print services). With J2EE standard package of CIB documentserver a quick implementation – also of comprehensive document requests – in customer system is possible.

The call and use of CIB documentserver release the developer from the details of the technical linkage with CIB docgen module:

The call of document generation takes place due to a standard task description in XML format, in which the input and output data, options and even data for CIB merge are formally indicated.

Additionally, for easier integration there is a framework from Java classes at developer’s disposal.

CIB format/output as "document formatter"

CIB format/output is a universal converter for processing files in the following input formats:

  • RTF
  • Text
  • BMP, WMF, EMF(+), GIF, PNG, JPEG, TIFF, SFF
  • MSG (MS-Outlook mail document format)
  • AFP (in progress)
  • Listed above files in encoded and/or zipped form are also supported

CIB format/output is composed of several internal output modules, which, depending on the selected output format, provide different functionality (e.g. print further processing, mail processing, mail sending, archive, web interface, etc.).


CIB format output im überblick

The user gets the whole function range of CIB format/output.



Dynamic fields

An RTF document can contain up to 85 (for MS Office 2007) different fields, which are mostly supported by CIB merge component.

The following fields of an RTF document can be moved to the output file directly through CIB format/ouput component during output preprocessing:

Field (de. / en.)

Description

ABSCHNITTSEITEN / SECTIONPAGES

Insert the total number of pages in the section

ANZSEITEN / NUMPAGES

Insert the total number of pages at the indicated place of the document

AUTONR / AUTONUM

Insert an automatic number

AUTONRDEZ / AUTONUMDEZ

Number paragraphs sequentially in a tenfold form

AUTONRGLI / AUTONUMOUT

Automatically number paragraphs in outline style

AUTOR / AUTHOR

Insert the name of the document’s author from the document properties

CREATEDATE / CREATEDATE

Insert the date the document was created

DATEIGRÖSSE / FILESIZE

Insert the size of the document on disk

DATEINAME / FILENAME

Insert the 24.03.2021name

DATUM / DATE

Insert the date of the document from Format tab

DOKEIGENSCHAFT / DOCPROPERTY

Insert the value of actual document property

DOKVARIABLE / DOCVARIABLE

Insert the NAME assigned to a document variable

DRUCKDAT / PRINTDATE

Insert the date and time that a document was last printed

EINFÜGENGRAFIK / INCLUDEPICTURE

Insert the specified graphics from the input file

FORMULARDROPDOWN / FORMDROPDOWN

Insert drop-down list (Combobox) in RTF form

FORMULARKONTROLLFELD / FORMCHECKBOX

Insert check-box field (Checkbox) in RTF form

FORMULARTEXT / FORMTEXT

Define fields according to available form field specifications in Word.

There are diverse CIB additional tabs, which provide extended specification of form fields.

These are e.g. tabs for signature identification and other input fields

HYPERLINK / HYPERLINK

Give the link in a specified style. With some output formats (e.g. PDF, HTML) internat/external link functions are supported (bookmarks, internet connection, etc.)

INDEX / INDEX

Build and inserts an index

INFO / INFO

Insert information from document properties.

REF / REF

Insert variable.
This field is used by CIB format only in connection with INCLUDETEXT and INCLUDEPICTURE instructions. Due to this field the name of the included file can be dynamically built.
e.g. { INCLUDETEXT "{ REF var }datei.rtf" }
(From CIB format Version 5.3.233a)

SAVEDATE / SAVEDATE

Insert the date of the last saving according to Format tab of the document

SEITE / PAGE

Insert the number of the page that the PAGE field is located on

SEITENREF / PAGEREF

Insert the page number where the bookmark ends

SEQ / SEQ

Sequentially number the items in a document.

From CIB format Version 5.3.239:

This field can be used for automatic numeration of lists in mixed projects. With additional tabs it is possible, for instance, to null the numbering.

\N      Inserts the sequence number for the given item (default).

\R n   Sets the sequence for the given number.

\S      Proceeds the numeration for title field, that is given after "s".

\H      Hides  field result .

\C           Inserts the last  sequence number.

For details see Teaching Manual  „Dynamic documents“

SET / SET

Fill variable with information.
This field will be used only for INCLUDETEXT and INCLUDEPICTURE specifications to fill the variable part of the filename.
e.g. {SET var
"Input" }
{ INCLUDETEXT "{ REF var }file.rtf" }
(from CIB format Version 5.3.233a)

{SET var "" } clear variable.
(from CIB format Version 5.3.237a)

SONDZEICHEN / SYMBOL

Insert a special character

XE / XE

Define the text and page number for an index entry

ZEIT / TIME

Insert the current time

 

The exact syntax of the field functions can be found in the CIB training material for dynamic document generation or in the help of the text system that you use for document generation.


Document properties (docproperty)

The CIB format supports all document properties available in MS WORD from version 5.3.221. These properties can be inserted into the RTF document using the DOCPROPERTY field command. The CIB format uses the values which are current at the runtime.

The following properties are currently involved:

Auto, Characters, Characters with spaces, Comments, Company, Create Time, HyerlinkBase, Keywords, LastPrinted, LastSavedBy, LastSavedTime, Lines, Manager, NameofApplication, ODMADocId, Pages, Paragraphs, RevisionNumber, Security, Subject, Template, Title, ToalEditingTime, Words.


Usefull Additional Functionalities

CIB format/output offers - for almost all types of output - useful additional functions to supply the transferred input file with additional information.

Dynamic barcode / barcode application
Dynamic background graphics and watermarks
Form processing, editing partial text, electronic signatures
Dynamic Font replacement



Dynamic barcode / barcode application

With the help of a special property, it is possible to apply a dynamic barcode or barcode to the output document at any point in a document. This is particularly interesting in areas where the content of the bar/bar code is only generated dynamically at runtime and is required for the electronic further processing of the output document (postal lines, inserting machines, archiving, scanning processes, etc.).

For detailed information, please refer to the separate documentation Technical Guide CIBFormatBarcode.


Dynamic background graphics and watermarks

With the help of a special property it is possible to add background graphics or watermarks to any page of the output document.

For detailed information, please refer to the chapter "Using background graphics, logos and watermarks via CIB format/output".


Form processing, editing partial text, electronic signatures

The CIB format/output offers additional options for processing an RTF form or making partial text passages editable via the CIB image or CIB view viewer attachment.

Part of the electronic form is also the possibility of processing electronic signatures using appropriate field placeholders, which can be converted into suitable PDF signature fields, for example. These can then be further processed with appropriate additional tools.

For detailed information, please refer to the separate documentation Technical Guide CIBViewForm, Technical Guide CIBRec and Technical Guide CIBViewSign.


Dynamic Font replacement

The content of the "FontMapping" property can be used to specify a complete replacement of the fonts used in the document with alternative fonts or an exchange of individual font sizes.

Use cases are:

  • Customers with central layouts who want to provide different divisions or clients with the same document content but different typefaces.
  • Use of "foreign" documents that are added to the system and are to be adapted to your own style preferences (e.g. for subscriptions).

 

To consider:

When using this property, a document can completely change its appearance compared to the original regarding line and page breaks and in the entire font. In this case, there is no support from technical support. Support can, however, be agreed via the template service of CIB Beratung, which is subject to a fee.

Principles of operation

The interface philosophy of the CIB format/output component follows a very simple principle. The application sets various properties for the module and then executes it with parameter less functions.

Very few of the properties are mandatory (e.g. input file (stream)). Most of the properties are optional and allow the user to specify the desired result (e.g. resolutions, graphics behavior, paper formats, password protection, etc.).


Calculation Functions

CIB format/output also offers possibilities for calculating certain mathematical functions.


Option name

Option Value

Type

ABS()

(since CIB format Version 7.5.2)

Calculates the absolute value within the brackets.

Examples:

ABS (5)  = 5

ABS (-5) = 5

int

AND() or &&

(since CIB format Version 7.5.2)

Determines whether all arguments within the brackets are true.

Possible values:

„0“       At least one of the arguments is not true.

„1“       All conditions of the argument are true.

Examples:

AND (1;0) = 0              (1&&0) = 0

AND (1;1) = 1              (1&&1) = 1

boolean

AVERAGE()

(since CIB format Version 7.2.1)

Determines the mean value of two or more numbers.

Example:

AVERAGE (3;5;7) = 5

int

COMPARE() or <>

(since CIB format Version 7.5.2)

Compares two or more values.

Possible values:

„0“       Not all values of the function are equal.

„1“       All values of the function are equal.

Examples:

COMPARE (2;3) = 0       (2<>3) = 0      

COMPARE (2;2) = 1       (2<>2) = 1

boolean

COUNT()

(since CIB format Version 7.5.2)

All values of the function are the same.

Example:

COUNT (2;3;4) = 3

COUNT (2) =1

int

DEFINED()

(since CIB format Version 7.5.2)

Checks if the argument is defined within the brackets.

Possible values:

„0“       argument is not defined or results in an             error message.

„1“       argument is defined and does not produce                an error message.

boolean

FALSE()

(since CIB format Version 7.5.2)

Does not take arguments. It always generates the value "0".

Example:

FALSE() = 0

boolean

IF()

(since CIB format Version 7.5.2)

Examines the first argument. If the argument is true, the function returns the second argument. If the argument is false, the function returns the third argument.

Example:

IF(10>=9;15;20) = 10

IF(8>=9;15;20) = 20

int

INT()

(since CIB format Version 7.5.2)

Rounds the value within the brackets down to a round number.

Example:

INT(4,98) = 4

int

MAX()

(since CIB format Version 7.2.1)

Compares two or more numbers and determines the highest value.

Example:

MAX (1;3;9) = 9

int

MIN()

(since CIB format Version 7.2.1)

Compares two or more numbers and determines the lowest value.

Example:

MIN (1;3;9) = 1

int

MOD()

(since CIB format Version 7.5.2)

This function takes two arguments and returns the rest after the second argument is divided by the first. If the remainder is "0", the function returns "0.0.

Examples:

MOD (12;5) = 2

MOD (15;5) = 0

int

NOT() or !

(since CIB format Version 7.5.2)

This function checks if an argument is true and reverses its value.

Possible values:

„0“       The argument is true.

„1“       The argument is false.

Examples:

NOT(1=1) = 0             !(1=1) = 0

NOT(1=2) = 1              !(1=2) = 1

int

OR () or ||

(since CIB format Version 7.5.2)

Determines whether one of several conditions is met.

Possible values:

„0“       No conditions are fulfilled.

„1“       At least one condition is met.

Examples:

OR (0;0) = 0                             (0 || 0) = 0

OR (1;0) = 1                             (0 || 1) = 1      

boolean

PRODUCT()

(since CIB format Version 7.2.1)

Multiplies the transferred numerical values.

Example:

PRODUCT (2;3)=6

int

ROUND()

(since CIB format Version 7.5.2)

 

This function takes two arguments. It rounds the first number up or down to the next integer. The decimal places are specified with the second argument.

Examples:

ROUND (3,456;2) = 3,46

ROUND (3,456;0) = 3

int

SIGN()

(since CIB format Version 7.5.2)

 

This function checks if the value inside the brackets is greater, equal or less than zero.

Possible values:

„-1“      The value is less than zero.

 „0“      The value is zero.

 „1“      The value is greater than zero.

Example:

SIGN (-2) = -1

SIGN (0) = 0

SIGN ( 5) = 1

 

SUM()

(since CIB format Version 7.2.1)

Adds the values of two or more data fields.

Example:

SUM (2;3) = 5

int

TRUE()

(since CIB format Version 7.5.2)

This function takes an argument and determines if it is true. If it has no argument, it always returns the value "1".

Possible values:

„0“            Argument is not true.

„1“       Argument is true.

Example:

TRUE() = 1

TRUE(1=1) = 1

TRUE(1=2) = 0

int

%

(since CIB format Version 7.5.2)

Determines the percentage from a number.

Examples:

5% = 0,05

75%= 0,75

float

^

(since CIB format Version 7.5.2)

Exposure. Operation that raises one amount to the potency of another.

Example:

(3^3)=9

Int

HtmlSuppressEvalError

(since CIB format Version 7.7.2)

This property ensures that the result of the evaluation is not output in case of errors and thus no output of errors for calculation functions are performed. There will be a empty string output.

int

 

These field commands are also provided in the calculation functions: 

LEFT | RIGHT | ABOVE | BELOW

 

Notes:

  • When using the field commands LEFT, RIGHT, ABOVE, BELOW within a table, you must ensure that the table has a clean structure with regard to rows and columns. You should avoid using linked table cells (horizontally or vertically), since the user cannot clearly identify which row or column it belongs to.
  • When using the field commands LEFT, RIGHT, ABOVE, BELOW, recursions should be avoided (e.g. LEFT is based on a cell with RIGHT on the left).
  • Direct reference to another table cell using a letter/number combination (e.g. C4) is not supported. Tables in a word processing program do not have a fixed structure (as in a spreadsheet), nor are the names for row/column specified.
    The user could find a cell (e.g. H14) only by manual counting. It is better to use field variables and field functions to make the formatting directly recognizable.
  • All previously mentioned calculation functions can be nested.

 

Currently these functions are only supported in the German speaking locale.

If another language is used (for example, English), a syntax error message.


Field nesting

Expression fields can be nested within a set of other functions with the possibility to nest them within the expression field.

Some examples of nested functions: 

Function

Nested within the expression field

Expression field is nested

COMPARE           

{=2+{COMPARE "2" = "2" }}

{COMPARE "4" = {=2*2}}

DATE

{=2+{\@DATE MM }}

The DATE field contains no arguments, so the expression field cannot be nested.

HYPERLINK

{=2+{HYPERLINK "cib.de"}}

{HYPERLINK "www.cib{=1}.de}

IF

{=2+{IF "2" = "2" "100" "200" }}

{IF "{=1+1}" = "2" "100" "200"}

MERGEFIELD (acts the same as REF)

{=2+{MERGEFIELD name}}

{MERGEFIELD name{=1}}

REF

{=2+{REF name}}

{REF name{=1}}

SET

{=2+{SET name 100}}

{SET name{=1} 100}

The following info fields can also be nested:

  • CreateDate
  • ContInfoNumChars
  • ContInfoNumWords
  • ContInfoFileSize
  • ContInfoCreateTime
  • ContInfoSaveDate
  • ContInfoPrintDate
  • ContInfoAuthor
  • ContInfoComments
  • ContInfoTitle
  • ContInfoSubject
  • ContInfoKeywords
  • ContInfoRevNum
  • ContInfoLastSavedBy
  • ContInfoFilename
  • ContInfoTemplate
  • ContInfoEdmins
  • ContInfoDocManager
  • ContInfoDocCategory
  • ContInfoDocNumCharsAndSpaces
  • ContInfoDocCompany
  • ContInfoDocHLinkBase
  • ContInfoDocNumPars
  • ContInfoDocNumLines