protected boolean checkEncryption(PdfStream pdfStream) { if (crypto == null || crypto.isEmbeddedFilesOnly()) { return false; } else if (isXRefStream(pdfStream)) { // The cross-reference stream shall not be encrypted return false; } else { PdfObject filter = pdfStream.get(PdfName.Filter, true); if (filter != null) { if (PdfName.Crypt.equals(filter)) { return false; } else if (filter.getType() == PdfObject.ARRAY) { PdfArray filters = (PdfArray) filter; if (!filters.isEmpty() && PdfName.Crypt.equals(filters.get(0, true))) { return false; } } } return true; } }
if (!parentsOfPageMcrs.isEmpty()) { int pageStructParentIndex; if (page.isFlushed()) {
annots.remove(annotation.getPdfObject()); if (annots.isEmpty()) { getPdfObject().remove(PdfName.Annots); setModified();
private int removeKidObject(PdfObject kid) { PdfObject k = getK(); if (k == null || !k.isArray() && k != kid && k != kid.getIndirectReference()) { return -1; } int removedIndex = -1; if (k.isArray()) { PdfArray kidsArray = (PdfArray) k; removedIndex = removeObjectFromArray(kidsArray, kid); } if (!k.isArray() || k.isArray() && ((PdfArray) k).isEmpty()) { getPdfObject().remove(PdfName.K); removedIndex = 0; } setModified(); return removedIndex; }
public IStructureNode removeKid(int index, boolean prepareForReAdding) { PdfObject k = getK(); if (k == null || !k.isArray() && index != 0) { throw new IndexOutOfBoundsException(); } if (k.isArray()) { PdfArray kidsArray = (PdfArray) k; k = kidsArray.get(index); kidsArray.remove(index); if (kidsArray.isEmpty()) { getPdfObject().remove(PdfName.K); } } else { getPdfObject().remove(PdfName.K); } setModified(); IStructureNode removedKid = convertPdfObjectToIPdfStructElem(k); PdfDocument doc = getDocument(); if (removedKid instanceof PdfMcr && doc != null && !prepareForReAdding) { doc.getStructTreeRoot().getParentTreeHandler().unregisterMcr((PdfMcr) removedKid); } return removedKid; }
if (subArray.isEmpty()) continue; PdfObject firstObj = subArray.get(0); if (firstObj.getType() == PdfObject.STRING) {
if (filtersArray.size() == 1) { filterObject = filtersArray.get(0); } else if (!filtersArray.isEmpty()) { filterObject = filtersArray; if (decodeParamsArray.size() == 1 && decodeParamsArray.get(0).getType() != PdfObject.NULL) { decodeParamsObject = decodeParamsArray.get(0); } else if (!decodeParamsArray.isEmpty()) { decodeParamsObject = decodeParamsArray;
if (!newArr.isEmpty()) { if (newArr.size() == 1) { copied.put(PdfName.K, newArr.get(0));
PdfArray filters = (PdfArray) filter; for (int k = 0; k < filters.size(); k++) { if (!filters.isEmpty() && PdfName.Crypt.equals(filters.get(k, true))) { skip = true; break;
if (kids != null && !kids.isEmpty()) { existingField.addKid(newField); return existingField;
if (kids != null && !kids.isEmpty()) { existingField.addKid(newField); return existingField;