use of fr.opensagres.xdocreport.template.formatter.FieldsMetadata in project Java-Tutorial by gpcodervn.
the class GenerateDocxReport method main.
public static void main(String[] args) throws IOException, XDocReportException {
// 1) Load Docx file by filling Velocity template engine and cache it to the registry
InputStream in = new FileInputStream("template/Project.docx");
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in, TemplateEngineKind.Velocity);
// 2) Create fields metadata to manage lazy loop (#forech velocity) for table row.
// Create FieldsMetadata by setting Velocity as template engine
FieldsMetadata fieldsMetadata = report.createFieldsMetadata();
// Load fields metadata from Java Class
fieldsMetadata.load("project", Project.class);
// Load is called with true because model is a list of Developer.
fieldsMetadata.load("developers", Developer.class, true);
// 3) Create context Java model
IContext context = report.createContext();
Project project = new Project("XDocReport");
context.put("project", project);
// Register developers list
context.put("developers", getDevelopers());
// 4) Generate report by merging Java model with the Docx
OutputStream out = new FileOutputStream(new File("Project_out.docx"));
report.process(context, out);
}
use of fr.opensagres.xdocreport.template.formatter.FieldsMetadata in project Java-Tutorial by gpcodervn.
the class GenerateXMLFields method main.
public static void main(String[] args) throws XDocReportException, IOException {
// 1) Create FieldsMetadata by setting Velocity as template engine
FieldsMetadata fieldsMetadata = new FieldsMetadata(TemplateEngineKind.Velocity.name());
// 2) Load fields metadata from Java Class
fieldsMetadata.load("project", Project.class);
// Here load is called with true because model is a list of Developer.
fieldsMetadata.load("developers", Developer.class, true);
// 3) Generate XML fields in the file "project.fields.xml".
// Extension *.fields.xml is very important to use it with MS Macro XDocReport.dotm
// FieldsMetadata#saveXML is called with true to indent the XML.
File xmlFieldsFile = new File("project.fields.xml");
fieldsMetadata.saveXML(new FileOutputStream(xmlFieldsFile), true);
}
use of fr.opensagres.xdocreport.template.formatter.FieldsMetadata in project Java-Tutorial by gpcodervn.
the class GeneratePDF method main.
public static void main(String[] args) throws XDocConverterException, XDocReportException, IOException {
// 1) Load Docx file by filling Velocity template engine and cache it to the registry
InputStream in = new FileInputStream("template/Project.docx");
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in, TemplateEngineKind.Velocity);
// 2) Create fields metadata to manage lazy loop (#forech velocity) for table row.
// Create FieldsMetadata by setting Velocity as template engine
FieldsMetadata fieldsMetadata = report.createFieldsMetadata();
// Load fields metadata from Java Class
fieldsMetadata.load("project", Project.class);
// Load is called with true because model is a list of Developer.
fieldsMetadata.load("developers", Developer.class, true);
// 3) Create context Java model
IContext context = report.createContext();
Project project = new Project("XDocReport");
context.put("project", project);
// Register developers list
context.put("developers", getDevelopers());
// 4) Generate report by merging Java model with the Docx
OutputStream out = new FileOutputStream(new File("Project_Out.pdf"));
// report.process(context, out);
Options options = Options.getTo(ConverterTypeTo.PDF).via(ConverterTypeVia.XWPF);
report.convert(context, options, out);
}
use of fr.opensagres.xdocreport.template.formatter.FieldsMetadata in project Java-Tutorial by gpcodervn.
the class GenerateDocxReport method main.
public static void main(String[] args) throws IOException, XDocReportException {
// 1) Load Docx file by filling Velocity template engine and cache it to the registry
InputStream in = GenerateDocxReport.class.getResourceAsStream("project.docx");
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in, TemplateEngineKind.Velocity);
// 2) Create fields metadata to manage lazy loop (#forech velocity) for table row.
// 1) Create FieldsMetadata by setting Velocity as template engine
FieldsMetadata fieldsMetadata = report.createFieldsMetadata();
// 2) Load fields metadata from Java Class
fieldsMetadata.load("project", Project.class);
// Here load is called with true because model is a list of Developer.
fieldsMetadata.load("developers", Developer.class, true);
// 3) Create context Java model
IContext context = report.createContext();
Project project = new Project("XDocReport");
context.put("project", project);
// Register developers list
List<Developer> developers = new ArrayList<Developer>();
developers.add(new Developer("Giang", "Phan", "gpcoder@gmail.com"));
developers.add(new Developer("ZERR", "Angelo", "angelo.zerr@gmail.com"));
context.put("developers", developers);
// 4) Generate report by merging Java model with the Docx
OutputStream out = new FileOutputStream(new File("project_out.docx"));
report.process(context, out);
}
use of fr.opensagres.xdocreport.template.formatter.FieldsMetadata in project Java-Tutorial by gpcodervn.
the class GenerateXMLFields method main.
public static void main(String[] args) throws XDocReportException, IOException {
// 1) Create FieldsMetadata by setting Velocity as template engine
FieldsMetadata fieldsMetadata = new FieldsMetadata(TemplateEngineKind.Velocity.name());
// 2) Load fields metadata from Java Class
fieldsMetadata.load("project", Project.class);
// Here load is called with true because model is a list of Developer.
fieldsMetadata.load("developers", Developer.class, true);
// 3) Generate XML fields in the file "project.fields.xml".
// Extension *.fields.xml is very important to use it with MS Macro XDocReport.dotm
// FieldsMetadata#saveXML is called with true to indent the XML.
File xmlFieldsFile = new File("project.fields.xml");
fieldsMetadata.saveXML(new FileOutputStream(xmlFieldsFile), true);
}
Aggregations