fn_document 0.9.6 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|