CIB pdf toolbox technical guide (EN)

14. Internal modules in detail

14.2. CIB pdf/join/split

This section gives an introduction to the functionality of the PdfJoin of the CIB pdf toolbox since version 1.3.60.
With the InputFilename property, in addition to joining entire PDF documents (as before), it is also possible to join specific pages of one or more PDF documents in combination with empty pages.

Special options for PDF join
Examples for page selection
Special properties for changing document properties
Special properties for the generation of graphics
Special properties for the ZUGFeRD data model
Blackening functionality

Special options for PDF join


Name

Value

Effect

InputFilename

=“[{PageNumbe(s);]FileName[;[{PageNumber(s)};]FileName; | EMPTY[:width,height];]...“

 

Values in square brackets are optional.

A result document is compiled from the documents, page specifications etc. specified in InputFilename.

At least one PDF document with or without page specification(s) must be specified. In addition to this, further PDF documents with or without page specification(s) as well as empty pages with or without page size can follow. The page details must be given in curly brackets.

            PageNumber(s)

Not specified or "All"

Select all pages

“Odd”

Select odd pages

“Even”

Select even pages

“First”

Select first page only

“Last”

Select last page only

“NoFirst

Select all pages except the first

“NoLast”

Select all pages except the last one

Number

Select page number only

Number1-Number2

From page select Number1 to Number2, where Number1<Number2

Number1-Number2,Number3...,NumberN-NumberM

Select multiple pages or page ranges (comma as separator)

            FileName

Path to file

The pages of this file are selected

            EMPTY

EMPTY

Insert a blank page with width and height of the last inserted page

            Width

Number (integer, x, or decimal, x.y, allowed)

Set width of blank page in mm

            Height

Number (integer, x, or decimal, x.y, allowed)

Set the height of the blank page in mm

PageRotation
(since Version 1.4.79)

page number(s);angle[;page number(s);angle][;...]

Individual pages can be rotated. Several pages can be specified at different angles. For the priorities see below.

            Page number(s)

See InputFilename.

The page numbers refer to the result document (after join/split).

            Angle

Possible are:
90°
180°
270°

Degrees for rotation

The rotation is clockwise in multiples of 90°.

Example:

PageRotation={All};90;{3};180

PageSelection

The possible values are described in the chapter CIB pdf/print.

Note:
All page details given here refer to the output document generated by CIB pdf/join.

The PageSelection property is evaluated for the following output formats:

OutputFormat=

FormatPrinter
FormatTiff
FormatPng
FormatJpeg
FormatBmp
FormatWebview
FormatSvg
FormatImage
FormatText

PdfVersion

(since Version 1.6.116b)

Possible values:

PDF/A-1b

PDF/A-2b

PDF/A-3b

Set-Property

One or more PDFs can be converted to the PDF version specified here.

The property "OutputFormat=FormatPdf" or "OutputFormat=FormatSearchablePdf" must be set.

SplitPages
(since Version 1.4.86)

=0  (default)

 

=1

Result is an output document

The result document is split into one-page output documents. The output documents are identified by appending a sequential number.


Example:

cibrsh  SplitPages=1 -fj Dok1.pdf;Dok2.pdf output.pdf

results in:
output-1.pdf
output-2.pdf
output-3.pdf

EmbeddedFiles

(since Version 1.8.0)

<EmbeddedFiles> ::= <EmbedFilename> | <EmbedFilename>;<EmbedFilename>

<EmbedFilename> ::= „{“<PageReference>;<EmbedFilename-withoutpage>“}“|“{“<EmbedFilename-withoutpage>“}“

<EmbedFilename-withoutpage> ::= <Relationship>;<EmbedFilename-simple>|<Description>;<EmbedFilename-simple>|<Relationship>;<Description>;<EmbedFilename-simple>|<EmbedFilename-simple>

<Relationship> ::= “RELATIONSHIP=”<name>

<Description> ::= “DESC=”<name>

<EmbedFilename-simple> ::= Filename

Set-Property

This property can be used to specify a list of files to be attached to the PDF or to individual pages of the PDF during PDF generation. The file(s) are entered in the relevant catalog/page dictionary.

Example:

EmbeddedFiles={1-3;Relationship=Source;Desc=”Description”;file1.pdf};{Relationship=Source;Desc=”Description for another file”;file2.pdf};

To consider:

-        “Description” is only evaluated for PDF versions >= 1.6. Any text can be entered.

-        “Relationship” is only evaluated for PDF/A3 conversion (PDF/A-3a, PDF/A-3b, PDF/A-3u).
There are predefined identifiers (Source, Data, Alternative, Supplement, Unspecified), but self-defined values can also be used.

-        If one or more page numbers are specified for an embed file name, the file is added as an attachment to that page(s). Otherwise it is an attachment of the complete PDF document.

-        The page number can be:

Page number(s), range or a combination of both, separated by commas.

Example: "1.5-6.10";;

In "EmbedFilename" the following characters can be used for masking:

"\;" for ";"

"\\" for "\."

DeleteEmbeddedFiles

(since Version 1.8.0)

<DeleteEmbeddedFiles> ::= All |.
<EmbedFilename> | <Filenumber> | “{” <EmbedFilename> | <Filenumber “}”

Set-Property

This property can be used to specify a list of files to be removed from the PDF attachment. The corresponding entries are deleted from the relevant catalog/page dictionary.

Example:

DeleteEmbeddedFiles={test.pdf};{22}

DeleteEmbeddedFiles=test.pdf;13

Notes:

-        „All“: All attachments are deleted.

The file to be deleted can be specified by its name or a number.

-        Name:
The file with this name is deleted. If there are several, the first one is taken.

-        Number:
The number corresponds to the counter in the Dictionary.
Number=13 means that the 13th file is deleted.

UpdateEmbeddedFiles

(since Version 1.8.0)

Syntax is identical as
EmbeddedFiles

Set-Property

This property can be used to change the description of the attached files.

Note:

-        The file to be modified can be specified by its name or a number or both.

see „DeleteEmbeddedFiles“

Example:

UpdateEmbeddedFiles={Desc=Desc;Relationship=Source;file.pdf;2};{Desc=Desc;Relationship=Source;file2.pdf}

ExtractEmbeddedFiles

(since Version 1.8.0)

Syntax is identical as
DeleteEmbeddedFiles

Set-Property

This property can be used to extract an attached file from the PDF.

The output is sent to the file specified in the property "OutputFilename".

EmbeddedFilesInfo

(since Version 1.17.0)

The content has the following structure: [{"Relationship": "File type", "ID":IdNr, "Filename": "Filename", "Size":Size, "CompressedSize":CompressedSize} ]

File type=None | Source | CibEpdfSource | HybridPdfSource | any default value for an AFRelationship key

IdNr=Sequential number of embedded files(For LibreOffice hybrid PDFs the number is negative)

Get-Property

It is a Get-Property, which returns information about files embedded in the PDF in JSON format.

Required is: OutputFormat=FormatInfo
FilterInfo=EmbeddedFilesInfo
EmbeddedFilesInfoFilter=EmbeddedFiles;Epdf

 

Examples:

Embedded Cib Epdf source file: [ {”Relationship”:”CibEpdfSource”,”ID”:1,”Filename”:”Utf8FilenameWithoutBom.pdf”,”Size”:1024,”CompressedSize”:512} ]

2 Embedded Cib Standard source files: [ {”Relationship”:”Source”,”ID”:1,”Filename”:”FirstUtf8FilenameWithoutBom.anyext”,”Size”:1024,”CompressedSize”:512},{”Relationship”:”Source”,”ID”=2;”Filename”:”SecondUtf8FilenameWithoutBom2.anyext”,”Size”:2048,”CompressedSize”:1024} ]

Embedded content of  LibreOffice HybridPdfs: [  {”Relationship”:”HybridPdfSource”,”ID”:-1, “Filename”:”TheSameAsPdfDocName.odt”,”Size”:1024,”CompressedSize”:512} ]

EmbeddedFilesInfoFilter

(since Version 1.17.0)

EmbeddedFiles
Provides information about source files of any type embedded in the PDF

Epdf
Provides information about the CIB ePDF source file embedded in the PDF

or both

Set-Property

This property can be used to restrict the type of the embedded file.

Required is:
OutputFormat=FormatInfo und
FilterInfo=EmbeddedFilesInfo

FilterInfo

(since Version 1.8.0)

 

 

 

 

 

 

 

 


DocInfoDir

RtfBookmarks

 

Get-Property

Information about the document properties and bookmarks contained in the PDF is written to an XML file.

Required is:
OutputFormat=FormatInfo and
OutputFilename=<Name>.xml

 

The document properties are written to the XML file

All (RTF) bookmarks contained in the PDF are written to the XML file.

Structure of the XML file:

<pdfdocument>
<docinfo>
<docinfoitem>
<key></key>
<valuestring></valuestring> or <valuedatetime></valuedatetime>
</docinfoitem>
</docinfo>
<pages>
<page>
<number></number>
<rtfbookmarks></rtfbootmarks>
</page>
</pages>
</pdfdocument>

(since Version 1.17.0)

EmbeddedFilesInfo

Information about the files embedded in the PDF is returned in the EmbeddedFilesInfo property.

(since Version 1.20.0)

FontsInfo

ImagesInfo

Information about the fonts and images contained in the PDF document is returned in the properties FontsInfo and ImagesInfo.

Region

(since Version 1.4.86)

=[[<page>:]<x1_mm>;<y1_mm>;<x2_mm>;<y2_mm>]...

 

Values in square brackets are optional

With Region you specify one or more rectangles, and the sides on which the rectangles are located.

The union of all these rectangles (intersected with the side face) indicates the area from which the text is extracted, i.e. all characters that are not at least partially within one of these rectangles are ignored as if they were not present.

If OutputFormat=FormatText is specified, the extracted text is written to outputfile.txt, formatted as unicode and with line breaks

            <page>:

Not specified or “All“
“Odd”
“Even”
“First”
“Last”
“NoFirst”
“NoLast”
Number
Number1-Number

Description see above

<x1_mm>;<y1_mm> ……

Numbers, separated by semicolon.

The unit is mm.

2 pairs of values are required to describe a rectangle. Each pair describes the coordinates of a corner point of the rectangle. The reference point for the coordinates is the upper left corner of the page.

 

Example:

cibrsh OutputFormat=FormatText Region=NoLast:10;20;80;40;1:85;120;190;145 -fj Test.pdf output.txt

PageCropping

(since Version 1.25.0)

JSON Syntax

PageCropping= [<*PageBoxInfo*>, <*PageBoxInfo*>]

PageBoxInfo = {”PageNumber”:<PageNum>, “ClipBox”:[<X0>, <Y0>, <Width>, <Height>]}

PageNumber = Page number of PDF

ClipBox is an area with the parameters : X0(left), Y0(bottom), width, height

unit: pt

The X0 and Y0 values are relative to the upper left corner of a visible page (or image).

This property can be used to set a rectangle that defines a mask frame. This frame crops the PDF document for display in the PDF viewer or for printing.

Cropping only hides the information outside the mask frame and does not delete it, i.e. if the frame is subsequently modified, the hidden information is visible again.

Die Property-Einträge beziehen sich immer auf eine Seite des PDF-Dokuments.

Example:

Cropping the first and third page of the PDF document:

PageCropping=[{’PageNumber’:1, ‘ClipBox’:[10,20,300,400]}, {’PageNumber’:3, ‘ClipBox’:[20,20,100,200]}]

TableMode

(since Version 1.4.100)

=0  (default)

 

=1

Extracted text is output continuously.

 

Extracted text is output as a table.

TextFormattingOptions

(since Version 1.20.0)

 

 

 

 

 

 

 

 

 

 

 

 

 

(since Version 1.25.0)

={
”EnableTextFormatting”:
            true | false,
”OutputFormats”:
            [”txt”] | [”hocr”]

 

 

 

 

 

 

 

 

 

 

 

SeparateTextBlocks:
            true | false

}

With EnableTextFormatting=true (default=false) a special word processing module is activated with additional functions to improve the text quality as:

 

·        - Eliminate hyphens from word division

·        - Dissolving ligatures

·        - Convert initials to normal text

  • - Elimination of duplicates (identical texts in the same place)

Only for OutputFormat=FormatText

Example:

cibrsh.exe OutputFormat=FormatText  TextFormattingOptions={”EnableTextFormatting”:true,”OutputFormats”:[”hocr”]} -fj input.pdf out.txt

 

SeparateTextBlocks=true (default=false) searches for text blocks, which are then separated by an empty line in the text output. This improves the readability of the output text.

Text blocks are identified by the fact that they have a larger distance between them.

API

(since Version 1.20.0)

=1

 

=2

Default: The CIB pdf toolbox executes the job.

 

The CIB pdf toolbox becomes a wrapper for the new CIB pdf modules. This means that the CIB pdf toolbox does not execute the task itself, but the library of the CIB pdfModule is loaded and this library takes over the execution. For details see chapter "CIB pdfModule"



The page specifications have different priorities, so that lower priorities can be overwritten by higher ones. The priorities are distributed as follows:

No priority: All, Odd, Even, NoLast, NoFirst

priority RANGE: Number1 – Number2

priority DIRECT: Last, First, Number

The following order of priority applies: No priority < RANGE < DIRECT

If two specifications have the same priority, both apply, otherwise the one with the higher priority applies.


Examples for page selection

The following examples show possible assignments of the InputFilename property.

1)     InputFilename=Document1.pdf;{4,7-9};Document2.pdf;Document3.pdf

Here all pages of document1.pdf, pages four, seven, eight and nine of document2.pdf and all pages of document3.pdf are joined together in exactly this order.

2)     InputFilename={5,4,3,2};Document1.pdf;{All};Document2.pdf;Document3.pdf;{Even};Document4..pdf

Here the pages five, four, three and two of document1.pdf, all pages of document2.pdf, all pages of document3.pdf and all even pages of document4.pdf are joined in exactly this order.

3)     InputFilename={First,Last};Document1.pdf;EMPTY;EMPTY:210,297;{7,10};Document2.pdf

Here the first and last page of Document1.pdf, a blank page with the width and height of the last page of Document1.pdf, a blank page with a width of 210 mm and height of 297 mm and pages seven and ten of Document2.pdf are joined in exactly this order.

4)     InputFilename={};Document1.pdf;{Odd};Document2.pdf;EMPTY:210,297

Here all pages of document1.pdf, all odd pages of document2.pdf and an empty page with a width of 210 mm and a height of 297 mm are joined in exactly this order.

5)     InputFilename={NoFirst};Document1.pdf;EMPTY:210,297;{8,6,5,2-4};Document2.pdf;EMPTY

Here all pages except the first of Document1.pdf, a blank page 210 mm wide and 297 mm high, pages eight, six, five, two, three and four of Document2.pdf and a blank page the width and height of the fourth page of Document2.pdf are joined in exactly this order.


Special properties for changing document properties 

(from CIB pdf toolbox 1.4.84)    Only in PDF Join.

Property

Type

Functionality

Kind

DocInfo.Author

String

Enters the author.

Overwrites the information stored in the PDF.

Get/
Set

DocInfo.Title

String

Enters the title.

Overwrites the information stored in the PDF.

Get/
Set

DocInfo.Subject

String

Enters the subject.

Overwrites the information stored in the PDF.

Get/
Set

DocInfo.Keywords

String

Enters the keywords.

Overwrites the information stored in the PDF.

Maximum length is 64K.

Get/
Set

DocInfo.CreationDate

String

Enters the creation date

Format:

JJJJMMTThhmmss+01‘00‘

Get/
Set

DocInfo.ModDate

String

Enters the date of change

Format:

JJJJMMTThhmmss+01‘00‘

Get/
Set

ModuleName

String

Enters the program with which the PDF was created.

Get/
Set

CallerApplicationname

String

Application that changed the PDF.

Get/
Set


Special properties for the generation of graphics

(from CIB pdf toolbox Version 1.4.102)

With the module CIB pdf join it is possible to create graphic files in addition to PDF output.

Property

Functionality

Type

 

OutputFormat

Format of the output file

The following graphic formats are supported:

FormatTiff
FormatPng,
FormatJpeg

FormatBmp
(since CIB pdf toolbox Version 1.8.5a)

 

FormatWebview

String

 

OutputFormat

(since Version 1.5.113)

FormatExtractImages

If this output format is specified, all Image-XObjects contained in the input PDFs are exported. The output is in TIFF format or in JPEG format under the file name specified in OutputFilename.

Note:

-         No PDF is written

-         OutputFilename is a required field

-         Output to memory is not possible

-         No dpi value is written to the TIFF image file(s)

A.) For the TIFF images there are two cases to distinguish:

1.) TiffSinglePage=“0“ (default):
All Pdf image objects that are not exported as JPEG images are written to a TIFF file. The name of the TIFF file is the one from OutputFilename, with extension ".tif“.

2.) TiffSinglePage=“1“:
Each Pdf image object that is not exported as a JPEG image is saved as a separate TIFF file. The names of these TIFF files have the structure
“Output-000pp-000oo.tif“        whereas

„Output“ is the value of OutputFilename, but without extension

„000pp“ is the number of the page on which the image object first appears.

„000oo“ is the number of the image object.

 

TIFF images can be generated directly or the Pdf image objects are first converted into the DIB format (Windows Bitmap) and from there into the TIFF format.
The TIFF image is generated directly if the following applies to the Pdf image object:

- The Pdf image object has none of the filters JBIG2Decode, DCTDecode or JPXDecode.

- It has no mask and is not a mask.

- The color space is "DeviceGray", "DeviceRGB" or "DeviceCMYK" (with BitsPerComponent 8).

- The entry "Decode" is missing or is the default entry for the respective color space ([0 1] for "DeviceGray", [0 1 0 1 0 1] for "DeviceRGB", [0 1 0 1 0 1 0 1] for "DeviceCMYK").

 

For all other Pdf image objects the TIFF output is done via the intermediate step as DIB format. In this case, not all image properties are retained.

Remained also with the DIB intermediate step:

Number of pixels in width and height of the image object.

The following can be changed at the DIB intermediate step:
Colorspace, BitsPerComponent and ComponentsPerPixel


B.) JPEG images are created directly (without conversion) for Pdf image objects that meet the following conditions and are always saved as individual JPEG images:
- The Pdf image object has a filter "DCTDecode“.

- It has no mask and is not a mask.

- The color space is "DeviceRGB“.
- The entry "/Decode" is missing or [0 1 0 1 0 1].

The JPEG file name is formed according to the same rule as the file name for the individual TIFF files (see above).

String

ExtractImagesCallback

(since Version 1.17.0)

Address of the callback function called by the CIB pdf toolbox when parsing the PDF document each time an image object is extracted.

 

String

ExtractImagesUserdata

(since Version 1.17.0)

Address of the memory area where the extracted image data and its hash value is passed.

String

OutputFormat

(since Version 1.14.0)

FormatImage

With this output format, the CIB pdf toolbox generates several output graphic formats during one rendering process.  These must be raster graphics formats.

Required:

RenderingEngine="CIBRenderer"

The "ImageType" property defines which graphic formats are to be created.

String

OutputFormat

(since Version 1.14.0)

FormatSvg

The CIB pdf toolbox outputs a graphic file in SVG format (Scalable Vector Graphics).

This is the specification recommended by the World Wide Web Consortium (W3C) for the description of two-dimensional vector graphics, which is based on XML.

Name of the generated output:
Outputfilename.svg

Required:

RenderingEngine=“CIBRenderer“

String

OutputFilename

Name of the output file, with the appropriate extension.

PNG and JPEG: One file is output per page in the PDF. The name is made unique by appending a consecutive number.

String

 

InputFilename

Name of the input PDF

Several PDFs, separated by semicolon, can also be entered.

String

 

AbortDocCallback

(since Version 1.10.0)

Address of the callback function for output document by memory transfer.

Interface description see chapter "AbortDocCallback”

String

 

AbortDocCallbackPointer

(since Version 1.10.0)

Benutzerdaten des Callbacks für Rückmeldung nach jeder Seite

String

 

EventNotifier

(since Version 1.24.0)

The pointer to the instance of the callback class CibPdfEventNotifier is assigned to this property.

This enables the output of RGB565 data into memory.

Required for this functionality is OutputFormat=FormatBmp and RenderingEngine=CIBRenderer

String

 

ImageAlign

(since version 1.8.6c)

The property can be used to improve the alignment of graphics in the PDF if the graphics are contiguous and not rotated.

Condition:
RenderingEngine=CIBRenderer

0          Optimization is switched off

1          Optimization is switched on    (default)

String

 

ImageScaling

(since version 1.9.7)

 

 

 

 

 

 

 

 

 

 

 

 




 

 

(since version 1.14.0)

The property can be used to specify the maximum size of the graphic.

width;height in px, or resolution in dpi.

Valid values:
[<width>px];[<height>px] | <resolution>[dpi]

Note:
ImageScaling includes the functionality of TiffResolution. If both properties are set, only ImageScaling is evaluated.
In the case of the resolution, only the specification of a value is required, since only one identical resolution is supported for both axes.

Examples:

ImageScaling=100px;200px
Maximum height 200 px or maximum width 100 px, depending on which limit applies.

ImageScaling=;200px
Fixed height 200px, any width

ImageScaling=200px
Fixed width 200px, any height

ImageScaling=100dpi oder ImageScaling=100
Resolution 100 DPI is used.

Extension for the use of the property "ImageType":

When generating several graphic formats in one rendering process, graphic proportions can be specified here for each graphic format generated. The values are listed in the same order as the graphic formats were defined in the "ImageType" property. For better readability the value pairs can be grouped with curly brackets.

It is possible to enter blank values ";;", then the default DPI setting takes effect.

Examples:

ImageType=“png;tiff;bmp“
ImageScaling=“{50px;50px};{1000px;1000px};{500px;500px}“

ImageType=“jpg;bmp“
ImageScaling=“50px;50px;;“
The JPG has 50x50 px, the BMP the default DPI setting.

String

 

ImageType

(since version 1.14.0)

This property can be used to specify which graphic formats the CIB pdf toolbox should generate in a rendering process. Currently only raster image formats are possible here.

Required is OutputFormat= FormatImage and RenderingEngine="CIBRenderer".

Possible values are:
jpg, jpeg, webp, bmp, bmplz4, jpegxr, png, tiff, tif

Example:
ImageType=“png;tiff;bmp;webp“

Name of the generated graphic files:

In order to achieve unique file names for the various output formats of a graphic file, the CIB pdf toolbox creates the file name as follows:
<OutputFilename>-image<PageNumber>-copy<NumberOfCopies>.<FileExtension>

Example:

OutputFormat=“FormatImage“
ImageType=“png;png;tiff“
ImageScaling=“{50px;50px};{500px;500px};{300px;300px}“
OutputFilename=“out.bmp“
2 pages

Results in the following files:
out-image00001-copy00001.png
out-image00001-copy00002.png
out-image00001-copy00003.tiff
out-image00002-copy00001.png
out-image00002-copy00002.png
out-image00002-copy00003.tiff

Note:
The file extension of OutputFilename is ignored, i.e. a file "out.bmp" is not created, but only the file types defined in ImageType.

String

 

Threads

(since version 1.15.0)

With this property, the conversion into several graphic formats and the subsequent writing of the files can be parallelized during the rendering process, which leads to a better performance.

Required are the properties ImageType and RenderingEngine=“CIBRenderer“

Possible values:

N     A maximum of N threads are used to create the graphic files.

0      No use of threads (default, behaviour of previous versions)

String

 

TiffResolution

Resolution of the graphic output.

Default value: 150 DPI

String

 

TiffStripSize

StripSize as multiple of 8kB.

0 for none,

Default is 4, so 32kB strips

String

 

TiffJpegQuality

Only with TIFF:

Jpeg compression factor, default is 75%

String

 

TiffSinglePage

Only with TIFF:

One TIFF file can be generated per PDF page.

0          One TIFF file per PDF (default)

1          One TIFF file per PDF page

String

 

TiffColorDepth

Options for the color depth

Only with JPG and PNG:

2Colors

256Colors

256Grayscale

TrueColor (24Bit, Default)

Only with BMP:
(since CIB pdf toolbox Version 1.24.0)

HighColor
Output of rendered PDF pages as 16bpp BMP to disk or as RGB565 bitmaps to memory.

(Requires RenderingEngine=CIBRenderer)

String

 

WebviewOutputConfiguration

(since CIB pdf toolbox Version 1.10.0)

 

 

 

 

 

 

 

(since CIB pdf toolbox Version 1.17.0)

 

 

This property can be used to configure the generated output for the CIB doxiView so that only one output format is used instead of Png and Metafile by default.

Possible Values:

„Image“:         
if this value is set, one Png image per input document page is generated for the CIB doxiView.

„Metafile“:      
with set value a metafile for the CIB doxiView is generated per input document page

 „MetafileAsSingleFile“:
if this value is set, no separate metafiles are written per page, all information is written into one metafile.

„MetafileNoPageContent“:     
switches off the processing of page content streams. As a result, page content-related meta records such as TEXTRECT are not output. The metarecords STARTPAGE, ENDPAGE, and EMBEDDEDFILE2 are not affected..

„MetafileNoOutlines“: 
Switches off the processing of outlines in the PDF document, as a result no outline meta-records are output.

the values „MetafileNoOutlines“, MetafileNoPageContent“ and „MetafileAsSingleFile“ may be used cumulatively. They are only valid if "WebviewOutputConfiguration" is set to create metafiles only. When creating images, the entire PDF document must always be processed.

 

Examples:

Standardvalue = „Image;Metafile“

(Since CIB pdf toolbox 1.20):

Additionally, the option "ImageSkipAnnotations" can be used to specify that certain types of annotations for CIB doXiview rendering are not rendered into the output images.

The option "ImageSkipAnnotations" has no effect on the output to a metafile.

Example:

WebviewOutputConfiguration=“Image;ImageSkipAnnotations:[Redact,Line];Metafile“

The following values are possible for annotation types: “Text”, “Link”, “FreeText”, “Line”, “Square”, “Circle”, “Polygon”, “PolyLine”, “Highlight”, “Underline”, “Squiggly”, “StrikeOut”, “Stamp”, “Caret”, “Ink”, “Popup”, “FileAttachment”, “Sound”, “Movie”, “Widget”, “Screen”, “PrinterMark”, “TrapNet”, “Watermark”, “3D”, “Redact”.

 

“MetafileWithGlyph” :
If set, a new metafile record TEXTRECT2 is written in the CIB doXiview Metafile, which writes widths for the individual characters in addition to the text information.

 

String

 

SkipFormfieldContent

(since CIB pdf toolbox Version 1.16.0)

 

Enables you to hide the contents of form elements (text fields, checkboxes, list fields) during display.

Possible Values:

0: Form contents are displayed

1: Form contents are not displayed

To be used in conjunction with OutputFormat=FormatWebview

 

 



Special properties for the ZUGFeRD data model

(since CIB pdf toolbox Version 1.9.0)

The „Forum elektronische Rechnung Deutschland“ (FeRD) (Forum electronic invoices Germany) is the national platform of ministries, associations and companies to promote electronic invoicing in Germany. ZUGFeRD is the abbreviation for "Zentraler User Guide des Forums elektronische Rechnung Deutschland“ („Central User Guide of the Forum for electronic invoices Germany”)

Every invoice based on the ZUGFeRD data model must be a complete, valid invoice (both the PDF and XML representation). The XML file is always embedded with the name "ZUGFeRD-invoice.xml.

When embedding, the input file must either be in the PDF/A3 standard or a conversion to this standard must be carried out for the CIB pdf toolbox join.

Property

Functionality

Type

ZUGFeRDXml

Specifies a ZUGFeRD-compatible XML file, which is then embedded in the PDF in a ZUGFeRD-compatible manner.

If OutputFormat=FormatInfo is specified, the property ZUGFeRDXml is assigned the name of the Zugferd XML if one is already embedded in the input PDF.

String

ZUGFeRDSchema

Specifies a schema file against which the ZUGFeRD XML file can be checked during import or extraction.

Example: Invoice.xsd

String

ZUGFeRDDoCheck

Specifies whether a schema check should be performed when extracting or importing a ZUGFeRD XML file

Possible Values:
0          no scheme check (default)
1          Scheme check is performed

If no scheme file is specified in property ZUGFeRDSchema, the scheme file contained in the ZUGFeRD XML file is used for the scheme check. If the scheme check fails, an error 355 is issued.

String

ZUGFeRDDescription

A description of the ZUGFeRD XML file can be stored in this property. This description is included in the PDF when the XML file is embedded.

Input: Any text

String


Using the property "ExtractEmbeddedFile=zugferd" the ZUGFeRD XML file can be extracted in a normal CIB pdf toolbox join.
 

Blackening functionality

With the help of the "blackening" functionality you can remove the specified areas. They are no longer included in the resulting PDF output.

Name

Value

Effect

ApplyRedactAnnotations

 

= 0  (default)

 

= 1 Blackening is carried out

If a property is set, the CIB pdf toolbox blacks out the areas specified in the annotations.

 

Redaction (blackening) occurs in the following steps:

1.      XFDF file is created with the editorial annotations.

2.     CIB pdf toolbox imports these annotations into the PDF document via "AnnotationsFilename=abc.xfdf".

The result is then a PDF that contains the areas to be blackened.

 

Example for XFDF file

<?xml version="1.0" encoding="utf-8"?>

<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">

<annots>

<redact

page="0"

rect="66.0,474.0,152.0,393.0"

interior-color="#000000">

</annots>

</xfdf>

 

Note:

-> The page numbers are zerobased specified.

-> The desired coordinates can be set by specifying a rectangle

rect="66.0,474.0,152.0,393.0" -> where PDF coordinates are used as the unit (1 cm corresponds to 28.333... PDF coordinates). The rectangle is given as x,y lower left corner and x,y upper right corner. The origin (coordinate 0,0) of the page is at the bottom left.