/* * $Id$ * * This code is free software. It may only be copied or modified * if you include the following copyright notice: * * --> Copyright 2006 by Mark Hall <-- * * This code is part of the 'iText Tutorial'. * You can find the complete tutorial at the following address: * http://itextdocs.lowagie.com/tutorial/ * * This code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * itext-questions@lists.sourceforge.net */ package com.lowagie.examples.rtf.features.styles; import java.awt.Color; import java.io.FileNotFoundException; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.rtf.RtfWriter2; import com.lowagie.text.rtf.style.RtfParagraphStyle; /** * The ExtendingStylesheets example shows how to create new paragraph stylesheets * that (if desired) inherit from existing stylesheets. * * @version $Revision$ * @author Mark Hall (Mark.Hall@mail.room3b.eu) */ public class ExtendingStylesheets { /** * Creation of new paragraph stylesheets. * * @param args Unused */ public static void main(String[] args) { System.out.println("Demonstrates creating new, user-defined paragraph stylesheets"); try { Document document = new Document(); RtfWriter2 writer = RtfWriter2.getInstance(document, new FileOutputStream("ExtendingStylesheets.rtf")); // Create the new RtfParagraphStyle. The second parameter is the name of // the RtfParagraphStyle that this style will inherit default properties from. RtfParagraphStyle incorrectStyle = new RtfParagraphStyle("Incorrect", "Normal"); // Change the desired properties incorrectStyle.setColor(Color.RED); incorrectStyle.setStyle(Font.STRIKETHRU); // Register the new paragraph stylesheet with the RtfWriter2. writer.getDocumentSettings().registerParagraphStyle(incorrectStyle); // Create a new RtfParagraphStyle that does not inherit from any other style. RtfParagraphStyle correctStyle = new RtfParagraphStyle("Correct", "Arial", 12, Font.NORMAL, Color.GREEN); // Register the new paragraph stylesheet with the RtfWriter2. writer.getDocumentSettings().registerParagraphStyle(correctStyle); // Change the default font name. This will propagate to the paragraph stylesheet // that inherits, but not the other one. RtfParagraphStyle.STYLE_NORMAL.setFontName("Times New Roman"); document.open(); // Simply set the stylesheet you wish to use as the Font // of the Paragraph document.add(new Paragraph("This is a heading level 1", RtfParagraphStyle.STYLE_HEADING_1)); document.add(new Paragraph("This is a heading level 2", RtfParagraphStyle.STYLE_HEADING_2)); document.add(new Paragraph("Just some text that is formatted " + "in the default style.", RtfParagraphStyle.STYLE_NORMAL)); document.add(new Paragraph("This paragraph should be removed.", incorrectStyle)); document.add(new Paragraph("It should be replaced with this.", correctStyle)); document.close(); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); } catch (DocumentException de) { de.printStackTrace(); } } }