| PDFParserTest |  | 0% |  | 0% | 186 | 186 | 1,389 | 1,389 | 116 | 116 | 1 | 1 |
| PDFMarkedContentGateTest |  | 0% |  | 0% | 71 | 71 | 840 | 840 | 45 | 45 | 1 | 1 |
| PDFPagesEmitTest |  | 0% |  | 0% | 52 | 52 | 365 | 365 | 34 | 34 | 1 | 1 |
| AbstractPDF2XHTML |   | 61% |   | 53% | 181 | 312 | 339 | 932 | 18 | 65 | 0 | 1 |
| PDFMarkedContent2XHTML |   | 79% |   | 70% | 165 | 426 | 163 | 811 | 4 | 69 | 0 | 1 |
| StructureIndexTest |  | 0% | | 0% | 14 | 14 | 112 | 112 | 12 | 12 | 1 | 1 |
| PDFIncrementalUpdatesTest |  | 0% | | 0% | 17 | 17 | 91 | 91 | 15 | 15 | 1 | 1 |
| PDFParser |   | 73% |   | 56% | 60 | 114 | 88 | 342 | 11 | 35 | 0 | 1 |
| PageEmitter |   | 16% |   | 17% | 32 | 39 | 76 | 97 | 8 | 13 | 0 | 1 |
| AbstractPDF2XHTML.PageTextBuffer |  | 0% |  | 0% | 35 | 35 | 59 | 59 | 24 | 24 | 1 | 1 |
| PDFMarkedContentIdentityTest |  | 0% |  | 0% | 20 | 20 | 43 | 43 | 11 | 11 | 1 | 1 |
| PDFParserConfig |   | 49% |  | 14% | 53 | 82 | 91 | 162 | 38 | 67 | 0 | 1 |
| CustomTikaXMPTest |  | 0% | | n/a | 7 | 7 | 53 | 53 | 7 | 7 | 1 | 1 |
| TaggedPdfBuilder |  | 0% |  | 0% | 17 | 17 | 64 | 64 | 14 | 14 | 1 | 1 |
| PDFMaxRenderedPagesTest |  | 0% | | n/a | 9 | 9 | 38 | 38 | 9 | 9 | 1 | 1 |
| PDFMarkedContent2XHTMLTest |  | 0% | | 0% | 8 | 8 | 41 | 41 | 6 | 6 | 1 | 1 |
| StructureIndex |   | 79% |   | 70% | 29 | 75 | 41 | 150 | 5 | 22 | 0 | 1 |
| PDF2XHTML |   | 48% |  | 35% | 7 | 18 | 37 | 83 | 1 | 11 | 0 | 1 |
| PDFEmbeddedFileNoTempFileTest |  | 0% | | 0% | 4 | 4 | 30 | 30 | 3 | 3 | 1 | 1 |
| PDF2XHTML.AngleDetectingPDF2XHTML |  | 0% |  | 0% | 9 | 9 | 39 | 39 | 6 | 6 | 1 | 1 |
| XFAExtractorTest |  | 0% | | n/a | 9 | 9 | 28 | 28 | 9 | 9 | 1 | 1 |
| PDFPerPageRenderTest |  | 0% | | n/a | 6 | 6 | 29 | 29 | 6 | 6 | 1 | 1 |
| OcrConfig |  | 0% |  | 0% | 20 | 20 | 37 | 37 | 12 | 12 | 1 | 1 |
| PDFParserRuntimeConfigTest |  | 0% | | 0% | 7 | 7 | 24 | 24 | 6 | 6 | 1 | 1 |
| OcrConfig.StrategyAuto |  | 0% | | 0% | 10 | 10 | 23 | 23 | 9 | 9 | 1 | 1 |
| OCR2XHTML |  | 0% |  | 0% | 10 | 10 | 28 | 28 | 7 | 7 | 1 | 1 |
| PDFMarkedContent2XHTML.BlockGroup |  | 35% |  | 7% | 9 | 11 | 19 | 32 | 2 | 4 | 0 | 1 |
| PDMetadataExtractor |   | 74% |   | 69% | 15 | 42 | 19 | 79 | 3 | 11 | 0 | 1 |
| PDFParserNoTempFileTest |  | 0% | | n/a | 2 | 2 | 17 | 17 | 2 | 2 | 1 | 1 |
| PDFMarkedContent2XHTML.ElementSpec | | 50% |  | 25% | 6 | 10 | 5 | 17 | 2 | 6 | 0 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | 0% | 4 | 4 | 11 | 11 | 3 | 3 | 1 | 1 |
| PDFPagesEmitTest.ImageSink | | 0% | | n/a | 4 | 4 | 12 | 12 | 4 | 4 | 1 | 1 |
| PDFParserTest.EnrichingImageParser | | 0% | | 0% | 4 | 4 | 15 | 15 | 3 | 3 | 1 | 1 |
| PDFMarkedContent2XHTML.Run | | 43% |  | 22% | 9 | 12 | 10 | 18 | 1 | 3 | 0 | 1 |
| PDFParserTest.PageHook | | 0% | | n/a | 3 | 3 | 11 | 11 | 3 | 3 | 1 | 1 |
| PDF2XHTML.AngleCollector | | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| PDFParserTest.PageEnricher | | 0% | | 0% | 5 | 5 | 14 | 14 | 4 | 4 | 1 | 1 |
| OcrConfig.Strategy | | 0% | | n/a | 3 | 3 | 9 | 9 | 3 | 3 | 1 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | 0% | 4 | 4 | 9 | 9 | 3 | 3 | 1 | 1 |
| PDFEmbeddedFileNoTempFileTest.RecordingExtractor | | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
| PDFParserTest.PageAnnotator | | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| AbstractPDF2XHTML.TextCounter | | 0% |  | 0% | 6 | 6 | 7 | 7 | 3 | 3 | 1 | 1 |
| MyCustomImageGraphicsEngineFactory | | 0% | | n/a | 4 | 4 | 9 | 9 | 4 | 4 | 1 | 1 |
| PDFParserTest.new Parser() {...} | | 0% | | n/a | 3 | 3 | 9 | 9 | 3 | 3 | 1 | 1 |
| PDFPagesEmitTest.new ToXMLContentHandler() {...} | | 0% | | 0% | 4 | 4 | 6 | 6 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | 0% | 4 | 4 | 8 | 8 | 3 | 3 | 1 | 1 |
| PDFPagesEmitTest.CountingRenderer | | 0% | | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| OcrConfig.ImageFormat | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| PDFMarkedContentGateTest.new PDFMarkedContentGateTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 7 | 7 | 3 | 3 | 1 | 1 |
| PDFMarkedContentGateTest.Result | | 0% | | n/a | 3 | 3 | 7 | 7 | 3 | 3 | 1 | 1 |
| PDFParserConfig.IMAGE_STRATEGY | | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 | 1 | 1 |
| PDFPagesEmitTest.new ToXMLContentHandler() {...} | | 0% | | 0% | 4 | 4 | 5 | 5 | 2 | 2 | 1 | 1 |
| XFAExtractor.XFAHandler |  | 92% |   | 78% | 9 | 38 | 7 | 70 | 0 | 10 | 0 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| PDFPagesEmitTest.new PDFBoxRenderer() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PDFPagesEmitTest.new PDFBoxRenderer() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| StructureIndex.Node | | 48% | | 0% | 3 | 4 | 5 | 12 | 1 | 2 | 0 | 1 |
| OcrConfig.ImageType | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| MarkedContentConfig | | 56% | | 0% | 4 | 8 | 6 | 13 | 3 | 7 | 0 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| PDFParserTest.new PDFParserTest.MockEngine() {...} | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| PDFParserTest.EventCountingHandler | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| PDFPagesEmitTest.Shape | | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 | 1 | 1 |
| PDFParserTest.AvoidInlineSelector | | 0% | | 0% | 3 | 3 | 4 | 4 | 1 | 1 | 1 | 1 |
| PDFRandomAccess | | 78% | | 83% | 1 | 5 | 6 | 16 | 0 | 2 | 0 | 1 |
| PDFRenderingTest | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| PDFPagesEmitTest.new PDFBoxRenderer() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PDFPagesEmitTest.new PDFBoxRenderer() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| XFAExtractor.XFAField | | 60% | | n/a | 1 | 2 | 1 | 6 | 1 | 2 | 0 | 1 |
| PDFParserTest.new PasswordProvider() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PasswordProvider() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PasswordProvider() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PasswordProvider() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PDFParserTest.new PasswordProvider() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| OCR2XHTML.new Writer() {...} | | 0% | | n/a | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
| PDFParserRuntimeConfigTest.ConstructorWitness | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| PDFEncodedStringDecoder |  | 95% |  | 80% | 2 | 9 | 3 | 19 | 0 | 4 | 0 | 1 |
| PDFEncodedStringDecoder.COSStringParser | | 75% | | 50% | 1 | 3 | 3 | 8 | 0 | 2 | 0 | 1 |
| PDFDOMUtil |  | 97% |  | 96% | 2 | 16 | 1 | 29 | 1 | 3 | 0 | 1 |
| PDFMarkedContent2XHTML.Label |  | 96% |  | 87% | 1 | 9 | 1 | 12 | 0 | 5 | 0 | 1 |
| PDF2XHTML.new Writer() {...} | | 66% | | n/a | 2 | 4 | 2 | 4 | 2 | 4 | 0 | 1 |
| PDFMarkedContent2XHTML.new Writer() {...} | | 66% | | n/a | 2 | 4 | 2 | 4 | 2 | 4 | 0 | 1 |
| XFAExtractor |  | 100% |  | 90% | 2 | 16 | 0 | 44 | 0 | 5 | 0 | 1 |
| AbstractPDF2XHTML.ActionTrigger |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 | 0 | 1 |
| PDFMarkedContent2XHTML.Event | | 100% | | n/a | 0 | 2 | 0 | 9 | 0 | 2 | 0 | 1 |
| XFAExtractor.XFAHandler.State | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |
| PDFMarkedContent2XHTML.EventKind | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |
| PDFMarkedContent2XHTML.State | | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 0 | 1 |
| OcrConfig.RenderingStrategy | | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 0 | 1 |
| PDFParserConfig.AccessCheckMode | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| AbstractPDF2XHTML.PageOcr | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| MarkedContentConfig.Strategy | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| AbstractPDF2XHTML.PageText | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |
| StructureIndex.Frame | | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 0 | 1 |
| AbstractPDF2XHTML.NameSpecTuple | | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| OCRPageCounter | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| PDFRandomAccess.new RandomAccessReadBuffer() {...} | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| PDFMarkedContent2XHTML.Segment | | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 0 | 1 |
| PDFParser.TikaAcroFormFixup | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| PDFMarkedContent2XHTML.Wrapper | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| PDFMarkedContent2XHTML.MarkedContentFrame | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| StructureIndex.Leaf | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |