@Override public List<StreamFilterAdapter> getFilterAdapters() { if (imageXObject != null && imageXObject.getCOSObject() != null) { COSBase base = imageXObject.getCOSStream().getDictionaryObject(COSName.DECODE_PARMS); List<StreamFilterAdapter> res = new ArrayList<>(); if (base instanceof COSDictionary) { res.add(new PBStreamFilterAdapter(base)); } else if (base instanceof COSArray) { for (COSBase baseElem : (COSArray) base) { if (baseElem instanceof COSDictionary) { res.add(new PBStreamFilterAdapter(baseElem)); } else { res.add(null); } } } return Collections.unmodifiableList(res); } return Collections.emptyList(); }
private List<? extends PDXImage> getAlternates() { final List<PDXImage> alternates = new ArrayList<>(); try (final COSStream imageStream = ((PDImageXObjectProxy) this.simplePDObject).getCOSStream()) { final COSBase buffer = imageStream.getDictionaryObject(COSName.getPDFName(ALTERNATES)); this.addAlternates(alternates, buffer, ((PDImageXObjectProxy) this.simplePDObject).getResources()); } catch (IOException excep) { // TODO Auto-generated catch block excep.printStackTrace(); } return alternates; }
COSBase mask = xobj.getCOSStream().getDictionaryObject(COSName.MASK); if (mask instanceof COSStream) { COSBase maskBase = ((COSStream) xobj.getCOSObject()).getItem(COSName.MASK); COSBase sMask = xobj.getCOSStream().getDictionaryObject(COSName.SMASK); if (sMask instanceof COSStream) { COSBase sMaskBase = ((COSStream) xobj.getCOSObject()).getItem(COSName.SMASK); COSBase alternates = xobj.getCOSStream().getDictionaryObject(COSName.getPDFName("Alternates")); alternates = getBase(alternates); Set<String> alternatesIDs = new HashSet<>();