fn_document 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +39 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +7 -0
- data/README.rdoc +6 -0
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/fn_document.gemspec +15 -4
- data/lib/fn/document.rb +5 -5
- data/lib/fn/node/base.rb +1 -7
- data/lib/fn/pdf/node/create_textflow.rb +2 -5
- data/lib/fn/pdf/node/fit_image.rb +2 -4
- data/lib/fn/pdf/node/fit_pdi_page.rb +0 -6
- data/lib/fn/pdf/node/invert.rb +2 -2
- data/lib/fn/pdf/node/open_pdi_page.rb +0 -8
- data/lib/fn/pdf/struct.rb +9 -12
- data/lib/fn/pdf/writer.rb +6 -44
- data/lib/fn/swf/writer.rb +1 -1
- data/lib/fn_document.rb +1 -1
- metadata +83 -21
data/CHANGELOG
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
0.1.0 - January 25, 2009
|
2
|
+
-- Initial release, with migrations, validations and writers for the documents.
|
3
|
+
0.1.1 - January 25, 2009
|
4
|
+
-- Fixed rounding error in color handling, that resulted in all text being black.
|
5
|
+
0.2.0 - January 28, 2009
|
6
|
+
-- Added Document.to_XXX API
|
7
|
+
-- Cleaned up XXX::Writer
|
8
|
+
0.3.0 - January 28, 2009
|
9
|
+
-- Added missing resource exceptions
|
10
|
+
-- rake publish
|
11
|
+
0.3.1 - January 28, 2009
|
12
|
+
-- rake publish moves back to original branch after completion
|
13
|
+
0.3.2 - January 28, 2009
|
14
|
+
-- fix resource symbol key bug
|
15
|
+
-- fix absolute path misreference
|
16
|
+
0.4.0 - February 4, 2009
|
17
|
+
-- misc bug fixes
|
18
|
+
-- font variations generated individually
|
19
|
+
0.5.0 - February 5, 2009
|
20
|
+
-- watermarks
|
21
|
+
0.5.1 - February 11, 2009
|
22
|
+
-- tons of misc. bug fixes
|
23
|
+
0.6.0 - February 17, 2009
|
24
|
+
-- tons of misc. bug fixes
|
25
|
+
-- redo PDF image position algorithm
|
26
|
+
0.6.1 - February 19, 2009
|
27
|
+
-- migration change
|
28
|
+
0.6.2 - February 19, 2009
|
29
|
+
-- empty field fix
|
30
|
+
0.6.3 - March 2, 2009
|
31
|
+
-- fix PDFlib empty buffer bug
|
32
|
+
0.7.2 - May 12 2009
|
33
|
+
-- added menu item removal
|
34
|
+
0.8.0 - May 12 2009
|
35
|
+
-- support for manual resource tagging
|
36
|
+
0.9.2 - August 5, 2009
|
37
|
+
-- Changed libxml-ruby dependency to 0.9.8.
|
38
|
+
0.9.3 - July 14, 2011
|
39
|
+
-- Trying to make this thing back into a functional gem for easier installation.
|
data/Gemfile
CHANGED
@@ -2,6 +2,9 @@ source "http://rubygems.org"
|
|
2
2
|
# Add dependencies required to use your gem here.
|
3
3
|
# Example:
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
|
+
gem "libxslt-ruby", "= 0.9.2"
|
6
|
+
gem "libxml-ruby", "= 1.1.3"
|
7
|
+
gem "mocha"
|
5
8
|
|
6
9
|
# Add dependencies to develop your gem here.
|
7
10
|
# Include everything needed to run rake, tests, features, etc.
|
data/Gemfile.lock
CHANGED
@@ -6,6 +6,10 @@ GEM
|
|
6
6
|
bundler (~> 1.0)
|
7
7
|
git (>= 1.2.5)
|
8
8
|
rake
|
9
|
+
libxml-ruby (1.1.3)
|
10
|
+
libxslt-ruby (0.9.2)
|
11
|
+
libxml-ruby (>= 0.9.4)
|
12
|
+
mocha (0.9.12)
|
9
13
|
rake (0.9.2)
|
10
14
|
rcov (0.9.9)
|
11
15
|
shoulda (2.11.3)
|
@@ -16,5 +20,8 @@ PLATFORMS
|
|
16
20
|
DEPENDENCIES
|
17
21
|
bundler (~> 1.0.0)
|
18
22
|
jeweler (~> 1.6.4)
|
23
|
+
libxml-ruby (= 1.1.3)
|
24
|
+
libxslt-ruby (= 0.9.2)
|
25
|
+
mocha
|
19
26
|
rcov
|
20
27
|
shoulda
|
data/README.rdoc
CHANGED
@@ -12,6 +12,12 @@ Description goes here.
|
|
12
12
|
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
13
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
14
14
|
|
15
|
+
== ToDo
|
16
|
+
|
17
|
+
* flip pdf text
|
18
|
+
* slice
|
19
|
+
* multipage
|
20
|
+
|
15
21
|
== Copyright
|
16
22
|
|
17
23
|
Copyright (c) 2011 Nathan Colgate Clark. See LICENSE.txt for
|
data/Rakefile
CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
|
|
17
17
|
gem.name = "fn_document"
|
18
18
|
gem.homepage = "http://github.com/nathancolgate/fn_document"
|
19
19
|
gem.license = "MIT"
|
20
|
-
gem.summary = "Gem for
|
21
|
-
gem.description = "
|
20
|
+
gem.summary = "Gem for reading/writing/printing fn documents"
|
21
|
+
gem.description = "This handles complex document creation from XML for the FASI AMS system."
|
22
22
|
gem.email = "nathancolgate@gmail.com"
|
23
23
|
gem.authors = ["Nathan Colgate Clark","Kyle Maxwell"]
|
24
24
|
# dependencies defined in Gemfile
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.3
|
data/fn_document.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fn_document}
|
8
|
-
s.version = "0.9.
|
8
|
+
s.version = "0.9.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Nathan Colgate Clark", "Kyle Maxwell"]
|
12
12
|
s.date = %q{2011-07-14}
|
13
|
-
s.description = %q{
|
13
|
+
s.description = %q{This handles complex document creation from XML for the FASI AMS system.}
|
14
14
|
s.email = %q{nathancolgate@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
+
"CHANGELOG",
|
21
22
|
"Gemfile",
|
22
23
|
"Gemfile.lock",
|
23
24
|
"LICENSE.txt",
|
@@ -68,24 +69,34 @@ Gem::Specification.new do |s|
|
|
68
69
|
s.homepage = %q{http://github.com/nathancolgate/fn_document}
|
69
70
|
s.licenses = ["MIT"]
|
70
71
|
s.require_paths = ["lib"]
|
71
|
-
s.rubygems_version = %q{1.
|
72
|
-
s.summary = %q{Gem for
|
72
|
+
s.rubygems_version = %q{1.3.7}
|
73
|
+
s.summary = %q{Gem for reading/writing/printing fn documents}
|
73
74
|
|
74
75
|
if s.respond_to? :specification_version then
|
76
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
75
77
|
s.specification_version = 3
|
76
78
|
|
77
79
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
80
|
+
s.add_runtime_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
|
81
|
+
s.add_runtime_dependency(%q<libxml-ruby>, ["= 1.1.3"])
|
82
|
+
s.add_runtime_dependency(%q<mocha>, [">= 0"])
|
78
83
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
79
84
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
80
85
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
81
86
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
82
87
|
else
|
88
|
+
s.add_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
|
89
|
+
s.add_dependency(%q<libxml-ruby>, ["= 1.1.3"])
|
90
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
83
91
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
84
92
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
85
93
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
86
94
|
s.add_dependency(%q<rcov>, [">= 0"])
|
87
95
|
end
|
88
96
|
else
|
97
|
+
s.add_dependency(%q<libxslt-ruby>, ["= 0.9.2"])
|
98
|
+
s.add_dependency(%q<libxml-ruby>, ["= 1.1.3"])
|
99
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
89
100
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
90
101
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
91
102
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
data/lib/fn/document.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
require File.dirname(__FILE__) + '/util'
|
2
|
+
require File.dirname(__FILE__) + '/resource'
|
3
|
+
require File.dirname(__FILE__) + '/block'
|
4
|
+
require File.dirname(__FILE__) + '/pdf/writer'
|
5
|
+
require File.dirname(__FILE__) + '/swf/writer'
|
6
6
|
|
7
7
|
XML.default_keep_blanks = false
|
8
8
|
|
data/lib/fn/node/base.rb
CHANGED
@@ -18,13 +18,7 @@ module FN
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def has_no_children
|
21
|
-
|
22
|
-
if children.any?{|c| !c.cdata?}
|
23
|
-
# @logger.info "HAS NO CHILDREN "*88
|
24
|
-
raise "should have no children"
|
25
|
-
else
|
26
|
-
# @logger.info "This should not have any children and it does not"
|
27
|
-
end
|
21
|
+
raise "should have no children" if children.any?{|c| !c.cdata?}
|
28
22
|
end
|
29
23
|
|
30
24
|
def visit_children(struct)
|
@@ -58,7 +58,7 @@ module FN
|
|
58
58
|
attrs = options.dup
|
59
59
|
attrs["leftindent"] = (attrs["blockindent"].to_f + attrs["leftmargin"].to_f).to_i
|
60
60
|
attrs["totalleading"] = (attrs["size"].to_f + attrs["leading"].to_f).to_i
|
61
|
-
#
|
61
|
+
# puts attrs.inspect
|
62
62
|
attrs["formatted_color"] = format_color(attrs["color"])
|
63
63
|
attrs["formatted_face"] = format_face(attrs)
|
64
64
|
%(<encoding=unicode
|
@@ -106,8 +106,6 @@ module FN
|
|
106
106
|
when "i"; options["italic"] = true
|
107
107
|
when "u"; options["underline"] = true
|
108
108
|
when "li"; buffer << "• "
|
109
|
-
when "p";
|
110
|
-
options["align"] = node["ALIGN"] if node["ALIGN"]
|
111
109
|
when "font";
|
112
110
|
options["size"] = node["size"] if node["size"]
|
113
111
|
options["face"] = node["face"] if node["face"]
|
@@ -121,8 +119,7 @@ module FN
|
|
121
119
|
node.children.each{|c| format(c, buffer, options)}
|
122
120
|
|
123
121
|
case node.name.downcase
|
124
|
-
when "p", "li";
|
125
|
-
buffer << "<nextparagraph>"
|
122
|
+
when "p", "li"; buffer << "<nextparagraph>"
|
126
123
|
end
|
127
124
|
else
|
128
125
|
raise "unhandled node type"
|
@@ -4,9 +4,6 @@ module FN
|
|
4
4
|
module PDF
|
5
5
|
module Node
|
6
6
|
def FitImage(image, x, y, opts = {})
|
7
|
-
if opts.delete(:inverted)
|
8
|
-
opts[:orientate] = "south"
|
9
|
-
end
|
10
7
|
FN::Node::Base("fit_image", opts.merge(:image => image, :x => x, :y => y)).extend(FitImage)
|
11
8
|
end
|
12
9
|
|
@@ -19,7 +16,8 @@ module FN
|
|
19
16
|
img = struct[h.delete("image")]
|
20
17
|
x = h.delete("x").to_i
|
21
18
|
y = h.delete("y").to_i
|
22
|
-
h["scale"] = 0.99 # if h["scale"] == "1.0"
|
19
|
+
h["scale"] = 0.99 # if h["scale"] == "1.0"
|
20
|
+
|
23
21
|
struct.fit_image(img, x, y, h)
|
24
22
|
end
|
25
23
|
end
|
@@ -11,14 +11,8 @@ module FN
|
|
11
11
|
include FN::Node::Base
|
12
12
|
|
13
13
|
def visit(struct)
|
14
|
-
@logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
|
15
|
-
# @logger.info "HELP "*88
|
16
|
-
# @logger.info "self[:page] => #{self[:page]}" # yields {page}
|
17
|
-
# @logger.info "struct[self[:page]] => #{struct[self[:page]]}" # yields -1
|
18
|
-
# @logger.info "struct => #{struct.inspect}"
|
19
14
|
has_no_children
|
20
15
|
struct.fit_pdi_page(struct[self[:page]], 0, struct[CURRENT_PAGE_HEIGHT], "")
|
21
|
-
|
22
16
|
end
|
23
17
|
end
|
24
18
|
end
|
data/lib/fn/pdf/node/invert.rb
CHANGED
@@ -15,8 +15,8 @@ module FN
|
|
15
15
|
FN::Node::Base("invert",
|
16
16
|
:x => block["x"],
|
17
17
|
:y => block["y"],
|
18
|
-
:x2 => block["x"].to_f +
|
19
|
-
:y2 => block["y"].to_f +
|
18
|
+
:x2 => block["x"].to_f + block["width"].to_f,
|
19
|
+
:y2 => block["y"].to_f + block["height"].to_f
|
20
20
|
).extend(Invert)
|
21
21
|
end
|
22
22
|
|
@@ -12,15 +12,7 @@ module FN
|
|
12
12
|
include FN::Node::Base
|
13
13
|
|
14
14
|
def visit(struct)
|
15
|
-
@logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
|
16
|
-
# @logger.info "DOGS "*88
|
17
|
-
# @logger.info "struct.inspect: #{struct.inspect}"
|
18
|
-
# @logger.info "struct[self[:pdi]]: #{struct[self[:pdi]]}"
|
19
|
-
# @logger.info "self[:number].to_i: #{self[:number].to_i}"
|
20
15
|
pg = struct.open_pdi_page(struct[self[:pdi]], self[:number].to_i, "")
|
21
|
-
# @logger.info "self.inspect: #{self.inspect}"
|
22
|
-
# @logger.info "pg.inspect: #{pg.inspect}"
|
23
|
-
# @logger.info "CATS "*88
|
24
16
|
struct.assigns self, pg
|
25
17
|
visit_children struct
|
26
18
|
struct.close_pdi_page(pg)
|
data/lib/fn/pdf/struct.rb
CHANGED
@@ -13,26 +13,23 @@ module FN
|
|
13
13
|
self["{#{node[:assigns]}}"] = value
|
14
14
|
end
|
15
15
|
|
16
|
-
def method_missing(*
|
17
|
-
|
18
|
-
# @logger.info("This is what args looks like when we first get it: #{a.inspect}")
|
19
|
-
args.map! do |elem|
|
16
|
+
def method_missing(*a, &b)
|
17
|
+
a.map! do |elem|
|
20
18
|
case elem
|
21
19
|
when Hash:
|
22
|
-
elem.inject([]) {|m, (
|
23
|
-
m << "#{
|
20
|
+
elem.inject([]) {|m, (k, v)|
|
21
|
+
m << "#{k}={#{v}}"
|
24
22
|
}.join(" ")
|
25
23
|
else
|
26
24
|
elem
|
27
25
|
end
|
28
26
|
end
|
29
27
|
begin
|
30
|
-
#
|
31
|
-
@pdf.send(*
|
32
|
-
rescue Exception =>
|
33
|
-
|
34
|
-
|
35
|
-
raise error
|
28
|
+
# puts "command: #{a.inspect}" if @debug
|
29
|
+
@pdf.send(*a, &b)
|
30
|
+
rescue Exception => e
|
31
|
+
STDERR.puts("tried calling #{a.shift} with args: #{a.inspect}, state: #{inspect}")
|
32
|
+
raise e
|
36
33
|
end
|
37
34
|
end
|
38
35
|
end
|
data/lib/fn/pdf/writer.rb
CHANGED
@@ -3,12 +3,13 @@ require "PDFlib"
|
|
3
3
|
require "RMagick"
|
4
4
|
require "tempfile"
|
5
5
|
Dir[File.dirname(__FILE__) + "/node/*.rb"].each do |f|
|
6
|
-
|
6
|
+
require f.sub(/\.rb$/, '')
|
7
7
|
end
|
8
8
|
module FN
|
9
9
|
module PDF
|
10
10
|
class WriterError < RuntimeError; end
|
11
11
|
class Writer
|
12
|
+
|
12
13
|
include Node
|
13
14
|
SPACE = /[\s_]+/
|
14
15
|
|
@@ -37,10 +38,7 @@ module FN
|
|
37
38
|
|
38
39
|
def translate(doc, options = {})
|
39
40
|
raise "Not an FN Document" unless doc.is_a?(FN::Document)
|
40
|
-
@logger = Logger.new("#{RAILS_ROOT}/log/pdf_writer_logs/#{Time.now.strftime('pdf_writer_log_%Y_%m_%d')}.log")
|
41
|
-
|
42
41
|
|
43
|
-
debug = options[:debug]
|
44
42
|
file = options[:save_as]
|
45
43
|
bkg = options[:background]
|
46
44
|
pdf_version = options[:pdf_version] ||
|
@@ -57,29 +55,19 @@ module FN
|
|
57
55
|
|
58
56
|
context = FN::Node::Context.new
|
59
57
|
|
60
|
-
# @logger.info "===== Setting Parameters ====="
|
61
58
|
context.add SetParameter("license", license)
|
62
59
|
context.add SetParameter("resourcefile", resource_file)
|
63
60
|
context.add SetParameter("hypertextencoding", self.class.encoding)
|
64
61
|
context.add SetParameter("textformat", textformat)
|
65
62
|
|
66
|
-
if bkg
|
67
|
-
# @logger.info "===== This Document Has a Background ====="
|
68
|
-
context << OpenPdi(bkg, assigns = "pdi")
|
69
|
-
end
|
70
|
-
|
71
|
-
# @logger.info "===== Uh... Begin Document ====="
|
63
|
+
context << OpenPdi(bkg, assigns = "pdi") if bkg
|
72
64
|
context << BeginDocument(file, pdf_version)
|
73
|
-
|
74
|
-
# @logger.info "===== Setting A Forgotten Parameter ====="
|
75
65
|
context.add SetParameter("topdown", true)
|
76
66
|
|
77
|
-
# @logger.info "===== Adding #{doc.fonts.length} Fonts ====="
|
78
67
|
doc.fonts do |name|
|
79
68
|
LoadFont.add_all_variants_to context, name
|
80
69
|
end
|
81
70
|
|
82
|
-
# @logger.info "===== Adding #{doc.textflows.length} Text Flows ====="
|
83
71
|
flows_by_name = {}
|
84
72
|
doc.textflows.each do |flow|
|
85
73
|
ctf = CreateTextflow(flow)
|
@@ -87,34 +75,23 @@ module FN
|
|
87
75
|
context.add ctf
|
88
76
|
end
|
89
77
|
|
90
|
-
|
91
|
-
# @logger.info "===== Adding #{doc.pages.length} Pages ====="
|
92
|
-
doc.pages.each_with_index do |page,index|
|
78
|
+
doc.pages.each do |page|
|
93
79
|
context.retain_after do
|
94
|
-
# @logger.info "Page #{index+1}:"
|
95
|
-
# @logger.info "BeginPageExt(:width => #{page["width"]}, :height => #{page["height"]}, :number => #{page["number"]})"
|
96
80
|
context << BeginPageExt(page["width"], page["height"], page["number"])
|
97
81
|
if bkg
|
98
|
-
# @logger.info "This Document Has Background"
|
99
|
-
# @logger.info "OpenPdiPage(:pdi_var => \"{pdi}\", :page_number => #{page["number"]}, :page_var => \"page\")"
|
100
82
|
context << OpenPdiPage("{pdi}", page["number"], assigns = "page" )
|
101
|
-
# @logger.info "FitPdiPage(:var => \"{page}\")"
|
102
83
|
context.add FitPdiPage("{page}")
|
103
84
|
elsif page["background"]
|
104
|
-
# @logger.info "Page #{index+1}: This Document does NOT have a Background, but the page does"
|
105
85
|
bkg_image = doc.resource(page["background"]).path_from(root)
|
106
86
|
context.add LoadImage(bkg_image, "tmp")
|
107
87
|
context.add FitImage("{tmp}", 0, page["height"],
|
108
88
|
:fitmethod => :meet,
|
109
89
|
:boxsize => [page["width"], page["height"]])
|
110
|
-
else
|
111
|
-
# @logger.info "Page #{index+1}: Does not have a background at all"
|
112
90
|
end
|
113
91
|
context.add(Watermark(watermark)) if watermark
|
114
92
|
end
|
115
93
|
end
|
116
94
|
|
117
|
-
# @logger.info "===== Adding #{doc.text_blocks.length} Text Blocks ====="
|
118
95
|
doc.text_blocks.each do |block|
|
119
96
|
flow = CreateTextflow(block)
|
120
97
|
|
@@ -135,10 +112,7 @@ module FN
|
|
135
112
|
end
|
136
113
|
end
|
137
114
|
|
138
|
-
# @logger.info "===== Adding #{doc.photo_blocks.length} Photo Blocks ====="
|
139
115
|
doc.photo_blocks.each do |block|
|
140
|
-
# require "ruby-debug"
|
141
|
-
# debugger
|
142
116
|
image = nil
|
143
117
|
begin
|
144
118
|
context.inject_at_page(block.page_number) do
|
@@ -146,9 +120,9 @@ module FN
|
|
146
120
|
tmp = Magick::Image::read(image).first
|
147
121
|
dims = [tmp.columns.to_f, tmp.rows.to_f]
|
148
122
|
x, y, width, height = calculate(block, dims)
|
149
|
-
fi = FitImage("{tmp}", x, y, :fitmethod => "meet", :boxsize => [width, height], :inverted => block["flip"] == "yes")
|
150
123
|
context.add LoadImage(image, "tmp")
|
151
|
-
context.add(
|
124
|
+
context.add FitImage("{tmp}", x, y, :fitmethod => "meet",
|
125
|
+
:boxsize => [width, height])
|
152
126
|
end
|
153
127
|
rescue Magick::ImageMagickError => e
|
154
128
|
STDERR.puts e.message
|
@@ -157,22 +131,10 @@ module FN
|
|
157
131
|
end
|
158
132
|
end
|
159
133
|
|
160
|
-
# @logger.info "===== Closing #{doc.pages.length} Pages ====="
|
161
134
|
doc.pages.each do |page|
|
162
135
|
context.add EndPageExt(page["number"])
|
163
136
|
end
|
164
137
|
|
165
|
-
|
166
|
-
# @logger.info "====================================================================="
|
167
|
-
# @logger.info "===== Somewhere after this point, the major churning begins ====="
|
168
|
-
# @logger.info "===== And starts looping through all the context things we just ====="
|
169
|
-
# @logger.info "===== added and tries to execute them all ====="
|
170
|
-
# @logger.info "====================================================================="
|
171
|
-
|
172
|
-
# @logger.info "================================== doc.xml_to_s ================================="
|
173
|
-
# @logger.info doc.xml_to_s
|
174
|
-
# @logger.info "================================== context.doc.to_s ============================="
|
175
|
-
# @logger.info context.doc.to_s
|
176
138
|
return context.doc
|
177
139
|
end
|
178
140
|
|
data/lib/fn/swf/writer.rb
CHANGED
data/lib/fn_document.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fn_document
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 9
|
8
|
+
- 3
|
9
|
+
version: 0.9.3
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Nathan Colgate Clark
|
@@ -15,50 +19,105 @@ date: 2011-07-14 00:00:00 -07:00
|
|
15
19
|
default_executable:
|
16
20
|
dependencies:
|
17
21
|
- !ruby/object:Gem::Dependency
|
18
|
-
|
19
|
-
|
22
|
+
type: :runtime
|
23
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - "="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 9
|
31
|
+
- 2
|
32
|
+
version: 0.9.2
|
33
|
+
prerelease: false
|
34
|
+
name: libxslt-ruby
|
35
|
+
requirement: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
type: :runtime
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - "="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 1
|
46
|
+
- 3
|
47
|
+
version: 1.1.3
|
48
|
+
prerelease: false
|
49
|
+
name: libxml-ruby
|
50
|
+
requirement: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
type: :runtime
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
20
54
|
none: false
|
21
55
|
requirements:
|
22
56
|
- - ">="
|
23
57
|
- !ruby/object:Gem::Version
|
58
|
+
segments:
|
59
|
+
- 0
|
24
60
|
version: "0"
|
61
|
+
prerelease: false
|
62
|
+
name: mocha
|
63
|
+
requirement: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
25
65
|
type: :development
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
26
74
|
prerelease: false
|
27
|
-
|
75
|
+
name: shoulda
|
76
|
+
requirement: *id004
|
28
77
|
- !ruby/object:Gem::Dependency
|
29
|
-
|
30
|
-
|
78
|
+
type: :development
|
79
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
31
80
|
none: false
|
32
81
|
requirements:
|
33
82
|
- - ~>
|
34
83
|
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 1
|
86
|
+
- 0
|
87
|
+
- 0
|
35
88
|
version: 1.0.0
|
36
|
-
type: :development
|
37
89
|
prerelease: false
|
38
|
-
|
90
|
+
name: bundler
|
91
|
+
requirement: *id005
|
39
92
|
- !ruby/object:Gem::Dependency
|
40
|
-
|
41
|
-
|
93
|
+
type: :development
|
94
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
42
95
|
none: false
|
43
96
|
requirements:
|
44
97
|
- - ~>
|
45
98
|
- !ruby/object:Gem::Version
|
99
|
+
segments:
|
100
|
+
- 1
|
101
|
+
- 6
|
102
|
+
- 4
|
46
103
|
version: 1.6.4
|
47
|
-
type: :development
|
48
104
|
prerelease: false
|
49
|
-
|
105
|
+
name: jeweler
|
106
|
+
requirement: *id006
|
50
107
|
- !ruby/object:Gem::Dependency
|
51
|
-
|
52
|
-
|
108
|
+
type: :development
|
109
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
53
110
|
none: false
|
54
111
|
requirements:
|
55
112
|
- - ">="
|
56
113
|
- !ruby/object:Gem::Version
|
114
|
+
segments:
|
115
|
+
- 0
|
57
116
|
version: "0"
|
58
|
-
type: :development
|
59
117
|
prerelease: false
|
60
|
-
|
61
|
-
|
118
|
+
name: rcov
|
119
|
+
requirement: *id007
|
120
|
+
description: This handles complex document creation from XML for the FASI AMS system.
|
62
121
|
email: nathancolgate@gmail.com
|
63
122
|
executables: []
|
64
123
|
|
@@ -69,6 +128,7 @@ extra_rdoc_files:
|
|
69
128
|
- README.rdoc
|
70
129
|
files:
|
71
130
|
- .document
|
131
|
+
- CHANGELOG
|
72
132
|
- Gemfile
|
73
133
|
- Gemfile.lock
|
74
134
|
- LICENSE.txt
|
@@ -129,7 +189,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
189
|
requirements:
|
130
190
|
- - ">="
|
131
191
|
- !ruby/object:Gem::Version
|
132
|
-
hash:
|
192
|
+
hash: 3
|
133
193
|
segments:
|
134
194
|
- 0
|
135
195
|
version: "0"
|
@@ -138,13 +198,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
198
|
requirements:
|
139
199
|
- - ">="
|
140
200
|
- !ruby/object:Gem::Version
|
201
|
+
segments:
|
202
|
+
- 0
|
141
203
|
version: "0"
|
142
204
|
requirements: []
|
143
205
|
|
144
206
|
rubyforge_project:
|
145
|
-
rubygems_version: 1.
|
207
|
+
rubygems_version: 1.3.7
|
146
208
|
signing_key:
|
147
209
|
specification_version: 3
|
148
|
-
summary: Gem for
|
210
|
+
summary: Gem for reading/writing/printing fn documents
|
149
211
|
test_files: []
|
150
212
|
|