PDFOPI.java
6.88 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
/*
* 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.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
* com.adobe.internal.pdftoolkit.core.types.ASString
*/
package com.adobe.internal.pdftoolkit.pdf.interchange.prepress;
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.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.core.types.ASString;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosDictionary;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosObject;
import com.adobe.internal.pdftoolkit.pdf.document.PDFDocument;
import com.adobe.internal.pdftoolkit.pdf.document.PDFFileSpecification;
public class PDFOPI
extends PDFCosDictionary {
public static final double OPI_VERSION_1_3 = 1.3;
public static final double OPI_VERSION_2_0 = 2.0;
protected PDFOPI(CosObject cosObject) throws PDFInvalidDocumentException {
super(cosObject);
}
protected PDFOPI(PDFDocument pdfDoc) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
super((CosObject)PDFCosObject.newCosDictionary(pdfDoc));
this.setDictionaryNameValue(ASName.k_Type, ASName.k_OPI);
}
public static PDFOPI getInstance(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
if (PDFCosObject.checkNullCosObject(cosObject) == null) {
return null;
}
PDFOPI pdfObject = PDFCosObject.getCachedInstance(cosObject, PDFOPI.class);
if (pdfObject == null) {
pdfObject = new PDFOPI(cosObject);
}
return pdfObject;
}
public Number getVersion() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNumericValue(ASName.k_Version);
}
public PDFFileSpecification getFileSpecification() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return PDFFileSpecification.getInstance(this.getDictionaryCosObjectValue(ASName.k_F));
}
public double requireVersion() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
CosObject cosObject = this.getDictionaryCosObjectValue(ASName.k_Version);
if (!(cosObject instanceof CosNumeric)) {
throw new PDFInvalidDocumentException("Unable to get Version.");
}
return ((CosNumeric)cosObject).doubleValue();
}
public boolean hasVersion() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Version);
}
public ASName getType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNameValue(ASName.k_Type);
}
public boolean hasType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Type);
}
public void setFileSpecification(PDFFileSpecification value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("F is a required key therefore cannot be removed.");
}
this.setDictionaryValue(ASName.k_F, value);
}
public ASString getFileSpecificationAsString() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryStringValue(ASName.k_F);
}
public void setFileSpecification(ASString value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("F is a required key therefore cannot be removed.");
}
this.setDictionaryASStringValue(ASName.k_F, value);
}
public void setFileSpecification(byte[] value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("F is a required key therefore cannot be removed.");
}
this.setDictionaryByteArrayValue(ASName.k_F, value);
}
public boolean hasFileSpecification() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_F);
}
public CosArray getSize() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryArrayValue(ASName.k_Size);
}
protected void setSize(CosArray value, boolean isRequired) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
if (isRequired) {
throw new PDFInvalidParameterException("Size is a required key therefore cannot be removed.");
}
this.removeValue(ASName.k_Size);
} else {
if (value.size() != 2 || value.get(0).getType() != 1 || value.get(1).getType() != 1) {
throw new PDFInvalidParameterException("Invalid Size Array, Object number: " + value.getObjNum());
}
this.setDictionaryValue(ASName.k_Size, (CosObject)value);
}
}
public boolean hasSize() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Size);
}
public CosArray getTags() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryArrayValue(ASName.k_Tags);
}
public void setTags(CosArray value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
this.removeValue(ASName.k_Tags);
} else {
this.setDictionaryValue(ASName.k_Tags, (CosObject)value);
}
}
public boolean hasTags() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Tags);
}
}