Xojo Conferences
MBSOct2019CologneDE
XDCMarch2020NashvilleUS

DynaPDF Manual - Page 529

Previous Page 528   Index   Next Page 530

Function Reference
Page 529 of 770
After the output file was opened the PDF file is no longer created in memory. So, there is no need to
call FreePDF() after the file was finished with CloseFile() or CloseFileEx().
OpenOutputFile() can be called in a while statement, e.g. to display a open file dialog if the file could
not be opened. Once the function succeeds the PDF file can be finished with CloseFile().
It is strongly recommended to check with HaveOpenDoc() whether a PDF file is still in memory
before calling this function.
Remarks:
This function is implemented in an Ansi and Unicode compatible version. Unicode paths are
converted to UTF-8 on non-Windows operating systems.
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0.
OpenOutputFileEncrypted
Syntax:
LBOOL pdfOpenOutputFileEncrypted(
const PPDF* IPDF,
// Instance pointer
const char* OutPDF,
// The output file that should be opened
const char* OpenPwd,
// Optional open password
const char* OwnerPwd,
// Optional owner password (should be set)
TKeyLen KeyLen,
// Encryption key length
TRestrictions Restrict) // Restriction flags (see below)
typedef enum
{
kl40bit
= 0, // RC4 Encryption -> PDF 1.2, Acrobat 3 or higher
kl128bit
= 1, // RC4 Encryption -> PDF 1.4, Acrobat 5 or higher
kl128bitEx = 2, // RC4 Encryption -> PDF 1.5, Acrobat 6 or higher
klAES128
= 3, // AES Encryption -> PDF 1.6, Acrobat 7 or higher
klAES256
= 4, // AES Encryption -> PDF 1.7, Acrobat 9 or higher
klAESRev6
= 5
// AES Encryption -> PDF 2.0, Acrobat X or higher
}TKeyLen;
typedef SI32 TRestrictions;
#define rsDenyNothing
0x00000000 // Encrypt the file only
#define rsDenyAll
0x00000F3C // Deny anything
#define rsPrint
0x00000004 // Deny printing
#define rsModify
0x00000008 // Deny modification of contents
#define rsCopyObj
0x00000010 // Deny copying of contents
#define rsAddObj
0x00000020 // No commenting
/* 128/256 bit encryption only -> ignored if 40 bit encryption is used */
#define rsFillInFormFields 0x00000100 // requires rsModify + rsAddObj
#define rsExtractObj
0x00000200 // requires rsModify
#define rsAssemble
0x00000400 // requires rsModify
#define rsPrintHighRes
0x00000800 // Disable high res. printing
#define rsExlMetadata
0x00001000 // PDF 1.5 Exclude metadata streams
 

Previous topic: OpenOutputFile

Next topic: OpenTag