PDFXObjectFactory.java
2.69 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
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.adobe.internal.pdftoolkit.core.cos.CosDictionary
* com.adobe.internal.pdftoolkit.core.cos.CosName
* com.adobe.internal.pdftoolkit.core.cos.CosNull
* 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.PDFSecurityException
* com.adobe.internal.pdftoolkit.core.types.ASName
*/
package com.adobe.internal.pdftoolkit.pdf.graphics.xobject;
import com.adobe.internal.pdftoolkit.core.cos.CosDictionary;
import com.adobe.internal.pdftoolkit.core.cos.CosName;
import com.adobe.internal.pdftoolkit.core.cos.CosNull;
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.PDFSecurityException;
import com.adobe.internal.pdftoolkit.core.types.ASName;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObject;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObjectForm;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObjectImage;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObjectPostScript;
public class PDFXObjectFactory {
public static PDFXObject getInstance(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
if (cosObject == null || cosObject instanceof CosNull) {
return null;
}
if (cosObject instanceof CosDictionary) {
if (((CosDictionary)cosObject).getName(ASName.k_Subtype) == ASName.k_Image) {
return PDFXObjectImage.getInstance(cosObject);
}
if (((CosDictionary)cosObject).getName(ASName.k_Subtype) == ASName.k_Form) {
ASName subtype2;
CosObject subtype2Obj;
CosDictionary dict = (CosDictionary)cosObject;
if (dict.containsKey((Object)ASName.k_Subtype2) && (subtype2Obj = dict.get(ASName.k_Subtype2)).getType() == 3 && (subtype2 = ((CosName)subtype2Obj).nameValue()) == ASName.k_PS) {
return PDFXObjectPostScript.getInstance(cosObject);
}
return PDFXObjectForm.getInstance(cosObject);
}
if (((CosDictionary)cosObject).getName(ASName.k_Subtype) == ASName.k_PS) {
return PDFXObjectPostScript.getInstance(cosObject);
}
}
throw new PDFInvalidDocumentException("Bad Document");
}
}