![]() |
SignDoc SDK (.NET with exceptions)
5.0.0
|
SignDoc SDK is no longer available for 32-bit iOS.
de.softpro.doc.SignDocDocumentLoader.getInstallationCode() and de.softpro.doc.SignDocDocumentLoader.initLicenseManager() have been removed as license files are no longer supported.
de.softpro.doc.SignDocDocumentLoader.pingMemory(), de.softpro.doc.SignDocDocumentLoader.loadFontConfigBlob(), de.softpro.doc.SignDocDocumentLoader.loadPdfFontConfigBlob(), and de.softpro.doc.SignDocDocumentLoader.loadTrustedCertificatesFromMemory() have been added.
Document coordinates for PDF documents now always use 72 units per inch (that is, SignDoc SDK takes UserUnit into account). Functions de.softpro.doc.SignDocDocument.getConversionFactorX() and de.softpro.doc.SignDocDocument.getConversionFactorY() are no longer needed.
de.softpro.doc.SignPKCS7.sign(), de.softpro.doc.SignRSA.sign(), and de.softpro.doc.SignECDSA.sign() now use strings rather than integers for identifying the hash algorithm. de.softpro.doc.SignRSA.sign() now uses a string rather than an integer for identifying the signature scheme, the salt length is passed as separate parameter. de.softpro.doc.TimeStamper.getHashAlgorithm() has been renamed de.softpro.doc.TimeStamper.getHashAlgorithmOID(), de.softpro.doc.TimeStamper.getFallbackHashAlgorithm() has been renamed de.softpro.doc.TimeStamper.getFallbackHashAlgorithmOID().
Integer parameters "CertificateSigningAlgorithm", "DetachedHashAlgorithm", "RSASignatureScheme", and "TimeStampHashAlgorithm" of de.softpro.doc.SignDocSignatureParameters have been replaced with string parameters of the same names.
de.softpro.doc.SignDocSignatureParameters.addTextItem(), de.softpro.doc.SignDocSignatureParameters.addTextItem2(), and de.softpro.doc.SignDocSignatureParameters.setTextItemDirection() now use strings for identifying the text item.
Integer parameter "Optimize" can now be set to de.softpro.doc.SignDocSignatureParameters.Optimize.Yes without setting string parameter "OutputPath". There is a new value, de.softpro.doc.SignDocSignatureParameters.Optimize.IfPossible, which is now the default value for integer parameter "Optimize".
SignDoc SDK now adds text in logical order and uses ActualText where necessary.
Flags de.softpro.doc.SignDocDocument.FindTextFlags.IgnoreHSpace and de.softpro.doc.SignDocDocument.FindTextFlags.IgnoreHyphenation for de.softpro.doc.SignDocDocument.findText() are now implemented and ActualText is used. (ReversedChars is still ignored.)
de.softpro.doc.SignDocFindTextPosition has been renamed de.softpro.doc.SignDocFindTextOccurrence and now contains information about all glyphs making up the found text rather than information about the first and the last glyph. Bounding boxes are now available in most cases. You can extract the text of a PDF document with de.softpro.doc.SignDocDocument.createTextIterator(), e.g., to implement your own text search.
The functions of the de.softpro.doc.SignDoc*Parameters classes no longer return ReturnCode.NotSupported.
de.softpro.doc.SignDocRenderParameters now has named parameters (see de.softpro.doc.SignDocRenderParameters.setInteger() etc.), the old functions like de.softpro.doc.SignDocRenderParameters.setZoom() have been removed:
Old | New |
---|---|
de.softpro.doc.SignDocRenderParameters.setPage() | "Page" (integer) |
de.softpro.doc.SignDocRenderParameters.setPages() | "FirstPage" (integer), "LastPage" (integer) |
de.softpro.doc.SignDocRenderParameters.setResolution() | "ResolutionX" (floating-opint number), "ResolutionY" (floating-point number) |
de.softpro.doc.SignDocRenderParameters.setZoom() | "Scale" (floating-point number) |
de.softpro.doc.SignDocRenderParameters.fitRect() | "Height" (integer), "Width" (integer) |
de.softpro.doc.SignDocRenderParameters.fitHeight() | "Height" (integer) |
de.softpro.doc.SignDocRenderParameters.fitWidth() | "Width" (integer) |
de.softpro.doc.SignDocRenderParameters.setFormat() | "Format" (string) |
de.softpro.doc.SignDocRenderParameters.setInterlacing() | "Interlaced" (boolean) |
de.softpro.doc.SignDocRenderParameters.setQuality() | "HighQualityScaling" (boolean) |
de.softpro.doc.SignDocRenderParameters.setPixelFormat() | "BlackAndWhite" (boolean) |
de.softpro.doc.SignDocRenderParameters.setCompression() | "Compression" (string) |
de.softpro.doc.SignDocRenderParameters.setDecorations() | "AddDecorations" (boolean) |
de.softpro.doc.SignDocRenderParameters.setDecorationState() | "DecorationState" (string, two parameter names) |
de.softpro.doc.SignDocRenderParameters.setPrint() | "ForPrinting" (boolean) |
de.softpro.doc.SignDocRenderParameters.setModificationState() | "UseModificationState" (boolean) |
Class SignDocParameterNotSetException has been removed.
de.softpro.doc.SignDocDocument.getIntegerProperty() and de.softpro.doc.SignDocDocument.setIntegerProperty() now use a 32-bit integer type for the value of the property on all operating systems.
de.softpro.doc.SignDocDocument.addImageFromBlob has been renamed de.softpro.doc.SignDocDocument.addImageFromMemory, de.softpro.doc.SignDocDocument.addImageFromBlob2 has been renamed de.softpro.doc.SignDocDocument.addImageFromMemory2.
de.softpro.doc.SignDocDocument.copyToMemory(), de.softpro.doc.SignDocDocument.copyAsSignedToMemory(), de.softpro.doc.SignDocDocument.saveToMemory(), de.softpro.doc.SignDocDocument.exportFieldsToMemory(), and de.softpro.doc.SignDocDocument.exportPropertiesToMemory() have been added. They are easier to use than de.softpro.doc.SignDocDocument.copyToStream(), de.softpro.doc.SignDocDocument.copyAsSignedToStream(), and de.softpro.doc.SignDocDocument.saveToStream(), de.softpro.doc.SignDocDocument.exportFields(), and de.softpro.doc.SignDocDocument.exportProperties().
de.softpro.doc.SignDocDocument.convImageRectToPageRect(), de.softpro.doc.SignDocDocument.convPageRectToImageRect(), and de.softpro.doc.SignDocDocument.renderPageAsSignDocImage() have been added.
de.softpro.doc.SignDocDocument.getRenderedSize() now returns the size as return value rather than by side effect.
de.softpro.doc.SignDocSignatureParameters.getState() has been removed, de.softpro.doc.SignDocSignatureParameters.getType() has been added.
de.softpro.doc.SignDocSignature.getMethod() has been added.
Flag de.softpro.doc.SignDocDocument.DocumentFlags.PreventBreakingTaggedPDF has been replaced by de.softpro.doc.SignDocDocument.ShootInFootFlags.AllowBreakingTaggedPDF which has the opposite meaning, that is, SignDoc SDK by default prevents breaking Tagged PDF.
Some SignWare classes have been reimplemented in SignDoc SDK, see
There are now two variants of the .NET API, one using exceptions for reporting errors, the other using return codes for reporting exceptions.
The DLL has been renamed to SPSignDoc_5.0_DotNetEx.dll.
Namespace de.softpro.signdocsdk has been renamed de.softpro.doc.
de.softpro.doc.SignDocException (and derived classes) are thrown instead of System.Exception.
Some methods such as SignDocVerificationResult.getSignatureBlob() threw an exception rather than returning null on error.
The return value of SignDocAnnotation.addPoint(), SignDocAnnotation.newStroke(), SignDocAnnotation.setBackgroundColor(), SignDocAnnotation.setBorderColor(), SignDocAnnotation.setBorderLineWidthInPoints(), SignDocAnnotation.setColor(), SignDocAnnotation.setFlags(), SignDocAnnotation.setLineEnding(), SignDocAnnotation.setLineWidthInPoints(), SignDocAnnotation.setOpacity(), and SignDocAnnotation.setPlainText() has been changed from void to Enums.EAnnotation.ReturnCode.
The type of the certificate argument of SignDocField.addCertSeedValueSubjectCertificate(), SignDocField.setCertSeedValueSubjectCertificate(), and SignDocField.setCertSeedValueSubjectCertificate has been changed from String to array of byte.
The type of the return value of SignDocField.getCertSeedValueSubjectCertificate() has been changed from String to array of byte.
de.softpro.signdocsdk.ISignDocColor has been renamed de.softpro.doc.SignDocColor. ColorGray and ColorRGB have been removed, SignDocColor objects are now created with de.softpro.doc.SignDocColor.createGray() and de.softpro.doc.SignDocColor.createRGB(). The type of color components in SignDocColor has been changed from short to byte.
de.softpro.signdocsdk.Source has been renamed de.softpro.doc.Source.
TODO: SignDocAnnotation.getFontSize() return value on error TODO: SignDocAnnotation return values
The return value of SignDocField.getCertSeedValueSubjectCertificate() and SignDocField.getCertSeedValueIssuerCertificate() has been changed from String to an array of bytes.
The length argument of TimeStamper.stamp() has been removed.
SignDocProperty.setName() and SignDocProperty.setPropType() have been removed. SignDocProperty.getPropType() has been renamed getType().
SignDocVerificationParameters.destroy() has been removed.
The return values of de.softpro.doc.SignDocDocument.getBooleanProperty() and de.softpro.doc.SignDocDocument.getIntegerProperty() are now boxed. null is returned if the property does not exist or does not have the requested type.
The arguments of de.softpro.doc.SignDocDocument.copyAsSignedToStream() have been swapped.
The type of aFlags of de.softpro.doc.SignDocDocument.addText() and de.softpro.doc.SignDocDocument.addText2() has been changed to AddTextFlags.
The type of aFlags of de.softpro.doc.SignDocDocument.copyToStream() has been changed to CopyToStreamFlags.
The type of aFlags of de.softpro.doc.SignDocDocument.exportFields() and de.softpro.doc.SignDocDocument.exportProperties() has been changed to ExportFlags.
The type of aFlags of de.softpro.doc.SignDocDocument.importProperties() has been changed to ImportFlags.
The type of aFlags of de.softpro.doc.SignDocDocument.removeLogicalStructure(), de.softpro.doc.SignDocDocument.removePDFA(), de.softpro.doc.SignDocDocument.removePDFUA(), de.softpro.doc.SignDocDocument.removePermissions(), and de.softpro.doc.SignDocDocument.removeXFA() has been changed to RemoveFlags.
Argument aFlags has been added to de.softpro.doc.SignDocDocument.addAttachmentBlob(), de.softpro.doc.SignDocDocument.addAttachmentFile(), and de.softpro.doc.SignDocDocument.importPages().
de.softpro.signdocsdk.Enums.EDocumentLoader.Handler has been removed.
Some enumerations have been replaced by strings to match the C, C++, and Java APIs and to enable user-defined properties:
All enumerations have been renamed and moved to the de.softpro.doc namespace:
Some enumeration constants have been renamed:
de.softpro.signdocsdk.ISignRSA has been renamed de.softpro.doc.SignRSA, de.softpro.signdocsdk.ISignECDSA has been renamed de.softpro.doc.SignECDSA, de.softpro.signdocsdk.ISignPKCS7 has been renamed de.softpro.doc.SignPKCS7, SignRSAWrapper, SignECDSAWrapper, and SignPKCS7Wrapper are no longer needed (and no longer available).
An empty array or string instead of null must now be passed to some functions: de.softpro.doc.SignDocDocumentLoader.createPDFA() (aICC), de.softpro.doc.SignDocDocumentLoader.setLicenseKey() (aProduct, aVersion, aToken), de.softpro.doc.SignDocDocumentLoader.setLicenseKey2() (aProduct, aVersion, aToken), de.softpro.doc.SignDocDocument.saveToFile() (aPath), and de.softpro.doc.SignDocVerificationResult.getBiometricData() (aKey, aKeyPath, aPassphrase).
de.softpro.doc.SignDocVerificationResult.getCertificates() and de.softpro.doc.SignDocVerificationResult.getTimeStampCertificates() return an object of new class de.softpro.doc.Blobs.