CIB format technischer Leitfaden (DE)

4. Ausgabemodule

4.1. CIB format/pdf

Allgemein
Spezielle Optionen für die PDF Ausgabe
Spezielle Optionen für die kryptisierte PDF Ausgabe
Spezielle Optionen für PDF Ausgabe mit Signatur und Zertifikat
     ▸ Beispiel für das Erstellen eines signierten PDFs mit der CIB runshell
Spezielle Optionen für die Formularfelder Ausgabe
Spezielle Properties zum Ändern der Dokument-Eigenschaften, Docproperties und Userproperties
Spezielle Properties zum Ändern des Seitenformats

Allgemein

PDF ist ein intelligentes Druck- und Distributionsformat, das es erlaubt Informationen plattformunabhängig bereitzustellen. Im Gegensatz zu reinen Bildformaten wie TIFF können in PDF Dateien Inhalte gesucht, Metadaten beigefügt und elektronische Signaturen eingebettet werden.

Das CIB format/pdf Modul erzeugt aus dem Eingabedokument einen PDF-Datenstrom der wahlweise im Speicher oder in einer Datei ausgegeben wird. Der Anwender kann per Property bestimmen welche PDF Version (gemäß Adobe PDF-Spezifikation) erzeugt wird. Zusätzliche optionale Properties nehmen Einfluß auf die Eigenschaften der erzeugten PDF Datei und ihr Verhalten im Acrobat Reader oder anderen PDF Viewern (z.B. CIB image, CIB view).

Die Properties InputFilename und OutputFormat sind zwingend zu setzen. Unter Unix Plattformen ist auch der Hinweis auf den FontWorkSpace zwingend.

Spezielle Optionen für die PDF Ausgabe

Optionsname

Optionswert

Datentyp

OutputFormat

In diese Property muss der Wert "FormatPdf" gesetzt werden

Char*

PdfVersion

Setzen der zu erzeugenden PdfVersion.

Gültige Werte:

"1.3"                Acrobat-Familie 4

"1.4"                Acrobat-Familie 5 (default)

"1.5"                Acrobat-Familie 6

"1.6"                Acrobat-Familie 7

"1.7"                Acrobat-Familie 8

Ab CIB format Version 5.3.240:
"1.7EL3"          Acrobat Familie 8
                        (zum Öffnen ist ein Acrobat Reader ab
                        Version 9 erforderlich!)

Ab CIB format Version 7.1.0:
"1.7EL8"          PDF 1.7, extension level 8  

Hinweis:
Bei aktivierter Verschlüsselung werden folgende Verschlüsselungs-Algorithmen angewendet:
"1.3"                RC4-40, Revision 2
"1.4"                RC4-128, Revision 3
"1.5"                RC4-128, Revision 4
ab "1.6"           AES-128, Revision 4
ab "1.7EL3"      AES-256, Revision 5
ab "1.7EL8"      AES 256, Revision 6

Char*

EmbeddedFiles

(ab CIB format Version 5.7.0)

Set-Property

Über diese Property kann eine Liste von Dateien angegeben werden, die bei der PDF-Generierung an das PDF bzw. an einzelne Seiten des PDFs angehängt werden.

Syntax:

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

<EmbedFilename> ::= "{"<Seitenangabe>;<EmbedFilename-ohneSeite>"}"|"{"<EmbedFilename-ohneSeite>"}"

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

<Relationship> ::= "RELATIONSHIP="<name>

<Description> ::= "DESC="<name>

<EmbedFilename-simple> ::= Dateiname

Beispiel:

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

Zu beachten:

-       “Description” wird nur für bei PDF-Versionen >= 1.6 ausgewertet. Es kann beliebiger Text eingetragen werden, der dann in die Annotations eingefügt wird.

-       “Relationship” wird nur bei PDF/A3-Konvertierung ausgewertet (PDF/A3a, PDF/A3b, PDF/A3u).
Es gibt vordefinierte Bezeichner (Source, Data, Alternative, Supplement, Unspecified), es können aber auch andere Werte verwendet werden.

-       Falls zu einem EmbedFilename eine Seitennummer (oder mehrere) angegeben werden, wird die Datei als Anhang dieser Seite(n) eingefügt. Ansonsten handelt es sich um einen Anhang des kompletten PDF-Dokuments.

-       Die Seitenangabe kann sein:
Seitenzahl(en), Bereich oder eine Kombination aus beidem, getrennt durch Kommata.
Beispiel: “1,5-6,10”;

-       In “EmbedFilename” können zum Maskieren folgende Zeichen verwendet werden:
“\;”  für  “;”
“\\”  für  “\”.

Char*

FontsEmbedded

Wird dieser Wert gesetzt, so werden die im Dokument verwendeten Fonts in das PDF Dokument integriert.

Mögliche Werte:

False                kein Einbetten

True                 Fonts werden einbettet (default)

Durch Einbetten der Fonts ist gewährleistet, dass das Layout auf allen Plattformen identisch ist.

Hinweis: Die Größe des erzeugten Dokuments steigt mit jedem verwendeten Font.

Bool

FontsEmbeddedList

 

Mit dieser Stringproperty werden bei der PDF Ausgabe nur ausgewählte Fonts eingebettet.

Voraussetzung: Property FontsEmbedded muss True sein.

Beispiel:
"Arial;Times;Wingdings"

Hinweis:
Es wird nur ein Match auf die angegebenen Zeichen durchgeführt. D.h. ein "Tim" führt dazu, daß alle Fonts eingebettet werden, welche im Dokument benutzt werden und mit "Tim" beginnen.

Die Größe des erzeugten Dokumentes steigt mit jedem verwendeten Font.

Char*

FontsNotEmbeddedList

 

Hiermit können Fonts explizit angegeben werden, die nicht ins PDF eingebettet werden sollen.

Voraussetzung zur Verwendung dieser Property: die Property FontsEmbedded muss True sein.

Funktionsweise analog Property FontsEmbeddedList.

Char*

IgnoreRtfBookmarkList

(Ab Version 7.24.0)

Hiermit können bestimmte Bookmarks ignoriert werden, sodass sie auf die Ausgabe keine Wirkung haben.

Beispiele:
IgnoreRtfBookmarkList="" => Behält alle Bookmarks bei

Property gar nicht gesetzt => (Default) = "_GoBack" => Ignoriert alle GoBack-Bookmarks

IgnoreRtfBookmarkList="_*" => ignoriert alle Bookmarks die mit "_" anfangen.

IgnoreRtfBookmarkList="*Test" => ignoriert alle Bookmarks die mit Test enden

Char*

OpenSize

Gibt die Zoomstufe im Fenster des PDF-Anzeigeprogramms beim Öffnen der PDF-Datei vor.

"Standard" Standardeinstellung des PDF-
 Anzeigeprogramms verwenden (Default)

"Fit" An Fensterhöhe anpassen

"FitH" An Fensterbreite anpassen

Ab CIB format Version 5.3.234

Angabe des Zoomfaktors in Prozent, z.B. "100" für das Öffnen mit der Zoomstufe 100%.

Char*

OpenLayout

Gibt das Seitenlayout im Fenster des PDF-Anzeigeprogramms beim Öffnen der PDF-Datei vor.

"Standard":    Standardeinstellung des PDF-Anzeigeprogramms verwenden (Default)

"SinglePage"  Einzelne Seite, komplett

"OneColumn" Einzelne Seite, fortlaufend

"TwoColumnLeft"         Doppelseite mit ungerader Seite links, fortlaufend

"TwoColumnRight" Doppelseite mit ungerader Seite  rechts, fortlaufend

Ab PDF-Version 1.5:

“TwoPageLeft” Doppelseite mit ungerader Seite links, komplett

“TwoPageRight” Doppelseite mit ungerader Seite  rechts, komplett

Char*

OpenMode

Gibt erweiterte AnzeigeOptionen für das PDF- Anzeigeprogramm beim Öffnen der PDF-Datei vor.

"UseNone" Normal öffnen (Default)

"UseOutlines" Lesezeichenanzeige öffnen

"UseThumbs" Thumbansicht öffnen

"FullScreen" Anzeigeprogramm im Vollbildmodus öffnen

Char*

OutlineStyles

Liste der Formatvorlagen und deren Hierarchie-Ebene, für die ein Lesezeichen erzeugt werden soll.

Syntax:

<OutlineStyles> ::= <Formatstil> | <Formatstil> ";" <OutlineStyles>

<Formatstil> ::= <Formatvorlage>;<Ebene>

<Formatvorlage> ::= <Bezeichner der Formatvorlage>

<Ebene> ::= <Zahl>

Hinweis:
Unter <Bezeichner der Formatvorlage> wird der MS WORD interne Bezeichner einer Formatvorlage gemeint. Das ist z.B. für „Überschrift 1“ „heading 1“.

Beispiel:
OutlineStyles=heading 1;1;heading 2;2;heading 3;3

Char*

OutlineFormats

Beschreibung der Font-Eigenschaften, über die ein Text verfügen muss, damit aus ihm ein Lesezeichen erzeugt wird.

Achtung:
Diese Property wird nur zur Lesezeichen-Generierung durch den CIB pdf brewer über Druckertreiber benötigt. Für den CIB format ist die Angabe von OutlineStyles ausreichend, da hier bereits Formatvorlagen mit Namen vorliegen, die direkt verwendet werden können.

Syntax:

<OutlineFormats> ::= <Format> | <Format> ";" <OutlineFormats>

<Format> ::= "{"<Formatstil>;<Formatfont>"}"

<Formatstil> ::= "STYLE:"<Formatvorlage>;<Ebene>

<Formatfont> ::= "{""FONT:"<Fontname>";"<Fontgröße>
";"<Fontstil>";"<Farbe>"}"

<Formatvorlage> ::= <Bezeichner der Formatvorlage>

<Ebene> ::= <Zahl>

<Fontname> ::= <Bezeichnung des Fonts>

<Fontgröße> ::= <Größenangabe>

<Fontstil> ::= "fett" | "kursiv"

<Farbe> ::= <Zahl> "." <Zahl> "." <Zahl>


Beispiel:
OutlineFormats={STYLE:heading 1;1;{FONT:CIB Unit;18.5;Bold;0.0.0}};{STYLE:heading 2;2;{FONT:CIB Unit;16.5;Bold;0.0.0}};{STYLE:heading 3;3;{FONT:CIB Unit;13.5;Bold;0.0.0}}

Char*

NonFullScreenPageMode

Wenn das PDF-Dokument mit der OpenMode „Anzeigeprogramm im Vollbildmodus öffnen“ erzeugt wird, kann hier eingestellt werden, welche Anzeigeoption das PDF-Anzeigeprogramm zusätzlich als Fenster im Vollbildmodus darstellen soll.

"UseNone" - Normal öffnen (Default)

"UseOutline" - Lesezeichenanzeige öffnen

"UseThumbs" - Thumbnailansicht öffnen

"UseOC" - Optional Contents anzeigen

Char*

HideToolbar

Das Anzeigeprogramm kann angewiesen werden, bei der Anzeige dieses PDFs die Toolbar zu verbergen.

0          Anzeige der Toolbar (default)

1          Verbergen der Toolbar

Char*

HideMenubar

Das Anzeigeprogramm kann angewiesen werden, bei der Anzeige dieses PDFs die Menubar zu verbergen.

0          Anzeige der Menubar (default)

1          Verbergen der Menubar

Char*

HideWindowUI

Das Anzeigeprogramm kann angewiesen werden, bei der Anzeige dieses PDFs Benutzer-Steuerelemente zu verbergen, z.B. Scrollbars oder Navigations-Symbole.

0          Anzeige der Steuerelemente (default)

1          Verbergen der Steuerelemente

Char*

FitWindow

Das Anzeigeprogramm kann angewiesen werden, die Größe des Anzeigefensters an die Größe der ersten angezeigten Seite anzupassen.

0          Keine Anpassung (default)

1          Anpassung der Fenster-Größe

Char*

CenterWindow

Das Anzeigeprogramm kann angewiesen werden, das Anzeigefenster in die Bildschirm-Mitte zu positionieren.

0          Keine Positionierung (default)

1          Positionierung in Bildschirm-Mitte

Char*

DisplayDocTitle

Das Anzeigeprogramm kann angewiesen werden, für den im Anzeigebalken verwendeten Namen den Titel aus den Dokument-Eigenschaften zu nehmen.

0          Verwendung des Namens der PDF-Datei
            (default)

1          Verwendung Titel aus Dokument-
            Eigenschaften

Char*

Direction

Einstellung der Leserichtung für Lesegeräte der Datei

"L2R" (Default)

"R2L"

Char*

OpenPageIndex

 

Angabe der als erstes anzuzeigenden Seite, dieser Index beginnt bei 1.

Long

GraphicResolution

 

Zielauflösung für Grafiken. Hat das Bild bei der geforderten dpi-Zahl und Darstellungsgröße auf der Seite zu viele Pixel, so werden die Bilddaten verkleinert - nie vergrößert.

Beispielwerte:

96: Bildschirm

600: Drucker (default)

0: Die Grafikauflösung des Originals wird beizubehalten.

Long

GraphicCompressMethod

JPEG Komprimierung für Farb- und Graustufenbilder anwenden. Bei Einstellung "automaticJPEG" wird die Komprimierung nicht angewendet, wenn sie nicht mindestens 50% Größenersparnis bringt. Ansonsten wird davon ausgegangen, dass die verlustfreie Standardkompression ca. 50% Größenreduzierung bewerkstelligt, und zwar ohne Qualitätseinbußen.

Mögliche Werte:

"None"               Nur verlustfreie Kompression anwenden. (default)

"AutomaticJPEG Automatische JPEG-Kompression

"AutomaticZlibJPEG"    Automatische JPEG- und Zlib-Kompression

"ZlibJPEG"          JPEG- und Zlib-Kompression anwenden

"JPEG"                JPEG-Kompression anwenden

Char*

GraphicJpegQuality

 

Bestimmt das Verhältnis von Bildqualität und Bildgröße bei der JPEG-Kompression (wenn angewendet). Ein höherer Wert erzeugt qualitativ bessere Bilder, die allerdings auch größer sind (und damit die PDF-Datei vergrößern) als qualitativ schlechtere.

Der Wertebereich geht von 0 bis 100. default: 75

Long

GraphicColorReduction

"None"       keine Farbtiefe reduzieren(default)

"Automatic" Die Farbtiefe wird nur reduziert, wenn dadurch keine Farben verloren gehen.

Char*

HideGraphics

Grafiken, die (auch nur teilweise) innerhalb vorgegebener Rechtecke liegen, werden nicht ins PDF übernommen.

Beispiel:
HideGraphics ="{{1,3-40};{forbidden;2cm;2cm;5cm;4cm}};{{2,5,6};{forbidden;2cm;2cm;5cm;4cm}}“

 

Zur genauen Syntax siehe Property Checkmask. Als Typ des Rechtecks ist nur „forbidden“ möglich.

Char*

PdfCMYKOutput

(ab CIB format Version 5.3.221)

0 – keine CMYK-Umsetzung (default)

1 – CMYK-Umsetzung

Das sRGB-Profil (genau: sRGB_IEC61966-2-1_noBPC.icc) wird zuerst in den allgemeinen CIE-XYZ-Farbenraum, von dort in den allgemeinen CIE-LAB-Farbenraum umgerechnet.
Mit Hilfe von USWebCoatedSWOP.icc Colorprofile erfolgt der Übergang vom allgemeinen Farbenraum auf die CMYK-Farben.

Bei der Umsetzung und der verwendeten Profile verhält sich der CIB format wie der Adobe Reader in seiner Default Einstellung.

Char*

UnicodeDataWorkSpace

Arbeitsverzeichnis in dem die Unicodedateien installiert sind (wird für komplexe Sprachen, wie arabisch, und rechts-nach-links Leserichtung benötigt)

Char*

PrintedPages

(ab CIB format version 5.3.220h bzw. 5.3.222)

 

Get-Property

Liefert die Seitennummern der gedruckten Seiten einzeln an, getrennt durch Kommata. Jede Kopie wird einzeln geliefert.

Derzeit noch nicht unterstützt werden:

MultiRTF und per Property eingesteuerte Leerseiten für Duplex.

Char*

UseFormat5ExternalLeading

(ab CIB formatVersion 5.3.225,

nicht nicht für Versionen 6.0.x )

 

Für die Berechnung des External Leading kann auf die Windows-Formel lt. TTF-Spec. umgeschaltet werden. Dies ist für manche TrueType-Fonts bei Verwendung von FontWorkSpace erforderlich um korrekte Zeilenabstände zu erreichen.

0 – Verwendung des Windows-Standard

1 – beibehalten bisherige Berechnung  (default)

Die Formel stammt aus der TTF-Spec:

external leading =  MAX( 0, LineGap - ((usWinAscent + usWinDescent) - (Ascender - Descender)))

Die zur obigen Berechnung notwendigen Werte liegen in der OS/2 table des Fonts.

In CIB format wird die Formel aus der TTF-Spec. Standardmäßig herangezogen, so dass sich diese Property erübrigt.

Char*

UseJbig2Compression

(ab CIB format Version 5.8.0)

Für PDF-Versionen >= 1.4 kann über diese Property die Jbig2-Kompression aktiviert werden.

0          Wie bisher wird die CCITT-Kompression verwendet (default)

1          Jbig2-Kompression wird aktiviert

Achtung:
Wenn GraphicCompressMethod=None (ist default) gesetzt ist, wird überhaupt keine Kompression angewendet.

Die Benutzung der Jbig2-Kompression setzt voraus, dass die entsprechende Jbig2-Bibliothek im Library-Verzeichnis hinterlegt ist.

Char*

WriteToUnicodeObject

(ab CIB format Version 5.8.0)

Über diese Property kann die Ausgabe eines Unicode-Objekts gesteuert werden.

1          Das Unicode-Objekt wird in das PDF ausgegeben (default)

0          Keine Ausgabe des Unicode-Objekts

Char*

BarcodeGraphicResolution

(ab CIB format Version 7.7.0)

Diese Property steuert die Auflösung des auszugebenden Barcodes. Ist diese Property gesetzt, wird der Barcode von der internen Aufösung von 2400 DPI herunterskaliert. Wird sie nicht gesetzt, wird der Wert aus der Property „GraphicResolution“ übernommen.

Werte werden in DPI angegeben.

Long

Hinweis:

Für C++-Anwender sind die Optionsnamen in separaten Headerdateien als Defines hinterlegt.

Spezielle Optionen für die kryptisierte PDF Ausgabe

(*) = Property kann nicht im RTF über PRINT CIB Befehl gesetzt werden.

Optionsname

Optionswert

Datentyp

EncryptOwnerPassword

Setzt das Ownerpasswort einer PDF-Datei.
Für die Verwendung eines Ownerpassworts ist das Setzen einer gültigen Lizenz zwingend erforderlich.


Damit werden automatisch alle Einschränkungen für die weitere Verwendung dieses PDFs (z.B. PdfEncryptEnablePrinting) aktiv. Jede erlaubte Verarbeitung muss durch Setzen der entsprechenden Property gezielt freigeschalten werden.

Außerdem aktiviert das Setzen eines Ownerpassworts die Verschlüsselung der PDF-Ausgabedatei.

Hinweis:
Der gewählte Verschlüsselungs-Algorithmus ist abhängig von der PDF-Version. Genaueres hierzu siehe bei Property „PdfVersion“.

Char*

EncryptUserPassword

Setzt das Userpasswort einer PDF-Datei.
Bei einem gesetzten Userpasswort wird der Benutzer vom PDF-Viewer(vor der Anzeige) zur Eingabe des Passworts aufgefordert.
Gibt der Benutzer das Userpasswort ein, so steht ihm das Dokument mit den gesetzten Optionen(s.u.) zur Verfügung.
Gibt er das Ownerpasswort ein, so steht ihm das Dokument uneingeschränkt zur Verfügung.

Hinweis:
Um die Funktionalität des Userpassworts zu nutzen, sind ein gesetztes Ownerpasswort und eine gültige Lizenz zwingend erforderlich.

Char*

EncryptMetadata

(ab CIB format Version 5.3.240)

Durch Setzen dieser Property kann der Benutzer steuern, ob die Metadaten im PDF verschlüsselt werden.
Bei den Metadaten handelt es sich um allgemeine Informationen zum PDF wie Autor, Erstellungsdatum etc. Format und Inhalt der Metadaten sind nicht festgelegt und hängen von dem Tool ab, das das PDF erstellt hat.

Mögliche Werte:
„0“       keine Verschlüsselung der Metadaten
„1“       Metadaten werden verschlüsselt (default)

Hinweis:
Für die Verarbeitung dieser Property ist eine PdfVersion von mindestens 1.5 erforderlich.

Char*

EncryptEnableAssembling

 

Der Benutzer darf in der PDF-Datei Seiten einfügen, drehen oder löschen, sowie Bookmarks und Thumbnails erstellen, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnableClipboard

 

Der Benutzer darf die PDF-Datei in die Zwischenablage kopieren, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnableExtract

 

ScreenReader-Programme (z.B. für Sehbehinderte) können auf den Inhalt zugreifen. Der Benutzer darf Text und Grafiken nicht aus der PDF-Datei kopieren, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnableForms

 

Der Benutzer darf in der PDF-Datei existierende AcroForm Felder ausfüllen, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnableModifying

 

Der Benutzer darf die PDF-Datei verändern (Text hinzufügen etc.), wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnableNotes

 

Der Benutzer darf der PDF-Datei Text Notes und AcroForm Felder hinzufügen und vorhandene ändern, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

EncryptEnablePrinting

 

Der Benutzer darf die PDF-Datei drucken, wenn dieser Wert gesetzt ist.

Mögliche Werte:

„0“       keine Erlaubnis (default)

„1“       Aktion erlaubt

Bool

Spezielle Optionen für PDF Ausgabe mit Signatur und Zertifikat

(ab CIB format Version 5.3.240)

In Deutschland erfüllen nur qualifizierte elektronische Signaturen gemäß § 2 Nr. 3 Signaturgesetz (SigG) die Anforderungen an die elektronische Form gemäß § 126a BGB, die die gesetzlich vorgeschriebene Schriftform ersetzen kann.

Diese Signatur muss mit einem einmaligen – geheimen bzw. privaten – Signaturschlüssel, der dem Signaturersteller während der Signaturerstellung zur Verfügung stehen muss, und mit Mitteln, die unter seiner alleinigen Kontrolle stehen, erstellt worden sein. Zusätzlich muss der Signaturersteller bei Bedarf identifizierbar sein

Qualifizierte elektronische Signaturen, die eine zuverlässige Identifizierung des Unterzeichners ermöglichen und eine nachträgliche Veränderung der Daten erkennen lassen müssen, können technisch mit Digitaler Signatur in Verbindung mit Digitalem Zertifikat von einer  Public-Key-Infrastruktur (PKI) realisiert werden. Bei diesen Verfahren wird ein Schlüsselpaar verwendet. Ein Schlüssel wird für die Erzeugung der Signatur verwendet (Signaturschlüssel) und ein Schlüssel für die Prüfung (Signaturprüfschlüssel).

Aus Sicherheitsgründen sind die heute ausgestellten Zertifikate in der Regel nicht länger als drei Jahre gültig, was bedeutet, dass der zugewiesene Signaturschlüssel nach Ablauf des Zertifikats nicht mehr benutzt werden darf. So verweigert auch der CIB format das Setzen einer Signatur mit einem abgelaufenen Zertifikat.

Diese Properties können nicht im RTF über PRINT CIB Befehl gesetzt werden.

Optionsname

Optionswert

Datentyp

SignPdf

Property, mit der das Signieren des PDFs eingeschaltet werden kann.

Mögliche Werte:

„0“       kein Signieren (default)

„1“       PDF wird signiert

Char*

NeedAppearancesSignatureWidgets

Char*

 

Diese Property steuert, ob die Signatur im PDF-Anzeige-Programm  angezeigt wird, und zwar durch entsprechende Belegung des „/NeedAppearances“-Feldes.

Mögliche Werte:

„1“     keine Anzeige der Signatur (default)
(/NeedAppearances true)

„0“     Anzeige der Signatur
(/NeedAppearances false)

 

CertificateFilename

Angabe des Namens (ggf. mit Pfad) der Zertifikats-Datei. Dabei muss es sich um ein PKCS12-Zertifikatsfile handeln (übliche Endung ".p12" oder ".pfx").
Die Signierung mit PEM-Datei(en) ist noch nicht verfügbar. Sie ist noch nicht hinreichend getestet. Es können mehrere PEM-Dateien angegeben werden. Diese müssen durch einen Strichpunkt (;) getrennt sein. Alle Dateien zusammen müssen genau einen privaten Schlüssel enthalten. Außerdem muss der öffentliche Schlüssel und (optional) die Schlüsselkette des Signierers enthalten sein. Wenn die PEM-Dateien mehrere private Schlüssel enthalten, wird der erste private Schlüssel verwendet, der zum „CerticatePassword“ passt.

Char*

CertificatePassword

Angabe des Passwortes für die Zertifikatsdatei.

Char*

PdfSignatureAppearance

Über diese Property kann eine Grafik als „Bild“ für die PDF-Signatur verwendet werden. Diese Grafik kann über Angabe von Position und Größe genau auf das PDF platziert werden.
SignPdf = „1“ muss gesetzt sein.

Die Syntax ist identisch zum Grafik-Overlay (siehe Kapitel Overlay Funktion – Grafik Overlay)

[POS:Top|X-Position,Breite;Y-Position,Höhe;] Seitenzahle(n);Dateiname

Beispiel:
„POS:Top|20,200;60,100;1;C:\myImage.png“

Es kann nur eine Seitennummer angegeben werden. Sollten doch mehrere Seitennummern vorhanden sein, wird die kleinste verwendet.
„Dateiname“ ist der Pfad der Bilddatei für die Signatur.
Ist die Eigenschaft leer oder mit falscher Syntax, dann ist die Pdf Signatur im Pdf Dokument nicht sichtbar.
Handelt es sich um ein Multi-RTF-Dokument und ist MultiRtfSingleOutput=1, dann ist die Pdf Signatur im letztem Dokument.

Char*

SignPdf.DocMDP

(ab CIB format Version 5.3.243)

Die Signatur bekommt den Typ DocMDP (Autorensignatur).

Das bedeutet, dass im PDF nachträglich nur Änderungen vorgenommen werden dürfen, die vom Autor explizit erlaubt wurden. Andere Änderungen machen die Signatur ungültig.
Voraussetzung: SignPdf=1 und PdfVersion größer gleich 1.5.

Mögliche Werte:

""      Keine DocMDP Signatur (default)

"1"    Keine Änderungen erlaubt

"2"    Erlaubt sind:
Ausfüllen von Formularfeldern
Erzeugen neuer Seiten aus Seiten-Schablonen
Signieren

"3"    Erlaubt sind:
wie “2” und zusätzlich: alle Änderungen in Kommentaren

Hinweis: Dokumente mit DocMDP-Signatur können nur von Adobe Reader 7.0 oder höher gelesen werden.

Char*

SignPdf.Lock

(ab CIB format Version 5.3.243)

Die Signatur bekommt den Typ Lock. D.h. es sind keinerlei Änderungen an Formularfeldern erlaubt bzw. es dürfen keine sichtbaren Signaturen mehr hinzugefügt werden.

Voraussetzung: SignPdf=1 und PdfVersion größer gleich 1.5, sowie SignPdf.DocMDP nicht gesetzt.

Mögliche Werte:

"0"    Keine Sperrung des Dokuments (default)

"1"    Dokument ist im obigen Sinne gesperrt
Entspricht der Option "Lock Document After
Signing" von Adobe Professional.
Im Adobe Reader wird angezeigt:
"The document is locked by that signature".

Char*

Beispiel für das Erstellen eines signierten PDFs mit der CIB runshell

Cibrsh.exe SignPdf=1 NeedAppearancesSignatureWidgets=0 CertificateFilename=mycert.pfx CertificatePassword=xxxxx  -f  Test.rtf Test.pdf

Der CIB format erstellt ein PDF, das eine digitale Signatur mit Zertifikat enthält.

Beim Öffnen dieses PDFs im Adobe Reader ist die Meldung "Dokument wurde nach dem Unterschreiben nicht mehr geändert." maßgeblich. Sie bedeutet, dass Adobe die Signierung des CIB Format validieren kann.

Hinweis:

Die Meldung "Es gibt bei mindestens einer Unterschrift Probleme" bedeutet:

  • Die Gültigkeit der Unterschrift ist unbekannt. D.h. Adobe kennt das Zertifikat nicht, mit dem signiert wurde.
  • Dies kann behoben werden, indem das Zertifikat dem Adobe Reader als vertrauenswürdig bekannt gemacht wird.

(In Adobe unter „Vertrauenswürdige Identitäten verwalten" aufrufen von "Kontakte hinzufügen", "Durchsuchen" und dann das zugehörige Zertifikatsfile hinzufügen. Danach dieses Zertifikat auswählen, auf "Vertrauenswürdigkeit" gehen und dort die gewünschten Punkte anklicken.

Zu beachten:

  • Unter Windows muss sich die passende OpenSSL-DLL "libeay32.dll" im gleichen Verzeichnis wie die CIB-Format-DLL befinden.
  • Unter Unix müssen die passenden shared libraries "libcrypto.so" und "libcrypto.so.1.0.0" in dem Ordner für shared libraries installiert sein.

Spezielle Optionen für die Formularfelder Ausgabe

Achtung:
Für die Formularfeld-Ausgabe ist eine CIB pdf formfields Lizenz notwendig, ansonsten erfolgt ein Testlizenzaufdruck.

Optionsname

Optionswert

Datentyp

ShowFormfields

 

Steuert die Behandlung von Formularfeldern.

0 – Felder werden als fortlaufender Text behandelt (default)

1 – Formularfelder und andere Felder (REF) werden als Eingabefelder behandelt.

Long*

ShowSignatureFormfields

(ab CIB format Version 5.8.3a)

Steuert das Generieren von digitalen Signaturfeldern im PDF.
Im RTF sind diese Felder folgendermaßen enthalten:
- INCLUDEPICTURE (mit Schalter eS/eSo) oder
- REF-Feld mit <cib-formfield type=sign>

0 – Kein Generieren von Signaturfeldern (default)

1 – Aus den Signaturfeldern im RTF werden im PDF digitale Signaturfelder generiert.

Char*

FormfieldUseAutoTextHeight

 

Die Fonthöhe wird durch den Reader ermittelt. Übersteigt die Eingabelänge die Feldbreite so wird der Font verkleinert

0 - Scrollen bei langer Eingabe (default).

1 - Font bei zu langer Eingabe verkleinern

 

Char*

FormfieldUseAutoTextHeightSingle

Char*

 (ab CIB format Version 7.0.13a)

Property gilt für einzeilige Formularfelder

Mögliche Werte:

0          es wird die normale Fontgröße angewendet
            (Default)

1       es wird Autosizing angewendet, d.h. der Viewer reagiert mit automatischer Fontanpassung

Nur bei FormfieldUseAutoTextHeight=0
Bei FormfieldUseAutoTextHeight=1 hat dieser Wert Priorität.

 

FormfieldUseAutoTextHeightMulti

Char*

 (ab CIB format Version 7.0.13a)

Property gilt für mehrzeilige Formularfelder

Mögliche Werte:

0     es wird die normale Fontgröße angewendet (Default = 0).

1     es wird Autosizing angewendet, d.h. der Viewer reagiert mit automatischer Fontanpassung

Nur bei FormfieldUseAutoTextHeight=0
Bei FormfieldUseAutoTextHeight=1 hat dieser Wert Priorität.

 

FormfieldUseDefaultTextWidth

 

HINWEIS: Formularfelder, für die im Dokument bereits Einstellungen für die Feldbreite und Zeichenanzahl getroffen wurden, werden von diesen Einstellungen nicht berücksichtigt.

Die optische Feldbreite im Zieldokument wird aus dem vorgegebenen Standardtext ermittelt.

0 - Diese Option nicht verwenden

1 - Feldbreite aus Standardtext ableiten (default)

Long*

FormfieldUseDefaultTextMaxChars

Long*

 

Gibt an, ob für Formularfelder die maximale Anzahl an Zeichen verwendet werden dürfen.

Wird nur zusammen mit der Property FormfieldUseDefaultTextWidth verwendet.

0 - Diese Option nicht verwenden

1 - Maximale Zeichenanzahl gemäß dem hinterlegten Standardtext setzen. (default)

 

FormfieldUseFieldAttributes

(ab CIB format Version 7.0.12)

Über diese Property kann gesteuert werden, dass beim Druck und/oder PDF Konvertierung ohne aktivierte Formularfeldkonvertierung der Feldzustand aus REF Feldern, die mit <cib-formfield …./>  Attributen formatiert sind, in die optische Umsetzung mit aufgenommen wird:

-      Es werden z.B. Kästchensymbole für Radio- und Checkboxen ausgegeben

-      Textfelder, Dropdownfelder werden in der Breite ihrer Attribute freigehalten/gezeichnet

 

Mögliche Werte:

0          Keine optische Umsetzung (default)

1          Optische Umsetzung wird aktiviert

Anwendungsfall:
Damit kann ein Rohdokument sowohl in ein elektronisches PDF Formular konvertiert als auch als direktes Druckstück oder zunächst statisches PDF Dokument (für späteres handschriftliches Befüllen) bereitgestellt werden.

Bool

FormfieldUseInternalCharCount

HINWEIS: Formularfelder, für die im Dokument bereits Einstellungen für die Feldbreite und Zeichenanzahl getroffen wurden, werden von diesen Einstellungen nicht berücksichtigt.

Gibt an, ob eine einheitliche optische Standardbreite für Formularfelder verwendet werden soll. Wenn diese Property verwendet wird, muss bei FormfieldUseInternalCharCount eine Zeichenanzahl hinterlegt werden.

0 - Diese Option nicht verwenden (default)

1 - Der eingestellte Wert bei FormfieldInternalCharCount wird verwendet

Long*

FormfieldUseInternalCharCountMaxChars

Long*

 

Gibt an, ob für Formularfelder die maximale Anzahl an Zeichen auf den Wert, wie in FormfieldInternalCharCount definiert, beschränkt werden soll.

Wird nur zusammen mit der Property FormfieldUseInternalCharCount verwendet.

0 -  Diese Option nicht verwenden (default)

1 - Maximale Zeichenanzahl aus FormfieldInternalCharCount verwenden

 

FormfieldInternalCharCount

 

Gibt die optische Breite des Formularfelds in Zeichen an.

Wird nur zusammen mit der Property FormfieldUseInternalCharCount verwendet.

Default: 15

Char*

FormfieldUseFieldResults
(ab CIB format Version 5.3.216)

 

Gibt an, ob die Fieldresults als Werte in die Formularfelder übernommen werden.

0 – Fieldresults werden nicht übernommen (default)

1 – Fieldresults werden als Werte der Formularfelder gesetzt

Long*

FormfieldUseTextfieldBorder

 

Gibt an, ob ein Rahmen um jedes Formulartextfeld angezeigt werden soll.

0 - Kein Rahmen anzeigen (default)

1 - Rahmen anzeigen

Char*

FormfieldTextfieldBorderColor

 

Die Farbe des Rahmens um jedes Formulartextfeld, sofern mit FormfieldUseTextfiledBorder aktiviert. Zahlenwert.

Default: 0

Beispiele:

Heller Grauton: R=192 G=192 B=192
   Hexadezimal: R=C0 G=C0 B=C0
   Berechnung: BGR=C0C0C0 = Dezimal 12632256

Gelb: R=255 G=255 B=0
   Hexadezimal: R=FF G=FF B=00
   Berechnung: BGR=00FFFF = Dezimal 65535

Char*

FormfieldUseTextfieldBackColor

 

Gibt an, ob eine Hintergrundfarbe für die Formulartextfelder verwendet werden soll.

0 - Keine Hintergrundfarbe anzeigen (default)

1 - Hintergrundfarbe verwenden

Char*

FormfieldTextfieldBackColor

 

Hintergrundfarbe aller Formulartextfelder. Zahlenwert (siehe FormfieldTextfieldBorderColor).

default: 0 (schwarz)

Char*

FormfieldUseCheckboxBorder

 

Gibt an, ob ein Rahmen um jede Checkbox angezeigt werden soll.

0 - Kein Rahmen anzeigen

1 - Rahmen anzeigen (default)

Char*

FormfieldCheckboxBorderColor

 

Die Farbe des Rahmens um jede Checkbox, sofern mit FormfieldUseCheckboxBorder aktiviert. Zahlenwert.

default: 0 (schwarz)

Beispiele:

Heller Grauton: R=192 G=192 B=192
   Hexadezimal: R=C0 G=C0 B=C0
   Berechnung: BGR=C0C0C0 = Dezimal 12632256

Gelb: R=255 G=255 B=0
   Hexadezimal: R=FF G=FF B=00
   Berechnung: BGR=00FFFF = Dezimal 65535

Char*

FormfieldUseCheckboxBackColor

Char*

 

Gibt an, ob eine Hintergrundfarbe für die Checkboxen verwendet werden soll.

0 - Keine Hintergrundfarbe anzeigen (default)

1 - Hintergrundfarbe verwenden

 

FormfieldCheckboxBackColor

 

Hintergrundfarbe aller Checkboxen. Zahlenwert (siehe FormfieldCheckboxBorderColor).

default: 0 (schwarz)

Char*

FormfieldUseDropdownBorder

 

Gibt an, ob ein Rahmen um jedes Dropdownfeld angezeigt werden soll.

0 - Kein Rahmen anzeigen

1 - Rahmen anzeigen (default)

Char*

FormfieldDropdownBorderColor

Char*

 

Die Farbe des Rahmens um jedes Dropdownfeld, sofern mit FormfieldUseDropdownBorder aktiviert. Zahlenwert.

Beispiele:

Heller Grauton: R=192 G=192 B=192
   Hexadezimal: R=C0 G=C0 B=C0
   Berechnung: BGR=C0C0C0 = Dezimal 12632256

Gelb: R=255 G=255 B=0
   Hexadezimal: R=FF G=FF B=00
   Berechnung: BGR=00FFFF = Dezimal 65535

 

FormfieldUseDropdownBackColor

Char*

 

Gibt an, ob eine Hintergrundfarbe für die Dropdownfelder verwendet werden soll.

0 - Keine Hintergrundfarbe anzeigen

1 - Hintergrundfarbe verwenden (default)

 

FormfieldDropdownBackColor

 

Hintergrundfarbe aller Checkboxen. Zahlenwert (siehe FormfieldDropdownBorderColor).

(default = 12632256)

Char*

FormfieldRadioButtonStyle

(ab CIB format Version 7.1.5)

Über diese Property kann die Optik von Radiobuttons steuerbar gemacht werden.

Mögliche Werte:

0          Radiobuttonsymbol Kästchen "(default)

1          Radiobuttonsymbol Kreis

Hinweis:
Alle vom Standard abweichenden Symbole benötigen einen zusätzlichen Lauf der CIB pdf toolbox.

Char*

FormfieldPreferedInitValue

(Ab Version 7.24.0)

Mögliche Werte:

"FormfieldPreferTestValue" - Bevorzugt "Testvalue", ansonsten "Value" (Default)
"FormfieldPreferValue" - Bevorzugt "Value", ansonsten "Value"
"FormfieldOnlyTestValue" - Nur "TestValue" wird verwendet falls vorhanden
"FormfieldOnlyValue" - Nur "Value" wird verwendet falls vorhanden
"FormfieldNoValue" - Keiner der beiden Werte wird übernommen

Char*

 

 NeedAppearancesSignatureWidgets

Diese Property steuert, ob die Signatur im PDF-Anzeige-Programm  angezeigt wird, und zwar durch entsprechende Belegung des „/NeedAppearances“-Feldes.

Mögliche Werte:

„1“     keine Anzeige der Signatur (default)
(/NeedAppearances true)

„0“     Anzeige der Signatur
(/NeedAppearances false)

 Char*

UseDigitalSignatureWidgets

(ab CIB format Version 5.3.232b)

Durch Setzen dieser Property werden die im RTF enthaltenen Signaturfelder im PDF zu digitalen Signaturfeldern (nach Adobe-Spezifikation).

Das PDF kann mit Produkten wie dem Adobe Reader Plugin unterschrieben werden. DieUnterstützung der digitalen Signatur durch CIB view und CIB jView ist implementiert.

0 – Erzeugen normales Signaturfeld (default)

1 – Erzeugen einer digitalen Signatur

Char*

Spezielle Properties zum Ändern der Dokument-Eigenschaften, Docproperties und Userproperties

Diese Properties können nicht im RTF über PRINT CIB Befehl gesetzt werden.

Optionsname

Optionswert

Datentyp

DocInfo.Author

Eingabe des Verfassers.

Überschreibt die im RTF hinterlegte Information.

Char*

DocInfo.Title

Eingabe des Titels.

Überschreibt die im RTF hinterlegte Information.

Char*

DocInfo.Subject

Eingabe des Betreffs/Themas.

Überschreibt die im RTF hinterlegte Information.

Char*

DocInfo.Keywords

Eingabe der Stichwörter.

Überschreibt die im RTF hinterlegte Information.
Maximale Länge beträgt 2K.

Char*

DocProperties

(ab CIB format Version 5.3.237)

Get:
Rückgabe der Liste der vom Anwender definierten Properties (Userproperties), getrennt durch ";".

Set:
Bevor DocProperties verwendet werden können, müssen deren Namen definiert werden. Die Namen werden durch ";" getrennt.

Beispiel:
DocProperties="Userprop1;Author;Title;Subject;Keywords;Userprop2"

Char*

DocProperty.<name>

(ab CIB format Version 5.3.237)

Get/Set:

Damit kann der Inhalt einer Docproperty gesetzt oder ausgelesen werden.

Beispiel:
DocProperty.Userprop1"="Abcdefghijklmnopqrstuvw“

<name> muss zuerst über DocProperties bekannt gemacht werden.

Char*

DocPropertyEncoding

(ab CIB format Version 5.3.237)

Get/Set:

Kodierung der Properties.

Mögliche Werte:
            ""
            "base64"

Char*

 

Die im RTF gesetzten Dokument-Eigenschaften, Doc-Properties oder User-Properties werden in das PDF übernommen. Bei Konvertierung eines Multi-RTFs in ein Single-PDF (MultiRtfSingleOutput=1) überschreibt jeweils die letzte Angabe die vorigen. Hierbei werden aber nur Property-Inhalte überschrieben, nicht vorher gesetzte Properties gelöscht, falls sie im letzten RTF nicht vorhanden sind.

Bei der Übernahme der Doc Properties in das PDF gelten folgende Prioritäten:

Prio 1: Über SetProperty gesetzter Wert
Prio 2: Wert aus den Dokumenten-Eigenschaften des RTFs

Spezielle Properties zum Ändern des Seitenformats

Diese Properties können nicht im RTF über PRINT CIB Befehl gesetzt werden.

Optionsname

Optionswert

Datentyp

PaperWidth

Seitenbreite.

Char*

PaperHeight

Seitenhöhe

Char*

MarginLeft

Breite linker Rand

Char*

MarginRight

Breite rechter Rand

Char*

MarginTop

Breite oberer Rand

Char*

MarginBottom

Breite unterer Rand

 

Alle Angaben zum Seitenformat erfolgen in Twips (567 twips = 1 cm).
So ergeben z.B. die Angaben PaperHeight=11907 und PaperWidth=16840 ein DIN A4 Querformat.

Änderungen im Seitenformat bewirken keine Skalierung. Texte werden so umgebrochen, dass sie auf das neue Seitenformat passen. Tabellen oder Grafiken werden ggf. abgeschnitten.

Char*

Hinweis:

Für C++-Anwender sind die Optionsnamen in separaten Headerdateien als Defines hinterlegt.