PDFThumb.java
7.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.adobe.internal.pdftoolkit.core.cos.CosArray
* com.adobe.internal.pdftoolkit.core.cos.CosNumeric
* com.adobe.internal.pdftoolkit.core.cos.CosObject
* com.adobe.internal.pdftoolkit.core.cos.CosStream
* com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException
* com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException
* com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidParameterException
* com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException
* com.adobe.internal.pdftoolkit.core.types.ASName
*/
package com.adobe.internal.pdftoolkit.pdf.interactive.navigation;
import com.adobe.internal.pdftoolkit.core.cos.CosArray;
import com.adobe.internal.pdftoolkit.core.cos.CosNumeric;
import com.adobe.internal.pdftoolkit.core.cos.CosObject;
import com.adobe.internal.pdftoolkit.core.cos.CosStream;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidParameterException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException;
import com.adobe.internal.pdftoolkit.core.types.ASName;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosObject;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosStream;
import com.adobe.internal.pdftoolkit.pdf.document.PDFDocument;
import com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces.PDFColorSpace;
import com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces.PDFColorSpaceFactory;
public class PDFThumb
extends PDFCosStream {
private PDFThumb(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
super(cosObject);
}
public static PDFThumb newInstance(PDFDocument pdfDocument, int key_BitsPerComponent, ASName key_ColorSpace, int key_Width, int key_Height) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (key_ColorSpace == null) {
throw new PDFInvalidParameterException("ColorSpace is required when creating newInstance of PDFThumb.");
}
CosStream cosStream = PDFCosObject.newCosStream(pdfDocument);
PDFThumb pdfObject = new PDFThumb((CosObject)cosStream);
pdfObject.setBitsPerComponent(key_BitsPerComponent);
pdfObject.setColorSpace(key_ColorSpace);
pdfObject.setWidth(key_Width);
pdfObject.setHeight(key_Height);
return pdfObject;
}
public static PDFThumb getInstance(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
if (PDFCosObject.checkNullCosObject(cosObject) == null) {
return null;
}
PDFThumb pdfObject = PDFCosObject.getCachedInstance(cosObject, PDFThumb.class);
if (pdfObject == null) {
pdfObject = new PDFThumb(cosObject);
}
return pdfObject;
}
public int getWidth() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryIntValue(ASName.k_Width);
}
public void setWidth(int value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
this.setDictionaryIntValue(ASName.k_Width, value);
}
public int requireWidth() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
CosObject cosObject = this.getDictionaryCosObjectValue(ASName.k_Width);
if (cosObject == null) {
throw new PDFInvalidDocumentException("Unable to get Width.");
}
return ((CosNumeric)cosObject).intValue();
}
public boolean hasWidth() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Width);
}
public boolean getInterpolate() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryBooleanValue(ASName.k_Interpolate);
}
public void setInterpolate(boolean value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
this.setDictionaryBooleanValue(ASName.k_Interpolate, value);
}
public boolean hasInterpolate() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Interpolate);
}
public int getHeight() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryIntValue(ASName.k_Height);
}
public void setHeight(int value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
this.setDictionaryIntValue(ASName.k_Height, value);
}
public int requireHeight() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
CosObject cosObject = this.getDictionaryCosObjectValue(ASName.k_Height);
if (!(cosObject instanceof CosNumeric)) {
throw new PDFInvalidDocumentException("Unable to get Height.");
}
return ((CosNumeric)cosObject).intValue();
}
public boolean hasHeight() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Height);
}
public CosArray getDecode() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryArrayValue(ASName.k_Decode);
}
public void setDecode(CosArray value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
this.setDictionaryValue(ASName.k_Decode, (CosObject)value);
}
public boolean hasDecode() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Decode);
}
public int getBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryIntValue(ASName.k_BitsPerComponent);
}
public void setBitsPerComponent(int value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
this.setDictionaryIntValue(ASName.k_BitsPerComponent, value);
}
public int requireBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryIntValue(ASName.k_BitsPerComponent);
}
public boolean hasBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_BitsPerComponent);
}
public ASName getColorSpaceAsName() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNameValue(ASName.k_ColorSpace);
}
public void setColorSpace(ASName value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("ColorSpace is a required key therefore cannot be removed.");
}
this.setDictionaryNameValue(ASName.k_ColorSpace, value);
}
public PDFColorSpace getColorSpaceAsArray() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return PDFColorSpaceFactory.getInstance(this.getDictionaryCosObjectValue(ASName.k_ColorSpace));
}
public void setColorSpace(PDFColorSpace children) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (children == null) {
throw new PDFInvalidParameterException("ColorSpace is a required key therefore cannot be removed.");
}
this.setDictionaryArrayValue(ASName.k_ColorSpace, children.getCosArray());
}
public boolean hasColorSpace() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_ColorSpace);
}
}