Sha256: 0a16508e6194a330b9fe27c4507ba616c2ebe4dc38aa3ae047277b1af45ab6b6

Contents?: true

Size: 907 Bytes

Versions: 9

Compression:

Stored size: 907 Bytes

Contents

# coding: utf-8
# typed: strict
# frozen_string_literal: true

require 'ascii85'

class PDF::Reader
  module Filter # :nodoc:
    # implementation of the Ascii85 filter
    class Ascii85

      def initialize(options = {})
        @options = options
      end

      ################################################################################
      # Decode the specified data using the Ascii85 algorithm. Relies on the AScii85
      # rubygem.
      #
      def filter(data)
        data = "<~#{data}" unless data.to_s[0,2] == "<~"
        if defined?(::Ascii85Native)
          ::Ascii85Native::decode(data)
        else
          ::Ascii85::decode(data)
        end
      rescue Exception => e
        # Oops, there was a problem decoding the stream
        raise MalformedPDFError,
          "Error occured while decoding an ASCII85 stream (#{e.class.to_s}: #{e.to_s})"
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pdf-reader-2.14.1 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.14.0 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.13.0 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.12.0 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.11.0 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.10.0 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.9.2 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.9.1 lib/pdf/reader/filter/ascii85.rb
pdf-reader-2.9.0 lib/pdf/reader/filter/ascii85.rb