Module: Asposewordsjavaforruby

Defined in:
lib/asposewordsjavaforruby.rb,
lib/asposewordsjavaforruby/nodes.rb,
lib/asposewordsjavaforruby/styles.rb,
lib/asposewordsjavaforruby/doc2pdf.rb,
lib/asposewordsjavaforruby/loadtxt.rb,
lib/asposewordsjavaforruby/version.rb,
lib/asposewordsjavaforruby/appenddoc.rb,
lib/asposewordsjavaforruby/bookmarks.rb,
lib/asposewordsjavaforruby/doctohtml.rb,
lib/asposewordsjavaforruby/helloworld.rb,
lib/asposewordsjavaforruby/mergefield.rb,
lib/asposewordsjavaforruby/checkformat.rb,
lib/asposewordsjavaforruby/removefield.rb,
lib/asposewordsjavaforruby/addwatermark.rb,
lib/asposewordsjavaforruby/applylicense.rb,
lib/asposewordsjavaforruby/removebreaks.rb,
lib/asposewordsjavaforruby/updatefields.rb,
lib/asposewordsjavaforruby/autofittables.rb,
lib/asposewordsjavaforruby/appenddocument.rb,
lib/asposewordsjavaforruby/compressimages.rb,
lib/asposewordsjavaforruby/extractcontent.rb,
lib/asposewordsjavaforruby/findandreplace.rb,
lib/asposewordsjavaforruby/processcomments.rb,
lib/asposewordsjavaforruby/simplemailmerge.rb,
lib/asposewordsjavaforruby/loadandsavetodisk.rb,
lib/asposewordsjavaforruby/insertnestedfields.rb,
lib/asposewordsjavaforruby/loadandsavetostream.rb,
lib/asposewordsjavaforruby/saveasmultipagetiff.rb

Defined Under Namespace

Modules: AddWatermark, AppendDoc, AppendDocument, ApplyLicense, AutoFitTables, Bookmarks, CheckFormat, CompressImages, Doc2Pdf, DocToHTML, ExtractContent, ExtractContentBasedOnStyles, FindAndReplace, HandleMergeField, HelloWorld, InsertNestedFields, LoadAndSaveToDisk, LoadAndSaveToStream, LoadTxt, Nodes, ProcessComments, RemoveBreaks, RemoveField, SaveAsMultipageTiff, SimpleMailMerge, UpdateFields

Constant Summary collapse

VERSION =
'0.0.5'

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.aspose_words_configObject

Returns the value of attribute aspose_words_config.



9
10
11
# File 'lib/asposewordsjavaforruby.rb', line 9

def aspose_words_config
  @aspose_words_config
end

Class Method Details

.configure_aspose_words(config) ⇒ Object



67
68
69
# File 'lib/asposewordsjavaforruby.rb', line 67

def self.configure_aspose_words config
  Asposewordsjavaforruby.aspose_words_config = config
end

Instance Method Details

#initialize_aspose_wordsObject



12
13
14
15
16
17
18
19
# File 'lib/asposewordsjavaforruby.rb', line 12

def initialize_aspose_words
  aspose_jars_dir = Asposewordsjavaforruby.aspose_words_config ? Asposewordsjavaforruby.aspose_words_config['jar_dir'] : nil  
  aspose_license_path = Asposewordsjavaforruby.aspose_words_config ? Asposewordsjavaforruby.aspose_words_config['license_path'] : nil
  jvm_args = Asposewordsjavaforruby.aspose_words_config ? Asposewordsjavaforruby.aspose_words_config['jvm_args'] : nil
  
  load_aspose_jars(aspose_jars_dir, jvm_args)
  load_aspose_license(aspose_license_path)
end

#input_file(file) ⇒ Object



50
51
52
# File 'lib/asposewordsjavaforruby.rb', line 50

def input_file(file)
  Rjb::import('java.io.FileInputStream').new(file)
end

#load_aspose_jars(aspose_jars_dir, jvm_args) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/asposewordsjavaforruby.rb', line 31

def load_aspose_jars(aspose_jars_dir, jvm_args)
  if aspose_jars_dir && File.exist?(aspose_jars_dir)
    jardir = File.join(aspose_jars_dir, '**', '*.jar')
  else
    jardir = File.join(File.dirname(File.dirname(__FILE__)), 'jars', '**', '*.jar')
  end

  if jvm_args
    args = jvm_args.split(' ') << '-Djava.awt.headless=true'
    logger = Logger.new(STDOUT)
    logger.level = Logger::DEBUG
    logger.debug("JVM args : #{args}")
    Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=args)
  else
    Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=['-Djava.awt.headless=true'])
  end

end

#load_aspose_license(aspose_license_path) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/asposewordsjavaforruby.rb', line 21

def load_aspose_license(aspose_license_path)
  if aspose_license_path && File.exist?(aspose_license_path)
    set_license(File.join(aspose_license_path))
  else
    logger = Logger.new(STDOUT)
    logger.level = Logger::WARN
    logger.warn('Using the non licensed aspose jar. Please specify path to your aspose license directory in config/aspose.yml file!')
  end
end

#set_license(aspose_license_file) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/asposewordsjavaforruby.rb', line 54

def set_license(aspose_license_file)
  begin
    fstream = input_file(aspose_license_file)
    license = Rjb::import('com.aspose.api.License').new()
    license.setLicense(fstream)
  rescue Exception => ex
    logger = Logger.new(STDOUT)
    logger.level = Logger::ERROR
    logger.error("Could not load the license file : #{ex}")
    fstream.close() if fstream
  end
end