Skip to content

Commit 9677156

Browse files
Fix retrieval of image and form resources in PdfResources
DEVSIX-1399
1 parent efdc645 commit 9677156

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

kernel/src/main/java/com/itextpdf/kernel/pdf/PdfResources.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ public PdfName addImage(PdfStream image) {
136136
}
137137

138138
public PdfImageXObject getImage(PdfName name) {
139-
PdfStream image = getResource(PdfName.Image).getAsStream(name);
140-
return image != null ? new PdfImageXObject(image) : null;
139+
PdfStream image = getResource(PdfName.XObject).getAsStream(name);
140+
return image != null && PdfName.Image.equals(image.getAsName(PdfName.Subtype)) ? new PdfImageXObject(image) : null;
141141
}
142142

143143
/**
@@ -178,8 +178,8 @@ public PdfName addForm(PdfFormXObject form, PdfName name) {
178178
}
179179

180180
public PdfFormXObject getForm(PdfName name) {
181-
PdfStream form = getResource(PdfName.Form).getAsStream(name);
182-
return form != null ? new PdfFormXObject(form) : null;
181+
PdfStream form = getResource(PdfName.XObject).getAsStream(name);
182+
return form != null && PdfName.Form.equals(form.getAsName(PdfName.Subtype)) ? new PdfFormXObject(form) : null;
183183
}
184184

185185
/**

kernel/src/test/java/com/itextpdf/kernel/pdf/PdfImageXObjectTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,16 @@ public class PdfImageXObjectTest extends ExtendedITextTest {
5454

5555
private static final String sourceFolder = "./src/test/resources/com/itextpdf/kernel/parser/PdfImageXObjectTest/";
5656

57-
private void testFile(String filename, int page, String objectid) throws Exception{
57+
private void testFile(String filename, int page, String objectid) throws Exception {
5858
PdfDocument pdfDocument = new PdfDocument(new PdfReader(sourceFolder + filename));
59-
try{
59+
try {
6060
PdfResources resources = pdfDocument.getPage(page).getResources();
61-
PdfDictionary xobjets = resources.getResource(PdfName.XObject);
62-
PdfObject obj = xobjets.get(new PdfName(objectid));
61+
PdfDictionary xobjects = resources.getResource(PdfName.XObject);
62+
PdfObject obj = xobjects.get(new PdfName(objectid));
6363
if (obj == null) {
64-
throw new IllegalArgumentException("Reference " + objectid + " not found - Available keys are " + xobjets.keySet());
64+
throw new IllegalArgumentException("Reference " + objectid + " not found - Available keys are " + xobjects.keySet());
6565
}
66-
PdfImageXObject img = new PdfImageXObject((PdfStream)(obj.isIndirectReference() ? ((PdfIndirectReference)obj).getRefersTo() : obj));
66+
PdfImageXObject img = new PdfImageXObject((PdfStream) (obj.isIndirectReference() ? ((PdfIndirectReference) obj).getRefersTo() : obj));
6767
byte[] result = img.getImageBytes(true);
6868
Assert.assertNotNull(result);
6969
int zeroCount = 0;

0 commit comments

Comments
 (0)