clamsy 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/HISTORY.txt +10 -0
- data/README.rdoc +7 -63
- data/Rakefile +27 -2
- data/VERSION +1 -1
- data/clamsy.gemspec +77 -8
- data/examples/create_many.rb +15 -0
- data/examples/create_one.rb +15 -0
- data/examples/data/context.rb +41 -0
- data/examples/data/contexts.rb +2 -0
- data/examples/data/school_logo.jpg +0 -0
- data/examples/data/staff_signature.gif +0 -0
- data/examples/data/student_offer_letter.odt +0 -0
- data/lib/clamsy.rb +7 -2
- data/lib/clamsy.yml +32 -6
- data/lib/clamsy/base_printer.rb +10 -1
- data/lib/clamsy/configuration.rb +57 -10
- data/lib/clamsy/cups_pdf_printer.rb +3 -5
- data/lib/clamsy/file_system_support.rb +3 -3
- data/lib/clamsy/jod_converter_printer.rb +60 -0
- data/lib/clamsy/template_open_doc.rb +7 -1
- data/lib/jodconverter/CREDIT +1 -0
- data/lib/jodconverter/LICENSE.txt +504 -0
- data/lib/jodconverter/README.txt +58 -0
- data/lib/jodconverter/commons-cli-1.2.jar +0 -0
- data/lib/jodconverter/commons-io-1.4.jar +0 -0
- data/lib/jodconverter/jodconverter-2.2.2.jar +0 -0
- data/lib/jodconverter/jodconverter-cli-2.2.2.jar +0 -0
- data/lib/jodconverter/juh-3.0.1.jar +0 -0
- data/lib/jodconverter/jurt-3.0.1.jar +0 -0
- data/lib/jodconverter/ridl-3.0.1.jar +0 -0
- data/lib/jodconverter/slf4j-api-1.5.6.jar +0 -0
- data/lib/jodconverter/slf4j-jdk14-1.5.6.jar +0 -0
- data/lib/jodconverter/unoil-3.0.1.jar +0 -0
- data/lib/jodconverter/xstream-1.3.1.jar +0 -0
- data/spec/clamsy/configuration_spec.rb +323 -163
- data/spec/clamsy/cups_pdf_printer_spec.rb +1 -1
- data/spec/clamsy/invalid_printer_spec.rb +0 -4
- data/spec/clamsy/jod_converter_printer_spec.rb +58 -0
- data/spec/fake_ooffice_server.rb +18 -0
- data/spec/integration/cups_pdf_printer_spec.rb +4 -59
- data/spec/integration/has_integration_support_shared_spec.rb +85 -0
- data/spec/integration/jod_converter_printer_spec.rb +12 -0
- data/spec/pdfc/CCLib.jar +0 -0
- data/spec/pdfc/CREDIT +2 -0
- data/spec/pdfc/PDFC.bat +1 -0
- data/spec/pdfc/PDFC.jar +0 -0
- data/spec/pdfc/PDFC.sh +3 -0
- data/spec/pdfc/PDFParser.jar +0 -0
- data/spec/pdfc/config.xml +24 -0
- data/spec/pdfc/license/LICENSE.log4j +48 -0
- data/spec/pdfc/license/lgpl-3.0.txt +165 -0
- data/spec/pdfc/license/overview.txt +9 -0
- data/spec/pdfc/log4j-1.2.15.jar +0 -0
- data/spec/pdfc/readme.txt +89 -0
- data/spec/spec_helper.rb +28 -11
- metadata +87 -8
- data/spec/integration/has_stardand_integration_support_shared_spec.rb +0 -27
@@ -0,0 +1,9 @@
|
|
1
|
+
Here is an overview of the licenses in the various jar files provided with PDFC.
|
2
|
+
|
3
|
+
|
4
|
+
JAR file License Info
|
5
|
+
---------------------------------------------------------------------------------------------
|
6
|
+
log4j-1.2.15.jar See license/LICENSE.log4j
|
7
|
+
PDFCParser.jar LGPL license - see lgpl-3.0.txt
|
8
|
+
PDFC.jar Copyright 2009-2010, i-net software. All rights reserved.
|
9
|
+
CCLib.jar Copyright 2009-2010, i-net software. All rights reserved.
|
Binary file
|
@@ -0,0 +1,89 @@
|
|
1
|
+
i-net PDF Comparer v1.01
|
2
|
+
-------------------------
|
3
|
+
Copyright i-net software GmbH 2009-2010
|
4
|
+
All rights reserved
|
5
|
+
|
6
|
+
1. Introduction
|
7
|
+
---------------
|
8
|
+
The PDF Comparer is a tool specifically for comparing two PDF files (or folders containing PDF files)
|
9
|
+
for differences.
|
10
|
+
It is useful for comparing the PDF output of a Crystal Reports report with the PDF output of this same
|
11
|
+
report as exported by i-net Crystal-Clear, or for comparing the PDF output of two different versions
|
12
|
+
of i-net Crystal-Clear for any differences or behavioral changes. The following elements are compared
|
13
|
+
and any differences logged:
|
14
|
+
|
15
|
+
* Text differences (letters or words missing)
|
16
|
+
* Line/Arc/Box differences (lines or boxes missing or with different styles)
|
17
|
+
* Image differences (images missing)
|
18
|
+
* Margin differences (page margins different)
|
19
|
+
|
20
|
+
These differences each have a configurable tolerance value so that minor differences can be
|
21
|
+
ignored if necessary. (See point 3 - Configuration)
|
22
|
+
|
23
|
+
2. Parameters
|
24
|
+
-------------
|
25
|
+
Usage:
|
26
|
+
PDFC [-c <config file>] [-[i][o]] [<Folder1> <Folder2> | <File1> <File2>]
|
27
|
+
|
28
|
+
-c Specify a configuration file (config.xml) for PDFC. If none is specified, the default "config.xml" is taken
|
29
|
+
-i Creates diff images in <Folder1>/differences for any differences found (recommended for a graphical comparison)
|
30
|
+
-o Creates images for each page of each version (need only be used for debug purposes)
|
31
|
+
|
32
|
+
Note that if using two folders, the PDF files must have the same names in each folder.
|
33
|
+
|
34
|
+
Will result in an output on the console for any differences found between the PDFs being compared.
|
35
|
+
|
36
|
+
Example usage:
|
37
|
+
|
38
|
+
PDFC -i CRFolder CCFolder
|
39
|
+
|
40
|
+
This would compare all PDF files in the folder "CRFolder" with the PDF files of the same name in the folder "CCFolder".
|
41
|
+
|
42
|
+
3. Configuration
|
43
|
+
----------------
|
44
|
+
The following tolerance values can be set in the config.xml file:
|
45
|
+
|
46
|
+
CHART_DENSITY_THRESHOLD
|
47
|
+
(Decimal) density threshold: ((number of shapes)^3 / area size)
|
48
|
+
CHART_REMOVAL_MARGIN
|
49
|
+
(Decimal) percent of shape height to use as margin for removing PDF elements above and below detected charts
|
50
|
+
CREATE_DIFFIMAGES
|
51
|
+
True to create png files with the marked difference of the compared pages
|
52
|
+
CREATE_ORIGIMAGES
|
53
|
+
True to create a png file for each page that is compared
|
54
|
+
LOG_LEVEL
|
55
|
+
Level for Logging (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL). The default is set to WARN
|
56
|
+
MAX_ERRORS_PER_REPORT
|
57
|
+
maximum number of errors that can occur before the comparison is canceled for the current pdf file.
|
58
|
+
MAX_WORD_DIFFERENCES
|
59
|
+
maximum number of differences that can occur before the comparison is canceled
|
60
|
+
MODULES
|
61
|
+
comma separated list of modules to be executed for each page
|
62
|
+
NORMALIZERS
|
63
|
+
comma separated list of normalizers to be executed before and after each page
|
64
|
+
TOLERANCE_BOX_ROUND_EDGES
|
65
|
+
(Integer) maximum number of pixels that a curve control point may differ in total
|
66
|
+
TOLERANCE_IMAGE_DISTANCE
|
67
|
+
maximum number of pixels that the position of an image can differ
|
68
|
+
TOLERANCE_IMAGE_SIZE
|
69
|
+
maximum difference in percent, that the area spanned by an image may differ
|
70
|
+
TOLERANCE_LINE_POSITION
|
71
|
+
(Decimal) maximum number of pixels that the position of a line or curves can differ per axis
|
72
|
+
TOLERANCE_LINE_SIZE
|
73
|
+
(Integer) maximum number of pixels that the length of a line can differ in total
|
74
|
+
TOLERANCE_LINE_STYLE
|
75
|
+
(Boolean) if true, different stroke styles will be an error
|
76
|
+
TOLERANCE_LINE_THICKNESS
|
77
|
+
(Integer) maximum difference in stroke thickness of two lines or curves
|
78
|
+
TOLERANCE_PAGE_LEFTCORNER
|
79
|
+
maximum number of pixels that the left or top margin of a page can differ (is the upper left corner of all elements)
|
80
|
+
TOLERANCE_PAGE_RATIO
|
81
|
+
tolerance for the aspect ratio of the pdf page
|
82
|
+
TOLERANCE_PAGE_SIZE
|
83
|
+
maximum number of pixels that the width or height of a page can differ
|
84
|
+
TOLERANCE_UNDERLINE_LENGTH
|
85
|
+
(Decimal) the maximum difference in percent, which the length of underlines may differ
|
86
|
+
|
87
|
+
4. Support
|
88
|
+
|
89
|
+
If you have any questions or problems, please do not hesitate to contact tools@inetsoftware.de for technical support.
|
data/spec/spec_helper.rb
CHANGED
@@ -5,19 +5,36 @@ require 'tempfile'
|
|
5
5
|
require 'digest/md5'
|
6
6
|
require 'yaml'
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
unless Object.const_defined?(:CLAMSY_LIB_DIR)
|
9
|
+
CLAMSY_LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','lib')
|
10
|
+
CLAMSY_SPEC_DIR = File.expand_path(File.dirname(__FILE__))
|
11
|
+
CLAMSY_BUNDLED_CONFIG = File.join(CLAMSY_LIB_DIR, 'clamsy.yml')
|
12
|
+
CLAMSY_PDFC_SCRIPT = File.join(CLAMSY_SPEC_DIR, 'pdfc', 'PDFC.sh')
|
13
|
+
end
|
14
|
+
|
15
|
+
$LOAD_PATH.unshift(CLAMSY_SPEC_DIR)
|
16
|
+
$LOAD_PATH.unshift(CLAMSY_LIB_DIR)
|
10
17
|
require 'clamsy'
|
11
18
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
def Module.backup_methods(meths)
|
20
|
+
meths.each {|meth| alias_method :"_orig_#{meth}", :"#{meth}" }
|
21
|
+
end
|
22
|
+
|
23
|
+
def Module.recover_methods(meths)
|
24
|
+
meths.each {|meth| alias_method :"#{meth}", :"_orig_#{meth}" }
|
25
|
+
end
|
26
|
+
|
27
|
+
def Clamsy.unconfigure
|
28
|
+
@config = nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def trash_tmp_files
|
32
|
+
($trashable_tmp_files || []).select {|f| f.path }.map(&:unlink)
|
33
|
+
$trashable_tmp_files = nil
|
34
|
+
end
|
35
|
+
|
36
|
+
def tmp_file(file_name)
|
37
|
+
(($trashable_tmp_files ||= []) << Tempfile.new(file_name))[-1]
|
21
38
|
end
|
22
39
|
|
23
40
|
Bacon.summary_on_exit
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 5
|
9
|
+
version: 0.0.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- NgTzeYang
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-05-
|
17
|
+
date: 2010-05-19 00:00:00 +08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -74,7 +74,21 @@ dependencies:
|
|
74
74
|
version: 1.1.0
|
75
75
|
type: :development
|
76
76
|
version_requirements: *id004
|
77
|
-
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: eventmachine
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
- 12
|
87
|
+
- 10
|
88
|
+
version: 0.12.10
|
89
|
+
type: :development
|
90
|
+
version_requirements: *id005
|
91
|
+
description: Ruby wrapper for generating a single pdf for multiple contexts from an odt template.
|
78
92
|
email: ngty77@gmail.com
|
79
93
|
executables: []
|
80
94
|
|
@@ -93,14 +107,37 @@ files:
|
|
93
107
|
- VERSION
|
94
108
|
- clamsy.gemspec
|
95
109
|
- clamsy.png
|
110
|
+
- examples/create_many.rb
|
111
|
+
- examples/create_one.rb
|
112
|
+
- examples/data/context.rb
|
113
|
+
- examples/data/contexts.rb
|
114
|
+
- examples/data/school_logo.jpg
|
115
|
+
- examples/data/staff_signature.gif
|
116
|
+
- examples/data/student_offer_letter.odt
|
117
|
+
- examples/tmp/dummy
|
96
118
|
- lib/clamsy.rb
|
97
119
|
- lib/clamsy.yml
|
98
120
|
- lib/clamsy/base_printer.rb
|
99
121
|
- lib/clamsy/configuration.rb
|
100
122
|
- lib/clamsy/cups_pdf_printer.rb
|
101
123
|
- lib/clamsy/file_system_support.rb
|
124
|
+
- lib/clamsy/jod_converter_printer.rb
|
102
125
|
- lib/clamsy/template_open_doc.rb
|
103
126
|
- lib/clamsy/tenjin.rb
|
127
|
+
- lib/jodconverter/CREDIT
|
128
|
+
- lib/jodconverter/LICENSE.txt
|
129
|
+
- lib/jodconverter/README.txt
|
130
|
+
- lib/jodconverter/commons-cli-1.2.jar
|
131
|
+
- lib/jodconverter/commons-io-1.4.jar
|
132
|
+
- lib/jodconverter/jodconverter-2.2.2.jar
|
133
|
+
- lib/jodconverter/jodconverter-cli-2.2.2.jar
|
134
|
+
- lib/jodconverter/juh-3.0.1.jar
|
135
|
+
- lib/jodconverter/jurt-3.0.1.jar
|
136
|
+
- lib/jodconverter/ridl-3.0.1.jar
|
137
|
+
- lib/jodconverter/slf4j-api-1.5.6.jar
|
138
|
+
- lib/jodconverter/slf4j-jdk14-1.5.6.jar
|
139
|
+
- lib/jodconverter/unoil-3.0.1.jar
|
140
|
+
- lib/jodconverter/xstream-1.3.1.jar
|
104
141
|
- spec/clamsy/base_printer_spec.rb
|
105
142
|
- spec/clamsy/configuration_spec.rb
|
106
143
|
- spec/clamsy/cups_pdf_printer_spec.rb
|
@@ -120,7 +157,9 @@ files:
|
|
120
157
|
- spec/clamsy/data/plain_text_before.odt
|
121
158
|
- spec/clamsy/file_system_support_spec.rb
|
122
159
|
- spec/clamsy/invalid_printer_spec.rb
|
160
|
+
- spec/clamsy/jod_converter_printer_spec.rb
|
123
161
|
- spec/clamsy/template_open_doc_spec.rb
|
162
|
+
- spec/fake_ooffice_server.rb
|
124
163
|
- spec/integration/cups_pdf_printer_spec.rb
|
125
164
|
- spec/integration/data/embedded_ruby_example.odt
|
126
165
|
- spec/integration/data/embedded_ruby_example.pdf
|
@@ -134,13 +173,46 @@ files:
|
|
134
173
|
- spec/integration/data/plain_text_example.odt
|
135
174
|
- spec/integration/data/plain_text_example.pdf
|
136
175
|
- spec/integration/data/sunny_clamsy.png
|
137
|
-
- spec/integration/
|
176
|
+
- spec/integration/has_integration_support_shared_spec.rb
|
177
|
+
- spec/integration/jod_converter_printer_spec.rb
|
178
|
+
- spec/pdfc/CCLib.jar
|
179
|
+
- spec/pdfc/CREDIT
|
180
|
+
- spec/pdfc/PDFC.bat
|
181
|
+
- spec/pdfc/PDFC.jar
|
182
|
+
- spec/pdfc/PDFC.sh
|
183
|
+
- spec/pdfc/PDFParser.jar
|
184
|
+
- spec/pdfc/config.xml
|
185
|
+
- spec/pdfc/license/LICENSE.log4j
|
186
|
+
- spec/pdfc/license/lgpl-3.0.txt
|
187
|
+
- spec/pdfc/license/overview.txt
|
188
|
+
- spec/pdfc/log4j-1.2.15.jar
|
189
|
+
- spec/pdfc/readme.txt
|
138
190
|
- spec/spec_helper.rb
|
139
191
|
has_rdoc: true
|
140
192
|
homepage: http://github.com/ngty/clamsy
|
141
193
|
licenses: []
|
142
194
|
|
143
|
-
post_install_message:
|
195
|
+
post_install_message: |+
|
196
|
+
|
197
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
198
|
+
|
199
|
+
:: CLAMSY ::
|
200
|
+
|
201
|
+
Thank you for installing clamsy-0.0.5.
|
202
|
+
|
203
|
+
Starting from this release, the default printer has been changed from 'cups_pdf' to
|
204
|
+
'jod_convertor'. If java is in your PATH, and openoffice is installed the standard way,
|
205
|
+
most probably, no additional action is required after this gem installation.
|
206
|
+
|
207
|
+
We are in the process of constructing the clamsy wiki @ http://wiki.github.com/ngty/clamsy, pls
|
208
|
+
take a look there for solution(s) to your problem(s).
|
209
|
+
|
210
|
+
Alternatively, you may wish to post ur problem @ http://github.com/ngty/clamsy/issues.
|
211
|
+
|
212
|
+
Have a nice day !!
|
213
|
+
|
214
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
215
|
+
|
144
216
|
rdoc_options:
|
145
217
|
- --charset=UTF-8
|
146
218
|
require_paths:
|
@@ -165,14 +237,21 @@ rubyforge_project:
|
|
165
237
|
rubygems_version: 1.3.6
|
166
238
|
signing_key:
|
167
239
|
specification_version: 3
|
168
|
-
summary:
|
240
|
+
summary: Clamsy makes PDF generation simple
|
169
241
|
test_files:
|
242
|
+
- spec/fake_ooffice_server.rb
|
243
|
+
- spec/integration/jod_converter_printer_spec.rb
|
170
244
|
- spec/integration/cups_pdf_printer_spec.rb
|
171
|
-
- spec/integration/
|
245
|
+
- spec/integration/has_integration_support_shared_spec.rb
|
172
246
|
- spec/clamsy/file_system_support_spec.rb
|
173
247
|
- spec/clamsy/base_printer_spec.rb
|
248
|
+
- spec/clamsy/jod_converter_printer_spec.rb
|
174
249
|
- spec/clamsy/cups_pdf_printer_spec.rb
|
175
250
|
- spec/clamsy/invalid_printer_spec.rb
|
176
251
|
- spec/clamsy/configuration_spec.rb
|
177
252
|
- spec/clamsy/template_open_doc_spec.rb
|
178
253
|
- spec/spec_helper.rb
|
254
|
+
- examples/create_many.rb
|
255
|
+
- examples/data/contexts.rb
|
256
|
+
- examples/data/context.rb
|
257
|
+
- examples/create_one.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
shared 'has standard integration support' do
|
2
|
-
class << self
|
3
|
-
|
4
|
-
INSIGNIFICANT_AND_UNMATCHABLE_PATTERNS = [
|
5
|
-
/^q\[\-?\d+\.?\d*( \-?\d+\.?\d*){5}\]concat\n$/,
|
6
|
-
/^\d+\.?\d*( \d+\.?\d*){3} re\n$/
|
7
|
-
]
|
8
|
-
|
9
|
-
def data_file(file)
|
10
|
-
File.join(File.dirname(__FILE__), 'data', file)
|
11
|
-
end
|
12
|
-
|
13
|
-
def template_doc(name)
|
14
|
-
data_file("#{name}_example.odt")
|
15
|
-
end
|
16
|
-
|
17
|
-
def expected_pdf(name)
|
18
|
-
data_file("#{name}_example.pdf")
|
19
|
-
end
|
20
|
-
|
21
|
-
def comparable_content(file)
|
22
|
-
RGhost::Convert.new(file).to(:ps).read.grep(/^[^%][^%]?/).
|
23
|
-
reject {|line| INSIGNIFICANT_AND_UNMATCHABLE_PATTERNS.any? {|regexp| regexp =~ line } }
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|