signoAPI iOS – Klasse STSignoSigner

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

  • signatureFieldInfoDTO

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

CGSize

Die Seitendimension der Seite oder CGSizeZero, wenn keine Seite für die übergebene Seitennummer gefunden wird.

Anwendung:

CGSize pageDimension = [signoSigner getPageDimension:3];