Die Klasse STSignoSigner ist ein wesentlicher Bestandteil der libSignoPDFSigner. Diese Klasse wird zum Laden und Editieren von PDF-Dokumenten verwendet, ohne sie anzuzeigen und bietet die Möglichkeit, dass die Signaturfelder unterschrieben werden. Sämtliche Eigenschaften und Methoden dieser Klasse können auch mit der Klasse STSignoViewController genutzt werden, wenn das Dokument auch angezeigt werden soll.
@interface STSignoSigner : NSObject
Anwendung:
STSignoSigner *signoSigner = [[STSignoSigner alloc] init];
Einige Methoden geben eine Ganzzahl zurück, anhand der ein Fehler erkannt werden kann. Folgende Tabelle enthält die möglichen Fehlercodes:
|
Fehlercode |
Bedeutung |
|---|---|
|
-100 |
Das Dokument konnte nicht geladen werden. |
|
-101 |
Das Schlüsselwort „signer“ wurde nicht gefunden. |
|
-102 |
Das Schlüsselwort „sgnsignature_N“ konnte nicht interpretiert werden. |
|
-103 |
Das Schlüsselwort „sgnsignaturekw_N“ bzw. „sgnsignaturekw_rN“ konnte nicht interpretiert werden. |
|
-104 |
Fehler beim Lesen eines SGN-Schlüsselworts. |
|
-105 |
Fehler beim Lesen eines SGN-Wertes. |
|
-106 |
Fehler beim Erzeugen eines durch „sgnsignature_N“ definierten Signaturfelds. |
|
-107 |
Fehler beim Erzeugen eines durch „sgnsignaturekw_rN“ definierten Signaturfelds. |
|
-108 |
Fehler beim Erzeugen eines durch „sgnsignaturekw_N“ definierten Signaturfelds. |
|
-109 |
Interner Fehler. |
|
-110 |
Das Signaturfeld konnte nicht erzeugt werden. |
|
-112 |
Das Signaturfeld konnte nicht auf der gewünschten Seite erzeugt werden. |
|
-113 |
Ein Formular- oder Signaturfeld mit dem gleichen Namen existiert bereits. |
|
-115 |
Das Signaturfeld wurde bereits unterschrieben. |
|
-116 |
Die Koordinaten des Signaturfeldes liegen außerhalb des sichtbaren Bereichs. |
|
-140 |
Es wurden keine SignData übergeben. |
|
-141 |
Es wurde kein Signaturbild übergeben. |
|
-160 |
Es wurde kein Bild übergeben. |
|
-161 |
Das Bild konnte nicht eingebracht werden. |
|
-162 |
Das Bild hat eine unzulässige Größe. |
|
-163 |
Das Bild konnte nicht auf der gewünschten Seite eingebracht werden. |
|
-164 |
Die Bilddaten sind ungültig oder das Bild hat ein nicht unterstütztes Format. |
|
-165 |
Die Koordinaten des Bilds liegen außerhalb des sichtbaren Bereichs. |
|
-167 |
Ein transparentes Bild kann nicht in ein PDF/A-1b-konformes Dokument eingebracht werden. |
|
-181 |
Das Dokument wurde bereits signiert. |
|
-182 |
Die App besitzt keine Nutzungsrechte für die Kamera. |
|
-183 |
Der Fehlercode wird von den Methoden, die Änderungen am Viewer vornehmen, zurückgegeben, wenn sich der Viewer im Notizen-Modus befindet und die gewünschte Aktion aufgrund des aktuellen Notizen-Modus nicht durchgeführt werden kann. |
|
-200 |
Das Dokument wurde nicht geladen. Die API-Methode soll nach der Methode oder aufgerufen werden. |
|
-201 |
Eine gezeichnete Notiz kann nicht in das PDF-Dokument übernommen werden, weil der Viewer sich nicht im Notizen-Modus befindet. |
|
-202 |
Der Fehlercode wird beim Starten des Notizen-Modus zurückgegeben, wenn es sich bei dem aktuellen Dokument um ein PDF/A-1b-Dokument handelt. Das Einfügen von Bildern mit Alphakanal, die für den Notizen-Modus erforderlich sind, würde die PDF/A-1b-Konformität verletzen, weshalb der Vorgang abgebrochen wird. |
Methode setLicenseKey:
Mit dieser Methode kann die Komponente libSignoPDFSigner freigeschaltet und somit der Demo-Hinweis entfernt werden. Bitte verwenden Sie den Lizenzstring, der Ihnen von Ihrem Kontakt bei signotec mitgeteilt worden ist.
ℹ️ Hinweis: Diese Methode kann nur für Lizenzschlüssel im alten Format verwendet werden. Wenn Sie einen Lizenzschlüssel im neuen UUID-Format (XXXXXXXX–XXXX–XXXX–XXXX–XXXXXXXXXXXX) haben, verwenden Sie bitte die Klasse STLicenceManager.
+(void)setLicenseKey:(NSString*)key
|
Parameter |
Bedeutung |
|---|---|
|
(NSString*)key |
Lizenzstring |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
[STSignoSigner setLicenseKey:@"1234"];
Eigenschaft signoInfoDelegate
Mit dieser Eigenschaft kann die Instanz gesetzt werden, die die Klasse STSignoInfoDelegate implementiert und somit über Ereignisse im STSignoSigner informiert werden soll.
@property (nonatomic, assign) id signoInfoDelegate
|
Eigenschaft |
Bedeutung |
|---|---|
|
id signoInfoDelegate |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
signoSigner.signoInfoDelegate = self;
Eigenschaft timeStampDateFormatter
Mit dieser Eigenschaft kann eine Instanz der NSDateFormatter Klasse gesetzt werden, um einen Zeitstempel mit der Unterschrift visuell ins Dokument einbringen zu können. Im Falle, dass keine Instanz dieser Klasse erzeugt und gesetzt wird, wird keinen Zeitstempel ins Dokument eingebracht. Sie muss gesetzt werden, bevor aufgerufen wird.
@property (nonatomic, strong) NSDateFormatter* timeStampDateFormatter
|
Eigenschaft |
Bedeutung |
|---|---|
|
NSDateFormatter* timeStampDateFormatter |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle: NSDateFormatterFullStyle];
signoSigner.timeStampDateFormatter = dateFormatter;
Eigenschaft timeStampColor
Mit dieser Eigenschaft kann die Farbe des Zeitstempels im Unterschriftbild konfiguriert werden. Wenn die Eigenschaft nicht gesetzt wird, wird standardmäßig Schwarz verwendet.
@property (nonatomic, strong) UIColor* timeStampColor
|
Eigenschaft |
Bedeutung |
|---|---|
|
UIColor* timeStampColor |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
signoSigner.timeStampColor = [UIColor blueColor];
Eigenschaft signFieldBackground
Diese Eigenschaft kann ein Bild enthalten, welches hinter der gerenderten Unterschrift in ein Signaturfeld eingebracht wird. Das Bild wird hierbei bündig mit der rechten oberen Ecke des Signaturfelds abgeschlossen und je nach Seitenverhältnis in die Höhe oder Breite des Feldes skaliert. Die Eigenschaft muss spätestens vor dem Aufruf von acceptSignature: in der Methode geändert werden, um für die aktuelle Unterschrift berücksichtigt zu werden. Enthält sie nil, wird kein Hintergrundbild eingebracht.
@property (nonatomic, strong) UIImage* signFieldBackground
|
Eigenschaft |
Bedeutung |
|---|---|
|
UIImage* signFieldBackground |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
signoSigner.signFieldBackground = myImage;
Eigenschaft digitalSignatureMaxLength
Diese Eigenschaft enthält die max. Länge der digitalen Signatur in Bytes, für die im Dokument beim Vorbereiten der Signierung Platz vorgehalten wird. Ist die Signatur länger als definiert, kann das Dokument nicht signiert werden.
@property (nonatomic, assign) NSInteger digitalSignatureMaxLength
|
Eigenschaft |
Bedeutung |
|---|---|
|
NSInteger digitalSignatureMaxLength |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
signoSigner.digitalSignatureMaxLength = 16384;
Methode loadDocumentFromFile:
Diese Methode lädt ein PDF-Dokument und interpretiert ggf. die enthaltenen SGN-Schlüsselwörter.
ℹ️ Hinweis: Wird diese Methode aus dem heraus aufgerufen, wird das Dokument unmittelbar nach dem Laden angezeigt.
-(int)loadDocumentFromFile:(NSData*)document
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSData*)document |
Das zu ladende Dokument als Byte-Array. |
|
|
Rückgabewert |
Bedeutung |
|
|
int |
0 |
Methode wurde erfolgreich ausgeführt. |
|
|
< 0 |
Es ist ein Fehler aufgetreten (s. o.). |
Anwendung:
int ret = [signoSigner loadDocumentFromFile:document];
if (ret < 0) {
// error handling
}
Methode getDocumentMetaData
Diese Methode liest die Metadaten des Dokuments aus.
-(NSString*)getDocumentMetaData
|
Parameter |
Bedeutung |
|---|---|
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
NSString* |
„Metadata“-Eintrag aus dem „Document Catalog“ |
Anwendung:
NSString* metaData = [signoSigner getDocumentMetaData];
Methode getDocumentMetaDataFromFile:
Diese Methode liest die Metadaten des Dokuments aus, ohne dass eine ggf. vorhandene Instanz der Klasse STSignoSigner beeinflusst wird.
+(NSString*)getDocumentMetaDataFromFile:(NSData*)document
|
Parameter |
Bedeutung |
|---|---|
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
Rückgabewert |
Bedeutung |
|
NSString* |
„Metadata“-Eintrag aus dem „Document Catalog“ |
Anwendung:
NSString* metaData = [STSignoSigner getDocumentMetaDataFromFile:document];
Methode setCertificates:signingCertificate:biometricCertificate:
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen -[STCertificateManager setCertificates:withSigningPrivateKey:biometricX509Certificate:] oder eine andere geeignete Methode aus der Klasse STCertificateManager.
Methode setCertificates:signCertPassword:biometricCertificate:
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen -[STCertificateManager setCertificates:withPKC12Password:biometricX509Certificate:] oder eine andere geeignete Methode aus der Klasse STCertificateManager.
Methode createNewSignatureField:
Diese Methode erzeugt ein neues leeres Signaturfeld.
-(int)createNewSignatureField:(STSignatureFieldInfoDTO*)signatureField
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(STSignatureFieldInfoDTO*) signatureField |
Objekt, das die Eigenschaften des neuen Feldes enthält. |
|
|
Rückgabewert |
Bedeutung |
|
|
int |
0 |
Methode wurde erfolgreich ausgeführt. |
|
|
< 0 |
Es ist ein Fehler aufgetreten (s. o.). |
Anwendung:
int ret = [signoSigner createNewSignatureField:signatureField];
if (ret < 0)
{
// error handling
}
Methode getSignatureInfo
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode
Methode getFormFieldsInfo
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode
Methode getFormFields:
Mit dieser Methode können Informationen über die im Dokument enthaltenen Formularfelder abgerufen werden.
-(NSMutableArray*)getFormFields:(FormFieldTypeOptions)formFieldTypeOptions
|
Parameter |
Bedeutung |
|---|---|
|
(FormFieldTypeOptions) formFieldTypeOptions |
Ein mit NS_OPTIONS definierter Bitmasken-Typ (NSUInteger), der die kombinierbaren Typen von Formularfeldern repräsentiert. Siehe . |
|
Rückgabewert |
Bedeutung |
|
NSMutableArray* |
Eine Liste mit je einem -Objekt oder einem Objekt der Klasse, die von der Klasse abgeleitet ist, pro Formularfeld oder eine leere Liste, wenn das Dokument keine Formularfelder enthält, die den gesuchten Formularfeldtypen entsprechen. |
Anwendung:
NSMutableArray *sigFields = [signoSigner getFormFields:FormFieldTypeSignature];
NSMutableArray *textFields = [signoSigner getFormFields:FormFieldTypeText];
NSMutableArray *textAndButtonFields = [signoSigner getFormFields:(FormFieldTypeText | FormFieldTypeButton)];
NSMutableArray *editableFields = [signoSigner getFormFields:FormFieldTypeEditableFields];
NSMutableArray *allFields = [signoSigner getFormFields:FormFieldTypeAll];
Methode getFormFieldsInfoFromFile:
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode
Methode getSignatureInfoFromFile:
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Bitte verwenden Sie stattdessen die Methode
Methode getFormFieldsFromFile: formFieldTypeOptions
Mit dieser Methode können Informationen über die im Dokument enthaltenen Formularfelder abgerufen werden, ohne dass eine ggf. vorhandene Instanz der Klasse STSignoSigner beeinflusst wird.
+(NSMutableArray*)getFormFieldsFromFile:(NSData*)document formFieldTypeOptions:(FormFieldTypeOptions)formFieldTypeOptions
|
Parameter |
Bedeutung |
|---|---|
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
(FormFieldTypeOptions) formFieldTypeOptions |
Ein mit NS_OPTIONS definierter Bitmasken-Typ (NSUInteger), der die kombinierbaren Typen von Formularfeldern repräsentiert. Siehe . |
|
Rückgabewert |
Bedeutung |
|
NSMutableArray* |
Eine Liste mit je einem -Objekt oder einem Objekt der Klasse, die von der Klasse abgeleitet ist, pro Formularfeld oder eine leere Liste, wenn das Dokument keine Formularfelder enthält, die den gesuchten Formularfeldtypen entsprechen. |
Anwendung:
NSMutableArray* formFields = [STSignoSigner getFormFieldsFromFile:document formFieldTypeOptions: FormFieldTypeEditableFields];
Methode setFormFieldsInfo:
Mit dieser Methode können der Inhalt und die „read only“-Eigenschaft von Formularfeldern geändert werden.
-(void)setFormFieldsInfo:(NSMutableArray*)fields
|
Parameter |
Bedeutung |
|---|---|
|
(NSMutableArray*) fields |
Formularfelder, deren Eigenschaften geändert werden sollen, in Form eines Arrays von -Objekten. Von den Objekten werden derzeit nur die Eigenschaften name, value und readOnly ausgewertet. |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
NSMutableArray* editableFormFields = [signoSigner getFormFields: FormFieldTypeEditableFields];
for (* editableFormField in editableFormFields)
{
if ([editableFormField.name isEqualToString: @"MyField"])
{
editableFormField.value = @"My value";
editableFormField.readOnly = YES;
}
}
[signoSigner setFormFieldsInfo: editableFormFields];
Methode setFormFieldsInfo:toFile:
Mit dieser Methode können der Inhalt und die „read only“-Eigenschaft von Formularfeldern geändert werden.
+(NSData*)setFormFieldsInfo:(NSMutableArray*)fields toFile:(NSData*)document
|
Parameter |
Bedeutung |
|---|---|
|
(NSMutableArray*) fields |
Formularfelder, deren Eigenschaften geändert werden sollen, in Form eines Arrays von -Objekten. Von den Objekten werden derzeit nur die Eigenschaften name, value und readOnly ausgewertet. |
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
Rückgabewert |
Bedeutung |
|
NSData* |
Das geänderte Dokument als Byte-Array. |
Anwendung:
NSMutableArray* editableFormFields = [STSignoSigner getFormFields:doc formFieldTypeOptions: FormFieldTypeEditableFields];
for (STFormFieldInfo* editableFormField in editableFormFields)
{
if ([editableFormField.name isEqualToString: @"MyField"])
{
editableFormField.value = @"My value";
editableFormField.readOnly = YES;
}
}
NSData* changedDoc = [STSignoSigner setFormFieldsInfo: editableFormFields toFile:doc];
Methode getPreviewImages:withWidth:
Mit dieser Methode können die einzelnen Seiten des geladenen Dokuments als Bilder abgerufen werden.
-(NSMutableArray*)getPreviewImages:(NSArray*)pages withWidth:(int)width
|
Parameter |
Bedeutung |
|---|---|
|
(NSArray*)pages |
Array mit den Nummern der Seiten, die gerendert werden sollen. Nummern, die größer als die Seitenanzahl sind, werden ignoriert. Die erste Seitennummer des Dokuments beginnt mit 1. |
|
(int)width |
Breite der Seitenminiatur in Pixeln; bei Übergabe eines ungültigen Wertes wird 100 verwendet. |
|
Rückgabewert |
Bedeutung |
|
NSMutableArray* |
Seitenminiaturen in Form eines Arrays von UIImage-Objekten (die Reihenfolge entspricht der Reihenfolge des Parameters pages) oder nil. |
Anwendung:
NSArray* pages = @[@1, @2];
NSMutableArray* previewImages = [signoSigner getPreviewImages:pages withWidth:100];
Methode signSignatureField:withSignData:andImage
Mit dieser Methode kann ein bestimmtes Signaturfeld mit einer Unterschrift signiert werden, die separat erfasst wurde. Eine Unterschrift bestehend aus den biometrischen Daten und dem Bild der Unterschrift kann z. B. mit dem STSignatureCaptureViewController erfasst werden.
(int)signSignatureField:(NSString*)signatureFieldName withSignData:(NSData*)signData andImage:(NSData*)image
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSString*) signatureFieldName |
Name des Signaturfeldes, das signiert werden soll; das Feld darf noch nicht signiert sein. Wenn das Dokument kein Feld mit diesem Namen enthält, wird ein neues Feld auf Seite 1 mit den Koordinaten (0, 0, 0, 0) eingebracht. |
|
|
(NSData*)signData |
Byte-Array mit den biometrischen Daten, wie es von [STSignatureCaptureViewController getSignData] zurückgegeben wird. |
|
|
(NSData*)image |
Byte-Array mit dem Bild der Unterschrift, wie es von [STSignatureCaptureViewController getSignatureImage:height:penColor:penWidth:] zurückgegeben wird. |
|
|
Rückgabewert |
Bedeutung |
|
|
int |
0 |
Methode wurde erfolgreich ausgeführt. |
|
|
< 0 |
Es ist ein Fehler aufgetreten (s. a. |
|
). |
|
|
Anwendung:
NSData* signData = [signoCaptureVC getSignData];
NSData* image = [signoCaptureVC getSignatureImage:800 height:600 pencolor:[UIColor blueColor] penWidth:5.0];
int ret = [signoSigner signSignatureField:@"test_signature" withSignData:signData andImage:image];
if (ret < 0)
{
// error handling
}
Methode signDocument:withExternalSigning:
Diese Methode fügt dem Dokument eine digitale Signatur hinzu, ohne dass eine Unterschrifterfassung durchgeführt wird. Je nach Wert des Parameters externalSigning müssen zuvor der private Schlüssel und das Zertifikat zum Signieren mit der Methode bzw. übergeben worden sein, das übergebene Biometrie-Zertifikat wird in jedem Fall ignoriert.
(int)signDocument:(NSString*)signatureFieldName withExternalSigning:(BOOL)externalSigning
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSString*) signatureFieldName |
Name des Signaturfeldes, das signiert werden soll; das Feld darf noch nicht signiert sein. Wenn das Dokument kein Feld mit diesem Namen enthält, wird ein neues Feld auf Seite 1 mit den Koordinaten (0, 0, 0, 0) eingebracht. |
|
|
(BOOL)externalSigning |
YES |
Die Signatur soll außerhalb des APIs berechnet werden, hierzu s. a. . |
|
|
NO |
Für die Berechnung der Signatur soll der mit setCertificates übergebene Schlüssel verwendet werden. |
|
Rückgabewert |
Bedeutung |
|
|
int |
0 |
Methode wurde erfolgreich ausgeführt. |
|
|
< 0 |
Es ist ein Fehler aufgetreten (s. a. |
|
). |
|
|
Anwendung:
int ret = [signoSigner signDocument:@"final_doc_signature" withExternalSigning:NO];
if (ret < 0)
{
// error handling
}
Methode getDocumentAsFile
Diese Methode gibt das Dokument im aktuellen Zustand zurück.
-(NSData*)getDocumentAsFile
|
Parameter |
Bedeutung |
|---|---|
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
NSData* |
Das Dokument als Byte-Array |
Anwendung:
NSData* doc = [signoSigner getDocumentAsFile];
Methode appendPage:document:images
Mit dieser Methode kann eine leere Seite an ein Dokument angehängt und optional Bilder auf dieser Seite eingefügt werden.
+(NSData*)appendPage:(STRectDTO*)size document:(NSData*)document images:(NSArray*)images
|
Parameter |
Bedeutung |
|---|---|
|
(STRectDTO*)size |
Die Größe der neuen Seite. |
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
(NSArray*)images |
Ein Array von STImageDTO-Objekten. Darf nil sein, dann werden keine Bilder hinzugefügt. |
|
Rückgabewert |
Bedeutung |
|
NSData* |
Das geänderte Dokument als Byte-Array. |
Anwendung:
STRectDTO* size = [[STRectDTO alloc] init];
size.rectangle = CGRectMake(0, 0, 210, 297);
size.unit = UnitMillimetres;
STImageDTO* image = [[STImageDTO alloc] init];
Image.image = myImage;
Image.size = size;
NSArray* images = @[image];
NSData* changedDoc = [STSignoSigner appendPage:size document:document images:images];
Methode appendPages:document:pages:images
Mit dieser Methode können mehrere leere Seiten an ein Dokument angehängt und optional Bilder auf dieser Seite eingefügt werden.
+(NSData*)appendPages:(STRectDTO*)size document:(NSData*)document pages: (int)pages images:(NSArray*)images
|
Parameter |
Bedeutung |
|---|---|
|
(STRectDTO*)size |
Die Größe der neuen Seiten. |
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
(int)pages |
Die Anzahl der anzuhängenden Seiten. |
|
(NSArray*)images |
Ein Array von STImageDTO-Objekten. Darf nil sein, dann werden keine Bilder hinzugefügt. |
|
Rückgabewert |
Bedeutung |
|
NSData* |
Das geänderte Dokument als Byte-Array. |
Anwendung:
STRectDTO* size = [[STRectDTO alloc] init];
size.rectangle = CGRectMake(0, 0, 595, 842);
size.unit = UnitMillimetres;
STImageDTO* image = [[STImageDTO alloc] init];
Image.image = myImage;
Image.size = size;
NSArray* images = @[image];
NSData* changedDoc = [STSignoSigner appendPages:size document:document pages:2 images:images];
Methode createDocument:pages:compliance:images
Mit dieser Methode kann ein Dokument aus leeren Seiten erzeugt und optional Bilder auf den Seiten eingefügt werden.
+(NSData*)createDocument:(STRectDTO*)size pages:(int)pages compliance:(enum PdfACompliance)compliance images:(NSArray*)images
|
Parameter |
Bedeutung |
|---|---|
|
(STRectDTO*)size |
Die Größe der neuen Seite. |
|
(int)pages |
Die Anzahl der Seiten. |
|
(enum PdfACompliance) compliance |
PDF/A-Konformität |
|
(NSArray*)images |
Ein Array von STImageDTO-Objekten. Darf nil sein, dann werden keine Bilder hinzugefügt. |
|
Rückgabewert |
Bedeutung |
|
NSData* |
Das erzeugte Dokument als Byte-Array. |
Die Enumeration PdfACompliance ist in der Klasse STPDFACompliance wie folgt definiert:
typedef enum PdfACompliance { None, PdfA1b, PdfA3b } pdfACompliance;
|
Wert |
Bedeutung |
|---|---|
|
None |
Keine PDF/A-Konformität |
|
PdfA1b |
PDF/A1b-Konformität |
|
PdfA3b |
PDF/A3b-Konformität |
Anwendung:
STRectDTO* rectDTO = [[STRectDTO alloc] init];
rectDTO.rectangle = CGRectMake(0, 0, 210, 297);
rectDTO.unit = UnitMillimetres;
STImageDTO* image = [[STImageDTO alloc] init];
image.image = myImage;
image.rectangle = rectDTO;
image.page = 1;
NSArray* images = @[image];
NSData* createdDoc = [STSignoSigner createDocument:size pages:3 compliance:PdfA1b images:images]
Methode addImages:
Mit dieser Methode können Bilder in das geladene Dokument eingefügt werden.
-(int)addImages:(NSMutableArray*)images
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSMutableArray*) images |
Ein Array von STImageDTO-Objekten. Darf nil sein, dann werden keine Bilder hinzugefügt. |
|
|
Rückgabewert |
Bedeutung |
|
|
int |
0 |
Methode wurde erfolgreich ausgeführt. |
|
|
< 0 |
Es ist ein Fehler aufgetreten. (s. o.). |
Anwendung:
STRectDTO* rectDTO = [[STRectDTO alloc] init];
rectDTO.rectangle = CGRectMake(0, 0, 210, 297);
rectDTO.unit = UnitMillimetres;
STImageDTO* image = [[STImageDTO alloc] init];
image.image = myImage;
image.rectangle = size;
image.page = 1;
NSMutableArray* images = @[image];
int result = [signoSigner addImages:images]:
Methode startTextSearch:inPage:highlightColor:onlyWholeWord:caseSensitive
Diese Methode sucht nach einem Text auf einer PDF-Seite, hebt ggf. alle Fundstellen visuell hervor (nur in der Klasse ) und liefert die Positionen aller Fundstellen zurück.
-(NSMutableArray*)startTextSearch:(NSString*)text inPage:(int)page highlightColor:(UIColor*)highlightColor onlyWholeWord:(BOOL)onlyWholeWord caseSensitive:(BOOL)caseSensitive
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSString*)text |
Text, der gesucht wird. |
|
|
(int)page |
Seite, auf der der Text gesucht wird. Die erste Seitennummer des Dokuments beginnt mit 1. |
|
|
(UIColor*) highlightColor |
Hintergrundfarbe des Rechtecks, welches den gefundenen Suchtext im PDF-Viewer visuell hervorhebt. Wenn nil übergeben wird, wird keine Hervorhebung angezeigt. |
|
|
(BOOL)onlyWholeWord |
YES |
Es werden nur ganze Wörter gefunden. |
|
|
NO |
Es werden alle Vorkommen gefunden. |
|
(BOOL)caseSensitive |
YES |
Die Groß-/Kleinschreibung wird berücksichtigt. |
|
|
NO |
Die Groß-/Kleinschreibung wird ignoriert. |
|
Rückgabewert |
Bedeutung |
|
|
NSMutableArray* |
Die Positionen aller Fundstellen in Form eines Arrays von CGRect-Struktur oder ein leeres Array. |
|
Anwendung:
NSMutableArray *foundedTexts = [signoSigner startTextSearch:"@Signature" inPage:1 highlightColor:nil onlyWholeWord:YES caseSensitive:YES];
for (NSValue* value in foundedTexts)
{
CGRect rect = [value CGRectValue];
SignatureFieldInfoDTO *field = [SignatureFieldInfoDTO alloc] init];
field.name = "@New_Signature";
field.page = 1;
field.isSigned = false;
field.rectangle = rect;
int result = [signoSigner createNewSignatureField:field];
}
Methode startTextSearch:inPage:highlightColor:primaryMatchColor:onlyWholeWord:caseSensitive
Diese Methode sucht nach einem Text auf einer PDF-Seite, hebt ggf. alle Fundstellen visuell hervor (nur in der Klasse ) und liefert die Positionen aller Fundstellen zurück. Im Gegensatz zur Methode kann damit auch im ganzen Dokument gesucht und das erste Ergebnis anders hervorgehoben werden.
-(NSMutableArray*)startTextSearch:(NSString*)text inPage:(int)page highlightColor:(UIColor*)highlightColor primaryMatchColor:(UIColor*)primaryMatchColor onlyWholeWord:(BOOL)onlyWholeWord caseSensitive:(BOOL)caseSensitive
|
Parameter |
Bedeutung |
|
|---|---|---|
|
(NSString*)text |
Text, der gesucht wird. |
|
|
(int)page |
> 0 |
Seite, auf der der Text gesucht wird. Die erste Seitennummer des Dokuments beginnt mit 1. |
|
|
0 |
Der Text wird im ganzen Dokument gesucht. |
|
(UIColor*) highlightColor |
Hintergrundfarbe des Rechtecks, welches den gefundenen Suchtext im PDF-Viewer visuell hervorhebt. Wenn nil übergeben wird, wird keine Hervorhebung angezeigt. |
|
|
(UIColor*) primaryMatchColor |
Farbe, mit der nur das erste gefundene Suchergebnis im PDF-Viewer visuell anders als mit der highlightColor hervorgehoben wird. Wenn nil übergeben wird, wird keine Hervorhebung angezeigt. |
|
|
Mit der Methode kann anschließend das nächste oder letzte Ergebnis hervorgehoben werden. |
|
|
|
(BOOL)onlyWholeWord |
YES |
Es werden nur ganze Wörter gefunden. |
|
|
NO |
Es werden alle Vorkommen gefunden. |
|
(BOOL)caseSensitive |
YES |
Die Groß-/Kleinschreibung wird berücksichtigt. |
|
|
NO |
Die Groß-/Kleinschreibung wird ignoriert. |
|
Rückgabewert |
Bedeutung |
|
|
NSMutableArray* |
Die Positionen aller Fundstellen in Form eines Arrays von CGRect-Struktur oder ein leeres Array. |
|
Anwendung:
NSMutableArray *foundedTexts = [signoSigner startTextSearch:"@Signature" inPage:1 highlightColor:nil primaryMatchColor:nil onlyWholeWord:YES caseSensitive:YES];
for (NSValue* value in foundedTexts)
{
CGRect rect = [value CGRectValue];
SignatureFieldInfoDTO *field = [SignatureFieldInfoDTO alloc] init];
field.name = "@New_Signature";
field.page = 1;
field.isSigned = false;
field.rectangle = rect;
int result = [signoSigner createNewSignatureField:field];
}
Methode setSignatureFieldInfo:
Mit dieser Methode können einer digitalen Signatur die Signatureinzelheiten wie den Standort der Signatur, den Signaturgrund und die Kontaktinformationen des Unterzeichners hinzugefügt werden. Diese Methode wird i.d.R. in der Methode oder vor der Methode aufgerufen.
-(void)setSignatureFieldInfo:(*)signatureFieldInfoDTO
|
Parameter |
Bedeutung |
|---|---|
|
Ein -Objekt |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
STSignatureFieldInfoDTO* signatureFieldInfoDTO = [STSignatureFieldInfoDTO alloc] init];
signatureFieldInfoDTO.name = @"My Signature";
signatureFieldInfoDTO.location = @"My Location";
signatureFieldInfoDTO.reason = @"My Reason";
signatureFieldInfoDTO.contactInfo = @"info@company.com";
[signoSigner setSignatureFieldInfo: signatureFieldInfoDTO];
Methode getPreviewImages:ofPages:withWidth:
Mit dieser Methode können die einzelnen Seiten eines Dokuments als Bilder abgerufen werden.
+(NSMutableArray*)getPreviewImages:(NSData*)document ofPages(NSArray*)pages withWidth:(int)width
|
Parameter |
Bedeutung |
|---|---|
|
(NSData*)document |
Das Dokument als Byte-Array. |
|
(NSArray*)pages |
Array mit den Nummern der Seiten, die gerendert werden sollen. Nummern, die größer als die Seitenanzahl sind, werden ignoriert. Die erste Seitennummer des Dokuments beginnt mit 1. |
|
(int)width |
Breite der Seitenminiatur in Pixeln; bei Übergabe eines ungültigen Wertes wird 100 verwendet. |
|
Rückgabewert |
Bedeutung |
|
NSMutableArray* |
Seitenminiaturen in Form eines Arrays von UIImage-Objekten (die Reihenfolge entspricht der Reihenfolge des Parameters pages) oder nil. |
Anwendung:
NSArray* pages = @[@1, @2];
NSData* document = ..
NSMutableArray* previewImages = [STSignoSigner getPreviewImages:document ofPages:pages withWidth:100];
Methode isDocumentModified
Mit dieser Methode kann überprüft werden, ob das geladene Dokument geändert wurde.
-(BOOL)isDocumentModified
|
Parameter |
Bedeutung |
|
|---|---|---|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
BOOL |
YES |
Das Dokument wurde geändert. |
|
|
NO |
Das Dokument wurde nicht geändert. |
Anwendung:
BOOL documentState = [signoSigner isDocumentModified];
Methode releaseSignoSigner
Mit dieser Methode kann die erzeugte Instanz der STSignoSigner-Klasse freigegeben werden. Sie sollte immer aufgerufen werden, wenn eine Instanz nicht mehr benötigt wird.
-(void)releaseSignoSigner
|
Parameter |
Bedeutung |
|---|---|
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
[signoSigner releaseSignoSigner];
Methode hasCertificates
Diese Methode ist veraltet und nur noch aus Kompatibilitätsgründen enthalten. Mit dieser Methode kann überprüft werden, ob die Schlüssel und Zertifikate zum Verschlüsseln der Biometrie und zum Signieren des Dokuments mit einer der Methoden oder übergeben worden sind.
-(BOOL)hasCertificates
|
Parameter |
Bedeutung |
|
|---|---|---|
|
- |
- |
|
|
Rückgabewert |
Bedeutung |
|
|
BOOL |
YES |
Die Schlüssel und Zertifikate zum Verschlüsseln der Biometrie und zum Signieren des Dokuments sind vorhanden. |
|
|
NO |
Die Schlüssel und Zertifikate zum Verschlüsseln der Biometrie und zum Signieren des Dokuments sind nicht vorhanden. |
Anwendung:
BOOL hasCertificates = [signoSigner hasCertificates];
Methode unloadDocument
Mit dieser Methode kann das zuletzt mit der loadDocumentFromFile Methode geladene Dokument entladen werden. Sie sollte spätestens aufgerufen werden, bevor ein neues Dokument geladen wird.
-(void)unloadDocument
|
Parameter |
Bedeutung |
|---|---|
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
- |
- |
Anwendung:
[signoSigner unloadDocument];
Methode getPageCount
Diese Methode gibt die Anzahl der Seiten des geladenen Dokuments zurück.
-(int)getPageCount
|
Parameter |
Bedeutung |
|---|---|
|
- |
- |
|
Rückgabewert |
Bedeutung |
|
int |
Die Anzahl der Seiten. |
Anwendung:
int pagesNumber = [signoSigner getPageCount];
Methode getPageDimension:
Diese Methode gibt die Seitendimension einer bestimmten Seite des Dokuments zurück.
-(CGSize)getPageDimension:(int)pageNr
|
Parameter |
Bedeutung |
|---|---|
|
(int)pageNr |
Die Seitennummer. |
|
Rückgabewert |
Bedeutung |
|
Die Seitendimension der Seite oder CGSizeZero, wenn keine Seite für die übergebene Seitennummer gefunden wird. |
Anwendung:
CGSize pageDimension = [signoSigner getPageDimension:3];