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.
void AnalyzePdfDocumentMemory(ref object pvarPdfArray, ref string bstrXMLResultData);
HRESULT AnalyzePdfDocumentMemory(VARIANT* pvarPdfArray, BSTR bstrXMLResultData);
|
Parameter
|
In |
Out |
Mögliche Werte |
Beschreibung |
|---|---|---|---|---|
|
pvarPdfArray |
✔️ |
✔️ |
Inhalt des PDFs Enthält bei Rückkehr gegebenenfalls das veränderte Dokument, ansonsten das ursprüngliche Dokument |
|
|
bstrXMLResultData |
|
✔️ |
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.
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
);
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 |
✔️ |
|
Informationen über das für die Unterschrifterfassung verwendete Signaturgerät |
||
|
pvarPdfArray |
✔️ |
✔️ |
Inhalt des PDFs |
||
|
varSignDataArray |
✔️ |
|
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 |
✔️ |
|
Daten-Array des PKCS12-Zertifikats mit dem privaten Schlüssel zum digitalen Signieren (für DigSig Mechanismus) |
||
|
bstrSignCertPassword |
✔️ |
|
string |
Passwort für varSignCertArray |
|
|
varCryptBioCertArray |
✔️ |
|
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 |
✔️ |
|
zusätzlich einzubringende Informationen |
||
|
varImageArray |
✔️ |
|
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.
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
);
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 |
✔️ |
|
Informationen über das für die Unterschrifterfassung verwendete Signaturgerät |
||
|
pvarPdfArray |
✔️ |
✔️ |
Inhalt des PDFs |
||
|
varSignDataArray |
✔️ |
|
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 |
✔️ |
|
Daten Array von X.509-Zertifikat mit dem öffentlichen Schlüssel zum Ermitteln seiner Eigenschaften |
||
|
varCryptBioCertArrayOrRefString |
✔️ |
|
ö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 |
✔️ |
|
zusätzlich einzubringende Informationen |
||
|
varImageArray |
✔️ |
|
Unterschriftenbild, das in PDF-Dokument eingebracht wird Für PDF/A-1b-Konformität darf das Unterschriftenbild keinen Alphakanal enthalten. |
||
|
pvarDocHashArray |
|
✔️ |
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.
void PreparePDFDocumentSigningMemory(
ref object pvarPdfArray,
string bstrSigfieldTitle,
string bstrXMLSignatureData,
object varImageArray,
ref object pvarDocHashArray,
ref int plDocSignaturePosition,
int lOptions,
ref int plReserved
);
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 in einem Variant |
||
|
bstrSigfieldTitle |
✔️ |
|
string, Länge > 1 |
eindeutiger Name des zu unterschreibenden DigSig-Feldes |
|
|
bstrXMLSignatureData |
✔️ |
|
zusätzlich einzubringende Informationen |
||
|
varImageArray |
✔️ |
|
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 |
|
✔️ |
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.
void GetReferenceCountMemory(
object varPdfArray,
int nPage,
ref int plCount,
int nOption
);
HRESULT GetReferenceCountMemory(
VARIANT varPdfArray,
int nPage,
long* plCount,
int nOption
);
|
Parameter
|
In |
Out |
Mögliche Werte |
Beschreibung |
|---|---|---|---|---|
|
pvarPdfArray |
✔️ |
|
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.
void GetReferenceMemory(
object varPdfArray,
int nReserved,
string bstrSigfieldTitle,
object varPFXCertArray,
string bstrPFXPassword,
ref object pvarSigndata,
string pbstrXMLResultData,
int nOption
);
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 in einem Variant |
|
|
nReserved |
✔️ |
|
0 |
reserviert |
|
bstrSigfieldTitle |
✔️ |
|
string, Länge > 1 |
eindeutiger Name des auszulesenden DigSig-Feldes |
|
varPFXCertArray |
✔️ |
|
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 |
|
✔️ |
Signaturdaten |
|
|
pbstrXMLResultData |
|
✔️ |
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.
void VerifyPdfDocumentMemory(
object varPdfArray,
ref string pbstrXMLResultData,
ref int plOptions
);
HRESULT VerifyPdfDocumentMemory(
VARIANT varPdfArray,
BSTR* pbstrXMLResultData,
long* plOptions
);
|
Parameter
|
In |
Out |
Mögliche Werte |
Beschreibung |
|
|---|---|---|---|---|---|
|
pvarPdfArray |
✔️ |
✔️ |
Inhalt des PDFs |
||
|
pbstrXMLResultData |
|
✔️ |
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.
void GetDSFieldInfoMemory(
object varPdfArray,
ref string pbstrXMLResultData,
int nOptions
);
HRESULT GetDSFieldInfoMemory(
VARIANT varPdfArray,
BSTR* pbstrXMLResultData,
int nOptions
);
|
Parameter
|
In |
Out |
Mögliche Werte |
Beschreibung |
|
|---|---|---|---|---|---|
|
pvarPdfArray |
✔️ |
✔️ |
Inhalt des PDFs |
||
|
pbstrXMLResultData |
|
✔️ |
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.
void VerifyCertificateMemory(
object varCertArray,
string bstrOptionalPFXPassword,
int nReserved,
ref int plCertStatus
);
HRESULT VerifyCertificateMemory(
VARIANT varCertArray,
BSTR bstrOptionalPFXPassword,
int nReserved,
long* plCertStatus
);
|
Parameter
|
In |
Out |
Mögliche Werte |
Beschreibung |
|
|---|---|---|---|---|---|
|
varCertArray |
✔️ |
|
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.
void CreateDSFieldMemory(
ref object pvarPdfArray,
string bstrTitle,
int nPage,
double dX,
double dY,
double dWidth,
double dHeight,
int nFlags
);
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 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.
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
);
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 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 |
||