Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.3
    • Fix Version/s: 5.0.0 alpha1, 5.0.0 beta1, 5.0
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      any

      Description

      When building the PostScript calculator for type 4 function support I did quite a bit of research into parsing techniques. The end result was relatively quick parsing engine. Once this work was completed I started working on a new PDF Content Parser system using the same techniques. In theory the new parser should be in the order of 50x faster the current one.

      The ContentParser in ICEpdf is tightly coupled with the the generic Parser class. The Parser class feeds the Content Parser tokens for processing. This Parser is multipurpose handling both stream and dictionary parsing as well as providing tokens in a page content stream. The main problem here is that content stream operand tokens are returned as strings from the parser and then .equals is used by the content Parser to execute a found command. There are 90 plus operand tokens which is a a lot of comparison that we could be doing more efficiently.

      One further problem with the Parser class is that it assumes that a content stream is always well formed and that operands, names and number will always be white space separated. This is not the case and a new setup should be able to determine tokens even if spaces are not present.

      I've already done quite a bit of work on this. I will likely create a 4.3 branch and use the trunk to start checking in work for this optimization.

        Activity

        Patrick Corless created issue -
        Patrick Corless made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 5.0 [ 10314 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32258 Tue Nov 20 11:42:02 MST 2012 patrick.corless PDF-376 rework of byte parsing and removal off older < JDK 1.4 api's, reworked thread, painting etc, see more detail in the jira.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SeekableByteArrayInputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/HuffmanDecoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionFlags.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/ShapesDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pageinformation/PageInformationFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ShadingType1Pattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Library.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/PaintTimer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/halftone/HalftoneRegionFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/Memento.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/NameNode.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/Querior.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ImagePool.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/JBIG2StreamDecoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/CrossReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ViewerPreferences.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PageTree.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/AlphaDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/Function.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/PropertyConstants.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ObjectStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/text/PageText.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/loggers/BriefestLogFormatter.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/CryptFilterEntry.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pattern/PatternDictionaryFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/DecodeIntResult.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/CachedImageReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/SoftMask.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/DocumentViewController.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/BufferedMarkedInputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/DeviceGray.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/RandomAccessFileInputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/halftone/HalftoneRegionSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/TaggedImage.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/filters/CCITTFax.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/loggers
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ShadingType3Pattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/JBIG2Decoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/StandardEncryption.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/swing/AbstractPageViewComponent.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/ArithmeticDecoderStats.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/jai/JBIG2ImageReaderSpi.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/Controller.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/Lexer.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/FillDrawCmd.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/MipMappedImageReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AnnotationState.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/DeviceN.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/batik/ext/awt/RadialGradientPaint.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/generic/GenericRegionFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Catalog.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Page.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/LazyObjectLoader.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/CalRGB.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/FontManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Destination.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/MemoryManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/swing/AnnotationComponentImpl.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Indexed.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/tables/JBIG2CodeTable.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/Segment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/GoToRAction.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/NameTree.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/Action.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/DeviceRGB.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/postscript/Operator.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/AFM.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/ActionFactory.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionHuffmanFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/LaunchAction.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ExtGState.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Stream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AnnotationFactory.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PRectangle.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/MemoryManagerDelegate.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/TextSpriteDrawCmd.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/PaintDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/refinement/RefinementRegionSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/SecurityHandlerInterface.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/FontUtil.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Shapes.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ColorUtil.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/OutlineItem.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/ColorDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/TaggedDocument.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Resources.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/Function.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/StringObject.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/FontFactory.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/OperandNames.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/ConservativeSizingByteArrayOutputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/io/StreamReader.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ImageStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PTrailer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/Function_0.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ImageReferenceFactory.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/GlyphOutlineDrawCmd.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ByteCache.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Appearance.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ImageReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/PageViewComponent.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/stripes/EndOfStripeSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pageinformation/PageInformationSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/LinkAnnotation.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/DrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PObject.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/Function_3.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/jai/JBIG2ImageReader.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/refinement/RefinementRegionFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/Encoding.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/TransformDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/BorderStyle.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/CryptFilter.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/ShapeDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/filters/LZWDecode.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ScaledImageReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/StandardSecurityHandler.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/util/BinaryOperation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/TextSprite.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Lab.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/CountingOutputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Separation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/postscript/OperatorFactory.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/And.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Reference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/HexStringObject.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/postscript/LexerText.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/TagState.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/ofont/Encoding.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/text/Text.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SeekableInputConstrainedWrapper.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Dictionary.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/AnnotationCallback.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/TilingPatternDrawCmd.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/loggers/BriefLogFormatter.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/swing/PageViewComponentImpl.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/swing/ResizableBorder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/ofont/Font.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/Font.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/ArithmeticDecoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/text/WordText.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image/BitmapPointer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/JBIG2Exception.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/PatternColor.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Thumbnail.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/LiteralStringObject.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/SecurityHandler.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/URIAction.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Defs.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/Operator.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/Flags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/common/ZoomHandler.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/TilingPattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/common/PanningHandler.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/MemoryManageable.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/extensions/ExtensionSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/ofont/CMap.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/StateManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ContentParser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/RegionSegment.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/StrokeDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/PColorSpace.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/ClipDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/TagUtil.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/Or.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/filters/ChunkingInputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/common/SelectionBoxHandler.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/jai/JBIG2ReaderPluginTester.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/common/TextSelectionPageHandler.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/DeviceCMYK.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/common/AnnotationHandler.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/AbstractDrawCmd.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/CacheManager.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/NoClipDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/Tagger.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/MMRDecoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/generic/GenericRegionSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/Function_4.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/EncryptionDictionary.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/FormDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/DocumentResult.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Parser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/symboldictionary/SymbolDictionarySegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/events/PaintPageListener.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/symboldictionary/SymbolDictionaryFlags.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/OperatorFactory.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/tag/query/Expression.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/views/AnnotationComponent.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/LexerTest.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Outlines.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pattern/PatternDictionarySegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/IncrementalUpdater.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/SecurityManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/SegmentHeader.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/ImageDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/FontDescriptor.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/filters/CCITTFaxDecoder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/GoToAction.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/DrawDrawCmd.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ICCBased.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/RegionFlags.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Name.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/batik/ext/awt/MultipleGradientPaintContext.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Form.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ImageStreamReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/BitStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Utils.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/FileSpecification.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Pattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/pdf/PDFSegment.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/postscript/Lexer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/functions/Function_2.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ShadingType2Pattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/ShadingPattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/fonts/ofont/OFont.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SequenceInputStream.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/filters/FlateDecode.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/batik/ext/awt/LinearGradientPaint.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/InlineImageStreamReference.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/BorderEffect.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PInfo.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/GraphicsState.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image/JBIG2Bitmap.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ImageCache.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32259 Tue Nov 20 11:47:39 MST 2012 patrick.corless PDF-376 rework of byte parsing and removal off older < JDK 1.4 api's.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/annotation/LinkAnnotationPanel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/viewer/WindowManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/AbstractDocumentViewModel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/captureMultiple/MultiPageCapture.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/PrintHelper.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/search/SearchControllerHeadless.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/capture/PageCapture.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/PageThumbnailComponent.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/annotation/NameTreeNode.java
        Commit graph MODIFY /icepdf/trunk/icepdf/lib/logging.properties
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/util/SearchTextTask.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/DocumentViewControllerImpl.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/printservices/PrintServices.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/icefaces/src/org/icepdf/examples/jsf/viewer/view/OutlineItemTreeNode.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/extraction/PageImageExtraction.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/annotation/NewAnnotationPostPageLoad.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/MyAnnotationCallback.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/annotation/GoToActionDialog.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/annotation/NewAnnotationPrePageLoad.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingController.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/extraction/PageTextExtraction.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/icefaces/src/org/icepdf/examples/jsf/viewer/view/DocumentManager.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/component/ViewerComponentExample.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/annotation/ActionsPanel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/examples/annotation/MyAnnotationCallback.java
        Hide
        Patrick Corless added a comment - - edited

        A rather massive check in will follow these comments. A new content parser has been cut into the core. New features include but not limited to.

        • handling of malformed content streams
        • operands are now collected as Integers and switched accordingly.
        • PDF-13 has been solved and multiple threads can now access a document's pages.
        • Vectors and HashTables have been replaced with Lists and Maps where appropriate.
        • Name objects are now preserved between parse dictionary look ups.
        • Shapes painting has now been rewritten to use a command pattern for paints operations which avoid timely "if" calls.
        • Image loading has been moved off onto a worker thread that will allow the content parsing to continue.
        • Optional image loading models for scaled and MipMapped images.
        • configurable initial shapes size for CAD drawings.
        • Removal of memory manager class, References class are now used resulting in lower memory overhead.
        • creation of ImageStream object to handle image data, still some more work need here to speed up image loading, memory consumption and generic application of various masks.
        • Updated the document class so that it will rebuild the cross reference table when doing a linear traversal of the document. This will insure that when page are resources are garbage collected the new crossreference entries can reget the respective objects from the file when needed.
        Show
        Patrick Corless added a comment - - edited A rather massive check in will follow these comments. A new content parser has been cut into the core. New features include but not limited to. handling of malformed content streams operands are now collected as Integers and switched accordingly. PDF-13 has been solved and multiple threads can now access a document's pages. Vectors and HashTables have been replaced with Lists and Maps where appropriate. Name objects are now preserved between parse dictionary look ups. Shapes painting has now been rewritten to use a command pattern for paints operations which avoid timely "if" calls. Image loading has been moved off onto a worker thread that will allow the content parsing to continue. Optional image loading models for scaled and MipMapped images. configurable initial shapes size for CAD drawings. Removal of memory manager class, References class are now used resulting in lower memory overhead. creation of ImageStream object to handle image data, still some more work need here to speed up image loading, memory consumption and generic application of various masks. Updated the document class so that it will rebuild the cross reference table when doing a linear traversal of the document. This will insure that when page are resources are garbage collected the new crossreference entries can reget the respective objects from the file when needed.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32658 Fri Dec 07 11:24:14 MST 2012 patrick.corless PDF-376 parser tweak to fix a few problematic PDF's in the qa suite.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Parser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ContentParser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ImageUtility.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/Lexer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/TilingPattern.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/LexerTest.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32677 Sun Dec 09 10:35:38 MST 2012 patrick.corless PDF-376 fixed parser issue with type3 fonts matrix.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ContentParser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ImageUtility.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/Lexer.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/LexerTest.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33683 Wed Feb 27 17:16:17 MST 2013 patrick.corless PDF-376 updated core parser with parsing interface and factory.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Parser.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ContentParser.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/OContentParser.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/TextMetrics.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Form.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Page.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/AbstractContentParser.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SeekableInputConstrainedWrapper.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/ContentParserFactory.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/ByteDoubleArrayInputStream.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/ContentParser.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33684 Wed Feb 27 17:25:29 MST 2013 patrick.corless PDF-376 addition of TextAnnotation with correct content parser path.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextAnnotation.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33685 Wed Feb 27 17:28:06 MST 2013 patrick.corless PDF-376 update references to content parser.
        Files Changed
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/FieldDictionary.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/WidgetAnnotation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/TilingPattern.java
        Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/LinkAnnotation.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33686 Wed Feb 27 17:34:30 MST 2013 patrick.corless PDF-376 moving content parser.
        Files Changed
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/OperandNames.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/Lexer.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/OperatorFactory.java
        Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/LexerTest.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33712 Thu Feb 28 14:55:43 MST 2013 patrick.corless PDF-376 updated how thumbnails are initialized which was causing issues in that once a page was initiated via thumbnails the page view would not initilize the annotation components correctly.
        Files Changed
        Commit graph DEL /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/utility/ThumbnailsPanel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingController.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/util/SearchTextTask.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/AbstractPageViewComponent.java
        Commit graph DEL /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/utility/thumbs/SearchPanel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/PageThumbnailComponent.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AnnotationComponentFactory.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/WidgetAnnotationComponent.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/utility/thumbs/ThumbnailsPanel.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AnnotationFactory.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/utility/search/SearchPanel.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33721 Fri Mar 01 14:09:10 MST 2013 patrick.corless PDF-376 updated trial demo fixing an repaint issue around turning the font engine on or off.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Page.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Library.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33771 Tue Mar 05 13:36:28 MST 2013 patrick.corless PDF-376 fixed a cursor problem which was keeping save as from working.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SeekableInputConstrainedWrapper.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33780 Tue Mar 05 16:32:50 MST 2013 patrick.corless PDF-376 update page.init() calls for the document class.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33792 Wed Mar 06 08:21:24 MST 2013 patrick.corless PDF-376 oCGs.isEmpty check when handling EMC tokens. .
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/AbstractContentParser.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33793 Wed Mar 06 08:22:53 MST 2013 patrick.corless PDF-376 fixed regression where the wrong resource reference was being used by the forms content parser resulting in numerous null pointers.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Form.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33803 Wed Mar 06 13:51:07 MST 2013 patrick.corless PDF-376 fixed a regression where drawModeFillStroke() method was incorrectly setting the stroke color.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/AbstractContentParser.java
        Hide
        Patrick Corless added a comment -

        New content parser has been checked in and is now part of the PRO release. The NContentParser and the OContentParser are created via a new ContentParserFactory which detects if the PRO jars is available. The parser logic has been abstracted with regards to postScript to Java2d but the lexers differ quite substantially.

        Show
        Patrick Corless added a comment - New content parser has been checked in and is now part of the PRO release. The NContentParser and the OContentParser are created via a new ContentParserFactory which detects if the PRO jars is available. The parser logic has been abstracted with regards to postScript to Java2d but the lexers differ quite substantially.
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 5.0.0 beta1 [ 10677 ]
        Fix Version/s 5.0.0 alpha1 [ 10676 ]
        Resolution Fixed [ 1 ]
        Patrick Corless made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: