jpeg2pdf 0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +37 -0
 - data/README +162 -0
 - data/bin/jpeg2pdf +102 -0
 - data/bin/test.rb +111 -0
 - data/install.rb +1360 -0
 - data/jpeg2pdf.gemspec +18 -0
 - data/lib/image_size.rb +291 -0
 - data/lib/jpeg2pdf.rb +84 -0
 - data/lib/rpdf.rb +48 -0
 - data/lib/rpdf/crossreftable.rb +33 -0
 - data/lib/rpdf/document.rb +61 -0
 - data/lib/rpdf/documentcatalog.rb +18 -0
 - data/lib/rpdf/imagedictionary.rb +23 -0
 - data/lib/rpdf/page.rb +21 -0
 - data/lib/rpdf/pagetree.rb +24 -0
 - data/lib/rpdf/pdfarray.rb +35 -0
 - data/lib/rpdf/pdfboolean.rb +28 -0
 - data/lib/rpdf/pdfdictionary.rb +51 -0
 - data/lib/rpdf/pdfinteger.rb +17 -0
 - data/lib/rpdf/pdfname.rb +35 -0
 - data/lib/rpdf/pdfnull.rb +19 -0
 - data/lib/rpdf/pdfnumeric.rb +28 -0
 - data/lib/rpdf/pdfobject.rb +60 -0
 - data/lib/rpdf/pdfstream.rb +32 -0
 - data/lib/rpdf/pdfstring.rb +38 -0
 - data/lib/rpdf/rectangle.rb +15 -0
 - data/lib/rpdf/trailer.rb +30 -0
 - data/lib/rpdf/util.rb +41 -0
 - data/lib/rpdf/version.rb +31 -0
 - metadata +71 -0
 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rpdf/pdfobject'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module RPDF
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              # String Object
         
     | 
| 
      
 6 
     | 
    
         
            +
              # [PDFRef15 p29]
         
     | 
| 
      
 7 
     | 
    
         
            +
              class PDFString < PDFObject
         
     | 
| 
      
 8 
     | 
    
         
            +
                attr_reader :value
         
     | 
| 
      
 9 
     | 
    
         
            +
             
         
     | 
| 
      
 10 
     | 
    
         
            +
                attr_accessor :hexadecimal
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                def initialize(value, document=nil)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  raise Exception.new("PDFString is not a string") unless value.kind_of?(String)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @value = value
         
     | 
| 
      
 15 
     | 
    
         
            +
                  @hexadecimal = false
         
     | 
| 
      
 16 
     | 
    
         
            +
                  super(document)
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                def ==(other)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @value == other.value
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                def to_s
         
     | 
| 
      
 24 
     | 
    
         
            +
                  if @hexadecimal
         
     | 
| 
      
 25 
     | 
    
         
            +
                    # [PDFRef15 p32]
         
     | 
| 
      
 26 
     | 
    
         
            +
                    hexval = String.new
         
     | 
| 
      
 27 
     | 
    
         
            +
                    @value.each_byte { |byte|
         
     | 
| 
      
 28 
     | 
    
         
            +
                      hexval << "%02X" % byte
         
     | 
| 
      
 29 
     | 
    
         
            +
                    }
         
     | 
| 
      
 30 
     | 
    
         
            +
                    "<#{hexval}>"
         
     | 
| 
      
 31 
     | 
    
         
            +
                  else
         
     | 
| 
      
 32 
     | 
    
         
            +
                    "(#{@value.dump})" # nonprinting characters should be replaced by \nnn and special characters escaped
         
     | 
| 
      
 33 
     | 
    
         
            +
                  end
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
              end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/rpdf/trailer.rb
    ADDED
    
    | 
         @@ -0,0 +1,30 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rpdf/document'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rpdf/pdfdictionary'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'rpdf/pdfinteger'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'rpdf/pdfname'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            module RPDF
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              # File Trailer [PDFRef15 p72]
         
     | 
| 
      
 9 
     | 
    
         
            +
              class Trailer
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                attr_accessor :startxref
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                def initialize(document)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @document = document
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                def to_pdf
         
     | 
| 
      
 18 
     | 
    
         
            +
                  dict = PDFDictionary.new({ :Size => @document.size + 1,
         
     | 
| 
      
 19 
     | 
    
         
            +
                                             :Root => @document.root })
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  bytes = "trailer\n"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  bytes << dict.to_pdf
         
     | 
| 
      
 23 
     | 
    
         
            +
                  bytes << "\nstartxref\n"
         
     | 
| 
      
 24 
     | 
    
         
            +
                  bytes << startxref.to_s << "\n"
         
     | 
| 
      
 25 
     | 
    
         
            +
                  bytes << "%%EOF\n" 
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/rpdf/util.rb
    ADDED
    
    | 
         @@ -0,0 +1,41 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module RPDF
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              EOL = "\r\n"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              # [PDFRef15 p26]
         
     | 
| 
      
 6 
     | 
    
         
            +
              def includes_whitespace?(string)
         
     | 
| 
      
 7 
     | 
    
         
            +
                string =~ /[\0\t\r\n\f ]/ ? true : false
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              def includes_delimiter?(string)
         
     | 
| 
      
 11 
     | 
    
         
            +
                string =~ /[\(\)<>\[\]{}\/%]/ ? true : false
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              # convert basic object to PDF Object
         
     | 
| 
      
 15 
     | 
    
         
            +
              def topdfobject(object, document=nil)
         
     | 
| 
      
 16 
     | 
    
         
            +
                if object.kind_of?(TrueClass) or object.kind_of?(FalseClass)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  PDFBoolean.new(object, document)
         
     | 
| 
      
 18 
     | 
    
         
            +
                elsif object.kind_of?(Integer)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  PDFInteger.new(object, document)
         
     | 
| 
      
 20 
     | 
    
         
            +
                elsif object.kind_of?(Numeric)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  PDFNumeric.new(object, document)
         
     | 
| 
      
 22 
     | 
    
         
            +
                elsif object.kind_of?(String)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  PDFString.new(object, document)
         
     | 
| 
      
 24 
     | 
    
         
            +
                elsif object.kind_of?(Symbol)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  PDFName.new(object.to_s, document)
         
     | 
| 
      
 26 
     | 
    
         
            +
                elsif object.kind_of?(Array)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  PDFArray.new(object, document)
         
     | 
| 
      
 28 
     | 
    
         
            +
                elsif object.kind_of?(Hash)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  PDFDictionary.new(object, document)
         
     | 
| 
      
 30 
     | 
    
         
            +
                elsif object.kind_of?(NilClass)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  PDFNull.new
         
     | 
| 
      
 32 
     | 
    
         
            +
                elsif object.kind_of?(PDFObject)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  object
         
     | 
| 
      
 34 
     | 
    
         
            +
                else
         
     | 
| 
      
 35 
     | 
    
         
            +
                  raise Exception.new("Cannot convert #{object.class} to PDF object")
         
     | 
| 
      
 36 
     | 
    
         
            +
                end 
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              module_function :includes_whitespace?, :includes_delimiter?, :topdfobject
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/rpdf/version.rb
    ADDED
    
    | 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module RPDF
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              # class describing a PDF version. 
         
     | 
| 
      
 4 
     | 
    
         
            +
              # Don't use this class directly, but use the constants defined in this file.
         
     | 
| 
      
 5 
     | 
    
         
            +
              # [PDFRef15 p68]
         
     | 
| 
      
 6 
     | 
    
         
            +
              class PDFVersion
         
     | 
| 
      
 7 
     | 
    
         
            +
                include Comparable
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                attr_reader :value
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def initialize(version_string)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @value = version_string
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                def <=>(other_version)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @value <=> other_version.value
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                def to_pdf
         
     | 
| 
      
 20 
     | 
    
         
            +
                  "%PDF-#{@value}\n"
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              VERSION_10 = PDFVersion.new("1.0")
         
     | 
| 
      
 25 
     | 
    
         
            +
              VERSION_11 = PDFVersion.new("1.1")
         
     | 
| 
      
 26 
     | 
    
         
            +
              VERSION_12 = PDFVersion.new("1.2")
         
     | 
| 
      
 27 
     | 
    
         
            +
              VERSION_13 = PDFVersion.new("1.3")
         
     | 
| 
      
 28 
     | 
    
         
            +
              VERSION_14 = PDFVersion.new("1.4")
         
     | 
| 
      
 29 
     | 
    
         
            +
              VERSION_15 = PDFVersion.new("1.5")
         
     | 
| 
      
 30 
     | 
    
         
            +
              VERSION_DEFAULT = VERSION_14
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,71 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification 
         
     | 
| 
      
 2 
     | 
    
         
            +
            rubygems_version: "0.8"
         
     | 
| 
      
 3 
     | 
    
         
            +
            specification_version: 1
         
     | 
| 
      
 4 
     | 
    
         
            +
            name: jpeg2pdf
         
     | 
| 
      
 5 
     | 
    
         
            +
            version: !ruby/object:Gem::Version 
         
     | 
| 
      
 6 
     | 
    
         
            +
              version: "0.12"
         
     | 
| 
      
 7 
     | 
    
         
            +
            date: 2004-10-23
         
     | 
| 
      
 8 
     | 
    
         
            +
            summary: jpeg2pdf is a free program that converts a directory of JPEG files to a PDF file.
         
     | 
| 
      
 9 
     | 
    
         
            +
            require_paths: 
         
     | 
| 
      
 10 
     | 
    
         
            +
              - lib
         
     | 
| 
      
 11 
     | 
    
         
            +
            author: Koen Vervloesem
         
     | 
| 
      
 12 
     | 
    
         
            +
            email: koen.vervloesem@myrealbox.com
         
     | 
| 
      
 13 
     | 
    
         
            +
            homepage: http://koan.studentenweb.org/software/jpeg2pdf.html
         
     | 
| 
      
 14 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 15 
     | 
    
         
            +
            description: 
         
     | 
| 
      
 16 
     | 
    
         
            +
            autorequire: jpeg2pdf
         
     | 
| 
      
 17 
     | 
    
         
            +
            default_executable: jpeg2pdf
         
     | 
| 
      
 18 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 19 
     | 
    
         
            +
            has_rdoc: true
         
     | 
| 
      
 20 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Version::Requirement 
         
     | 
| 
      
 21 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 22 
     | 
    
         
            +
                - 
         
     | 
| 
      
 23 
     | 
    
         
            +
                  - ">"
         
     | 
| 
      
 24 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 25 
     | 
    
         
            +
                    version: 0.0.0
         
     | 
| 
      
 26 
     | 
    
         
            +
              version: 
         
     | 
| 
      
 27 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 28 
     | 
    
         
            +
            files: 
         
     | 
| 
      
 29 
     | 
    
         
            +
              - bin
         
     | 
| 
      
 30 
     | 
    
         
            +
              - install.rb
         
     | 
| 
      
 31 
     | 
    
         
            +
              - lib
         
     | 
| 
      
 32 
     | 
    
         
            +
              - LICENSE
         
     | 
| 
      
 33 
     | 
    
         
            +
              - README
         
     | 
| 
      
 34 
     | 
    
         
            +
              - jpeg2pdf.gemspec
         
     | 
| 
      
 35 
     | 
    
         
            +
              - bin/jpeg2pdf
         
     | 
| 
      
 36 
     | 
    
         
            +
              - bin/test.rb
         
     | 
| 
      
 37 
     | 
    
         
            +
              - lib/image_size.rb
         
     | 
| 
      
 38 
     | 
    
         
            +
              - lib/jpeg2pdf.rb
         
     | 
| 
      
 39 
     | 
    
         
            +
              - lib/rpdf
         
     | 
| 
      
 40 
     | 
    
         
            +
              - lib/rpdf.rb
         
     | 
| 
      
 41 
     | 
    
         
            +
              - lib/rpdf/crossreftable.rb
         
     | 
| 
      
 42 
     | 
    
         
            +
              - lib/rpdf/document.rb
         
     | 
| 
      
 43 
     | 
    
         
            +
              - lib/rpdf/documentcatalog.rb
         
     | 
| 
      
 44 
     | 
    
         
            +
              - lib/rpdf/imagedictionary.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
              - lib/rpdf/page.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
              - lib/rpdf/pagetree.rb
         
     | 
| 
      
 47 
     | 
    
         
            +
              - lib/rpdf/pdfarray.rb
         
     | 
| 
      
 48 
     | 
    
         
            +
              - lib/rpdf/pdfboolean.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
              - lib/rpdf/pdfdictionary.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
              - lib/rpdf/pdfinteger.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
              - lib/rpdf/pdfname.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
              - lib/rpdf/pdfnull.rb
         
     | 
| 
      
 53 
     | 
    
         
            +
              - lib/rpdf/pdfnumeric.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
              - lib/rpdf/pdfobject.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
              - lib/rpdf/pdfstream.rb
         
     | 
| 
      
 56 
     | 
    
         
            +
              - lib/rpdf/pdfstring.rb
         
     | 
| 
      
 57 
     | 
    
         
            +
              - lib/rpdf/rectangle.rb
         
     | 
| 
      
 58 
     | 
    
         
            +
              - lib/rpdf/trailer.rb
         
     | 
| 
      
 59 
     | 
    
         
            +
              - lib/rpdf/util.rb
         
     | 
| 
      
 60 
     | 
    
         
            +
              - lib/rpdf/version.rb
         
     | 
| 
      
 61 
     | 
    
         
            +
            test_files: []
         
     | 
| 
      
 62 
     | 
    
         
            +
            rdoc_options: 
         
     | 
| 
      
 63 
     | 
    
         
            +
              - "--main"
         
     | 
| 
      
 64 
     | 
    
         
            +
              - README
         
     | 
| 
      
 65 
     | 
    
         
            +
            extra_rdoc_files: 
         
     | 
| 
      
 66 
     | 
    
         
            +
              - README
         
     | 
| 
      
 67 
     | 
    
         
            +
            executables: 
         
     | 
| 
      
 68 
     | 
    
         
            +
              - jpeg2pdf
         
     | 
| 
      
 69 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 70 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 71 
     | 
    
         
            +
            dependencies: []
         
     |