package cc.abstra.trantor.pdfconverter; /******************************************************************************* * $Id: Pagesize.java 98 2008-02-27 06:11:26Z sjardine $ * * Copyright 2003 Innovation Software Group, LLC - http://www.innovationsw.com * Copyright 2003 Joe Phillips <jaiger@innovationsw.com> * Copyright 2008 Steven Jardine, MJN Services, Inc. <steve@mjnservices.com> * * All rights reserved. This program and the accompanying materials are made * available under the terms of the GNU Lesser Public License v2.1 which * accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * * For more information on the HylaFAX Fax Server please see * HylaFAX - http://www.hylafax.org or * Hylafax+ - http://hylafax.sourceforge.net * * Contributors: * Joe Phillips - Initial API and implementation * Steven Jardine - Code formatting, rework of license header, javadoc ******************************************************************************/ import java.awt.Dimension; import java.util.HashMap; /** * This class serves as a store of common pagesizes, or create your own! * * @version $Revision: 98 $ * @author Joe Phillips <jaiger@innovationsw.com> * @author Steven Jardine <steve@mjnservices.com> */ public class Pagesize extends Dimension { private static HashMap sizes = new HashMap(); /** a US Letter size page */ public static final Pagesize letter = new Pagesize(216, 279); /** a US Letter size page */ public static final Pagesize LETTER = letter; /** North American Letter size page */ public static final Pagesize naletter = letter; /** North American Letter size page */ public static final Pagesize NALETTER = letter; /** US Letter size page */ public static final Pagesize usletter = letter; /** US Letter size page */ public static final Pagesize USLETTER = letter; /** a US Legal size page */ public static final Pagesize legal = new Pagesize(216, 356); /** a US Legal size page */ public static final Pagesize LEGAL = legal; /** a US Legal size page */ public static final Pagesize uslegal = legal; /** a US Legal size page */ public static final Pagesize USLEGAL = legal; /** a US Ledger size page */ public static final Pagesize ledger = new Pagesize(279, 432); /** a US Ledger size page */ public static final Pagesize LEDGER = ledger; /** a US Ledger size page */ public static final Pagesize usledger = ledger; /** a US Ledger size page */ public static final Pagesize USLEDGER = ledger; /** an A3 size page */ public static final Pagesize a3 = new Pagesize(297, 420); /** an A3 size page */ public static final Pagesize A3 = a3; /** an A4 size page */ public static final Pagesize a4 = new Pagesize(210, 297); /** an A4 size page */ public static final Pagesize A4 = a4; /** an A5 size page */ public static final Pagesize a5 = new Pagesize(148, 210); /** an A5 size page */ public static final Pagesize A5 = a5; /** an A6 size page */ public static final Pagesize a6 = new Pagesize(105, 148); /** an A6 size page */ public static final Pagesize A6 = a6; /** an B4 size page */ public static final Pagesize b4 = new Pagesize(250, 353); /** an B4 size page */ public static final Pagesize B4 = b4; /** a US Executive size page */ public static final Pagesize executive = new Pagesize(190, 254); /** a US Executive size page */ public static final Pagesize EXECUTIVE = executive; /** a US Executive size page */ public static final Pagesize usexecutive = executive; /** a US Executive size page */ public static final Pagesize USEXECUTIVE = executive; static { sizes.put("letter", letter); sizes.put("us-letter", letter); sizes.put("us-let", letter); sizes.put("na-let", letter); sizes.put("legal", legal); sizes.put("us-legal", legal); sizes.put("us-leg", legal); sizes.put("na-leg", legal); sizes.put("ledger", ledger); sizes.put("us-ledger", ledger); sizes.put("us-led", ledger); sizes.put("na-led", ledger); sizes.put("executive", executive); sizes.put("us-executive", executive); sizes.put("us-exe", executive); sizes.put("na-exe", executive); sizes.put("a3", a3); sizes.put("a4", a4); sizes.put("a5", a5); sizes.put("a6", a6); sizes.put("b4", b4); } /* * The following values are currently not implemented ... * pagesizes.put("jp-leg", new Dimension()); pagesizes.put("jp-let", new * Dimension()); */ /** * default constructor */ public Pagesize() { super(); } /** * copy constructor */ public Pagesize(Dimension d) { super(d); } /** * constructor specifying width and height respectively */ public Pagesize(int width, int height) { super(width, height); } // // static methods // /** * lookup a pagesize by its name */ public static Pagesize getPagesize(String key) { return (Pagesize) sizes.get(key.toLowerCase()); } /** * add a (non-null) mapping from name to pagesize */ public static void putPagesize(String key, Pagesize p) { if ((p == null) || (key == null)) return; sizes.put(key.toLowerCase(), p); } } // Pagesize.java