Package net.sourceforge.rtf.helper.test

Source Code of net.sourceforge.rtf.helper.test.TestFreemarkerTransformer

package net.sourceforge.rtf.helper.test;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.Reader;

import net.sourceforge.rtf.IRTFDocumentParser;
import net.sourceforge.rtf.IRTFDocumentTransformer;
import net.sourceforge.rtf.context.fields.RTFContextField;
import net.sourceforge.rtf.context.fields.RTFContextFields;
import net.sourceforge.rtf.document.RTFDocument;
import net.sourceforge.rtf.helper.RTFTemplateBuilder;

public class TestFreemarkerTransformer {

    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            /**
             * 1. Get RTFtemplate builder
             */
            RTFTemplateBuilder builder = RTFTemplateBuilder.newRTFTemplateBuilder();
           
            /**
             * 2. Get RTF parser
             */
            IRTFDocumentParser parser = builder.newRTFDocumentParser();
           
            /**
             * 3. Get RTF Document of the rtf source model
             */
            String rtfSourceModel = "test.rtf";
            InputStream inputStream = TestFreemarkerTransformer.class.getResourceAsStream(rtfSourceModel);
            parser.parse(inputStream);
            RTFDocument document = parser.getRTFDocument();
           
            /**
             * 4. Prepare RTF context fields
             * => set the field which must be transformed
             * In test.rtf, there is a mergefield called "date"
             */
            RTFContextFields context = new RTFContextFields();
            RTFContextField field = new RTFContextField();
            field.setName("$date");
            context.addMergeField(field);
           
           /**
            * 5. Get the RTF freemarker transformer
            */
            IRTFDocumentTransformer freemarkerTransformer =
                builder.
                newRTFDocumentTransformer(RTFTemplateBuilder.FREEMARKER_TRANSFORMER);
            RTFDocument transformedDocument = freemarkerTransformer.transform(document, context);
           
            /**
             * 6. Display transformed RTFDocument
             */
            Reader reader = transformedDocument.getReader();
            BufferedReader br = new BufferedReader(reader);
            int c;
            while ((c = br.read()) != -1) {
                System.out.print((char)c);
            }
            br.close();
           
        }
        catch(Exception e) {
            System.out.println("Error");
            e.printStackTrace();
        }    
    }

}
TOP

Related Classes of net.sourceforge.rtf.helper.test.TestFreemarkerTransformer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.