Xojo Conferences

DynaPDF Manual - Page 189

Previous Page 188   Index   Next Page 190

Function Reference
Page 189 of 766
If the function succeeds the signature must be written to the PDF file with FinishSignature(). Take a
look into the example external_signatures to determine how the function can be used. It is usually
best to open the the output file right before FinishSignature() will be called (see OpenOutputFile()).
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0.
SI32 pdfCloseFile(
const PPDF* IPDF) // Instance pointer
This function finishes the PDF file and frees all used resources if the file was not created in memory.
The buffer of a memory based PDF file can be returned by GetBuffer() after this function was called.
Note that GetBuffer() does not free the used resources because it returns a pointer to the original
buffer. After the buffer was processed by your application call FreePDF() to free the used resources.
See also CreateNewPDF(), GetBuffer(), FreePDF().
To encrypt a PDF file use CloseFileEx() instead of CloseFile().
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0.
SI32 pdfCloseFileEx(
const PPDF* IPDF,
// Instance pointer
const char* OpenPwd,
// Open password (can be NULL)
const char* OwnerPwd,
// Owner password (can be NULL)
TKeyLen KeyLen,
// Key length (40 or 128 bit)
TRestrictions Restrict) // Flags to restrict certain features
typedef enum
= 0, // RC4 Encryption -> PDF 1.2, Acrobat 3 or higher
= 1, // RC4 Encryption -> PDF 1.4, Acrobat 5 or higher
kl128bitEx = 2, // RC4 Encryption -> PDF 1.5, Acrobat 6 or higher
= 3, // AES Encryption -> PDF 1.6, Acrobat 7 or higher
= 4, // AES Encryption -> PDF 1.7, Acrobat 9 or higher
= 5
// AES Encryption -> PDF 2.0, Acrobat X or higher
typedef SI32 TRestrictions;
#define rsDenyNothing
0x00000000 // Encrypt the file only
#define rsDenyAll
0x00000F3C // Deny anything
#define rsPrint
0x00000004 // Deny printing

Previous topic: Hardware Certificates

Next topic: Passwords