module Asposewordsjavaforruby::InsertNestedFields
Public Class Methods
new()
click to toggle source
# File lib/asposewordsjavaforruby/insertnestedfields.rb, line 3 def initialize() # The path to the documents directory. data_dir = File.dirname(File.dirname(File.dirname(__FILE__))) + '/data/' # Create new document. doc = Rjb::import('com.aspose.words.Document').new builder = Rjb::import("com.aspose.words.DocumentBuilder").new(doc) # Insert few page breaks (just for testing) breakType = Rjb::import("com.aspose.words.BreakType") for i in 0..4 builder.insertBreak(breakType.PAGE_BREAK) end # Move DocumentBuilder cursor into the primary footer. headerFooterType = Rjb::import("com.aspose.words.HeaderFooterType") builder.moveToHeaderFooter(headerFooterType.FOOTER_PRIMARY) # We want to insert a field like this: # { IF {PAGE} <> {NUMPAGES} "See Next Page" "Last Page" } field = builder.insertField("IF ") builder.moveTo(field.getSeparator()) builder.insertField("PAGE") builder.write(" <> ") builder.insertField("NUMPAGES") builder.write(" \"See Next Page\" \"Last Page\" ") # Finally update the outer field to recalcaluate the final value. Doing this will automatically update # the inner fields at the same time. field.update() # Save the document. doc.save(data_dir + "InsertNestedFields Out.doc") end