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:
- Download itext-xversion.jar here.
- Set the .jar file into the classpath:
set classpath = %CLASSPATH%;c:libitext-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'