jOpenDocument odt template


jOpenDocument adalah sebuah open source library yang ditulis menggunakan bahasa Java untuk membuat dan menampilkan document dengan format OpenDocument.

Tulisan kali ini membahasa bagaimana menggunakan jOpenDocument dengan ColdFusion dari tutorial Fill your text document.


Download template jOpenDocument-template-1.2.zip. Tutorial tersebut menggunakan file test.odt.

Langkah-langkah pembuatan file OpenDocument Text template test.odt:

  1. Install jOpenDocumentAddOn.oxt, add on ini akan kita gunakan untuk membuat penanda yang kita butuhkan.
  2. Set field menggunakan menu jOpenDocument – Insert field, lihat contoh di gambar-gambar berikut ini

    jOpenDocument – Insert field



    Isi Field name dan Default content



    jOpenDocument – Tag – Tag paragraph



    Isikan Name of the paragraph



    Klik di tanda hijau



    Ganti isi field Text





    jOpenDocument – Tag – Tag paragraph







    jOpenDocument – Repeat – Repeat table row



    Java Collection : months
    Expose the items of your collection in : m





    Feld name : m.get("name")
    Default content : March









    Field name : m.get("max")
    Default content : 15



    Hasil akhir

Java

File templateFile = new File("template/test.odt");
File outFile = new File("out.odt");
// Load the template.
// Java 5 users will have to use RhinoFileTemplate instead
JavaScriptFileTemplate template = new JavaScriptFileTemplate(templateFile);

// Fill with sample values.
template.setField("toto", "value set using setField()");
List<Map<String, String>> months = new ArrayList<Map<String, String>>();
months.add(createMap("January", "-12", "3"));
months.add(createMap("February", "-8", "5"));
months.add(createMap("March", "-5", "12"));
months.add(createMap("April", "-1", "15"));
months.add(createMap("May", "3", "21"));
template.setField("months", months);

template.hideParagraph("p1");

// Save to file.
template.saveAs(outFile);

// Open the document with OpenOffice.org !
OOUtils.open(outFile);

ColdFusion

<!--- Java io File object --->
<cfset ioFile = CreateObject("java", "java.io.File")>

<!--- current directory --->
<cfset pwd = GetDirectoryFromPath(GetCurrentTemplatePath())>
<!--- template --->
<cfset templateFile = ioFile.init(pwd & "jopendocument-test.odt")>
<!--- out --->
<cfset outFile = ioFile.init(pwd & "out.odt")>

<!--- template object --->
<cfset template = CreateObject("java", "org.jopendocument.dom.template.JavaScriptFileTemplate")>
<cfset template.init(templateFile)>

<!--- set field --->
<cfset template.setField("toto", "value set using setField()")>

<!--- array of struct of months, used in table --->
<cfset months = [
	{
		name="January", 
		min="-12", 
		max="3"
	}, 
	{
		name="February", 
		min="-8", 
		max="5"
	}, 
	{
		name="March", 
		min="-5", 
		max="12"
	}, 
	{
		name="April", 
		min="-1", 
		max="15"
	}, 
	{
		name="May", 
		min="3", 
		max="21"
	}, 
	{
		name="June", 
		min="5", 
		max="32"
	}
]>

<!--- set field --->
<cfset template.setField("months", months)>

<!--- hide paragraph --->
<cfset template.hideParagraph("p1")>

<!--- save file --->
<cfset template.saveAs(outFile)>

Catatan:

  1. Adobe ColdFusion 8 (Developer Edition) dan 9 (Developer Edition), hanya bisa digunakan jika jOpenDocument-1.2.jar diletakkan di {CF install path}/lib
  2. Railo 3.3.1.000, jOpenDocument-1.2.jar diletakkan di {Railo install path}/webapps/ROOT/WEB-INF/railo/lib
  3. OpenBD Desktop Server 2.0.1 diletakkan di {OpenDB install path}/customjars-std dan ketika server di start, akan di-copy secara otomatis ke {OpenBD application path}/WEB-INF/lib
  4. using jopendocument with coldfusion/railo, how to add table row?

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: