fn_document 0.9.6 → 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.
- data/Gemfile +4 -4
- data/Gemfile.lock +28 -12
- data/VERSION +1 -1
- data/fn_document.gemspec +24 -20
- data/lib/fn/document.rb +2 -2
- data/lib/fn/node/base.rb +14 -4
- data/lib/fn/node/context.rb +2 -2
- data/lib/fn/pdf/node/begin_document.rb +2 -2
- data/lib/fn/pdf/node/begin_page_ext.rb +2 -2
- data/lib/fn/pdf/node/create_textflow.rb +1 -1
- data/lib/fn/pdf/node/end_page_ext.rb +1 -1
- data/lib/fn/pdf/node/fit_image.rb +1 -1
- data/lib/fn/pdf/node/fit_pdi_page.rb +1 -1
- data/lib/fn/pdf/node/fit_textflow.rb +1 -1
- data/lib/fn/pdf/node/invert.rb +2 -2
- data/lib/fn/pdf/node/load_image.rb +1 -1
- data/lib/fn/pdf/node/open_pdi.rb +5 -2
- data/lib/fn/pdf/node/open_pdi_page.rb +7 -2
- data/lib/fn/pdf/node/resume_page.rb +2 -2
- data/lib/fn/pdf/node/set_parameter.rb +1 -1
- data/lib/fn/pdf/node/watermark.rb +1 -1
- data/lib/fn/pdf/writer.rb +6 -15
- data/lib/fn/swf/node/break.rb +1 -1
- data/lib/fn/swf/node/flash.rb +2 -2
- data/lib/fn/swf/node/font.rb +1 -1
- data/lib/fn/swf/node/frame.rb +1 -1
- data/lib/fn/swf/node/hot_spot.rb +1 -1
- data/lib/fn/swf/node/image.rb +1 -1
- data/lib/fn/swf/node/page.rb +2 -2
- data/lib/fn/swf/node/photo_block.rb +1 -1
- data/lib/fn/swf/node/text.rb +1 -1
- data/test/assets/logo.jpg +0 -0
- data/test/assets/pdf_background.pdf +0 -0
- data/test/assets/pdf_background_2.pdf +0 -0
- data/test/nathans_test.rb +74 -0
- metadata +55 -61
data/Gemfile
CHANGED
@@ -2,8 +2,8 @@ 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"
|
6
|
-
gem "libxml-ruby"
|
5
|
+
gem "libxslt-ruby"
|
6
|
+
gem "libxml-ruby"
|
7
7
|
gem "mocha"
|
8
8
|
gem 'rmagick'
|
9
9
|
|
@@ -11,7 +11,7 @@ gem 'rmagick'
|
|
11
11
|
# Include everything needed to run rake, tests, features, etc.
|
12
12
|
group :development do
|
13
13
|
gem "shoulda", ">= 0"
|
14
|
-
gem "bundler"
|
15
|
-
gem "jeweler"
|
14
|
+
gem "bundler"
|
15
|
+
gem "jeweler"
|
16
16
|
gem "rcov", ">= 0"
|
17
17
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,28 +1,44 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
activesupport (3.2.7)
|
5
|
+
i18n (~> 0.6)
|
6
|
+
multi_json (~> 1.0)
|
4
7
|
git (1.2.5)
|
5
|
-
|
8
|
+
i18n (0.6.0)
|
9
|
+
jeweler (1.8.4)
|
6
10
|
bundler (~> 1.0)
|
7
11
|
git (>= 1.2.5)
|
8
12
|
rake
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
rdoc
|
14
|
+
json (1.7.4)
|
15
|
+
libxml-ruby (2.3.3)
|
16
|
+
libxslt-ruby (1.0.9)
|
17
|
+
libxml-ruby (>= 2.2.2)
|
18
|
+
metaclass (0.0.1)
|
19
|
+
mocha (0.12.1)
|
20
|
+
metaclass (~> 0.0.1)
|
21
|
+
multi_json (1.3.6)
|
22
|
+
rake (0.9.2.2)
|
23
|
+
rcov (1.0.0)
|
24
|
+
rdoc (3.12)
|
25
|
+
json (~> 1.4)
|
15
26
|
rmagick (2.13.1)
|
16
|
-
shoulda (
|
27
|
+
shoulda (3.1.1)
|
28
|
+
shoulda-context (~> 1.0)
|
29
|
+
shoulda-matchers (~> 1.2)
|
30
|
+
shoulda-context (1.0.0)
|
31
|
+
shoulda-matchers (1.2.0)
|
32
|
+
activesupport (>= 3.0.0)
|
17
33
|
|
18
34
|
PLATFORMS
|
19
35
|
ruby
|
20
36
|
|
21
37
|
DEPENDENCIES
|
22
|
-
bundler
|
23
|
-
jeweler
|
24
|
-
libxml-ruby
|
25
|
-
libxslt-ruby
|
38
|
+
bundler
|
39
|
+
jeweler
|
40
|
+
libxml-ruby
|
41
|
+
libxslt-ruby
|
26
42
|
mocha
|
27
43
|
rcov
|
28
44
|
rmagick
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.7
|
data/fn_document.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.9.
|
7
|
+
s.name = "fn_document"
|
8
|
+
s.version = "0.9.7"
|
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
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-07-26"
|
13
|
+
s.description = "This handles complex document creation from XML for the FASI AMS system."
|
14
|
+
s.email = "nathancolgate@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.rdoc"
|
@@ -63,45 +63,49 @@ Gem::Specification.new do |s|
|
|
63
63
|
"lib/fn/util.rb",
|
64
64
|
"lib/fn/validation.rng",
|
65
65
|
"lib/fn_document.rb",
|
66
|
+
"test/assets/logo.jpg",
|
67
|
+
"test/assets/pdf_background.pdf",
|
68
|
+
"test/assets/pdf_background_2.pdf",
|
66
69
|
"test/helper.rb",
|
70
|
+
"test/nathans_test.rb",
|
67
71
|
"test/test_fn_document.rb"
|
68
72
|
]
|
69
|
-
s.homepage =
|
73
|
+
s.homepage = "http://github.com/nathancolgate/fn_document"
|
70
74
|
s.licenses = ["MIT"]
|
71
75
|
s.require_paths = ["lib"]
|
72
|
-
s.rubygems_version =
|
73
|
-
s.summary =
|
76
|
+
s.rubygems_version = "1.8.24"
|
77
|
+
s.summary = "Gem for reading/writing/printing fn documents"
|
74
78
|
|
75
79
|
if s.respond_to? :specification_version then
|
76
80
|
s.specification_version = 3
|
77
81
|
|
78
82
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
79
|
-
s.add_runtime_dependency(%q<libxslt-ruby>, ["
|
80
|
-
s.add_runtime_dependency(%q<libxml-ruby>, ["
|
83
|
+
s.add_runtime_dependency(%q<libxslt-ruby>, [">= 0"])
|
84
|
+
s.add_runtime_dependency(%q<libxml-ruby>, [">= 0"])
|
81
85
|
s.add_runtime_dependency(%q<mocha>, [">= 0"])
|
82
86
|
s.add_runtime_dependency(%q<rmagick>, [">= 0"])
|
83
87
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
84
|
-
s.add_development_dependency(%q<bundler>, ["
|
85
|
-
s.add_development_dependency(%q<jeweler>, ["
|
88
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
89
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
86
90
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
87
91
|
else
|
88
|
-
s.add_dependency(%q<libxslt-ruby>, ["
|
89
|
-
s.add_dependency(%q<libxml-ruby>, ["
|
92
|
+
s.add_dependency(%q<libxslt-ruby>, [">= 0"])
|
93
|
+
s.add_dependency(%q<libxml-ruby>, [">= 0"])
|
90
94
|
s.add_dependency(%q<mocha>, [">= 0"])
|
91
95
|
s.add_dependency(%q<rmagick>, [">= 0"])
|
92
96
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
93
|
-
s.add_dependency(%q<bundler>, ["
|
94
|
-
s.add_dependency(%q<jeweler>, ["
|
97
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
98
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
95
99
|
s.add_dependency(%q<rcov>, [">= 0"])
|
96
100
|
end
|
97
101
|
else
|
98
|
-
s.add_dependency(%q<libxslt-ruby>, ["
|
99
|
-
s.add_dependency(%q<libxml-ruby>, ["
|
102
|
+
s.add_dependency(%q<libxslt-ruby>, [">= 0"])
|
103
|
+
s.add_dependency(%q<libxml-ruby>, [">= 0"])
|
100
104
|
s.add_dependency(%q<mocha>, [">= 0"])
|
101
105
|
s.add_dependency(%q<rmagick>, [">= 0"])
|
102
106
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
103
|
-
s.add_dependency(%q<bundler>, ["
|
104
|
-
s.add_dependency(%q<jeweler>, ["
|
107
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
108
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
105
109
|
s.add_dependency(%q<rcov>, [">= 0"])
|
106
110
|
end
|
107
111
|
end
|
data/lib/fn/document.rb
CHANGED
@@ -92,10 +92,10 @@ module FN
|
|
92
92
|
#end
|
93
93
|
end
|
94
94
|
|
95
|
-
def to_pdf(options = {})
|
95
|
+
def to_pdf(options = {}, debug = false)
|
96
96
|
update_resources(options)
|
97
97
|
@pdf ||= PDF::Writer.new
|
98
|
-
@pdf.write(self, options)
|
98
|
+
@pdf.write(self, options, debug)
|
99
99
|
end
|
100
100
|
|
101
101
|
def to_swf(options = {})
|
data/lib/fn/node/base.rb
CHANGED
@@ -13,19 +13,29 @@ module FN
|
|
13
13
|
CURRENT_PAGE_WIDTH = "__current_page_width"
|
14
14
|
CURRENT_PAGE_HEIGHT = "__current_page_height"
|
15
15
|
|
16
|
-
def visit(struct)
|
17
|
-
visit_children(struct)
|
16
|
+
def visit(struct, debug = false)
|
17
|
+
visit_children(struct, debug)
|
18
18
|
end
|
19
19
|
|
20
20
|
def has_no_children
|
21
21
|
raise "should have no children" if children.any?{|c| !c.cdata?}
|
22
22
|
end
|
23
23
|
|
24
|
-
def visit_children(struct)
|
24
|
+
def visit_children(struct, debug = false)
|
25
|
+
if debug
|
26
|
+
puts "="*88
|
27
|
+
puts "Visiting Children"
|
28
|
+
puts "Struct"
|
29
|
+
puts struct.inspect
|
30
|
+
puts "-"*88
|
31
|
+
puts "Children"
|
32
|
+
puts children.inspect
|
33
|
+
puts "="*88
|
34
|
+
end
|
25
35
|
children.each do |c|
|
26
36
|
if c.element?
|
27
37
|
mixin(c)
|
28
|
-
c.visit(struct)
|
38
|
+
c.visit(struct, debug)
|
29
39
|
end
|
30
40
|
end
|
31
41
|
return struct
|
data/lib/fn/node/context.rb
CHANGED
@@ -11,9 +11,9 @@ module FN
|
|
11
11
|
module BeginDocument
|
12
12
|
include FN::Node::Base
|
13
13
|
|
14
|
-
def visit(struct)
|
14
|
+
def visit(struct, debug = false)
|
15
15
|
struct.begin_document(self[:file], :compatibility => self[:compatibility])
|
16
|
-
visit_children(struct)
|
16
|
+
visit_children(struct, debug )
|
17
17
|
struct.end_document("")
|
18
18
|
end
|
19
19
|
end
|
@@ -11,11 +11,11 @@ module FN
|
|
11
11
|
module BeginPageExt
|
12
12
|
include FN::Node::Base
|
13
13
|
|
14
|
-
def visit(struct)
|
14
|
+
def visit(struct, debug = false)
|
15
15
|
struct.begin_page_ext(self[:width].to_i, self[:height].to_i, "")
|
16
16
|
struct[CURRENT_PAGE_WIDTH] = self[:width].to_i
|
17
17
|
struct[CURRENT_PAGE_HEIGHT] = self[:height].to_i
|
18
|
-
visit_children
|
18
|
+
visit_children(struct, debug)
|
19
19
|
struct.suspend_page("")
|
20
20
|
end
|
21
21
|
end
|
data/lib/fn/pdf/node/invert.rb
CHANGED
@@ -23,11 +23,11 @@ module FN
|
|
23
23
|
module Invert
|
24
24
|
include FN::Node::Base
|
25
25
|
|
26
|
-
def visit(struct)
|
26
|
+
def visit(struct, debug = false)
|
27
27
|
struct.save
|
28
28
|
struct.translate self["x"].to_f + self["x2"].to_f, self["y"].to_f + self["y2"].to_f
|
29
29
|
struct.rotate 180
|
30
|
-
visit_children
|
30
|
+
visit_children(struct, debug)
|
31
31
|
struct.restore
|
32
32
|
end
|
33
33
|
end
|
data/lib/fn/pdf/node/open_pdi.rb
CHANGED
@@ -10,10 +10,13 @@ module FN
|
|
10
10
|
module OpenPdi
|
11
11
|
include FN::Node::Base
|
12
12
|
|
13
|
-
def visit(struct)
|
13
|
+
def visit(struct, debug = false)
|
14
|
+
if debug
|
15
|
+
puts "self[:file]: #{self[:file]}"
|
16
|
+
end
|
14
17
|
pdi = struct.open_pdi(self[:file], "", 0)
|
15
18
|
struct.assigns(self, pdi)
|
16
|
-
visit_children
|
19
|
+
visit_children(struct, debug)
|
17
20
|
struct.close_pdi(pdi)
|
18
21
|
end
|
19
22
|
end
|
@@ -11,10 +11,15 @@ module FN
|
|
11
11
|
module OpenPdiPage
|
12
12
|
include FN::Node::Base
|
13
13
|
|
14
|
-
def visit(struct)
|
14
|
+
def visit(struct, debug = false)
|
15
|
+
if debug
|
16
|
+
puts "struct[self[:pdi]]: #{struct[self[:pdi]]}"
|
17
|
+
puts "self[:number].to_i: #{self[:number].to_i}"
|
18
|
+
puts "I Think I'm On Page: #{struct.open_pdi_page(struct[self[:pdi]], self[:number].to_i, "")}"
|
19
|
+
end
|
15
20
|
pg = struct.open_pdi_page(struct[self[:pdi]], self[:number].to_i, "")
|
16
21
|
struct.assigns self, pg
|
17
|
-
visit_children
|
22
|
+
visit_children(struct, debug)
|
18
23
|
struct.close_pdi_page(pg)
|
19
24
|
end
|
20
25
|
end
|
@@ -10,9 +10,9 @@ module FN
|
|
10
10
|
module ResumePage
|
11
11
|
include FN::Node::Base
|
12
12
|
|
13
|
-
def visit(struct)
|
13
|
+
def visit(struct, debug = false)
|
14
14
|
struct.resume_page(attributes.to_h)
|
15
|
-
visit_children(struct)
|
15
|
+
visit_children(struct, debug)
|
16
16
|
struct.suspend_page("")
|
17
17
|
end
|
18
18
|
end
|
data/lib/fn/pdf/writer.rb
CHANGED
@@ -21,24 +21,15 @@ module FN
|
|
21
21
|
@encoding
|
22
22
|
end
|
23
23
|
|
24
|
-
def write(doc, options = {})
|
24
|
+
def write(doc, options = {}, debug = false)
|
25
25
|
options[:save_as] ||= (tmp = Tempfile.new("pdf"); tmp.close; tmp.path)
|
26
|
-
write_xml translate(doc, options), options[:save_as]
|
26
|
+
write_xml translate(doc, options), options[:save_as], debug
|
27
27
|
end
|
28
28
|
|
29
|
-
def write_xml(xml, file)
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
return file
|
34
|
-
rescue Exception => e
|
35
|
-
$stderr.puts "="*88
|
36
|
-
$stderr.puts "Tried to write_xml but failed. Logging XML and file:"
|
37
|
-
$stderr.puts "xml: #{xml}"
|
38
|
-
$stderr.puts "file: #{file}"
|
39
|
-
$stderr.puts "="*88
|
40
|
-
raise e
|
41
|
-
end
|
29
|
+
def write_xml(xml, file, debug = false)
|
30
|
+
xml.root.extend(FN::Node::Root)
|
31
|
+
xml.root.visit(FN::PDF::Struct.new(debug),debug)
|
32
|
+
return file
|
42
33
|
end
|
43
34
|
|
44
35
|
def titlecase(str)
|
data/lib/fn/swf/node/break.rb
CHANGED
data/lib/fn/swf/node/flash.rb
CHANGED
@@ -9,13 +9,13 @@ module FN
|
|
9
9
|
module Flash
|
10
10
|
include FN::Node::Base
|
11
11
|
|
12
|
-
def visit(struct)
|
12
|
+
def visit(struct, debug = false)
|
13
13
|
w = self[:width]
|
14
14
|
h = self[:height]
|
15
15
|
size = "#{w}x#{h}"
|
16
16
|
struct.<< %[.flash bbox="#{size}" compress version=6] do
|
17
17
|
struct.<< %[.box bkg width=#{w} height=#{h} color=white fill]
|
18
|
-
visit_children
|
18
|
+
visit_children(struct, debug)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
data/lib/fn/swf/node/font.rb
CHANGED
data/lib/fn/swf/node/frame.rb
CHANGED
data/lib/fn/swf/node/hot_spot.rb
CHANGED
data/lib/fn/swf/node/image.rb
CHANGED
data/lib/fn/swf/node/page.rb
CHANGED
@@ -10,14 +10,14 @@ module FN
|
|
10
10
|
module Page
|
11
11
|
include FN::Node::Base
|
12
12
|
|
13
|
-
def visit(struct)
|
13
|
+
def visit(struct, debug = false)
|
14
14
|
n = self[:number]
|
15
15
|
bkg = self[:bkg]
|
16
16
|
struct << ".frame #{n}"
|
17
17
|
struct.<< ".sprite page#{n}" do
|
18
18
|
struct << ".put bkg 0 0"
|
19
19
|
struct << ".put #{bkg} x=0 y=0"
|
20
|
-
visit_children(struct)
|
20
|
+
visit_children(struct, debug)
|
21
21
|
end
|
22
22
|
struct << ".put page#{n} 0 00"
|
23
23
|
struct.<< ".action:" do
|
data/lib/fn/swf/node/text.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'xml'
|
3
|
+
require 'fn_document'
|
4
|
+
|
5
|
+
@background_path = "/Users/nathan/github/fn_document/test/assets/pdf_background_2.pdf"
|
6
|
+
@save_path = "/Users/nathan/Desktop/temp.pdf"
|
7
|
+
|
8
|
+
@xml_string = ''
|
9
|
+
@xml_string += '<root>'
|
10
|
+
# @xml_string += '<set_parameter key="license" value="L700202-010000-116496-QXVFH2-2Y4UE2"/>'
|
11
|
+
@xml_string += '<set_parameter key="resourcefile" value="/Users/nathan/rails/myfasi/public/fonts/pdflib.upr"/>'
|
12
|
+
@xml_string += '<set_parameter key="hypertextencoding" value="unicode"/>'
|
13
|
+
@xml_string += '<set_parameter key="textformat" value="utf8"/>'
|
14
|
+
@xml_string += '<open_pdi file="'+@background_path+'" assigns="pdi">'
|
15
|
+
@xml_string += '<begin_document file="'+@save_path+'" compatibility="1.5">'
|
16
|
+
@xml_string += '<set_parameter key="topdown" value="true"/>'
|
17
|
+
@xml_string += '<create_textflow assigns="flow-1"><![CDATA[<fontname=Arial encoding=unicode fontsize=10><encoding=unicode '
|
18
|
+
@xml_string += 'embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% kerning=true charref=true fontname={Myriad}'
|
19
|
+
@xml_string += ' fontsize=12 leftindent=0 rightindent=0 leading=14 fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false alignment=left>'
|
20
|
+
@xml_string += 'Call John Franczak at<encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% '
|
21
|
+
@xml_string += 'kerning=true charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 fillcolor={rgb '
|
22
|
+
@xml_string += '0.0705882352941176 0.596078431372549 0.317647058823529} parindent=0 underline=false alignment=left> 775-831-6000 '
|
23
|
+
@xml_string += '<encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% kerning=true charref=true '
|
24
|
+
@xml_string += 'fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false '
|
25
|
+
@xml_string += 'alignment=left>or visit us at<encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% '
|
26
|
+
@xml_string += 'maxspacing=100% kerning=true charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 '
|
27
|
+
@xml_string += 'fillcolor={rgb 0.0705882352941176 0.596078431372549 0.317647058823529} parindent=0 underline=false alignment=left> '
|
28
|
+
@xml_string += 'www.jfwealthmanagement.com <encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% '
|
29
|
+
@xml_string += 'maxspacing=100% kerning=true charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 '
|
30
|
+
@xml_string += 'fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false alignment=left>to learn more about how the Greenbook '
|
31
|
+
@xml_string += 'program may be able to help you!<nextparagraph>]]></create_textflow>'
|
32
|
+
@xml_string += '<begin_page_ext width="594" height="793" number="1">'
|
33
|
+
@xml_string += '<open_pdi_page pdi="{pdi}" assigns="page" number="1">'
|
34
|
+
@xml_string += '<fit_pdi_page page="{page}"/>'
|
35
|
+
@xml_string += '<watermark text="Not compliance approved."/>'
|
36
|
+
@xml_string += '</open_pdi_page>'
|
37
|
+
@xml_string += '<load_image file="/Users/nathan/github/fn_document/test/assets/logo.jpg" '
|
38
|
+
@xml_string += 'assigns="tmp"/>'
|
39
|
+
@xml_string += '<fit_image y="570" image="{tmp}" fitmethod="meet" x="77" boxsize="71 48.99"/>'
|
40
|
+
@xml_string += '</begin_page_ext>'
|
41
|
+
@xml_string += '<create_textflow assigns="flow-1-6"><![CDATA[<fontname=Arial encoding=unicode fontsize=10><encoding=unicode '
|
42
|
+
@xml_string += 'embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% kerning=true charref=true fontname={Myriad} '
|
43
|
+
@xml_string += 'fontsize=12 leftindent=0 rightindent=0 leading=14 fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false alignment=left>Call '
|
44
|
+
@xml_string += 'John Franczak at<encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% kerning=true '
|
45
|
+
@xml_string += 'charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 fillcolor={rgb 0.0705882352941176 0.596078431372549 '
|
46
|
+
@xml_string += '0.317647058823529} parindent=0 underline=false alignment=left> 775-831-6000 <encoding=unicode embedding=true adjustmethod=nofit '
|
47
|
+
@xml_string += 'nofitlimit=100% minspacing=100% maxspacing=100% kerning=true charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 '
|
48
|
+
@xml_string += 'leading=14 fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false alignment=left>or visit us at<encoding=unicode embedding=true '
|
49
|
+
@xml_string += 'adjustmethod=nofit nofitlimit=100% minspacing=100% maxspacing=100% kerning=true charref=true fontname={Myriad} fontsize=12 '
|
50
|
+
@xml_string += 'leftindent=0 rightindent=0 leading=14 fillcolor={rgb 0.0705882352941176 0.596078431372549 0.317647058823529} parindent=0 '
|
51
|
+
@xml_string += 'underline=false alignment=left> www.jfwealthmanagement.com <encoding=unicode embedding=true adjustmethod=nofit nofitlimit=100% '
|
52
|
+
@xml_string += 'minspacing=100% maxspacing=100% kerning=true charref=true fontname={Myriad} fontsize=12 leftindent=0 rightindent=0 leading=14 '
|
53
|
+
@xml_string += 'fillcolor={rgb 0.0 0.0 0.0} parindent=0 underline=false alignment=left>to learn more about how the Greenbook program may be '
|
54
|
+
@xml_string += 'able to help you!<nextparagraph>]]></create_textflow>'
|
55
|
+
@xml_string += '<resume_page pagenumber="1">'
|
56
|
+
@xml_string += '<fit_textflow y="575" flow="{flow-1-6}" x2="277.0" y2="635.0" x="62"/>'
|
57
|
+
@xml_string += '</resume_page>'
|
58
|
+
@xml_string += '<end_page_ext pagenumber="1"/>'
|
59
|
+
@xml_string += '</begin_document>'
|
60
|
+
@xml_string += '</open_pdi>'
|
61
|
+
@xml_string += '</root>'
|
62
|
+
|
63
|
+
@context_doc = LibXML::XML::Document.string(@xml_string)
|
64
|
+
puts @context_doc.root.children[3].children[0].children[2].children[0][:number] # Should be "1"
|
65
|
+
|
66
|
+
@fn_pdf = FN::PDF::Writer.new
|
67
|
+
@fn_pdf.write_xml(@context_doc,@save_path,true)
|
68
|
+
|
69
|
+
#
|
70
|
+
# >> @fn_doc_options[:save_as]
|
71
|
+
# => "/tmp/output20111020-28153-124kzy1-0"
|
72
|
+
# >> @fn_doc_options[:save_as].class
|
73
|
+
# => String
|
74
|
+
# >>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fn_document
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 53
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 7
|
10
|
+
version: 0.9.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Nathan Colgate Clark
|
@@ -16,44 +16,39 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
20
|
-
default_executable:
|
19
|
+
date: 2012-07-26 00:00:00 Z
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
|
-
|
24
|
-
|
22
|
+
name: libxslt-ruby
|
23
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
27
|
-
- - "
|
26
|
+
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
28
|
+
hash: 3
|
30
29
|
segments:
|
31
30
|
- 0
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
name: libxslt-ruby
|
36
|
-
version_requirements: *id001
|
31
|
+
version: "0"
|
32
|
+
type: :runtime
|
33
|
+
requirement: *id001
|
37
34
|
prerelease: false
|
38
35
|
- !ruby/object:Gem::Dependency
|
39
|
-
|
40
|
-
|
36
|
+
name: libxml-ruby
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
41
38
|
none: false
|
42
39
|
requirements:
|
43
|
-
- - "
|
40
|
+
- - ">="
|
44
41
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
42
|
+
hash: 3
|
46
43
|
segments:
|
47
|
-
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
name: libxml-ruby
|
52
|
-
version_requirements: *id002
|
44
|
+
- 0
|
45
|
+
version: "0"
|
46
|
+
type: :runtime
|
47
|
+
requirement: *id002
|
53
48
|
prerelease: false
|
54
49
|
- !ruby/object:Gem::Dependency
|
55
|
-
|
56
|
-
|
50
|
+
name: mocha
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
57
52
|
none: false
|
58
53
|
requirements:
|
59
54
|
- - ">="
|
@@ -62,12 +57,12 @@ dependencies:
|
|
62
57
|
segments:
|
63
58
|
- 0
|
64
59
|
version: "0"
|
65
|
-
|
66
|
-
|
60
|
+
type: :runtime
|
61
|
+
requirement: *id003
|
67
62
|
prerelease: false
|
68
63
|
- !ruby/object:Gem::Dependency
|
69
|
-
|
70
|
-
|
64
|
+
name: rmagick
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
71
66
|
none: false
|
72
67
|
requirements:
|
73
68
|
- - ">="
|
@@ -76,12 +71,12 @@ dependencies:
|
|
76
71
|
segments:
|
77
72
|
- 0
|
78
73
|
version: "0"
|
79
|
-
|
80
|
-
|
74
|
+
type: :runtime
|
75
|
+
requirement: *id004
|
81
76
|
prerelease: false
|
82
77
|
- !ruby/object:Gem::Dependency
|
83
|
-
|
84
|
-
|
78
|
+
name: shoulda
|
79
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
85
80
|
none: false
|
86
81
|
requirements:
|
87
82
|
- - ">="
|
@@ -90,44 +85,40 @@ dependencies:
|
|
90
85
|
segments:
|
91
86
|
- 0
|
92
87
|
version: "0"
|
93
|
-
|
94
|
-
|
88
|
+
type: :development
|
89
|
+
requirement: *id005
|
95
90
|
prerelease: false
|
96
91
|
- !ruby/object:Gem::Dependency
|
97
|
-
|
98
|
-
|
92
|
+
name: bundler
|
93
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
99
94
|
none: false
|
100
95
|
requirements:
|
101
|
-
- -
|
96
|
+
- - ">="
|
102
97
|
- !ruby/object:Gem::Version
|
103
|
-
hash:
|
98
|
+
hash: 3
|
104
99
|
segments:
|
105
|
-
- 1
|
106
|
-
- 0
|
107
100
|
- 0
|
108
|
-
version:
|
109
|
-
|
110
|
-
|
101
|
+
version: "0"
|
102
|
+
type: :development
|
103
|
+
requirement: *id006
|
111
104
|
prerelease: false
|
112
105
|
- !ruby/object:Gem::Dependency
|
113
|
-
|
114
|
-
|
106
|
+
name: jeweler
|
107
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
115
108
|
none: false
|
116
109
|
requirements:
|
117
|
-
- -
|
110
|
+
- - ">="
|
118
111
|
- !ruby/object:Gem::Version
|
119
|
-
hash:
|
112
|
+
hash: 3
|
120
113
|
segments:
|
121
|
-
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
name: jeweler
|
126
|
-
version_requirements: *id007
|
114
|
+
- 0
|
115
|
+
version: "0"
|
116
|
+
type: :development
|
117
|
+
requirement: *id007
|
127
118
|
prerelease: false
|
128
119
|
- !ruby/object:Gem::Dependency
|
129
|
-
|
130
|
-
|
120
|
+
name: rcov
|
121
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
131
122
|
none: false
|
132
123
|
requirements:
|
133
124
|
- - ">="
|
@@ -136,8 +127,8 @@ dependencies:
|
|
136
127
|
segments:
|
137
128
|
- 0
|
138
129
|
version: "0"
|
139
|
-
|
140
|
-
|
130
|
+
type: :development
|
131
|
+
requirement: *id008
|
141
132
|
prerelease: false
|
142
133
|
description: This handles complex document creation from XML for the FASI AMS system.
|
143
134
|
email: nathancolgate@gmail.com
|
@@ -195,9 +186,12 @@ files:
|
|
195
186
|
- lib/fn/util.rb
|
196
187
|
- lib/fn/validation.rng
|
197
188
|
- lib/fn_document.rb
|
189
|
+
- test/assets/logo.jpg
|
190
|
+
- test/assets/pdf_background.pdf
|
191
|
+
- test/assets/pdf_background_2.pdf
|
198
192
|
- test/helper.rb
|
193
|
+
- test/nathans_test.rb
|
199
194
|
- test/test_fn_document.rb
|
200
|
-
has_rdoc: true
|
201
195
|
homepage: http://github.com/nathancolgate/fn_document
|
202
196
|
licenses:
|
203
197
|
- MIT
|
@@ -227,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
221
|
requirements: []
|
228
222
|
|
229
223
|
rubyforge_project:
|
230
|
-
rubygems_version: 1.
|
224
|
+
rubygems_version: 1.8.24
|
231
225
|
signing_key:
|
232
226
|
specification_version: 3
|
233
227
|
summary: Gem for reading/writing/printing fn documents
|