Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 100 200 300 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Reader\PositionedTextExtractor — Coverage: 85.7% | Lines: 677 | Complexity: 271 Phpdftk\Pdf\Reader\TextExtractor — Coverage: 74.8% | Lines: 449 | Complexity: 213 Phpdftk\Pdf\Reader\PdfReader — Coverage: 82.2% | Lines: 438 | Complexity: 191 Phpdftk\Pdf\Reader\PdfDecryptor — Coverage: 88.5% | Lines: 217 | Complexity: 89 Phpdftk\Pdf\Reader\Parser\ContentStreamParser — Coverage: 98.8% | Lines: 172 | Complexity: 99 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer — Coverage: 95.2% | Lines: 168 | Complexity: 111 Phpdftk\Pdf\Reader\Parser\ObjectParser — Coverage: 94.0% | Lines: 133 | Complexity: 59 Phpdftk\Pdf\Reader\Parser\HintTableParser — Coverage: 95.0% | Lines: 121 | Complexity: 20 Phpdftk\Pdf\Reader\Parser\StreamParser — Coverage: 81.6% | Lines: 98 | Complexity: 57 Phpdftk\Pdf\Reader\ObjectResolver — Coverage: 83.9% | Lines: 87 | Complexity: 47 Phpdftk\Pdf\Reader\Parser\XrefParser — Coverage: 90.8% | Lines: 65 | Complexity: 37 Phpdftk\Pdf\Reader\Tokenizer\FileSource — Coverage: 96.8% | Lines: 63 | Complexity: 29 Phpdftk\Pdf\Reader\Parser\XrefStreamParser — Coverage: 98.3% | Lines: 58 | Complexity: 21 Phpdftk\Pdf\Reader\Parser\ObjectStreamParser — Coverage: 97.4% | Lines: 39 | Complexity: 12 Phpdftk\Pdf\Reader\Parser\BitReader — Coverage: 100.0% | Lines: 18 | Complexity: 9 Phpdftk\Pdf\Reader\Tokenizer\StringSource — Coverage: 91.7% | Lines: 12 | Complexity: 9 Phpdftk\Pdf\Reader\Parser\PageOffsetHintTable — Coverage: 100.0% | Lines: 11 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\ObjectScanner — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Reader\Parser\ContentStreamOp — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\PageHintEntry — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\SharedObjectHintEntry — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\SharedObjectHintTable — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\TextSpan — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\Token — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\XrefEntry — Coverage: 100.0% | Lines: 1 | Complexity: 1

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 20 40 60 80 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Reader\PositionedTextExtractor::processOps — Coverage: 89.2% | Lines: 139 | Complexity: 55 Phpdftk\Pdf\Reader\TextExtractor::processOps — Coverage: 69.0% | Lines: 113 | Complexity: 48 Phpdftk\Pdf\Reader\PdfReader::build — Coverage: 98.0% | Lines: 101 | Complexity: 25 Phpdftk\Pdf\Reader\Parser\HintTableParser::parsePageOffsetTable — Coverage: 94.0% | Lines: 83 | Complexity: 13 Phpdftk\Pdf\Reader\PositionedTextExtractor::showTJArray — Coverage: 95.8% | Lines: 71 | Complexity: 30 Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDict — Coverage: 98.4% | Lines: 62 | Complexity: 17 Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDictPublicKey — Coverage: 85.5% | Lines: 62 | Complexity: 27 Phpdftk\Pdf\Reader\Parser\XrefStreamParser::parseXrefStream — Coverage: 98.2% | Lines: 57 | Complexity: 20 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::parse — Coverage: 100.0% | Lines: 49 | Complexity: 20 Phpdftk\Pdf\Reader\PositionedTextExtractor::extractFromXObject — Coverage: 81.6% | Lines: 49 | Complexity: 14 Phpdftk\Pdf\Reader\PdfReader::validateVersion — Coverage: 63.4% | Lines: 41 | Complexity: 28 Phpdftk\Pdf\Reader\Parser\XrefParser::parseClassicXref — Coverage: 85.0% | Lines: 40 | Complexity: 11 Phpdftk\Pdf\Reader\TextExtractor::extractFromXObject — Coverage: 87.5% | Lines: 40 | Complexity: 10 Phpdftk\Pdf\Reader\PdfReader::getPageOffsetHintTable — Coverage: 23.1% | Lines: 39 | Complexity: 20 Phpdftk\Pdf\Reader\Parser\ObjectStreamParser::unpack — Coverage: 97.4% | Lines: 38 | Complexity: 11 Phpdftk\Pdf\Reader\Parser\HintTableParser::parseSharedObjectTable — Coverage: 97.3% | Lines: 37 | Complexity: 6 Phpdftk\Pdf\Reader\TextExtractor::loadFontMapsFromResources — Coverage: 67.6% | Lines: 37 | Complexity: 18 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadGlyphWidths — Coverage: 96.9% | Lines: 32 | Complexity: 14 Phpdftk\Pdf\Reader\Parser\ObjectParser::scanForEndstream — Coverage: 86.7% | Lines: 30 | Complexity: 10 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadCidWidths — Coverage: 60.0% | Lines: 30 | Complexity: 11 Phpdftk\Pdf\Reader\PositionedTextExtractor::buildEncodingMap — Coverage: 30.0% | Lines: 30 | Complexity: 15 Phpdftk\Pdf\Reader\TextExtractor::decodeTJArray — Coverage: 93.3% | Lines: 30 | Complexity: 23 Phpdftk\Pdf\Reader\TextExtractor::buildEncodingMap — Coverage: 30.0% | Lines: 30 | Complexity: 15 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readInlineImage — Coverage: 100.0% | Lines: 25 | Complexity: 17 Phpdftk\Pdf\Reader\PdfReader::recoverCatalog — Coverage: 80.0% | Lines: 25 | Complexity: 10 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadEncodingMap — Coverage: 96.0% | Lines: 25 | Complexity: 13 Phpdftk\Pdf\Reader\ObjectResolver::resolveInUse — Coverage: 73.9% | Lines: 23 | Complexity: 10 Phpdftk\Pdf\Reader\PositionedTextExtractor::mapBytesToUnicode — Coverage: 91.3% | Lines: 23 | Complexity: 10 Phpdftk\Pdf\Reader\TextExtractor::mapBytesToUnicode — Coverage: 91.3% | Lines: 23 | Complexity: 10 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readArray — Coverage: 95.5% | Lines: 22 | Complexity: 10 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readLiteralString — Coverage: 100.0% | Lines: 21 | Complexity: 8 Phpdftk\Pdf\Reader\Parser\StreamParser::decode — Coverage: 100.0% | Lines: 21 | Complexity: 12 Phpdftk\Pdf\Reader\PdfReader::getLinearizationParameters — Coverage: 90.5% | Lines: 21 | Complexity: 8 Phpdftk\Pdf\Reader\PositionedTextExtractor::unescapeLiteralString — Coverage: 76.2% | Lines: 21 | Complexity: 13 Phpdftk\Pdf\Reader\PositionedTextExtractor::extractLiteralString — Coverage: 85.7% | Lines: 21 | Complexity: 8 Phpdftk\Pdf\Reader\TextExtractor::unescapeLiteralString — Coverage: 76.2% | Lines: 21 | Complexity: 13 Phpdftk\Pdf\Reader\TextExtractor::extractLiteralString — Coverage: 66.7% | Lines: 21 | Complexity: 8 Phpdftk\Pdf\Reader\PositionedTextExtractor::showString — Coverage: 100.0% | Lines: 20 | Complexity: 2 Phpdftk\Pdf\Reader\PositionedTextExtractor::computeStringDisplacement — Coverage: 100.0% | Lines: 20 | Complexity: 6 Phpdftk\Pdf\Reader\ObjectResolver::recoverByRescan — Coverage: 78.9% | Lines: 19 | Complexity: 10 Phpdftk\Pdf\Reader\PositionedTextExtractor::getContentStreamData — Coverage: 36.8% | Lines: 19 | Complexity: 9 Phpdftk\Pdf\Reader\TextExtractor::getContentStreamData — Coverage: 73.7% | Lines: 19 | Complexity: 9 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readToken — Coverage: 100.0% | Lines: 19 | Complexity: 13 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readKeyword — Coverage: 100.0% | Lines: 19 | Complexity: 15 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseIndirectObject — Coverage: 100.0% | Lines: 17 | Complexity: 6 Phpdftk\Pdf\Reader\PdfReader::getCatalog — Coverage: 88.2% | Lines: 17 | Complexity: 7 Phpdftk\Pdf\Reader\PdfReader::reconstructXref — Coverage: 82.4% | Lines: 17 | Complexity: 4 Phpdftk\Pdf\Reader\PositionedTextExtractor::buildSpanForText — Coverage: 94.1% | Lines: 17 | Complexity: 2 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadFontDataFromResources — Coverage: 94.1% | Lines: 17 | Complexity: 7 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readLiteralString — Coverage: 94.1% | Lines: 17 | Complexity: 8 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseStream — Coverage: 87.5% | Lines: 16 | Complexity: 6 Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDictR6 — Coverage: 93.8% | Lines: 16 | Complexity: 9 Phpdftk\Pdf\Reader\PdfReader::isLinearized — Coverage: 75.0% | Lines: 16 | Complexity: 10 Phpdftk\Pdf\Reader\PdfReader::findCatalogInScan — Coverage: 87.5% | Lines: 16 | Complexity: 9 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::skipWhitespaceAndComments — Coverage: 100.0% | Lines: 16 | Complexity: 13 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseDictionary — Coverage: 93.3% | Lines: 15 | Complexity: 6 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadDefaultWidth — Coverage: 86.7% | Lines: 15 | Complexity: 6 Phpdftk\Pdf\Reader\PositionedTextExtractor::extractActualText — Coverage: 86.7% | Lines: 15 | Complexity: 6 Phpdftk\Pdf\Reader\TextExtractor::extractActualText — Coverage: 60.0% | Lines: 15 | Complexity: 6 Phpdftk\Pdf\Reader\Tokenizer\FileSource::read — Coverage: 93.3% | Lines: 15 | Complexity: 5 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readEscapeSequence — Coverage: 80.0% | Lines: 15 | Complexity: 13 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readNumber — Coverage: 100.0% | Lines: 15 | Complexity: 7 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseTokenValue — Coverage: 100.0% | Lines: 14 | Complexity: 12 Phpdftk\Pdf\Reader\Parser\StreamParser::resolveDecodeParms — Coverage: 78.6% | Lines: 14 | Complexity: 10 Phpdftk\Pdf\Reader\PositionedTextExtractor::winAnsiFallback — Coverage: 92.9% | Lines: 14 | Complexity: 5 Phpdftk\Pdf\Reader\TextExtractor::winAnsiFallback — Coverage: 92.9% | Lines: 14 | Complexity: 5 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readInlineDict — Coverage: 92.3% | Lines: 13 | Complexity: 6 Phpdftk\Pdf\Reader\PdfDecryptor::decryptDictionary — Coverage: 92.3% | Lines: 13 | Complexity: 8 Phpdftk\Pdf\Reader\PdfReader::findStartxref — Coverage: 100.0% | Lines: 13 | Complexity: 5 Phpdftk\Pdf\Reader\PdfReader::collectPages — Coverage: 69.2% | Lines: 13 | Complexity: 7 Phpdftk\Pdf\Reader\PositionedTextExtractor::tryLoadStandardFontWidths — Coverage: 100.0% | Lines: 13 | Complexity: 5 Phpdftk\Pdf\Reader\TextExtractor::extractSpaceWidth — Coverage: 92.3% | Lines: 13 | Complexity: 7 Phpdftk\Pdf\Reader\Tokenizer\FileSource::readByte — Coverage: 100.0% | Lines: 13 | Complexity: 5 Phpdftk\Pdf\Reader\Tokenizer\FileSource::peek — Coverage: 100.0% | Lines: 13 | Complexity: 7 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readHexString — Coverage: 100.0% | Lines: 13 | Complexity: 12 Phpdftk\Pdf\Reader\ObjectResolver::resolveCompressed — Coverage: 75.0% | Lines: 12 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\BitReader::readBits — Coverage: 100.0% | Lines: 12 | Complexity: 4 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readName — Coverage: 100.0% | Lines: 12 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\StreamParser::decodeCCITTFax — Coverage: 81.8% | Lines: 11 | Complexity: 9 Phpdftk\Pdf\Reader\Parser\StreamParser::decodeJbig2 — Coverage: 36.4% | Lines: 11 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\StreamParser::resolveFilterNames — Coverage: 100.0% | Lines: 11 | Complexity: 6 Phpdftk\Pdf\Reader\PdfDecryptor::decrypt — Coverage: 81.8% | Lines: 11 | Complexity: 5 Phpdftk\Pdf\Reader\PositionedTextExtractor::readOctalOrLiteral — Coverage: 81.8% | Lines: 11 | Complexity: 7 Phpdftk\Pdf\Reader\TextExtractor::readOctalOrLiteral — Coverage: 81.8% | Lines: 11 | Complexity: 7 Phpdftk\Pdf\Reader\ObjectResolver::resolve — Coverage: 90.0% | Lines: 10 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readName — Coverage: 100.0% | Lines: 10 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseIntegerOrReference — Coverage: 100.0% | Lines: 10 | Complexity: 3 Phpdftk\Pdf\Reader\Parser\PageOffsetHintTable::getPageByteRange — Coverage: 100.0% | Lines: 10 | Complexity: 5 Phpdftk\Pdf\Reader\Parser\StreamParser::applyPredictor — Coverage: 100.0% | Lines: 10 | Complexity: 3 Phpdftk\Pdf\Reader\PdfDecryptor::decryptArray — Coverage: 80.0% | Lines: 10 | Complexity: 5 Phpdftk\Pdf\Reader\PdfReader::getPages — Coverage: 80.0% | Lines: 10 | Complexity: 3 Phpdftk\Pdf\Reader\PositionedTextExtractor::extractHexString — Coverage: 100.0% | Lines: 10 | Complexity: 5 Phpdftk\Pdf\Reader\TextExtractor::extractHexString — Coverage: 100.0% | Lines: 10 | Complexity: 5 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readHexString — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readNumber — Coverage: 100.0% | Lines: 9 | Complexity: 7 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readKeyword — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseArray — Coverage: 88.9% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\XrefParser::readLine — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Reader\Parser\XrefParser::readWord — Coverage: 100.0% | Lines: 9 | Complexity: 12 Phpdftk\Pdf\Reader\PdfDecryptor::decryptObject — Coverage: 44.4% | Lines: 9 | Complexity: 5 Phpdftk\Pdf\Reader\PdfReader::getEffectiveVersion — Coverage: 100.0% | Lines: 9 | Complexity: 5 Phpdftk\Pdf\Reader\PdfReader::getPageCount — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Reader\PositionedTextExtractor::parseStringOperand — Coverage: 88.9% | Lines: 9 | Complexity: 6 Phpdftk\Pdf\Reader\TextExtractor::parseStringOperand — Coverage: 88.9% | Lines: 9 | Complexity: 6 Phpdftk\Pdf\Reader\Tokenizer\FileSource::fillBuffer — Coverage: 100.0% | Lines: 9 | Complexity: 3 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readOctalOrLiteral — Coverage: 77.8% | Lines: 9 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\ObjectParser::skipStreamTrailer — Coverage: 100.0% | Lines: 8 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\ObjectScanner::scan — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Reader\Parser\StreamParser::boolParam — Coverage: 37.5% | Lines: 8 | Complexity: 4 Phpdftk\Pdf\Reader\PdfDecryptor::deriveObjectKey — Coverage: 87.5% | Lines: 8 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::getTypedCatalog — Coverage: 87.5% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Reader\PositionedTextExtractor::extractFromPage — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Reader\PositionedTextExtractor::multiplyMatrices — Coverage: 100.0% | Lines: 8 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::loadFontData — Coverage: 100.0% | Lines: 8 | Complexity: 2 Phpdftk\Pdf\Reader\TextExtractor::extractFromPage — Coverage: 87.5% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Reader\ObjectResolver::rescanFile — Coverage: 100.0% | Lines: 7 | Complexity: 4 Phpdftk\Pdf\Reader\PdfDecryptor::decryptStream — Coverage: 85.7% | Lines: 7 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::getTypedPages — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::getTypedObject — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Pdf\Reader\TextExtractor::loadFontMaps — Coverage: 85.7% | Lines: 7 | Complexity: 2 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseDictionaryOrStream — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Reader\Parser\StreamParser::intParam — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Reader\Parser\XrefParser::skipWhitespace — Coverage: 100.0% | Lines: 6 | Complexity: 9 Phpdftk\Pdf\Reader\PdfDecryptor::intVal — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::fromStream — Coverage: 66.7% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::getPageByteRange — Coverage: 50.0% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::getInfo — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Reader\PdfReader::extractAllText — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::extractAllTextWithPositions — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::getTypedPage — Coverage: 83.3% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::extractFileId — Coverage: 100.0% | Lines: 6 | Complexity: 4 Phpdftk\Pdf\Reader\PositionedTextExtractor::getNamedEncodingTable — Coverage: 50.0% | Lines: 6 | Complexity: 6 Phpdftk\Pdf\Reader\TextExtractor::getNamedEncodingTable — Coverage: 50.0% | Lines: 6 | Complexity: 6 Phpdftk\Pdf\Reader\Tokenizer\FileSource::__construct — Coverage: 83.3% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Reader\Parser\ObjectParser::expect — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\PdfDecryptor::decryptString — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::parseXrefAt — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\PositionedTextExtractor::textToUserSpace — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::decodeName — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::containsMultibyte — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Pdf\Reader\TextExtractor::inferSpacing — Coverage: 40.0% | Lines: 5 | Complexity: 4 Phpdftk\Pdf\Reader\TextExtractor::containsMultibyte — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Pdf\Reader\TextExtractor::decodeName — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::nextToken — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readAngleBracketToken — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readDictEnd — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::isDelimiterOrWhitespace — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Pdf\Reader\PdfDecryptor::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Reader\PdfDecryptor::stringVal — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::getPage — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Reader\PositionedTextExtractor::getEffectiveFontSize — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::mergeOlderEntries — Coverage: 100.0% | Lines: 3 | Complexity: 3 Phpdftk\Pdf\Reader\ObjectResolver::scanObjectMap — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\BitReader::alignToByte — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\Parser\StreamParser::decodeLzw — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\PdfReader::extractText — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::extractTextWithPositions — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::resolveValue — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\TextExtractor::resolveValue — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\StringSource::read — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::readByte — Coverage: 66.7% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::peek — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::tell — Coverage: 66.7% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::handleLineContinuation — Coverage: 66.7% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Reader\ObjectResolver::has — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Pdf\Reader\ObjectResolver::readRaw — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isWhitespace — Coverage: 100.0% | Lines: 2 | Complexity: 6 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isDelimiter — Coverage: 100.0% | Lines: 2 | Complexity: 8 Phpdftk\Pdf\Reader\Parser\ObjectParser::parseValue — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\StreamParser::decodeFlate — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\PositionedTextExtractor::advanceTextMatrix — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\TextExtractor::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\TextExtractor::decodeStringOperand — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::__destruct — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::seek — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::setStrict — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::resolveReference — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::getEntry — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::getObjectNumbers — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\ObjectResolver::getEntries — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\BitReader::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\BitReader::getBitPosition — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\BitReader::getBytePosition — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\ContentStreamOp::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isNumberStart — Coverage: 100.0% | Lines: 1 | Complexity: 5 Phpdftk\Pdf\Reader\Parser\HintTableParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\ObjectParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\ObjectStreamParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\PageHintEntry::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\PageOffsetHintTable::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\SharedObjectHintEntry::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\SharedObjectHintTable::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\StreamParser::setResolver — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\XrefParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Parser\XrefStreamParser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getParseWarnings — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::fromFile — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::fromString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::fromFilePublicKey — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::fromStringPublicKey — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getVersion — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getPdfVersion — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getTrailer — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getObject — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::resolveReference — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\PdfReader::getResolver — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\TextSpan::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::seek — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::tell — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::size — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::isEof — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\FileSource::invalidateBuffer — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::peek — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::seek — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::tell — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::size — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\StringSource::isEof — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\Token::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::getSource — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Reader\XrefEntry::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\Pdf\Reader\PdfReader::getPageOffsetHintTable202.0723.1%
Phpdftk\Pdf\Reader\TextExtractor::processOps116.4669.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::buildEncodingMap92.1730.0%
Phpdftk\Pdf\Reader\TextExtractor::buildEncodingMap92.1730.0%
Phpdftk\Pdf\Reader\PdfReader::validateVersion66.3963.4%
Phpdftk\Pdf\Reader\PositionedTextExtractor::processOps58.8089.2%
Phpdftk\Pdf\Reader\PositionedTextExtractor::showTJArray3095.8%
Phpdftk\Pdf\Reader\PositionedTextExtractor::getContentStreamData29.4136.8%
Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDictPublicKey29.2385.5%
Phpdftk\Pdf\Reader\TextExtractor::loadFontMapsFromResources29.0567.6%
Phpdftk\Pdf\Reader\PdfReader::build2598.0%
Phpdftk\Pdf\Reader\TextExtractor::decodeTJArray23.1693.3%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::parse20100.0%
Phpdftk\Pdf\Reader\Parser\XrefStreamParser::parseXrefStream2098.2%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadCidWidths18.7460.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readInlineImage17100.0%
Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDict1798.4%
Phpdftk\Pdf\Reader\Parser\StreamParser::decodeJbig215.2836.4%
Phpdftk\Pdf\Reader\PositionedTextExtractor::unescapeLiteralString15.2876.2%
Phpdftk\Pdf\Reader\TextExtractor::unescapeLiteralString15.2876.2%
Phpdftk\Pdf\Reader\PositionedTextExtractor::extractFromXObject15.2181.6%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readKeyword15100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readEscapeSequence14.3580.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadGlyphWidths1496.9%
Phpdftk\Pdf\Reader\Parser\HintTableParser::parsePageOffsetTable13.0494.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadEncodingMap1396.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readToken13100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::skipWhitespaceAndComments13100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseTokenValue12100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::decode12100.0%
Phpdftk\Pdf\Reader\Parser\XrefParser::readWord12100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readHexString12100.0%
Phpdftk\Pdf\Reader\ObjectResolver::resolveInUse11.7873.9%
Phpdftk\Pdf\Reader\PdfReader::isLinearized11.5675.0%
Phpdftk\Pdf\Reader\Parser\XrefParser::parseClassicXref11.4185.0%
Phpdftk\Pdf\Reader\Parser\ObjectStreamParser::unpack1197.4%
Phpdftk\Pdf\Reader\Parser\StreamParser::resolveDecodeParms10.9878.6%
Phpdftk\Pdf\Reader\ObjectResolver::recoverByRescan10.9378.9%
Phpdftk\Pdf\Reader\PdfReader::recoverCatalog10.8080.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::getNamedEncodingTable10.5050.0%
Phpdftk\Pdf\Reader\TextExtractor::getNamedEncodingTable10.5050.0%
Phpdftk\Pdf\Reader\TextExtractor::getContentStreamData10.4873.7%
Phpdftk\Pdf\Reader\TextExtractor::extractLiteralString10.3766.7%
Phpdftk\Pdf\Reader\Parser\ObjectParser::scanForEndstream10.2486.7%
Phpdftk\Pdf\Reader\TextExtractor::extractFromXObject10.2087.5%
Phpdftk\Pdf\Reader\PositionedTextExtractor::mapBytesToUnicode10.0791.3%
Phpdftk\Pdf\Reader\TextExtractor::mapBytesToUnicode10.0791.3%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readArray1095.5%
Phpdftk\Pdf\Reader\Parser\StreamParser::decodeCCITTFax9.4981.8%
Phpdftk\Pdf\Reader\PdfDecryptor::decryptObject9.2944.4%
Phpdftk\Pdf\Reader\PdfReader::findCatalogInScan9.1687.5%
Phpdftk\Pdf\Reader\PdfDecryptor::fromEncryptDictR69.0293.8%
Phpdftk\Pdf\Reader\Parser\XrefParser::skipWhitespace9100.0%
Phpdftk\Pdf\Reader\PdfReader::collectPages8.4369.2%
Phpdftk\Pdf\Reader\TextExtractor::extractActualText8.3060.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::extractLiteralString8.1985.7%
Phpdftk\Pdf\Reader\PdfReader::getLinearizationParameters8.0690.5%
Phpdftk\Pdf\Reader\PdfDecryptor::decryptDictionary8.0392.3%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readLiteralString8.0194.1%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isDelimiter8100.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readLiteralString8100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::boolParam7.9137.5%
Phpdftk\Pdf\Reader\TextExtractor::inferSpacing7.4640.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::readOctalOrLiteral7.2981.8%
Phpdftk\Pdf\Reader\TextExtractor::readOctalOrLiteral7.2981.8%
Phpdftk\Pdf\Reader\PdfReader::getCatalog7.0888.2%
Phpdftk\Pdf\Reader\TextExtractor::extractSpaceWidth7.0292.3%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadFontDataFromResources7.0194.1%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readNumber7100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::peek7100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readNumber7100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readOctalOrLiteral6.4077.8%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadDefaultWidth6.0986.7%
Phpdftk\Pdf\Reader\PositionedTextExtractor::extractActualText6.0986.7%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseStream6.0787.5%
Phpdftk\Pdf\Reader\PositionedTextExtractor::parseStringOperand6.0588.9%
Phpdftk\Pdf\Reader\TextExtractor::parseStringOperand6.0588.9%
Phpdftk\Pdf\Reader\ObjectResolver::resolve6.0490.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readInlineDict6.0292.3%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseDictionary6.0193.3%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isWhitespace6100.0%
Phpdftk\Pdf\Reader\Parser\HintTableParser::parseSharedObjectTable697.3%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseIndirectObject6100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::skipStreamTrailer6100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::resolveFilterNames6100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::computeStringDisplacement6100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readName6100.0%
Phpdftk\Pdf\Reader\PdfDecryptor::decryptArray5.2080.0%
Phpdftk\Pdf\Reader\PdfDecryptor::decrypt5.1581.8%
Phpdftk\Pdf\Reader\PositionedTextExtractor::winAnsiFallback5.0192.9%
Phpdftk\Pdf\Reader\TextExtractor::winAnsiFallback5.0192.9%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::read5.0193.3%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::isNumberStart5100.0%
Phpdftk\Pdf\Reader\Parser\PageOffsetHintTable::getPageByteRange5100.0%
Phpdftk\Pdf\Reader\PdfReader::getEffectiveVersion5100.0%
Phpdftk\Pdf\Reader\PdfReader::findStartxref5100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::tryLoadStandardFontWidths5100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::extractHexString5100.0%
Phpdftk\Pdf\Reader\TextExtractor::extractHexString5100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::readByte5100.0%
Phpdftk\Pdf\Reader\ObjectResolver::resolveCompressed4.2575.0%
Phpdftk\Pdf\Reader\PdfReader::getPageByteRange4.1250.0%
Phpdftk\Pdf\Reader\PdfReader::reconstructXref4.0982.4%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseArray4.0288.9%
Phpdftk\Pdf\Reader\ObjectResolver::rescanFile4100.0%
Phpdftk\Pdf\Reader\Parser\BitReader::readBits4100.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readHexString4100.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readName4100.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamParser::readKeyword4100.0%
Phpdftk\Pdf\Reader\Parser\XrefParser::readLine4100.0%
Phpdftk\Pdf\Reader\PdfReader::getPageCount4100.0%
Phpdftk\Pdf\Reader\PdfReader::extractFileId4100.0%
Phpdftk\Pdf\Reader\PdfReader::fromStream3.3366.7%
Phpdftk\Pdf\Reader\PdfReader::getPages3.0780.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::intParam3.0483.3%
Phpdftk\Pdf\Reader\PdfDecryptor::intVal3.0483.3%
Phpdftk\Pdf\Reader\PdfDecryptor::decryptStream3.0385.7%
Phpdftk\Pdf\Reader\PdfReader::getTypedCatalog3.0287.5%
Phpdftk\Pdf\Reader\TextExtractor::extractFromPage3.0287.5%
Phpdftk\Pdf\Reader\ObjectResolver::mergeOlderEntries3100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseIntegerOrReference3100.0%
Phpdftk\Pdf\Reader\Parser\ObjectScanner::scan3100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::applyPredictor3100.0%
Phpdftk\Pdf\Reader\PdfReader::getInfo3100.0%
Phpdftk\Pdf\Reader\PdfReader::getTypedPages3100.0%
Phpdftk\Pdf\Reader\PdfReader::getTypedObject3100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::extractFromPage3100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::containsMultibyte3100.0%
Phpdftk\Pdf\Reader\TextExtractor::containsMultibyte3100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::fillBuffer3100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::isDelimiterOrWhitespace3100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::readByte2.1566.7%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::tell2.1566.7%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::handleLineContinuation2.1566.7%
Phpdftk\Pdf\Reader\PdfDecryptor::stringVal2.0675.0%
Phpdftk\Pdf\Reader\PdfReader::getTypedPage2.0283.3%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::__construct2.0283.3%
Phpdftk\Pdf\Reader\PdfDecryptor::deriveObjectKey2.0187.5%
Phpdftk\Pdf\Reader\TextExtractor::loadFontMaps2.0185.7%
Phpdftk\Pdf\Reader\ObjectResolver::has2100.0%
Phpdftk\Pdf\Reader\Parser\BitReader::alignToByte2100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseDictionaryOrStream2100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::expect2100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::decodeLzw2100.0%
Phpdftk\Pdf\Reader\PdfDecryptor::decryptString2100.0%
Phpdftk\Pdf\Reader\PdfReader::getPage2100.0%
Phpdftk\Pdf\Reader\PdfReader::extractAllText2100.0%
Phpdftk\Pdf\Reader\PdfReader::extractAllTextWithPositions2100.0%
Phpdftk\Pdf\Reader\PdfReader::parseXrefAt2100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::showString2100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::buildSpanForText2.0094.1%
Phpdftk\Pdf\Reader\PositionedTextExtractor::loadFontData2100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::resolveValue2100.0%
Phpdftk\Pdf\Reader\TextExtractor::resolveValue2100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::__destruct2100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::nextToken2100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::peek2100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readAngleBracketToken2100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::readDictEnd2100.0%
Phpdftk\Pdf\Reader\ObjectResolver::__construct1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::setStrict1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::resolveReference1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::getEntry1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::getObjectNumbers1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::getEntries1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::scanObjectMap1100.0%
Phpdftk\Pdf\Reader\ObjectResolver::readRaw1100.0%
Phpdftk\Pdf\Reader\Parser\BitReader::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\BitReader::getBitPosition1100.0%
Phpdftk\Pdf\Reader\Parser\BitReader::getBytePosition1100.0%
Phpdftk\Pdf\Reader\Parser\ContentStreamOp::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\HintTableParser::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\ObjectParser::parseValue1100.0%
Phpdftk\Pdf\Reader\Parser\ObjectStreamParser::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\PageHintEntry::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\PageOffsetHintTable::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\SharedObjectHintEntry::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\SharedObjectHintTable::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::setResolver1100.0%
Phpdftk\Pdf\Reader\Parser\StreamParser::decodeFlate1100.0%
Phpdftk\Pdf\Reader\Parser\XrefParser::__construct1100.0%
Phpdftk\Pdf\Reader\Parser\XrefStreamParser::__construct1100.0%
Phpdftk\Pdf\Reader\PdfDecryptor::__construct1100.0%
Phpdftk\Pdf\Reader\PdfReader::__construct1100.0%
Phpdftk\Pdf\Reader\PdfReader::getParseWarnings1100.0%
Phpdftk\Pdf\Reader\PdfReader::fromFile1100.0%
Phpdftk\Pdf\Reader\PdfReader::fromString1100.0%
Phpdftk\Pdf\Reader\PdfReader::fromFilePublicKey1100.0%
Phpdftk\Pdf\Reader\PdfReader::fromStringPublicKey1100.0%
Phpdftk\Pdf\Reader\PdfReader::getVersion1100.0%
Phpdftk\Pdf\Reader\PdfReader::getPdfVersion1100.0%
Phpdftk\Pdf\Reader\PdfReader::getTrailer1100.0%
Phpdftk\Pdf\Reader\PdfReader::getObject1100.0%
Phpdftk\Pdf\Reader\PdfReader::resolveReference1100.0%
Phpdftk\Pdf\Reader\PdfReader::getResolver1100.0%
Phpdftk\Pdf\Reader\PdfReader::extractText1100.0%
Phpdftk\Pdf\Reader\PdfReader::extractTextWithPositions1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::__construct1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::advanceTextMatrix1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::textToUserSpace1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::getEffectiveFontSize1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::multiplyMatrices1100.0%
Phpdftk\Pdf\Reader\PositionedTextExtractor::decodeName1100.0%
Phpdftk\Pdf\Reader\TextExtractor::__construct1100.0%
Phpdftk\Pdf\Reader\TextExtractor::decodeStringOperand1100.0%
Phpdftk\Pdf\Reader\TextExtractor::decodeName1100.0%
Phpdftk\Pdf\Reader\TextSpan::__construct1100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::seek1100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::tell1100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::size1100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::isEof1100.0%
Phpdftk\Pdf\Reader\Tokenizer\FileSource::invalidateBuffer1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::__construct1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::read1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::peek1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::seek1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::tell1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::size1100.0%
Phpdftk\Pdf\Reader\Tokenizer\StringSource::isEof1100.0%
Phpdftk\Pdf\Reader\Tokenizer\Token::__construct1100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::__construct1100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::getSource1100.0%
Phpdftk\Pdf\Reader\Tokenizer\Tokenizer::seek1100.0%
Phpdftk\Pdf\Reader\XrefEntry::__construct1100.0%