import * as em from "../../Enums"; import { type ObjectManager } from "../../ObjectManager"; import { StandardSecurityHandlerRev2 } from "./StandardSecurityHandlerRev2"; /** * Represents a Standard Security Handler Revision 3. * This handler uses RC4 encryption with key from 40 to 128 bit length and allows * defining additional permission flags. **/ export declare class StandardSecurityHandlerRev3 extends StandardSecurityHandlerRev2 { protected constructor(om: ObjectManager, id: number); static innerCreate(om: ObjectManager, id: number): StandardSecurityHandlerRev3; /** * Creates a new {@link StandardSecurityHandlerRev3}. * * @param om - {@link ObjectManager} that controls the lifetime of the {@link StandardSecurityHandlerRev3}. */ static create(om?: ObjectManager): StandardSecurityHandlerRev3; /** * Gets or sets a value controlling how a document can be printed. */ get printingPermissions(): em.PrintingPermissions; /** * Gets or sets a value controlling how a document can be printed. */ set printingPermissions(value: em.PrintingPermissions); /** * Gets or sets a value controlling how a document can be edited. */ get editingPermissions(): em.EditingPermissions; /** * Gets or sets a value controlling how a document can be edited. */ set editingPermissions(value: em.EditingPermissions); /** * Gets or sets a value indicating whether a document's content can be copied or extracted. */ get copyContent(): boolean; /** * Gets or sets a value indicating whether a document's content can be copied or extracted. */ set copyContent(value: boolean); /** * Gets or sets a value used to determine whether content could be extracted for * the purposes of accessibility. * Note however that this restriction has been deprecated in PDF 2.0, * which states that PDF readers shall ignore this bit. * The default value of this property is true, and it should not be changed. */ get copyContentAccessibility(): boolean; /** * Gets or sets a value used to determine whether content could be extracted for * the purposes of accessibility. * Note however that this restriction has been deprecated in PDF 2.0, * which states that PDF readers shall ignore this bit. * The default value of this property is true, and it should not be changed. */ set copyContentAccessibility(value: boolean); /** * Gets or sets the length of the encryption key, in bits. * The value must be a multiple of 8, in the range from 40 to 128. * IMPORTANT NOTE: {@link StandardSecurityHandlerRev4} can use RC4 or AES encryption, * and according to specification, with RC4 any key length in the range from 40 to 128 can be used. * But tests show that current/recent versions of Adobe Acrobat Reader DC and Adobe Acrobat Pro DC * cannot handle files encrypted with RC4 if the key length is not equal to 128. * Older versions of Acrobat Reader handle such files without issues, so it looks like a bug in * the newer versions of Acrobat Reader. * So it is recommended that {@link StandardSecurityHandlerRev3} is used * in cases when RC4 encryption with key length other than 128 is required. */ get encryptionKeyLength(): number; /** * Gets or sets the length of the encryption key, in bits. * The value must be a multiple of 8, in the range from 40 to 128. * IMPORTANT NOTE: {@link StandardSecurityHandlerRev4} can use RC4 or AES encryption, * and according to specification, with RC4 any key length in the range from 40 to 128 can be used. * But tests show that current/recent versions of Adobe Acrobat Reader DC and Adobe Acrobat Pro DC * cannot handle files encrypted with RC4 if the key length is not equal to 128. * Older versions of Acrobat Reader handle such files without issues, so it looks like a bug in * the newer versions of Acrobat Reader. * So it is recommended that {@link StandardSecurityHandlerRev3} is used * in cases when RC4 encryption with key length other than 128 is required. */ set encryptionKeyLength(value: number); }