/** * Check the XRef table by dereferencing all objects and fixing the offset if necessary. * * @throws IOException if something went wrong. */ private void checkXrefOffsets() throws IOException { // repair mode isn't available in non-lenient mode if (!isLenient) { return; } Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable(); if (!validateXrefOffsets(xrefOffset)) { Map<COSObjectKey, Long> bfCOSObjectKeyOffsets = getBFCOSObjectOffsets(); if (!bfCOSObjectKeyOffsets.isEmpty()) { LOG.debug("Replaced read xref table with the results of a brute force search"); xrefOffset.clear(); xrefOffset.putAll(bfCOSObjectKeyOffsets); } } }
Long offset = xrefTrailerResolver.getXrefTable().get(stmObjKey); if (offset != null && offset == -objstmObjNr)
continue; Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable(); for (int i = 0; i < nrOfObjects; i++)
document.addXRefTable(xrefTrailerResolver.getXrefTable()); return trailer;
/** * Check the XRef table by dereferencing all objects and fixing the offset if necessary. * * @throws IOException if something went wrong. */ private void checkXrefOffsets() throws IOException { // repair mode isn't available in non-lenient mode if (!isLenient) { return; } Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable(); if (!validateXrefOffsets(xrefOffset)) { Map<COSObjectKey, Long> bfCOSObjectKeyOffsets = getBFCOSObjectOffsets(); if (!bfCOSObjectKeyOffsets.isEmpty()) { LOG.debug("Replaced read xref table with the results of a brute force search"); xrefOffset.clear(); xrefOffset.putAll(bfCOSObjectKeyOffsets); } } }
/** * Check the XRef table by dereferencing all objects and fixing the offset if necessary. * * @throws IOException if something went wrong. */ private void checkXrefOffsets() throws IOException { // repair mode isn't available in non-lenient mode if (!isLenient) { return; } Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable(); if (!validateXrefOffsets(xrefOffset)) { bfSearchForObjects(); if (bfSearchCOSObjectKeyOffsets != null && !bfSearchCOSObjectKeyOffsets.isEmpty()) { LOG.debug("Replaced read xref table with the results of a brute force search"); xrefOffset.clear(); xrefOffset.putAll(bfSearchCOSObjectKeyOffsets); } } }
Long offset = xrefTrailerResolver.getXrefTable().get(stmObjKey); if (offset != null && offset == -objstmObjNr)
Long offset = xrefTrailerResolver.getXrefTable().get(stmObjKey); if (offset != null && offset == -objstmObjNr)
continue; Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable(); for (int i = 0; i < nrOfObjects; i++)
document.addXRefTable(xrefTrailerResolver.getXrefTable()); return trailer;
Long offsetOrObjstmObNr = xrefTrailerResolver.getXrefTable().get(objKey); Long offset = xrefTrailerResolver.getXrefTable().get(stmObjKey); if (offset != null && offset == -objstmObjNr)
document.addXRefTable(xrefTrailerResolver.getXrefTable()); return trailer;