Very few alternatives are available to someone wanting to generate RTF documents using Java. The best and easiest way is to use the iText third-party freeware library. Just plug in the .jar file and implement it into your program. The following example illustrates how to generate a simple RTF document:
set classpath = %CLASSPATH%;c:\lib\itext-xversion.jar
Save the following file into your system as HelloWorld.java:
import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.rtf.*;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("This example generate a RTF file name Sample.rtf");
// Create Document object
Document myDoc = new Document();
try {
// Create writer to listen document object
// and directs RTF Stream to the file Sample.rtf
RtfWriter2.getInstance(document, new FileOutputStream("Sample.rtf"));
// open the document object
document.open();
// Create a paragraph
Paragraph p = new Paragraph();
p.add("Helloworld in Rtf file..amazing isn't");
// Add the paragraph to document object
document.add(p);
}
catch(Exception e) {
System.out.println(e);
}
//close the document
document.close();
}
}
Compile the classfile using javac:
c:\generate>javac Helloworld.java
This generates a class file named Helloworld.class in the same directory.
Execute the class using Java:
c:\generate> java Helloworld
Once it's executed, you can see that a new file named Sample.rtf was generated in the same directory. Open it and see this text:
'Helloworld in Rtf file..amazing isn't'
Elayaraja David
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.