Passed
Pull Request — master (#476)
by Konrad
02:12
created

Config::setDecodeMemoryLimit()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
1
<?php
2
3
/**
4
 * @file
5
 *          This file is part of the PdfParser library.
6
 *
7
 * @author  Konrad Abicht <[email protected]>
8
 * @date    2020-11-22
9
 *
10
 * @license LGPLv3
11
 * @url     <https://github.com/smalot/pdfparser>
12
 *
13
 *  PdfParser is a pdf library written in PHP, extraction oriented.
14
 *  Copyright (C) 2017 - Sébastien MALOT <[email protected]>
15
 *
16
 *  This program is free software: you can redistribute it and/or modify
17
 *  it under the terms of the GNU Lesser General Public License as published by
18
 *  the Free Software Foundation, either version 3 of the License, or
19
 *  (at your option) any later version.
20
 *
21
 *  This program is distributed in the hope that it will be useful,
22
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 *  GNU Lesser General Public License for more details.
25
 *
26
 *  You should have received a copy of the GNU Lesser General Public License
27
 *  along with this program.
28
 *  If not, see <http://www.pdfparser.org/sites/default/LICENSE.txt>.
29
 */
30
31
namespace Smalot\PdfParser;
32
33
/**
34
 * This class contains configurations used in various classes. You can override them
35
 * manually, in case default values aren't working.
36
 *
37
 * @see https://github.com/smalot/pdfparser/issues/305
38
 */
39
class Config
40
{
41
    private $fontSpaceLimit = -50;
42
43
    /**
44
     * Represents: (NUL, HT, LF, FF, CR, SP)
45
     *
46
     * @var string
47
     */
48
    private $pdfWhitespaces = "\0\t\n\f\r ";
49
50
    /**
51
     * Represents: (NUL, HT, LF, FF, CR, SP)
52
     *
53
     * @var string
54
     */
55
    private $pdfWhitespacesRegex = '[\0\t\n\f\r ]';
56
57
    /**
58
     * Whether to retain raw image data as content or discard it to save memory
59
     *
60
     * @var bool
61
     */
62
    private $retainImageContent = true;
63
64
    /**
65
     * Memory limit to use when de-compressing files, in bytes.
66
     *
67
     * @var int
68
     */
69
    private $decodeMemoryLimit = 0;
70
71 20
    public function getFontSpaceLimit()
72
    {
73 20
        return $this->fontSpaceLimit;
74
    }
75
76 3
    public function setFontSpaceLimit($value)
77
    {
78 3
        $this->fontSpaceLimit = $value;
79 3
    }
80
81 35
    public function getPdfWhitespaces(): string
82
    {
83 35
        return $this->pdfWhitespaces;
84
    }
85
86
    public function setPdfWhitespaces(string $pdfWhitespaces): void
87
    {
88
        $this->pdfWhitespaces = $pdfWhitespaces;
89
    }
90
91 34
    public function getPdfWhitespacesRegex(): string
92
    {
93 34
        return $this->pdfWhitespacesRegex;
94
    }
95
96
    public function setPdfWhitespacesRegex(string $pdfWhitespacesRegex): void
97
    {
98
        $this->pdfWhitespacesRegex = $pdfWhitespacesRegex;
99
    }
100
101 4
    public function getRetainImageContent(): bool
102
    {
103 4
        return $this->retainImageContent;
104
    }
105
106 1
    public function setRetainImageContent(bool $retainImageContent): void
107
    {
108 1
        $this->retainImageContent = $retainImageContent;
109 1
    }
110
111 34
    public function getDecodeMemoryLimit(): int
112
    {
113 34
        return $this->decodeMemoryLimit;
114
    }
115
116
    public function setDecodeMemoryLimit(int $decodeMemoryLimit): void
117
    {
118
        $this->decodeMemoryLimit = $decodeMemoryLimit;
119
    }
120
}
121