libis-format 0.9.5-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.gitignore +18 -0
- data/.travis.yml +41 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/droid +15 -0
- data/bin/fido +12 -0
- data/bin/pdf_copy +13 -0
- data/data/ISOcoated_v2_eci.icc +0 -0
- data/data/PDFA_def.ps +40 -0
- data/data/ead.xsd +2728 -0
- data/data/eciRGB_v2.icc +0 -0
- data/data/lias_formats.xml +106 -0
- data/data/types.yml +217 -0
- data/lib/libis/format/config.rb +35 -0
- data/lib/libis/format/converter/base.rb +101 -0
- data/lib/libis/format/converter/chain.rb +167 -0
- data/lib/libis/format/converter/image_converter.rb +214 -0
- data/lib/libis/format/converter/office_converter.rb +50 -0
- data/lib/libis/format/converter/pdf_converter.rb +139 -0
- data/lib/libis/format/converter/repository.rb +98 -0
- data/lib/libis/format/converter.rb +11 -0
- data/lib/libis/format/droid.rb +45 -0
- data/lib/libis/format/fido.rb +102 -0
- data/lib/libis/format/identifier.rb +189 -0
- data/lib/libis/format/office_to_pdf.rb +52 -0
- data/lib/libis/format/pdf_copy.rb +40 -0
- data/lib/libis/format/pdf_merge.rb +41 -0
- data/lib/libis/format/pdf_split.rb +39 -0
- data/lib/libis/format/pdf_to_pdfa.rb +76 -0
- data/lib/libis/format/pdfa_validator.rb +61 -0
- data/lib/libis/format/type_database.rb +170 -0
- data/lib/libis/format/version.rb +5 -0
- data/lib/libis/format.rb +23 -0
- data/lib/libis-format.rb +1 -0
- data/libis-format.gemspec +34 -0
- data/spec/converter_spec.rb +212 -0
- data/spec/data/Cevennes2.bmp +0 -0
- data/spec/data/Cevennes2.jp2 +0 -0
- data/spec/data/Cevennes2.ppm +22492 -0
- data/spec/data/test-ead.xml +392 -0
- data/spec/data/test-jpg.tif +0 -0
- data/spec/data/test-lzw.tif +0 -0
- data/spec/data/test-options.jpg +0 -0
- data/spec/data/test.bmp +0 -0
- data/spec/data/test.doc +0 -0
- data/spec/data/test.docx +0 -0
- data/spec/data/test.gif +0 -0
- data/spec/data/test.jpg +0 -0
- data/spec/data/test.ods +0 -0
- data/spec/data/test.odt +0 -0
- data/spec/data/test.pdf +0 -0
- data/spec/data/test.pdf.tif +0 -0
- data/spec/data/test.png +0 -0
- data/spec/data/test.ps +8631 -0
- data/spec/data/test.psd +0 -0
- data/spec/data/test.rtf +1455 -0
- data/spec/data/test.tif +0 -0
- data/spec/data/test.txt +12 -0
- data/spec/data/test.xcf +0 -0
- data/spec/data/test.xls +0 -0
- data/spec/data/test.xlsx +0 -0
- data/spec/data/test.xml +4 -0
- data/spec/data/test_pdfa.pdf +0 -0
- data/spec/identifier_spec.rb +60 -0
- data/spec/spec_helper.rb +9 -0
- data/spec/test_types.yml +12 -0
- data/spec/type_database_spec.rb +140 -0
- data/tools/PdfTool.jar +0 -0
- data/tools/bcpkix-jdk15on-1.49.jar +0 -0
- data/tools/bcprov-jdk15on-1.49.jar +0 -0
- data/tools/droid/DROID_SignatureFile_V82.xml +32681 -0
- data/tools/droid/container-signature-20150307.xml +2235 -0
- data/tools/droid/droid-command-line-6.1.5.jar +0 -0
- data/tools/droid/droid.bat +154 -0
- data/tools/droid/droid.sh +138 -0
- data/tools/droid/lib/XmlSchema-1.4.7.jar +0 -0
- data/tools/droid/lib/activation-1.1.jar +0 -0
- data/tools/droid/lib/antlr-2.7.7.jar +0 -0
- data/tools/droid/lib/antlr-3.2.jar +0 -0
- data/tools/droid/lib/antlr-runtime-3.2.jar +0 -0
- data/tools/droid/lib/aopalliance-1.0.jar +0 -0
- data/tools/droid/lib/asm-2.2.3.jar +0 -0
- data/tools/droid/lib/aspectjrt-1.7.2.jar +0 -0
- data/tools/droid/lib/aspectjweaver-1.7.2.jar +0 -0
- data/tools/droid/lib/bcmail-jdk14-138.jar +0 -0
- data/tools/droid/lib/bcprov-jdk14-138.jar +0 -0
- data/tools/droid/lib/beansbinding-1.2.1.jar +0 -0
- data/tools/droid/lib/byteseek-1.1.1.jar +0 -0
- data/tools/droid/lib/cglib-nodep-2.2.2.jar +0 -0
- data/tools/droid/lib/classmate-1.0.0.jar +0 -0
- data/tools/droid/lib/commons-cli-1.2.jar +0 -0
- data/tools/droid/lib/commons-codec-1.4.jar +0 -0
- data/tools/droid/lib/commons-collections-3.2.1.jar +0 -0
- data/tools/droid/lib/commons-compress-1.4.1.jar +0 -0
- data/tools/droid/lib/commons-configuration-1.8.jar +0 -0
- data/tools/droid/lib/commons-dbcp-1.4.jar +0 -0
- data/tools/droid/lib/commons-httpclient-3.1.jar +0 -0
- data/tools/droid/lib/commons-io-2.4.jar +0 -0
- data/tools/droid/lib/commons-lang-2.6.jar +0 -0
- data/tools/droid/lib/commons-logging-1.1.1.jar +0 -0
- data/tools/droid/lib/commons-pool-1.5.4.jar +0 -0
- data/tools/droid/lib/cxf-api-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-common-schemas-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-common-utilities-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-http-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-soap-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-xml-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-core-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-databinding-jaxb-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-frontend-jaxws-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-frontend-simple-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-transports-http-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-ws-addr-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-tools-common-2.2.12.jar +0 -0
- data/tools/droid/lib/de.huxhorn.lilith.3rdparty.flyingsaucer.core-renderer-8RC1.jar +0 -0
- data/tools/droid/lib/derby-10.10.2.0.jar +0 -0
- data/tools/droid/lib/dom4j-1.6.1.jar +0 -0
- data/tools/droid/lib/droid-container-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-core-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-core-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-export-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-export-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-help-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-report-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-report-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-results-6.1.5.jar +0 -0
- data/tools/droid/lib/ejb3-persistence-1.0.2.GA.jar +0 -0
- data/tools/droid/lib/geronimo-activation_1.1_spec-1.0.2.jar +0 -0
- data/tools/droid/lib/geronimo-annotation_1.0_spec-1.1.1.jar +0 -0
- data/tools/droid/lib/geronimo-javamail_1.4_spec-1.6.jar +0 -0
- data/tools/droid/lib/geronimo-jaxws_2.1_spec-1.0.jar +0 -0
- data/tools/droid/lib/geronimo-stax-api_1.0_spec-1.0.1.jar +0 -0
- data/tools/droid/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar +0 -0
- data/tools/droid/lib/hibernate-commons-annotations-4.0.4.Final.jar +0 -0
- data/tools/droid/lib/hibernate-core-4.3.5.Final.jar +0 -0
- data/tools/droid/lib/hibernate-entitymanager-4.3.5.Final.jar +0 -0
- data/tools/droid/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar +0 -0
- data/tools/droid/lib/hibernate-validator-5.1.0.Final.jar +0 -0
- data/tools/droid/lib/itext-2.0.8.jar +0 -0
- data/tools/droid/lib/jandex-1.1.0.Final.jar +0 -0
- data/tools/droid/lib/javahelp-2.0.05.jar +0 -0
- data/tools/droid/lib/javassist-3.18.1-GA.jar +0 -0
- data/tools/droid/lib/jaxb-api-2.1.jar +0 -0
- data/tools/droid/lib/jaxb-impl-2.1.13.jar +0 -0
- data/tools/droid/lib/jboss-logging-3.1.3.GA.jar +0 -0
- data/tools/droid/lib/jboss-logging-annotations-1.2.0.Beta1.jar +0 -0
- data/tools/droid/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar +0 -0
- data/tools/droid/lib/joda-time-1.6.2.jar +0 -0
- data/tools/droid/lib/jra-1.0-alpha-4.jar +0 -0
- data/tools/droid/lib/jta-1.1.jar +0 -0
- data/tools/droid/lib/log4j-1.2.13.jar +0 -0
- data/tools/droid/lib/neethi-2.0.4.jar +0 -0
- data/tools/droid/lib/opencsv-2.3.jar +0 -0
- data/tools/droid/lib/org-netbeans-swing-outline-7.2.jar +0 -0
- data/tools/droid/lib/org-openide-util-7.2.jar +0 -0
- data/tools/droid/lib/org-openide-util-lookup-7.2.jar +0 -0
- data/tools/droid/lib/poi-3.7.jar +0 -0
- data/tools/droid/lib/saaj-api-1.3.jar +0 -0
- data/tools/droid/lib/saaj-impl-1.3.2.jar +0 -0
- data/tools/droid/lib/slf4j-api-1.4.2.jar +0 -0
- data/tools/droid/lib/slf4j-log4j12-1.4.2.jar +0 -0
- data/tools/droid/lib/spring-aop-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-beans-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-context-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-core-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-expression-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-jdbc-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-orm-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-tx-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-web-2.5.6.jar +0 -0
- data/tools/droid/lib/stax-api-1.0-2.jar +0 -0
- data/tools/droid/lib/stringtemplate-3.2.jar +0 -0
- data/tools/droid/lib/truezip-6.8.4.jar +0 -0
- data/tools/droid/lib/validation-api-1.1.0.Final.jar +0 -0
- data/tools/droid/lib/wsdl4j-1.6.2.jar +0 -0
- data/tools/droid/lib/wstx-asl-3.2.9.jar +0 -0
- data/tools/droid/lib/xercesImpl-2.9.1.jar +0 -0
- data/tools/droid/lib/xml-apis-1.3.04.jar +0 -0
- data/tools/droid/lib/xml-resolver-1.2.jar +0 -0
- data/tools/droid/lib/xz-1.0.jar +0 -0
- data/tools/fido/__init__.py +0 -0
- data/tools/fido/argparselocal.py +2355 -0
- data/tools/fido/conf/DROID_SignatureFile-v81.xml +2 -0
- data/tools/fido/conf/container-signature-20150307.xml +2238 -0
- data/tools/fido/conf/dc.xsd +119 -0
- data/tools/fido/conf/dcmitype.xsd +53 -0
- data/tools/fido/conf/dcterms.xsd +383 -0
- data/tools/fido/conf/fido-formats.xsd +173 -0
- data/tools/fido/conf/format_extension_template.xml +105 -0
- data/tools/fido/conf/format_extensions.xml +498 -0
- data/tools/fido/conf/formats-v81.xml +38355 -0
- data/tools/fido/conf/pronom-xml-v81.zip +0 -0
- data/tools/fido/conf/versions.xml +8 -0
- data/tools/fido/fido.bat +4 -0
- data/tools/fido/fido.py +854 -0
- data/tools/fido/fido.sh +5 -0
- data/tools/fido/prepare.py +616 -0
- data/tools/fido/pronomutils.py +115 -0
- data/tools/fido/toxml.py +52 -0
- data/tools/fido/update_signatures.py +171 -0
- data/tools/pdfbox/pdfbox-app-1.8.10.jar +0 -0
- data/tools/pdfbox/preflight-app-1.8.10.jar +0 -0
- metadata +396 -0
data/lib/libis-format.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'libis/format'
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
|
6
|
+
require 'libis/format/version'
|
7
|
+
|
8
|
+
Gem::Specification.new do |spec|
|
9
|
+
spec.name = 'libis-format'
|
10
|
+
spec.version = Libis::Format::VERSION
|
11
|
+
spec.authors = ['Kris Dekeyser']
|
12
|
+
spec.email = ['kris.dekeyser@libis.be']
|
13
|
+
spec.summary = %q{LIBIS File format format services.}
|
14
|
+
spec.description = %q{Collection of tools and classes that help to identify formats of binary files and create derivative copies (e.g. PDF from Word).}
|
15
|
+
spec.homepage = ''
|
16
|
+
spec.license = 'MIT'
|
17
|
+
|
18
|
+
spec.platform = Gem::Platform::JAVA if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\x0")
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/[^/]+$}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ['lib']
|
24
|
+
|
25
|
+
spec.add_development_dependency 'bundler', '~> 1.6'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.3'
|
27
|
+
spec.add_development_dependency 'rspec', '~> 3.1'
|
28
|
+
spec.add_development_dependency 'simplecov', '~> 0.9'
|
29
|
+
|
30
|
+
spec.add_runtime_dependency 'libis-tools', '~> 0.9'
|
31
|
+
spec.add_runtime_dependency 'os', '= 0.9.6'
|
32
|
+
spec.add_runtime_dependency 'mini_magick', '~> 4.3'
|
33
|
+
spec.add_runtime_dependency 'deep_dive', '~> 0.3'
|
34
|
+
end
|
@@ -0,0 +1,212 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
require 'libis/format/converter/image_converter'
|
5
|
+
require 'libis/format/converter/pdf_converter'
|
6
|
+
require 'libis/format/converter/office_converter'
|
7
|
+
|
8
|
+
RSpec::Matchers.define(:be_same_file_as) do |exected_file_path|
|
9
|
+
match do |actual_file_path|
|
10
|
+
expect(md5_hash(actual_file_path)).to eq md5_hash(exected_file_path)
|
11
|
+
end
|
12
|
+
|
13
|
+
def md5_hash(file_path)
|
14
|
+
Digest::MD5.hexdigest(File.read(file_path))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'Converters' do
|
19
|
+
|
20
|
+
let(:repository) { Libis::Format::Converter::Repository }
|
21
|
+
let(:file_dir) { File.dirname(__FILE__)}
|
22
|
+
|
23
|
+
before(:all) {
|
24
|
+
Libis::Tools::Config.logger.level = Logger::WARN
|
25
|
+
}
|
26
|
+
|
27
|
+
context 'Repository' do
|
28
|
+
|
29
|
+
it 'loads all converters' do
|
30
|
+
expect(repository.get_converters.size).to eq 3
|
31
|
+
# noinspection RubyResolve
|
32
|
+
expect(repository.get_converters.map(&:to_s)).to include 'Libis::Format::Converter::ImageConverter'
|
33
|
+
# noinspection RubyResolve
|
34
|
+
expect(repository.get_converters.map(&:to_s)).to include 'Libis::Format::Converter::OfficeConverter'
|
35
|
+
# noinspection RubyResolve
|
36
|
+
expect(repository.get_converters.map(&:to_s)).to include 'Libis::Format::Converter::PdfConverter'
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'creates simple converter chain' do
|
40
|
+
chain = repository.get_converter_chain(:TIFF, :PDF)
|
41
|
+
expect(chain).to_not be nil
|
42
|
+
expect(chain.to_array.size).to eq 1
|
43
|
+
expect(chain.to_array).to match [{converter: Libis::Format::Converter::ImageConverter, input: :TIFF, output: :PDF}]
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'creates complex chain' do
|
47
|
+
chain = repository.get_converter_chain(:TIFF, :PDFA)
|
48
|
+
expect(chain).to_not be nil
|
49
|
+
expect(chain.to_array.size).to eq 2
|
50
|
+
expect(chain.to_array).to match [
|
51
|
+
{converter: Libis::Format::Converter::ImageConverter, input: :TIFF, output: :PDF},
|
52
|
+
{converter: Libis::Format::Converter::PdfConverter, input: :PDF, output: :PDFA},
|
53
|
+
]
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'creates converter chain with options' do
|
57
|
+
chain = repository.get_converter_chain(:TIFF, :PDF, {watermark: {}})
|
58
|
+
expect(chain).to_not be nil
|
59
|
+
expect(chain.to_array.size).to eq 1
|
60
|
+
expect(chain.to_array).to match [
|
61
|
+
{converter: Libis::Format::Converter::ImageConverter, input: :TIFF, output: :PDF, operations: [{method: :watermark, argument: {}}]}
|
62
|
+
]
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'perfers operations to the end of the chain' do
|
66
|
+
chain = repository.get_converter_chain(:TIFF, :PDFA, {watermark: {}})
|
67
|
+
expect(chain).to_not be nil
|
68
|
+
expect(chain.to_array.size).to eq 2
|
69
|
+
expect(chain.to_array).to match [
|
70
|
+
{converter: Libis::Format::Converter::ImageConverter, input: :TIFF, output: :PDF},
|
71
|
+
{converter: Libis::Format::Converter::PdfConverter, input: :PDF, output: :PDFA, operations: [{method: :watermark, argument: {}}]}
|
72
|
+
]
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'Image Converter' do
|
78
|
+
|
79
|
+
let(:converter) { Libis::Format::Converter::ImageConverter.new }
|
80
|
+
|
81
|
+
it 'converts TIFF to JPEG' do
|
82
|
+
src_file = File.join(file_dir, 'data', 'test.tif')
|
83
|
+
ref_file = File.join(file_dir, 'data', 'test.jpg')
|
84
|
+
tgt_file = File.join('', 'tmp', 'test.jpg')
|
85
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
86
|
+
result = converter.convert(src_file, tgt_file, :JPG)
|
87
|
+
expect(result).to eq tgt_file
|
88
|
+
expect(tgt_file).to be_same_file_as ref_file
|
89
|
+
FileUtils.rm tgt_file, force: true
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'converts TIFF to PNG' do
|
93
|
+
src_file = File.join(file_dir, 'data', 'test.tif')
|
94
|
+
ref_file = File.join(file_dir, 'data', 'test.png')
|
95
|
+
tgt_file = File.join('', 'tmp', 'test.png')
|
96
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
97
|
+
result = converter.convert(src_file, tgt_file, :PNG)
|
98
|
+
expect(result).to eq tgt_file
|
99
|
+
expect(tgt_file).to be_same_file_as ref_file
|
100
|
+
FileUtils.rm tgt_file, force: true
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'converts PDF to TIFF' do
|
104
|
+
src_file = File.join(file_dir, 'data', 'test.pdf')
|
105
|
+
ref_file = File.join(file_dir, 'data', 'test.pdf.tif')
|
106
|
+
tgt_file = File.join('', 'tmp', 'test.pdf.tif')
|
107
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
108
|
+
result = converter.convert(src_file, tgt_file, :TIFF)
|
109
|
+
expect(result).to eq tgt_file
|
110
|
+
expect(tgt_file).to be_same_file_as ref_file
|
111
|
+
FileUtils.rm tgt_file, force: true
|
112
|
+
end
|
113
|
+
|
114
|
+
it 'converts TIFF to JPEG with many options' do
|
115
|
+
src_file = File.join(file_dir, 'data', 'test.tif')
|
116
|
+
ref_file = File.join(file_dir, 'data', 'test-options.jpg')
|
117
|
+
tgt_file = File.join('', 'tmp', 'test-options.jpg')
|
118
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
119
|
+
converter.watermark(text: 'RSPEC', size: 5, opacity: 0.1, rotation: 15, gap: 0.5, composition: 'modulate')
|
120
|
+
result = converter.convert(src_file, tgt_file, :JPG, options: {scale: '150%', quality: '70%'})
|
121
|
+
expect(result).to eq tgt_file
|
122
|
+
expect(tgt_file).to be_same_file_as ref_file
|
123
|
+
FileUtils.rm tgt_file, force: true
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
|
128
|
+
context 'Pdf Converter' do
|
129
|
+
|
130
|
+
let(:converter) { Libis::Format::Converter::PdfConverter.new }
|
131
|
+
|
132
|
+
it 'converts PDF to PDF/A' do
|
133
|
+
src_file = File.join(file_dir, 'data', 'test.pdf')
|
134
|
+
tgt_file = File.join('', 'tmp', 'test_pdfa.pdf')
|
135
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
136
|
+
result = converter.convert(src_file, tgt_file, :PDFA)
|
137
|
+
expect(result).to eq tgt_file
|
138
|
+
FileUtils.rm tgt_file, force: true
|
139
|
+
end
|
140
|
+
|
141
|
+
end
|
142
|
+
|
143
|
+
context 'Office Converter' do
|
144
|
+
|
145
|
+
let(:converter) { Libis::Format::Converter::OfficeConverter.new }
|
146
|
+
|
147
|
+
it 'converts Word document to PDF' do
|
148
|
+
src_file = File.join(file_dir, 'data', 'test.doc')
|
149
|
+
tgt_file = File.join(file_dir, 'work', 'test_doc.pdf')
|
150
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
151
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
152
|
+
expect(result).to eq tgt_file
|
153
|
+
FileUtils.rm tgt_file, force: true
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'converts Word 2010 document to PDF' do
|
157
|
+
src_file = File.join(file_dir, 'data', 'test.docx')
|
158
|
+
tgt_file = File.join(file_dir, 'work', 'test_docx.pdf')
|
159
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
160
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
161
|
+
expect(result).to eq tgt_file
|
162
|
+
FileUtils.rm tgt_file, force: true
|
163
|
+
end
|
164
|
+
|
165
|
+
it 'converts OpenOffice document to PDF' do
|
166
|
+
src_file = File.join(file_dir, 'data', 'test.odt')
|
167
|
+
tgt_file = File.join(file_dir, 'work', 'test_odt.pdf')
|
168
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
169
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
170
|
+
expect(result).to eq tgt_file
|
171
|
+
FileUtils.rm tgt_file, force: true
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'converts RTF document to PDF' do
|
175
|
+
src_file = File.join(file_dir, 'data', 'test.rtf')
|
176
|
+
tgt_file = File.join(file_dir, 'work', 'test_rtf.pdf')
|
177
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
178
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
179
|
+
expect(result).to eq tgt_file
|
180
|
+
FileUtils.rm tgt_file, force: true
|
181
|
+
end
|
182
|
+
|
183
|
+
it 'converts TXT document to PDF' do
|
184
|
+
src_file = File.join(file_dir, 'data', 'test.txt')
|
185
|
+
tgt_file = File.join(file_dir, 'work', 'test_txt.pdf')
|
186
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
187
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
188
|
+
expect(result).to eq tgt_file
|
189
|
+
FileUtils.rm tgt_file, force: true
|
190
|
+
end
|
191
|
+
|
192
|
+
it 'converts Excel to PDF' do
|
193
|
+
src_file = File.join(file_dir, 'data', 'test.xls')
|
194
|
+
tgt_file = File.join(file_dir, 'work', 'test_xls.pdf')
|
195
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
196
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
197
|
+
expect(result).to eq tgt_file
|
198
|
+
FileUtils.rm tgt_file, force: true
|
199
|
+
end
|
200
|
+
|
201
|
+
it 'converts Excel 2011 to PDF' do
|
202
|
+
src_file = File.join(file_dir, 'data', 'test.xlsx')
|
203
|
+
tgt_file = File.join(file_dir, 'work', 'test_xlsx.pdf')
|
204
|
+
FileUtils.mkdir_p File.dirname(tgt_file)
|
205
|
+
result = converter.convert(src_file, tgt_file, :PDF)
|
206
|
+
expect(result).to eq tgt_file
|
207
|
+
FileUtils.rm tgt_file, force: true
|
208
|
+
end
|
209
|
+
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
Binary file
|
Binary file
|