Breadcrumbs

SignPDF3 – Methoden und Eigenschaften

Sollten Sie eine Methode hier nicht finden, ist sie möglicherweise veraltet und sollte nicht mehr verwendet werden. Eine Übersicht über veraltete Methoden finden Sie hier.

Methode AnalyzePdfDocumentMemory

Mit dieser Methode können Informationen über ein Dokument ermittelt werden, die für eine korrekte Signatur benötigt werden. Außerdem korrigiert die Methode bei Bedarf das Dokument, damit es fehlerfrei signiert werden kann. Es wird empfohlen, diese Methode für jedes Dokument zu Beginn einmalig aufzurufen und anschließend das gegebenenfalls veränderte Dokument für alle weiteren Methodenaufrufe zu verwenden.

C#
void AnalyzePdfDocumentMemory(ref object pvarPdfArray, ref string bstrXMLResultData);
C++
HRESULT AnalyzePdfDocumentMemory(VARIANT* pvarPdfArray, BSTR bstrXMLResultData);

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

Inhalt des PDFs

Enthält bei Rückkehr gegebenenfalls das veränderte Dokument, ansonsten das ursprüngliche Dokument

bstrXMLResultData


✔️

XML-String

Informationen zum PDF-Dokument

Methode SignPdfDocumentMemory

Elektronisches Unterschreiben eines DigSig-Feldes in einem PDF-Dokument mittels gegebenen Unterschriftendaten. Die Unterschriftendaten sowie das Unterschriftenbild müssen aus einer vorangegangen Unterschrifterfassung übernommen werden, und die Unterschriftendaten müssen im signotec-eigenen SignData-Format vorliegen.

Der erfasste Unterschriftenzug und die Biometrie werden in das durch den Namen eindeutig identifizierte DigSig-Feld eingebracht. Ist der Name des Feldes noch nicht vorhanden, so wird dieses neu erzeugt. In diesem Fall müssen die Positionsangaben gesetzt werden.

Zum Unterzeichnen eines DigSig-Feldes müssen zwei Zertifikate an die Methoden übergeben werden. Das Erste muss ein PKCS12-Zertifikat mit dem privaten Schlüssel zum digitalen Signieren des Dokumentes nach den DigSig-Spezifikationen sein. Das Zweite muss ein öffentliches X.509-Zertifikat oder ein PKCS12-Zertifikat mit dem öffentlichen Schlüssel zum Verschlüsseln für die signotec Zusatzdaten (Biometrieverschlüsselung) sein. Wenn ein PKCS12-Zertifikat verwendet wird, muss das Passwort im Parameter „bstrCryptBioCertPassword“ übergeben werden.

C#
void SignPdfDocumentMemory (
                            string bstrPadID,
                            ref object pvarPdfArray,
                            object varSignDataArray,
                            string bstrSigfieldTitle,
                            object varSignCertArray,
                            string bstrSignCertPassword,
                            object varCryptBioCertArray,
                            string bstrCryptBioCertPassword,
                            string bstrXMLSignatureData,
                            object varImageArray,
                            int lOptions,
                            ref int plReserved
                            );
C++
HRESULT SignPdfDocumentMemory (
                               BSTR bstrPadID,
                               VARIANT* pvarPdfArray,
                               VARIANT varSignDataArray,
                               BSTR bstrSigfieldTitle,
                               VARIANT varSignCertArray,
                               BSTR bstrSignCertPassword,
                               VARIANT varCryptBioCertArray,
                               BSTR bstrCryptBioCertPassword,
                               BSTR bstrXMLSignatureData,
                               VARIANT varImageArray,
                               long lOptions,
                               long* plReserved
                               );

Parameter


In

Out

Mögliche

Werte

Beschreibung

bstrPadInfo

✔️


string

Informationen über das für die Unterschrifterfassung verwendete Signaturgerät

pvarPdfArray

✔️

✔️

PDF als Bytearray

Inhalt des PDFs

varSignDataArray

✔️


SignData als Bytearray

der einzubringende biometrische Datenblock

bstrSigfieldTitle

✔️


string,

Länge > 1

eindeutiger Name des zu unterschreibenden DigSig-Feldes

Wenn das Dokument kein Feld mit diesem Namen hat, wird ein neues Feld erstellt. Ist das Feld schon unterschrieben, schlägt die Funktion fehl.

varSignCertArray

✔️


Zertifikat-Inhalt als Bytearray

Daten-Array des PKCS12-Zertifikats mit dem privaten Schlüssel zum digitalen Signieren (für DigSig Mechanismus)

bstrSignCertPassword

✔️


string

Passwort für varSignCertArray

varCryptBioCertArray

✔️


Zertifikat-Inhalt als Bytearray

Daten-Array von einem öffentlichen X.509-Zertifikat oder einem PKCS12-Zertifikat mit dem öffentlichen Schlüssel zum Verschlüsseln der Biometrie

ungültiges Format

Es wird das Signaturzertifikat verwendet.

bstrCryptBioCertPassword

✔️


string

Passwort für varCryptBioCertArray (optional)

bstrXMLSignatureData

✔️


XML-String

zusätzlich einzubringende Informationen

varImageArray

✔️


Bildinhalt als Bytearray

Unterschriftenbild, das in PDF-Dokument eingebracht wird

Für PDF/A-1b-Konformität darf das Unterschriftenbild keinen Alphakanal enthalten.

lOptions

✔️


Kombination aus:

Bitmaske


0x00

Dokument nicht mit PDF/A konform signieren

0x01

Dokument mit PDF/A-1b konform signieren

Darf nicht gleichzeitig mit 0x02 gesetzt sein.

0x02

Dokument mit PDF/A-2b konform signieren

Darf nicht gleichzeitig mit 0x01 gesetzt sein.

0x04

alle Formularfelder sperren

Darf nicht gleichzeitig mit 0x08 gesetzt sein.

0x08

nur ausgefüllte Formularfelder sperren

Darf nicht gleichzeitig mit 0x04 gesetzt sein.

Checkboxen und Radiobuttons gelten immer als ausgefüllt

Formularfelder aus einem gegebenenfalls vorhandenen „signature field lock dictionary“ werden immer gesperrt

0x10

sichtbares Bezugssystem verwenden (empfohlen)

plReserved

✔️

✔️


0

reserviert

Methode PreparePdfDocumentMemory

Vorbereitung des elektronischen Unterschreibens eines DigSig-Feldes in einem PDF-Dokument mittels gegebenen Unterschriftendaten.

Die Unterschriftendaten sowie das Unterschriftenbild müssen aus einer vorangegangen Unterschrifterfassung übernommen werden und die Unterschriftendatenmüssen im signotec-eigenen SignData-Format vorliegen. Sie werden entweder vor Aufruf der Methode im Pad verschlüsselt oder innerhalb der Methode; entsprechend muss dem Parameter varCryptBioCertArrayOrRefString die ID des Pad-Zertifikats oder das zu verwendende Zertifikat mitgegeben werden.

Zum Verschlüsseln der signotec Zusatzdaten (Biometrieverschlüsselung) wird ein öffentliches X.509-Zertifikat oder ein PKCS12-Zertifikat mit dem öffentlichen Schlüssel verwendet. Wenn ein PKCS12-Zertifikat verwendet wird, muss das Passwort im Parameter „bstrCryptBioCertPassword“ übergeben werden.

Im PDF-Dokument wird ein Platzhalter fürs spätere Einbringen der digitalen Signatur vorbereitet und seine Position ermittelt. Das vorbereitete PDF-Dokument in einem Byte-Array und die Position des Platzhalters werden zurückgegeben.

Nach dem Aufruf der Methode muss über das Byte-Array mit dem vorbereiteten PDF-Dokument ein Hash gebildet und dieser signiert werden. Dadurch wird eine digitale Signatur erzeugt. Die erzeugte Signatur muss dann als hexadezimale Zeichenfolge an der Stelle des Platzhalters ins PDF-Dokument geschrieben werden.

C#
void PreparePdfDocumentMemory(
                              string bstrPadID,
                              ref object pvarPdfArray,
                              object varSignDataArray,
                              string bstrSigfieldTitle,
                              object varSignCertArray,
                              object varCryptBioCertArrayOrRefString,
                              string bstrCryptBioCertPassword,
                              string bstrXMLSignatureData,
                              object varImageArray,
                              ref object pvarDocHashArray,
                              ref int plDocSignaturePosition,
                              int lOptions,
                              ref int plReserved
                              );
C++
HRESULT PreparePdfDocumentMemory(
                                 BSTR bstrPadID,
                                 VARIANT* pvarPdfArray,
                                 VARIANT varSignDataArray,
                                 BSTR bstrSigfieldTitle,
                                 VARIANT varSignCertArray,
                                 VARIANT varCryptBioCertArrayOrRefString,
                                 BSTR bstrCryptBioCertPassword,
                                 BSTR bstrXMLSignatureData,
                                 VARIANT varImageArray,
                                 VARIANT* pvarDocHashArray,
                                 long* plDocSignaturePosition,
                                 long lOptions,
                                 long* plReserved
                                 );

Parameter


In

Out

Mögliche

Werte

Beschreibung

bstrPadInfo

✔️


string

Informationen über das für die Unterschrifterfassung verwendete Signaturgerät

pvarPdfArray

✔️

✔️

PDF als Bytearray

Inhalt des PDFs

varSignDataArray

✔️


SignData als Bytearray

der einzubringende biometrische Datenblock

bstrSigfieldTitle

✔️


string,

Länge > 1

eindeutiger Name des zu unterschreibenden DigSig-Feldes

Wenn das Dokument kein Feld mit diesem Namen hat, wird ein neues Feld erstellt. Ist das Feld schon unterschrieben, schlägt die Funktion fehl.

varSignCertArray

✔️


Zertifikat als Bytearray

Daten Array von X.509-Zertifikat mit dem öffentlichen Schlüssel zum Ermitteln seiner Eigenschaften

varCryptBioCertArrayOrRefString

✔️


Zertifikat als Bytearray

öffentliches X.509-Zertifikat oder PKCS12-Zertifikat mit dem öffentlichen Schlüssel zum Verschlüsseln der Biometrie

Stringobjekt

ID des Pad-Zertifikats (nach Verschlüsselung im Pad)

ungültiges Format

Es wird das Signaturzertifikat verwendet.

bstrCryptBioCertPassword

✔️


string

Passwort für varCryptBioCertArrayOrRefString

wird nur verwendet, wenn in dem Parameter ein PKCS#12-Zertifikat übergeben wurde

bstrXMLSignatureData

✔️


XML-String

zusätzlich einzubringende Informationen

varImageArray

✔️


Bildinhalt als Bytearray

Unterschriftenbild, das in PDF-Dokument eingebracht wird

Für PDF/A-1b-Konformität darf das Unterschriftenbild keinen Alphakanal enthalten.

pvarDocHashArray


✔️

Bytearray

zu signierende Daten

Der Hash dieser Daten muss signiert und ins Dokument geschrieben werden.

plDocSignaturePosition


✔️

>0

Offset des Platzhalters der Signatur im PDF-Dokument

Der signierte Hash (Digitale Signatur) muss an dieser Stelle ins Dokument geschrieben werden, um das Unterzeichnen des DigSig-Feldes abzuschließen

lOptions

✔️


Kombination aus:

Bitmaske


0x00

Dokument nicht mit PDF/A konform signieren

0x01

Dokument mit PDF/A-1b konform signieren

Darf nicht gleichzeitig mit 0x02 gesetzt sein.

0x02

Dokument mit PDF/A-2b konform signieren

Darf nicht gleichzeitig mit 0x01 gesetzt sein.

0x04

Alle Formularfelder sperren

Darf nicht gleichzeitig mit 0x08 gesetzt sein.

0x08

Nur ausgefüllte Formularfelder sperren

Darf nicht gleichzeitig mit 0x04 gesetzt sein.

Checkboxen und Radiobuttons gelten immer als ausgefüllt

Formularfelder aus einem gegebenenfalls vorhandenen „signature field lock dictionary“ werden immer gesperrt

0x10

sichtbares Bezugssystem verwenden (empfohlen)

plReserved

✔️

✔️

0


reserviert

Methode PreparePDFDocumentSigningMemory

Vorbereitung des elektronischen Unterschreibens eines DigSig-Feldes in einem PDF-Dokument.
Im PDF-Dokument wird ein Platzhalter fürs spätere Einbringen der digitalen Signatur vorbereitet und seine Position ermittelt. Das vorbereitete PDF-Dokument in einem Byte-Array und die Position des Platzhalters werden zurückgegeben.

Nach dem Aufruf der Methode muss über das Byte-Array mit dem vorbereiteten PDF-Dokument ein Hash gebildet und dieser signiert werden. Dadurch wird eine digitale Signatur erzeugt. Die erzeugte Signatur muss dann als hexadezimale Zeichenfolge an der Stelle des Platzhalters ins PDF-Dokument geschrieben werden.

C#
void PreparePDFDocumentSigningMemory(
                                     ref object pvarPdfArray,
                                     string bstrSigfieldTitle,
                                     string bstrXMLSignatureData,
                                     object varImageArray,
                                     ref object pvarDocHashArray,
                                     ref int plDocSignaturePosition,
                                     int lOptions,
                                     ref int plReserved
                                     );
C++
HRESULT PreparePDFDocumentSigningMemory(
                                        VARIANT* pvarPdfArray,
                                        BSTR bstrSigfieldTitle,
                                        BSTR bstrXMLSignatureData,
                                        VARIANT varImageArray,
                                        VARIANT* pvarDocHashArray,
                                        long* plDocSignaturePosition,
                                        long lOptions,
                                        long* plReserved
                                        );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

PDF in einem Variant

bstrSigfieldTitle

✔️


string,

Länge > 1

eindeutiger Name des zu unterschreibenden DigSig-Feldes

bstrXMLSignatureData

✔️


XML-String

zusätzlich einzubringende Informationen

varImageArray

✔️


Bildinhalt als Bytearray

Unterschriftenbild, das in PDF-Dokument eingebracht wird

Für PDF/A-1b-Konformität darf das Unterschriftenbild keinen Alphakanal enthalten.

leer

Es wird kein Unterschriftenbild eingefügt. Bei PDF/A-1b-Konformität ist ein Unterschriftenbild erforderlich, weshalb ein einzelnes weißes Pixel eingefügt wird.

pvarDocHashArray


✔️

Bytearray

zu signierende Daten

Der Hash dieser Daten muss signiert und ins Dokument geschrieben werden.

plDocSignaturePosition


✔️

>0

Offset des Platzhalters der Signatur im PDF-Dokument

Der signierte Hash (Digitale Signatur) muss an dieser Stelle ins Dokument geschrieben werden, um das Unterzeichnen des DigSig-Feldes abzuschließen.

lOptions

✔️


Kombination aus:

Bitmaske


0x00

Dokument nicht mit PDF/A konform signieren

0x01

Dokument mit PDF/A-1b konform signieren

Darf nicht gleichzeitig mit 0x02 gesetzt sein.

0x02

Dokument mit PDF/A-2b konform signieren

Darf nicht gleichzeitig mit 0x01 gesetzt sein.

0x04

Alle Formularfelder sperren

Darf nicht gleichzeitig mit 0x08 gesetzt sein.

0x08

Nur ausgefüllte Formularfelder sperren

Darf nicht gleichzeitig mit 0x04 gesetzt sein.

Checkboxen und Radiobuttons gelten immer als ausgefüllt

Formularfelder aus einem gegebenenfalls vorhandenen „signature field lock dictionary“ werden immer gesperrt

0x10

sichtbares Bezugssystem verwenden (empfohlen)

plReserved

✔️

✔️

0


reserviert

Methode GetReferenceCountMemory

Ermittelt die Anzahl der vorhandenen DigSig-Felder (alle oder nur gefüllte) auf der angegebenen Seite im angegebenen PDF-Dokument.

C#
void GetReferenceCountMemory(
                             object varPdfArray,
                             int nPage,
                             ref int plCount,
                             int nOption
                             );
C++
HRESULT GetReferenceCountMemory(
                                VARIANT varPdfArray,
                                int nPage,
                                long* plCount,
                                int nOption
                                );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️


PDF als Bytearray

PDF in einem Variant

nPage

✔️


>=1

Angabe auf welcher Seite gesucht werden soll

-1

im gesamten Dokument suchen

plCount


✔️

>=0

Anzahl der gefundenen DigSig-Felder

nOption

✔️


0

nur gefüllte Felder zählen

1

alle Felder zählen

Methode GetReferenceMemory

Entnimmt die Zusatzdaten aus einem unterschriebenen DigSig-Feld aus dem angegebenen PDF-Dokument. Das DigSig-Feld wird durch seinen angegebenen eindeutigen Namen identifiziert.

Bei Dokumenten, bei denen die biometrischen Daten im PC verschlüsselt worden sind, sind alle Zusatzdaten verschlüsselt. Diese Methode kann bei solchen Dokumenten nur mit dem korrekten privaten Schlüssel aufgerufen werden. Eine Integritätsprüfung kann nur anhand der entschlüsselten Zusatzdaten erfolgen.

Bei Dokumenten, bei denen die biometrischen Daten im Signaturgerät verschlüsselt worden sind, sind nicht alle Zusatzdaten verschlüsselt. Diese Methode kann bei solchen Dokumenten auch ohne privaten Schlüssel aufgerufen werden, und eine Integritätsprüfung kann anhand der enthaltenen RSA-Signatur auch ohne Entschlüsselung durchgeführt werden. In diesem Fall gibt die Methode keine SignData-Struktur zurück, und in der zurückgegebenen XML-Struktur sind nicht alle Elemente gefüllt.

C#
void GetReferenceMemory(
                        object varPdfArray,
                        int nReserved,
                        string bstrSigfieldTitle,
                        object varPFXCertArray,
                        string bstrPFXPassword,
                        ref object pvarSigndata,
                        string pbstrXMLResultData,
                        int nOption
                        );
C++
HRESULT GetReferenceMemory(
                           VARIANT varPdfArray,
                           int nReserved,
                           BSTR bstrSigfieldTitle,
                           VARIANT varPFXCertArray,
                           BSTR bstrPFXPassword,
                           VARIANT* pvarSigndata,
                           BSTR* pbstrXMLResultData,
                           int nOption
                           );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

PDF in einem Variant

nReserved

✔️


0

reserviert

bstrSigfieldTitle

✔️


string,

Länge > 1

eindeutiger Name des auszulesenden DigSig-Feldes

varPFXCertArray

✔️


Zertifikat-Inhalt als Bytearray

PKCS#12-Zertifikat mit dem privaten Schlüssel zum Entschlüsseln der biometrischen Daten

optional; bei im Signaturgerät verschlüsselter Biometrie nicht nötig, wenn nur die Integrität geprüft werden soll

bstrPFXPassword

✔️


string

Passwort für varPFXCertArray

pvarSigndata


✔️

SignData als Bytearray

Signaturdaten

pbstrXMLResultData


✔️

XML-String

Informationen zum Signaturprozess

nOption

✔️


0

Die Integrität der biometrischen Daten wird nicht überprüft.

1

Die Integrität der biometrischen Daten wird überprüft.

Methode VerifyPdfDocumentMemory

Entnimmt und dekodiert die Daten der Digitalen Signaturen aus den unterschriebenen DigSig-Feldern aus dem angegebenen PDF-Dokument und überprüft diese auf Ihre Gültigkeit und Unversehrtheit.

Diese Methode gibt nicht die verschlüsselten biometrischen Daten von bereits unterschriebenen DigSig-Feldern zurück. Diese verschlüsselten Informationen sind nur mittels der Methode GetReferenceMemory und dem entsprechenden Zertifikat zu erhalten.

C#
void VerifyPdfDocumentMemory(
                             object varPdfArray,
                             ref string pbstrXMLResultData,
                             ref int plOptions
                             );
C++
HRESULT VerifyPdfDocumentMemory(
                                VARIANT varPdfArray,
                                BSTR* pbstrXMLResultData,
                                long* plOptions
                                );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

Inhalt des PDFs

pbstrXMLResultData


✔️

XML-String

Informationen zu den unterschriebenen DigSig-Feldern

plOptions

✔️

✔️

Kombination aus:

Bitmaske


0x02

Das Signaturzertifikat wird nicht überprüft und die XML-Struktur enthält nicht dessen Informationen, stattdessen aber das Zertifikat und ggf. seine Kette im Knoten CertificateData, sodass die Prüfung selbständig durchgeführt werden kann.

0x10

sichtbares Bezugssystem verwenden (empfohlen)

Methode GetDSFieldInfoMemory

Entnimmt die Daten aller DigSig-Felder aus dem angegebenen PDF-Dokument und zeigt die Details zu diesen an.

Diese Methode gibt nicht die verschlüsselten biometrischen Daten von bereits unterschriebenen DigSig-Feldern zurück. Diese verschlüsselten Informationen sind nur mittels der Methode GetReferenceMemory und dem entsprechenden Zertifikat zu erhalten.

C#
void GetDSFieldInfoMemory(
                          object varPdfArray,
                          ref string pbstrXMLResultData,
                          int nOptions
                          );
C++
HRESULT GetDSFieldInfoMemory(
                             VARIANT varPdfArray,
                             BSTR* pbstrXMLResultData,
                             int nOptions
                             );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

Inhalt des PDFs

pbstrXMLResultData


✔️

XML-String

Informationen zu den unterschriebenen DigSig-Feldern

nOptions

✔️


Kombination aus:

Bitmaske





0x01

Gültigkeit von unterschriebenen Signaturfeldern nicht prüfen

0x02

Das Signaturzertifikat wird nicht überprüft und die XML-Struktur enthält nicht dessen Informationen, stattdessen aber das Zertifikat und ggf. seine Kette im Knoten CertificateData, sodass die Prüfung selbständig durchgeführt werden kann.

0x10

sichtbares Bezugssystem verwenden (empfohlen)

Methode VerifyCertificateMemory

Prüft das Zertifikat und liefert seinen Status zurück.

C#
void VerifyCertificateMemory(
                             object varCertArray,
                             string bstrOptionalPFXPassword,
                             int nReserved,
                             ref int plCertStatus
                             );
C++
HRESULT VerifyCertificateMemory(
                                VARIANT varCertArray,
                                BSTR bstrOptionalPFXPassword,
                                int nReserved,
                                long* plCertStatus
                                );

Parameter


In

Out

Mögliche

Werte

Beschreibung

varCertArray

✔️


Zertifikat als Bytearray

Inhalt des Zertifikats

bstrOptionalPFXPassword

✔️


string

Kennwort für das Zertifikat (optional)

nReserved

✔️


0

reserviert

plCertStatus


✔️

<=0

Zertifikatsstatus


0

Zertifikat ist gültig

-1

Zertifikat ist ungültig

-2

Datei ist kein Zertifikat

-4

ungültiges Passwort

-5

Zertifikat enthält keinen öffentlichen Schlüssel

-7

Gültigkeitszeitraum des Zertifikats ist abgelaufen

-99

unbekannter Fehler

Methode CreateDSFieldMemory

Erzeugt ein leeres, nicht unterschriebenes Signaturfeld.

C#
void CreateDSFieldMemory(
                         ref object pvarPdfArray,
                         string bstrTitle,
                         int nPage,
                         double dX,
                         double dY,
                         double dWidth,
                         double dHeight,
                         int nFlags
                         );
C++
HRESULT CreateDSFieldMemory(
                            VARIANT* pvarPdfArray,
                            BSTR bstrTitle,
                            int nPage,
                            double dX,
                            double dY,
                            double dWidth,
                            double dHeight,
                            int nFlags
                            );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

PDF in einem Variant

bstrTitle

✔️


string,

Länge > 1

eindeutiger Name des Signaturfeldes im PDF-Dokument

nPage

✔️


>=1

Seite des PDFs, auf der das neue Signaturfeld erzeugt wird

dX

✔️


>=0

X-Koordinate der linken oberen Ecke des neuen Signaturfeldes

Der Ursprung des Koordinatensystems ist in der linken oberen Ecke des PDFs, sofern er nicht über nFlags anders definiert wird.

dY

✔️


>=0

Y-Koordinate der linken oberen Ecke des neuen Signaturfeldes. Der Ursprung des Koordinatensystems ist in der linken oberen Ecke des PDFs, sofern er nicht über nFlags anders definiert wird.

dWidth

✔️


>0

Breite des neuen Signaturfeldes

dHeight

✔️


>0

Höhe des neuen Signaturfeldes

nFlags

✔️


Kombination aus:

Bitmaske


0x01

Das Signaturfeld wird als „Erforderlich“ definiert, und damit zu einem Pflichtfeld.

0x10

sichtbares Bezugssystem verwenden (empfohlen)

Methode DrawTextBoxPdfDocumentMemory

Fügt einen frei wählbaren Text in ein bestehendes PDF-Dokument ein. Neben dem Textinhalt können die Position und Seite, Schriftart, Schriftgröße, Schriftfarbe und Schriftauszeichnung gewählt werden.

Der eingebrachte Text ist nicht umrahmt und wird transparent eingebracht, sodass andere Texte nicht überdeckt werden. Der Text wird als Zeichenkette eingebracht, nicht als Bild. Wenn die Breite der angegebenen Textbox zu klein für die Länge des Textes ist, erfolgt ein automatischer Textumbruch. Die Schriftgröße wird nicht automatisch an die Größe der Textbox angepasst. Übersteigt der Platzbedarf des Textes die Größe der Textbox, wird der nicht darstellbare Teil des Textes abgeschnitten.

Die Methode darf nicht auf schon unterschriebene Dokumente angewendet werden, da sonst die bisher eingebrachten Unterschriften ungültig werden und ein weiteres Unterschreiben unmöglich wird.

C#
void DrawTextBoxPdfDocumentMemory(
                                  ref object pvarPdfArray,
                                  string bstrText,
                                  short xPos1,
                                  short yPos1,
                                  short xPos2,
                                  short yPos2,
                                  int nPage,
                                  string bstrFontName,
                                  double dbFontSize,
                                  bool bFontBold,
                                  bool bFontItalic,
                                  bool bUnderline,
                                  uint oleColor,
                                  int nStandardFont
                                  );
C++
HRESULT DrawTextBoxPdfDocumentMemory(
                                     VARIANT* pvarPdfArray,
                                     BSTR bstrText,
                                     short xPos1,
                                     short yPos1,
                                     short xPos2,
                                     short yPos2,
                                     int nPage,
                                     BSTR bstrFontName,
                                     double dbFontSize,
                                     VARIANT_BOOL bFontBold,
                                     VARIANT_BOOL bFontItalic,
                                     VARIANT_BOOL bUnderline,
                                     OLE_COLOR oleColor,
                                     int nStandardFont
                                     );

Parameter


In

Out

Mögliche

Werte

Beschreibung

pvarPdfArray

✔️

✔️

PDF als Bytearray

PDF in einem Variant

bstrText

✔️


string

einzubringender Text

xPos1

✔️


>0

obere linke Ecke der gewünschten Textbox in Points (X-Koordinate)

yPos1

✔️


>0

obere linke Ecke der gewünschten Textbox in Points (Y-Koordinate)

xPos2

✔️


>0

untere rechte Ecke der gewünschten Textbox in Points (X-Koordinate)

yPos2

✔️


>0

untere rechte Ecke der gewünschten Textbox in Points (Y-Koordinate)

nPage

✔️


>=1

Seite des Dokumentes, auf der der Text eingebracht werden soll

bstrFontName

✔️


Wide-Char-Zeichenkette

Länge > 1

Name der zu verwendenden Schriftart

leerer String

nStandardFont wird zur Definition der Schriftart verwendet

dbFontSize

✔️


>0

Schriftgröße

bFontBold

✔️



nur gültig wenn bstrFontName nicht leer ist


VARIANT_TRUE

Schriftauszeichnung Fett verwenden

VARIANT_FALSE

Schriftauszeichnung Fett nicht verwenden

bFontItalic

✔️




nur gültig wenn bstrFontName nicht leer ist


VARIANT_TRUE

Schriftauszeichnung Kursiv verwenden


VARIANT_FALSE

Schriftauszeichnung Kursiv nicht verwenden

bUnderline

✔️


VARIANT_TRUE

Schriftauszeichnung Unterstreichen verwenden

VARIANT_FALSE

Schriftauszeichnung Unterstreichen nicht verwenden

oleColor

✔️


OLE_COLOR-Struktur

Farbe des einzubringenden Textes (Reihenfolge der Textfarbe BGR beachten)

nStandardFont

✔️


0 - 13

Zu verwendende Schriftart

Parameter wird ignoriert, wenn der Parameter bstrFontName nicht leer ist


0

Courier

1

CourierBold

2

CourierBoldOblique

3

CourierOblique

4

Helvetica

5

HelveticaBold

6

HelveticaBoldOblique

7

HelveticaOblique

8

TimesRoman

9

TimesBold

10

TimesItalic

11

TimesBoldItalic

12

Symbol

13

ZapfDingbats

Eigenschaft SignaturePlaceholderLength

Anzahl an Zeichen, die von den Methoden PreparePdfDocumentMemory und PreparePDFDocumentSigningMemory im PDF-Dokument für die Signatur als Platzhalter freigehalten werden. Die von der aufrufenden Anwendung anschließend berechnete PKCS#7-Signatur darf in Bytes nicht länger als die Hälfte dieses Wertes sein und muss als hexadezimale Zeichenfolge in den Platzhalter geschrieben werden.

Der Wert muss geändert werden, bevor die Methoden PreparePdfDocumentMemory oder PreparePDFDocumentSigningMemory aufgerufen werden, wenn eine andere Größe benötigt wird.

long SignaturePlaceholderLength

In

Out

Mögliche

Werte

Beschreibung

✔️

✔️

>0

Länge des Platzhalters in Zeichen


8192

Standard