rghost 0.9.4 → 0.9.7
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.
- checksums.yaml +5 -13
- data/lib/rghost.rb +2 -1
- data/lib/rghost/constants.rb +15 -17
- data/lib/rghost/merge_pdfs.rb +12 -0
- data/lib/rghost/ruby_ghost_config.rb +20 -9
- data/lib/rghost/ruby_ghost_engine.rb +7 -5
- data/lib/rghost/ruby_ghost_version.rb +2 -2
- data/lib/rghost/ruby_to_ps.rb +1 -0
- metadata +6 -8
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MTE1ZTk0YTkwZmM3YzBlYjY5YjFlMmJlOWQ3YTVjYTE2NzFlMGU4Mw==
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4a13b5e2e99e0b48b7beec30296c2e578f23991bf3de4b2ac0cd87afe87fac10
|
4
|
+
data.tar.gz: 65db7916b2a0dc94383fdefbc8c6555fe40e0f38f4f983c8b8afd1d6c6497b50
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MmVmMzA1MjA0NTM4ZTgzN2E4YjA5NzQ3Mjk3Y2YwNjcyYjMzYWM1ZTFmZTc4
|
11
|
-
NGFmZjBmYTM4OTNiNWZjOTZkNGZhZWI2Y2NmZmJhYmZhZmM4YTc=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Njk5NjE0NTVmODU0NzFlM2NlYmRlNmZiMmM4MDI4YmFlMjljNDBkMTFmNDYx
|
14
|
-
NDI5ZGU5NTNjYjExOTY3MDBjMjc2MGZjMjJkNjI1OGNlMTc3MmQzNzIyMWI0
|
15
|
-
ZWE2YzdlNzEwYTFkMmM0ODk5NDg2NDQyYjU0Zjc3ZDRhNGNiNzg=
|
6
|
+
metadata.gz: bb42950761acc59d41f8cfc6e0e65528c1ff020d1fc871283fe8300594495056b25241caf4200b2c22ff5144966a1ad1b0188efc913b7b5432be8ffddbaa9aa1
|
7
|
+
data.tar.gz: b6c37359954906b8486680fce4222c1ee3baeaac8349549c0b0d9e94dd52fc2c078d5b741538ffd68a3445906cd28543f066059222e3c2c3ffa5114a979c034f
|
data/lib/rghost.rb
CHANGED
@@ -12,7 +12,8 @@ require 'rghost/variable'
|
|
12
12
|
require 'rghost/ps_facade'
|
13
13
|
require 'rghost/function'
|
14
14
|
require 'rghost/document'
|
15
|
-
require 'rghost/
|
15
|
+
require 'rghost/merge_pdfs'
|
16
|
+
require 'rghost/grid/grid'
|
16
17
|
RGhost::Config::GS[:PATH]="/opt/local/bin/gs"
|
17
18
|
|
18
19
|
|
data/lib/rghost/constants.rb
CHANGED
@@ -3,7 +3,7 @@ require "rghost/helpers"
|
|
3
3
|
module RGhost::Constants
|
4
4
|
module HashKeyMethod #:nodoc:
|
5
5
|
def method_missing(method, *args)
|
6
|
-
self[method.to_sym]
|
6
|
+
self[method.to_sym]
|
7
7
|
end
|
8
8
|
end
|
9
9
|
class HashKeyMethodClass < Hash #:nodoc:
|
@@ -11,7 +11,7 @@ module RGhost::Constants
|
|
11
11
|
end
|
12
12
|
module Devices
|
13
13
|
#Standard Devices
|
14
|
-
STANDARD=RGhost::Constants::HashKeyMethodClass[
|
14
|
+
STANDARD=RGhost::Constants::HashKeyMethodClass[
|
15
15
|
#-- MS-DOS displays",
|
16
16
|
:ega => "EGA (640x350, 16-color)",
|
17
17
|
:vga => "VGA (640x480, 16-color)",
|
@@ -65,8 +65,6 @@ module RGhost::Constants
|
|
65
65
|
:lj5gray => "H-P LaserJet 5 & 6 family, gray-scale bitmap;",
|
66
66
|
:lp2563 => "H-P 2563B line printer",
|
67
67
|
:oce9050 => "OCE 9050 printe",
|
68
|
-
:pxlmono => "H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)",
|
69
|
-
:pxlcolor => "H-P color PCL XL printers (e.g. Color LaserJet 4500)",
|
70
68
|
#-- Fax file format",
|
71
69
|
:faxg3 => "Group 3 fax, with EOLs but no header or EOD",
|
72
70
|
:faxg32d => "Group 3 2-D fax, with EOLs but no header or EOD",
|
@@ -76,7 +74,7 @@ module RGhost::Constants
|
|
76
74
|
:tiffg32d => "TIFF Group 3 2-D fax",
|
77
75
|
:tiffg4 => "TIFF Group 4 fax",
|
78
76
|
#-- High-level (vector) file formats",
|
79
|
-
:
|
77
|
+
:eps2write => "EPS output (like PostScript Distillery)",
|
80
78
|
:pdfwrite => "PDF output (like Adobe Acrobat Distiller)",
|
81
79
|
:pswrite => "PostScript output (like PostScript Distillery)",
|
82
80
|
:pxlmono => "Black-and-white PCL XL",
|
@@ -132,13 +130,13 @@ module RGhost::Constants
|
|
132
130
|
:tiff24nc => "TIFF 24-bit RGB, no compression (NeXT standard format)",
|
133
131
|
:tifflzw => "TIFF LZW (tag = 5) (monochrome)",
|
134
132
|
:tiffpack => "TIFF PackBits (tag = 32773) (monochrome)"
|
135
|
-
|
136
|
-
|
133
|
+
|
134
|
+
|
137
135
|
]
|
138
136
|
DEVICES_ALIAS={
|
139
|
-
:eps => :
|
137
|
+
:eps => :eps2write,
|
140
138
|
:pdf => :pdfwrite,
|
141
|
-
:ps => :
|
139
|
+
:ps => :ps2write,
|
142
140
|
:pcl => :pxlmono,
|
143
141
|
:tif => :tiffcrle,
|
144
142
|
:tiff => :tiffcrle,
|
@@ -147,15 +145,15 @@ module RGhost::Constants
|
|
147
145
|
}
|
148
146
|
#Load device by alias
|
149
147
|
def device_for(dev)
|
150
|
-
|
151
|
-
|
148
|
+
|
149
|
+
|
152
150
|
return DEVICES_ALIAS[dev] if DEVICES_ALIAS.key? dev
|
153
151
|
return dev if STANDARD.key? dev
|
154
152
|
raise "Undefined device: #{dev}"
|
155
153
|
end
|
156
|
-
|
154
|
+
|
157
155
|
end
|
158
|
-
|
156
|
+
|
159
157
|
module Fonts
|
160
158
|
#Standard Encodings
|
161
159
|
ENCODINGS=['ISOLatin1Encoding', 'StandardEncoding ']
|
@@ -261,7 +259,7 @@ module RGhost::Constants
|
|
261
259
|
'ZapfDingbats' => "-itc-zapfdingbats-medium-r-normal--",
|
262
260
|
'Symbol' => "--symbol-medium-r-normal--"
|
263
261
|
}
|
264
|
-
|
262
|
+
|
265
263
|
end
|
266
264
|
#Color map
|
267
265
|
module Colors
|
@@ -564,7 +562,7 @@ module RGhost::Constants
|
|
564
562
|
:Yellow => [0.0,0.0,1.0,0.0],
|
565
563
|
:YellowGreen => [0.248780487804878,0.0,0.75609756097561,0.196078431372549]
|
566
564
|
]
|
567
|
-
|
565
|
+
|
568
566
|
end
|
569
567
|
#Standard papers
|
570
568
|
module Papers
|
@@ -619,8 +617,8 @@ module RGhost::Constants
|
|
619
617
|
:flse => [612,936],
|
620
618
|
:halfletter => [396,612]
|
621
619
|
}
|
622
|
-
|
620
|
+
|
623
621
|
end
|
624
622
|
end
|
625
623
|
|
626
|
-
|
624
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class RGhost::MergePdfs
|
2
|
+
attr_reader :error, :errors
|
3
|
+
DEFAULT_OPTIONS = { :convert => true }
|
4
|
+
|
5
|
+
def self.merge(pdfs, options={})
|
6
|
+
rge = RGhost::Engine.new(pdfs,DEFAULT_OPTIONS.merge(options))
|
7
|
+
out = rge.render(:pdf)
|
8
|
+
@error = rge.error
|
9
|
+
@errors = rge.errors
|
10
|
+
out
|
11
|
+
end
|
12
|
+
end
|
@@ -70,15 +70,8 @@ module RGhost::Config
|
|
70
70
|
:default_params=> %w(gs -dNOPAUSE -dBATCH -dQUIET -dNOPAGEPROMPT),
|
71
71
|
:stack_elements => 5000,
|
72
72
|
:font_encoding => :IsoLatin,
|
73
|
-
:
|
74
|
-
|
75
|
-
require 'iconv'
|
76
|
-
lambda { |text| Iconv::iconv('latin1','utf-8', text).join }
|
77
|
-
else
|
78
|
-
lambda { |text| text.encode('ISO-8859-1', 'UTF-8') }
|
79
|
-
end
|
80
|
-
end,
|
81
|
-
:external_encoding => nil,
|
73
|
+
:external_encoding => 'ascii-8bit',
|
74
|
+
:charset_convert => nil,
|
82
75
|
:fontsize => 8,
|
83
76
|
:unit => RGhost::Units::Cm
|
84
77
|
}
|
@@ -120,10 +113,28 @@ module RGhost::Config
|
|
120
113
|
d.benchmark(:stop)
|
121
114
|
d.done
|
122
115
|
d
|
116
|
+
end
|
123
117
|
|
118
|
+
#Generate the UTF-8 encoding mapping
|
119
|
+
#
|
120
|
+
# RGhost::Config.utf8_encodings.render :pdf, :filename => "/tmp/encoding_map.pdf"
|
121
|
+
#
|
122
|
+
def self.utf8_encodings
|
123
|
+
doc = RGhost::Document.new :paper => [20,10], :margin_left => 2.3, :margin_bottom => 2.3
|
124
124
|
|
125
|
+
doc.virtual_pages do
|
126
|
+
7.times do
|
127
|
+
new_page :width => 2, :margin_left => 1
|
128
|
+
end
|
129
|
+
end
|
125
130
|
|
131
|
+
RGhost::RubyToPs::UTF8_ENCODINGS.each do |k,v|
|
132
|
+
doc.show "#{k} = #{v}"
|
133
|
+
doc.next_row
|
134
|
+
end
|
135
|
+
doc
|
126
136
|
end
|
137
|
+
|
127
138
|
#This method is a helper to gets the best encoding.
|
128
139
|
#
|
129
140
|
#link:images/encode_test.png
|
@@ -52,11 +52,9 @@ class RGhost::Engine
|
|
52
52
|
params << "-sstdout=#{shellescape(file_err)}"
|
53
53
|
params << "-sOutputFile=#{shellescape(file_out)}"
|
54
54
|
params << @options[:raw] if @options[:raw]
|
55
|
-
|
56
|
-
|
57
55
|
case @document
|
58
56
|
when RGhost::Document
|
59
|
-
file_in="#{tmp_filename}.rgin"
|
57
|
+
file_in = shellescape("#{tmp_filename}.rgin")
|
60
58
|
params.concat @document.gs_paper
|
61
59
|
mode=external_encoding.nil? ? 'w' : "w:#{external_encoding}"
|
62
60
|
fi=File.open(file_in,mode)
|
@@ -66,10 +64,14 @@ class RGhost::Engine
|
|
66
64
|
file_in=@document.path
|
67
65
|
#@delete_input=false unless @options[:debug]
|
68
66
|
when String
|
69
|
-
file_in
|
67
|
+
file_in = shellescape(@document)
|
68
|
+
when Array
|
69
|
+
file_in = @document.map{|d| shellescape(d) }.join(' ')
|
70
|
+
else
|
71
|
+
raise RuntimeError.new("Cannot convert #{@document.class}. Supported classes are RGhost::Document or File or String.")
|
70
72
|
end
|
71
73
|
|
72
|
-
params <<
|
74
|
+
params << file_in
|
73
75
|
|
74
76
|
if RGhost::Config::GS[:mode] == :gslib
|
75
77
|
require "rghost/rgengine"
|
data/lib/rghost/ruby_to_ps.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rghost
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shairon Toledo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby Ghostscript Engine is a document creation and conversion API, support(PDF,PS,GIF,TIF,PNG,JPG...).
|
14
14
|
It uses the GhostScript framework for the format conversion, utilizes EPS templates
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- lib/rghost/line.rb
|
62
62
|
- lib/rghost/line_width.rb
|
63
63
|
- lib/rghost/load.rb
|
64
|
+
- lib/rghost/merge_pdfs.rb
|
64
65
|
- lib/rghost/newpath.rb
|
65
66
|
- lib/rghost/paper.rb
|
66
67
|
- lib/rghost/parse_text.rb
|
@@ -157,19 +158,16 @@ require_paths:
|
|
157
158
|
- lib
|
158
159
|
required_ruby_version: !ruby/object:Gem::Requirement
|
159
160
|
requirements:
|
160
|
-
- -
|
161
|
+
- - ">="
|
161
162
|
- !ruby/object:Gem::Version
|
162
163
|
version: '0'
|
163
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
165
|
requirements:
|
165
|
-
- -
|
166
|
+
- - ">="
|
166
167
|
- !ruby/object:Gem::Version
|
167
168
|
version: '0'
|
168
169
|
requirements: []
|
169
|
-
|
170
|
-
support(PDF,PS,GIF,TIF,PNG,JPG...). It uses the GhostScript framework for the format
|
171
|
-
conversion, utilizes EPS templates and is optimized to work with larger documents.
|
172
|
-
rubygems_version: 2.2.2
|
170
|
+
rubygems_version: 3.0.4
|
173
171
|
signing_key:
|
174
172
|
specification_version: 4
|
175
173
|
summary: Ruby Ghostscript Engine is a document creation and conversion API, support(PDF,PS,GIF,TIF,PNG,JPG...).
|