Feature: Labelprint für Kistenetiketten hinzugefügt
This commit is contained in:
179
vendor/tecnickcom/tc-lib-pdf-encrypt/src/Data.php
vendored
Normal file
179
vendor/tecnickcom/tc-lib-pdf-encrypt/src/Data.php
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Encrypt.php
|
||||
*
|
||||
* @since 2008-01-02
|
||||
* @category Library
|
||||
* @package PdfEncrypt
|
||||
* @author Nicola Asuni <info@tecnick.com>
|
||||
* @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD
|
||||
* @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
|
||||
* @link https://github.com/tecnickcom/tc-lib-pdf-encrypt
|
||||
*
|
||||
* This file is part of tc-lib-pdf-encrypt software library.
|
||||
*/
|
||||
|
||||
namespace Com\Tecnick\Pdf\Encrypt;
|
||||
|
||||
/**
|
||||
* Com\Tecnick\Pdf\Encrypt\Data
|
||||
*
|
||||
* Ecrypt common data
|
||||
*
|
||||
* @since 2008-01-02
|
||||
* @category Library
|
||||
* @package PdfEncrypt
|
||||
* @author Nicola Asuni <info@tecnick.com>
|
||||
* @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD
|
||||
* @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
|
||||
* @link https://github.com/tecnickcom/tc-lib-pdf-encrypt
|
||||
*/
|
||||
abstract class Data extends \Com\Tecnick\Pdf\Encrypt\Output
|
||||
{
|
||||
/**
|
||||
* Encryption padding string.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected const ENCPAD = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00"
|
||||
. "\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6"
|
||||
. "\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53"
|
||||
. "\x69\x7A";
|
||||
|
||||
/**
|
||||
* Map permission modes and bits.
|
||||
*
|
||||
* @var array<string, int>
|
||||
*/
|
||||
protected const PERMBITS = [
|
||||
// bit 2 -- inverted logic: cleared by default
|
||||
// When set permits change of encryption and enables all other permissions.
|
||||
'owner' => 2,
|
||||
|
||||
// bit 3
|
||||
// Print the document.
|
||||
'print' => 4,
|
||||
|
||||
// bit 4
|
||||
// Modify the contents of the document by operations other than those controlled
|
||||
// by 'fill-forms', 'extract' and 'assemble'.
|
||||
'modify' => 8,
|
||||
|
||||
// bit 5
|
||||
// Copy or otherwise extract text and graphics from the document.
|
||||
'copy' => 16,
|
||||
|
||||
// bit 6
|
||||
// Add or modify text annotations, fill in interactive form fields, and,
|
||||
// if 'modify' is also set, create or modify interactive form fields
|
||||
// (including signature fields).
|
||||
'annot-forms' => 32,
|
||||
|
||||
// bit 9
|
||||
// Fill in existing interactive form fields (including signature fields),
|
||||
// even if 'annot-forms' is not specified.
|
||||
'fill-forms' => 256,
|
||||
|
||||
// bit 10
|
||||
// Extract text and graphics (in support of accessibility to users with
|
||||
// disabilities or for other purposes).
|
||||
'extract' => 512,
|
||||
|
||||
// bit 11
|
||||
// Assemble the document (insert, rotate, or delete pages and create bookmarks
|
||||
// or thumbnail images), even if 'modify' is not set.
|
||||
'assemble' => 1024,
|
||||
|
||||
// bit 12
|
||||
// Print the document to a representation from which a faithful digital copy of the
|
||||
// PDF content could be generated. When this is not set, printing is limited to a
|
||||
// low-level representation of the appearance, possibly of degraded quality.
|
||||
'print-high' => 2048,
|
||||
];
|
||||
|
||||
/**
|
||||
* Encryption settings.
|
||||
*
|
||||
* @var array<int, array{
|
||||
* 'V': int,
|
||||
* 'Length': int,
|
||||
* 'CF': array{
|
||||
* 'CFM': string,
|
||||
* 'Length'?: int,
|
||||
* 'AuthEvent': string,
|
||||
* },
|
||||
* 'SubFilter': string,
|
||||
* 'Recipients': array<string, string>,
|
||||
* }>
|
||||
*/
|
||||
protected const ENCRYPT_SETTINGS = [
|
||||
0 => [
|
||||
// RC4 40 bit
|
||||
'V' => 1,
|
||||
'Length' => 40,
|
||||
'CF' => [
|
||||
'CFM' => 'V2',
|
||||
'AuthEvent' => 'DocOpen',
|
||||
],
|
||||
'SubFilter' => '',
|
||||
'Recipients' => [],
|
||||
],
|
||||
1 => [
|
||||
// RC4 128 bit
|
||||
'V' => 2,
|
||||
'Length' => 128,
|
||||
'CF' => [
|
||||
'CFM' => 'V2',
|
||||
'AuthEvent' => 'DocOpen',
|
||||
],
|
||||
'SubFilter' => 'adbe.pkcs7.s4',
|
||||
'Recipients' => [],
|
||||
],
|
||||
2 => [
|
||||
// AES 128 bit
|
||||
'V' => 4,
|
||||
'Length' => 128,
|
||||
'CF' => [
|
||||
'CFM' => 'AESV2',
|
||||
'Length' => 16,
|
||||
'AuthEvent' => 'DocOpen',
|
||||
],
|
||||
'SubFilter' => 'adbe.pkcs7.s5',
|
||||
'Recipients' => [],
|
||||
],
|
||||
3 => [
|
||||
// AES 256 bit
|
||||
'V' => 5,
|
||||
'Length' => 256,
|
||||
'CF' => [
|
||||
'CFM' => 'AESV3',
|
||||
'Length' => 32,
|
||||
'AuthEvent' => 'DocOpen',
|
||||
],
|
||||
'SubFilter' => 'adbe.pkcs7.s5',
|
||||
'Recipients' => [],
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Define a list of available encrypt encoders.
|
||||
*
|
||||
* @var array<int|string, string>
|
||||
*/
|
||||
protected const ENCMAP = [
|
||||
0 => 'RCFourFive', // RC4-40
|
||||
1 => 'RCFourSixteen', // RC4-128
|
||||
2 => 'AESSixteen', // AES-128
|
||||
3 => 'AESThirtytwo', // AES-256
|
||||
'RC4' => 'RCFour', // RC4-40
|
||||
'RC4-40' => 'RCFourFive', // RC4-40
|
||||
'RC4-128' => 'RCFourSixteen', // RC4-128
|
||||
'AES' => 'AES', // AES-256
|
||||
'AES-128' => 'AESSixteen', // AES-128
|
||||
'AES-256' => 'AESThirtytwo', // AES-256
|
||||
'AESnopad' => 'AESnopad', // AES - no padding
|
||||
'MD5-16' => 'MDFiveSixteen', // MD5-16
|
||||
'seed' => 'Seed', // Random seed string
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user