Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://itext-1.02b-1jpp.src.rpm:7757175/itext-1.02b.tar.gz  info  downloads

itext/0040755000017300000120000000000010017401466010660 5ustar  jppstaffitext/build.xml0100644000017300000120000011372110017403430012474 0ustar  jppstaff<?xml version="1.0"?>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- iText, a JAVA - PDF library                                      -->
<!-- $Id: build.xml,v 1.115 2003/09/06 09:37:52 blowagie Exp $         -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<project name="iText" default="help" basedir=".">

    <property environment="env" />

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Some general properties                                          -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <target name="properties" description="--> Sets a number of common properties">
        <property name="itext.home" value="." />
        <property name="itext.src" value="${itext.home}/src" />
        <property name="itext.classes" value="${itext.home}/classes" />
        <property name="itext.lib" value="${itext.home}/lib" />
        <property name="itext.docs" value="${itext.home}/docs" />
        <property name="itext.www" value="${itext.home}/www" />
        <property name="itext.tutorial" value="${itext.www}/tutorial" />
        <property name="itext.examples" value="${itext.www}/examples" />
        <property name="itext.dist" value="${itext.home}/dist" />
        <property name="itext.sf" value="${itext.dist}/sf" />
        <property name="itext.bin" value="${itext.home}/bin" />
        <property name="itext.cvsroot" value=":pserver:anonymous@cvs.itext.sourceforge.net:/cvsroot/itext" />
        <property name="defaultnumber" value="invalid" />
        <available property="j2ee.jar" value="${env.J2EE_JAR}" file="${env.J2EE_JAR}"/>
        <property name="j2ee.jar" value="COULD_NOT_FIND_J2EE_JAR"/>

        <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
        <!-- The classpath when the release is done                           -->
        <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

        <path id="classpath">
            <pathelement location="${j2ee.jar}" />
            <pathelement location="${itext.bin}/iText.jar" />
            <pathelement location="${itext.bin}/iTextXML.jar" />
            <pathelement location="${itext.bin}/iTextHYPH.jar" />
            <pathelement location="${itext.examples}" />
        </path>
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Help                                                             -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="help" description="--> shows the help screen">
        <echo>Using ANT for ${ant.project.name}</echo>
        <echo />
        <echo>INSTALLING iText</echo>
        <echo>ant install: downloads and installs the most recent release in one command</echo>
        <echo>ant install.cvs: downloads and installs the current CVS version in one command</echo>
        <echo />
        <echo>GETTING THE CODE</echo>
        <echo>ant checkout: checks out the code from CVS</echo>
        <echo>ant download: downloads some files needed to build a release</echo>
        <echo>ant download.cvs: downloads the most recent VERSION of the code</echo>
        <echo>ant download.site: downloads the most recent RELEASE of the code</echo>
        <echo />
        <echo>COMPILING THE CODE</echo>
        <echo>ant compile: compiles iText without RTF and XML functionality</echo>
        <echo>ant compileWithXML: compiles iText completely</echo>
        <echo />
        <echo>JARRING THE CODE</echo>
        <echo>ant jar: compiles and jars iText without RTF and XML functionality</echo>
        <echo>ant jarWithXML: compiles and jars iText completely</echo>
        <echo />
        <echo>ARCHIVING THE SOURCE</echo>
        <echo>ant srczip: makes zipfiles with the sourcecode</echo>
        <echo>ant srctargz: makes tar.gz-files with the sourcecode</echo>
        <echo />
        <echo>DOCUMENTATION</echo>
        <echo>ant javadoc: generates the API documentation</echo>
        <echo>ant docstargz: generates the API docs and puts them in a tar.gz-file</echo>
        <echo>ant tutorialtargz: generates several tar.gz-files with documentation (tutorial, examples,...)</echo>
        <echo>ant examples: generates most of the PDF files of the tutorial</echo>
        <echo />
        <echo>RELEASE</echo>
        <echo>ant release: makes a complete iText release</echo>
        <echo>ant -Dnumber=XXX release.sf: prepares a release XXX for sourceforge</echo>
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Getting the code                                                 -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="checkout" depends="properties" description="--> checks out the source code form CVS">
        <echo>Logging in: the password for user anonymous is empty;</echo>
        <echo>just press enter when asked for it</echo>
        <cvs cvsroot="${itext.cvsroot}" command="login" />
        <cvs cvsroot="${itext.cvsroot}" package="www" dest="${itext.home}" />
        <cvs cvsroot="${itext.cvsroot}" package="src" dest="${itext.home}" />
    </target>

    <target name="download" depends="properties" description="--> downloads some files needed to make a release">
        <mkdir dir="${itext.www}" />
        <get src="http://www.lowagie.com/iText/logo.gif" dest="${itext.www}/logo.gif" verbose="true" />
        <get src="http://www.lowagie.com/iText/iText.gif" dest="${itext.www}/iText.gif" verbose="true" />
        <get src="http://www.lowagie.com/iText/iTextLogo.gif" dest="${itext.www}/iTextLogo.gif" verbose="true" />
        <mkdir dir="${itext.tutorial}" />
        <get src="http://www.lowagie.com/iText/tutorial/Chap0101.png" dest="${itext.tutorial}/Chap0101.png" verbose="true" />
        <get src="http://www.lowagie.com/iText/tutorial/Chap0106.png" dest="${itext.tutorial}/Chap0106.png" verbose="true" />
        <get src="http://www.lowagie.com/iText/tutorial/Chap0106dos.png" dest="${itext.tutorial}/Chap0106dos.png" verbose="true" />
        <mkdir dir="${itext.examples}" />
        <get src="http://www.lowagie.com/iText/examples/harbour.wmf" dest="${itext.examples}/harbour.wmf" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/pngnow.png" dest="${itext.examples}/pngnow.png" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/cover.png" dest="${itext.examples}/cover.png" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/H.gif" dest="${itext.examples}/H.gif" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/caesar_coin.jpg" dest="${itext.examples}/caesar_coin.jpg" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/hitchcock.png" dest="${itext.examples}/hitchcock.png" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/myKids.jpg" dest="${itext.examples}/myKids.jpg" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/raf.jpg" dest="${itext.examples}/raf.jpg" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/vonnegut.gif" dest="${itext.examples}/vonnegut.gif" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/watermark.jpg" dest="${itext.examples}/watermark.jpg" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/12.tif" dest="${itext.examples}/12.tif" verbose="true" />
        <get src="http://www.lowagie.com/iText/examples/338814-00.tif" dest="${itext.examples}/338814-00.tif" verbose="true" />
        <mkdir dir="${itext.bin}" />
        <get src="http://itext.sourceforge.net/downloads/iTextAsian.jar" dest="${itext.bin}/iTextAsian.jar" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/iTextAsianCmaps.jar" dest="${itext.bin}/iTextAsianCmaps.jar" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/iTextHYPH.jar" dest="${itext.bin}/iTextHYPH.jar" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/barcodefonts.zip" dest="${itext.bin}/barcodefonts.zip" verbose="true" />
    </target>

    <target name="download.cvs"  depends="properties, checkout, download" description="--> downloads the most recent version of the code">
        <echo>Remark:</echo>
        <echo>The CVS version is the most recent version of the code.</echo>
        <echo>It may not always compile.</echo>
        <echo>Use ant download.site to download working code.</echo>
    </target>

    <target name="download.site"  depends="properties, download" description="--> downloads the most recent release of the code">
        <mkdir dir="${itext.dist}" />
        <get src="http://itext.sourceforge.net/downloads/src.tar.gz" dest="${itext.dist}/src.tar.gz" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/srcXML.tar.gz" dest="${itext.dist}/srcXML.tar.gz" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/www.tar.gz" dest="${itext.dist}/www.tar.gz" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/tutorial.tar.gz" dest="${itext.dist}/tutorial.tar.gz" verbose="true" />
        <get src="http://itext.sourceforge.net/downloads/examples.tar.gz" dest="${itext.dist}/examples.tar.gz" verbose="true" />

        <mkdir dir="${itext.src}" />
        <gunzip src="${itext.dist}/src.tar.gz" dest="${itext.dist}/temp.tar" />
        <untar src="${itext.dist}/temp.tar" dest="${itext.src}" />
        <delete file="${itext.dist}/temp.tar" />
        <gunzip src="${itext.dist}/srcXML.tar.gz" dest="${itext.dist}/temp.tar" />
        <untar src="${itext.dist}/temp.tar" dest="${itext.src}" />
        <delete file="${itext.dist}/temp.tar" />

        <mkdir dir="${itext.www}" />
        <gunzip src="${itext.dist}/www.tar.gz" dest="${itext.dist}/temp.tar" />
        <untar src="${itext.dist}/temp.tar" dest="${itext.www}" />
        <delete file="${itext.dist}/temp.tar" />
        <mkdir dir="${itext.tutorial}" />
        <gunzip src="${itext.dist}/tutorial.tar.gz" dest="${itext.dist}/temp.tar" />
        <untar src="${itext.dist}/temp.tar" dest="${itext.tutorial}" />
        <delete file="${itext.dist}/temp.tar" />
        <mkdir dir="${itext.examples}" />
        <gunzip src="${itext.dist}/examples.tar.gz" dest="${itext.dist}/temp.tar" />
        <untar src="${itext.dist}/temp.tar" dest="${itext.examples}" />
        <delete file="${itext.dist}/temp.tar" />
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Compiling the code                                               -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="compile" depends="properties" description="--> compiles the core iText code">
        <mkdir dir="${itext.classes}" />
        <javac srcdir="${itext.src}" destdir="${itext.classes}"
            excludes="com/lowagie/servlets/*.java,com/lowagie/text/xml/*.java,com/lowagie/text/html/HtmlParser.java,com/lowagie/text/html/HtmlPeer.java,com/lowagie/text/html/HtmlTagMap.java,com/lowagie/text/html/SAXmyHtmlHandler.java">
            <classpath refid="classpath" />
        </javac>
    </target>

    <target name="compileWithXML" depends="properties" description="--> compiles iText completely">
        <mkdir dir="${itext.classes}" />
        <echo>Your path to j2ee.jar: ${j2ee.jar}</echo>
        <javac srcdir="${itext.src}" destdir="${itext.classes}">
            <classpath refid="classpath" />
        </javac>
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Jarring the code                                                 -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="jar"  depends="properties,compile" description="--> makes a jarfile from the core iText code">
        <mkdir dir="${itext.dist}" />
        <mkdir dir="${itext.bin}" />
        <mkdir dir="${itext.classes}/com/lowagie/text/pdf/fonts" />
        <copy todir="${itext.classes}/com/lowagie/text/pdf/fonts" overwrite="yes">
            <fileset dir="${itext.src}/com/lowagie/text/pdf/fonts">
                <include name="**/*.afm"/>
            </fileset>
        </copy>
        <jar jarfile="${itext.dist}/iText.jar" basedir="${itext.classes}" excludes="**/com/lowagie/text/xml/*.class,**/HtmlPeer.class,**/HtmlParser.class,**/HtmlTagMap.class,**/SAXmyHtmlHandler.class" />
        <copy file="${itext.dist}/iText.jar" todir="${itext.bin}" overwrite="yes" />
    </target>

    <target name="jarWithXML" depends="compileWithXML" description="--> makes a jarfile from the complete iText code">
        <mkdir dir="${itext.dist}" />
        <mkdir dir="${itext.bin}" />
        <mkdir dir="${itext.classes}/com/lowagie/text/pdf/fonts" />
        <copy todir="${itext.classes}/com/lowagie/text/pdf/fonts" overwrite="yes">
            <fileset dir="${itext.src}/com/lowagie/text/pdf/fonts">
                <include name="**/*.afm"/>
            </fileset>
        </copy>
        <jar jarfile="${itext.dist}/iText.jar" basedir="${itext.classes}" excludes="**/com/lowagie/text/xml/*.class,**/HtmlPeer.class,**/HtmlParser.class,**/HtmlTagMap.class,**/SAXmyHtmlHandler.class" />
        <copy file="${itext.dist}/iText.jar" todir="${itext.bin}" overwrite="yes" />
        <jar jarfile="${itext.dist}/iTextXML.jar" basedir="${itext.classes}" includes="**/com/lowagie/text/xml/*.class,**/HtmlPeer.class,**/HtmlParser.class,**/HtmlTagMap.class,**/SAXmyHtmlHandler.class" />
        <copy file="${itext.dist}/iTextXML.jar" todir="${itext.bin}" overwrite="yes" />
        <jar jarfile="${itext.dist}/iTextAsian.jar" basedir="${itext.src}" includes="**/com/lowagie/text/pdf/fonts/*.cmap,**/com/lowagie/text/pdf/fonts/*.properties" />
        <jar jarfile="${itext.dist}/iTextAsianCmaps.jar" basedir="${itext.src}" includes="**/com/lowagie/text/pdf/fonts/cmaps/*" />
        <copy file="${itext.dist}/iTextAsian.jar" todir="${itext.bin}" overwrite="yes" />
        <copy file="${itext.dist}/iTextAsianCmaps.jar" todir="${itext.bin}" overwrite="yes" />
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Archiving the source                                              -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="srczip" depends="properties" description="--> makes two zipfiles (1 with the core iText code and 1 with XML/RTF classes)">
        <mkdir dir="${itext.dist}" />
        <zip zipfile="${itext.dist}/src.zip" basedir="${itext.src}" includes="**/*.java, **/*.txt, **/*.afm" excludes="com/lowagie/servlets/*.java,com/lowagie/text/xml/*.java,com/lowagie/text/html/HtmlParser.java,com/lowagie/text/html/HtmlPeer.java,com/lowagie/text/html/HtmlTagMap.java,com/lowagie/text/html/SAXmyHtmlHandler.java" />
        <zip zipfile="${itext.dist}/srcXML.zip" basedir="${itext.src}" includes="com/lowagie/servlets/*.java,com/lowagie/text/xml/*.java,com/lowagie/text/html/HtmlParser.java,com/lowagie/text/html/HtmlPeer.java,com/lowagie/text/html/HtmlTagMap.java,com/lowagie/text/html/SAXmyHtmlHandler.java" />
    </target>

    <target name="srctargz" depends="properties" description="--> makes two tar.gz-files (1 with the core iText code and 1 with XML/RTF classes)">
        <mkdir dir="${itext.dist}" />
        <tar tarfile="${itext.dist}/classes.tar" basedir="${itext.classes}" />
        <tar tarfile="${itext.dist}/src.tar" basedir="${itext.src}" includes="**/*.java, **/*.txt, **/*.afm" excludes="com/lowagie/servlets/*.java,com/lowagie/text/xml/*.java,com/lowagie/text/html/HtmlParser.java,com/lowagie/text/html/HtmlPeer.java,com/lowagie/text/html/HtmlTagMap.java,com/lowagie/text/html/SAXmyHtmlHandler.java" />
        <tar tarfile="${itext.dist}/srcXML.tar" basedir="${itext.src}" includes="com/lowagie/servlets/*.java,com/lowagie/text/xml/*.java,com/lowagie/text/html/HtmlParser.java,com/lowagie/text/html/HtmlPeer.java,com/lowagie/text/html/HtmlTagMap.java,com/lowagie/text/html/SAXmyHtmlHandler.java" />
        <gzip zipfile="${itext.dist}/classes.tar.gz" src="${itext.dist}/classes.tar" />
        <gzip zipfile="${itext.dist}/src.tar.gz" src="${itext.dist}/src.tar" />
        <gzip zipfile="${itext.dist}/srcXML.tar.gz" src="${itext.dist}/srcXML.tar" />
        <delete file="${itext.dist}/classes.tar" />
        <delete file="${itext.dist}/src.tar" />
        <delete file="${itext.dist}/srcXML.tar" />
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Archiving the source                                              -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="javadoc" depends="properties" description="--> generates the complete documentation with javadoc">
        <mkdir dir="${itext.docs}" />
        <javadoc packagenames="com.lowagie.tools.*,com.lowagie.servlets.*, com.lowagie.text.*, com.lowagie.text.pdf.*, com.lowagie.text.rtf.*, com.lowagie.text.pdf.afm.*, com.lowagie.text.pdf.hyphenation.*, com.lowagie.text.pdf.wmf.*, com.lowagie.text.html.*, com.lowagie.text.markup.*, com.lowagie.text.xml.*"
            sourcepath="${itext.src}"
            destdir="${itext.docs}"
            author="true"
            private="true">
            <link href="http://java.sun.com/j2se/1.3/docs/api/" />
        </javadoc>
    </target>

    <target name="docstargz" depends="properties,javadoc" description="--> makes a tar.gz-file with the complete javadoc documentation">
        <mkdir dir="${itext.dist}" />
        <tar tarfile="${itext.dist}/docs.tar" basedir="${itext.docs}" />
        <gzip zipfile="${itext.dist}/docs.tar.gz" src="${itext.dist}/docs.tar" />
        <delete file="${itext.dist}/docs.tar" />
    </target>

    <target name="tutorialtargz" depends="properties" description="--> makes several tar.gz-files with the tutorial, examples,...">
        <mkdir dir="${itext.dist}" />
        <tar tarfile="${itext.dist}/www.tar" basedir="${itext.www}" excludes="**/tutorial/*.*, **/examples/*.*" />
        <gzip zipfile="${itext.dist}/www.tar.gz" src="${itext.dist}/www.tar" />
        <delete file="${itext.dist}/www.tar" />
        <tar tarfile="${itext.dist}/tutorial.tar" basedir="${itext.tutorial}" />
        <gzip zipfile="${itext.dist}/tutorial.tar.gz" src="${itext.dist}/tutorial.tar" />
        <delete file="${itext.dist}/tutorial.tar" />
        <tar tarfile="${itext.dist}/examples.tar" basedir="${itext.examples}" excludes="**/*.class" />
        <gzip zipfile="${itext.dist}/examples.tar.gz" src="${itext.dist}/examples.tar" />
        <delete file="${itext.dist}/examples.tar" />
    </target>

    <target name="examples" depends="properties" description="--> executes (almost) all examples from the tutorial">
        <echo>Examples Chap0105.java, OutSimplePDF.java, Calendar.java and Month.java are NOT STANDALONE programs.</echo>
        <echo>They will not compile without a servlet library.</echo>
        <echo>Examples Chap0611.java and Chap0612.java require JAI.</echo>
        <echo>They will not compile without this extra library.</echo>
        <javac srcdir="${itext.examples}" destdir="${itext.examples}" verbose="false" deprecation="false" excludes="Chap0105.java, OutSimplePDF.java, Calendar.java, Month.java, Chap0611.java, Chap0612.java" >
           <classpath refid="classpath" />
        </javac>
        <java fork="yes" dir="${itext.examples}" classname="Chap0101">
           <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0102">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0103">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0104">
            <classpath refid="classpath" />
        </java>
        <echo>Chapter 1 example 5: this is a Servlet example!</echo>
        <java fork="yes" dir="${itext.examples}" classname="Chap0106">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0107">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0108">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0109">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0110">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0111">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0201">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0202">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0203">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0204">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0205">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0206">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0207">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0208">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap02_hyphenation">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0209">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0301">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0302">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0303">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0304">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0401">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0402">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0403">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0404">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0405">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0501">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0502">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0503">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0504">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0505">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0506">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0507">
            <classpath refid="classpath" />
	</java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0508">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0509">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0510">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0511">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0512">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0513">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0514">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0515">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0516">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0517">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0518">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0601">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0602">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0603">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0604">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0605">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0606">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0607">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0608">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0609">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0610">
            <classpath refid="classpath" />
        </java>
        <echo>Chapter 6 example 11: this example requires JAI</echo>
        <echo>Please compile and execute it seperately</echo>
        <echo>Chapter 6 example 12: this example requires JAI</echo>
        <echo>Please compile and execute it seperately</echo>
        <java fork="yes" dir="${itext.examples}" classname="Chap0613">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0614">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0615">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0616">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0701">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0702">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0703">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0704">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0705">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0706">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0707">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0708">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0801">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0802">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0803">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0804">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap0901">
            <classpath refid="classpath" />
        </java>
        <echo>Chapter 9 example 2: this example requires a correct filepath to comic.ttf</echo>
        <echo>Please compile and execute it seperately</echo>
        <echo>Chapter 9 example 3: this example requires a correct filepath to comic.ttf</echo>
        <echo>Please compile and execute it seperately</echo>
        <echo>Chapter 9 example 4: this example requires a correct filepath to msgothic.ttc</echo>
        <echo>Please compile and execute it seperately</echo>
        <java fork="yes" dir="${itext.examples}" classname="Chap0905">
            <classpath refid="classpath" />
        </java>
        <echo>Chapter 9 example 6: this example requires a correct filepath to some ttc's and ttf's</echo>
        <echo>Please compile and execute it seperately</echo>
        <java fork="yes" dir="${itext.examples}" classname="Chap0907">
            <classpath refid="classpath" />
        </java>
        <echo>Chapter 9 example 8: this example requires a correct filepath to some barcode ttf's</echo>
        <echo>Please compile and execute it seperately</echo>
        <java fork="yes" dir="${itext.examples}" classname="Chap0909">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1001">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1002">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1003">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1004">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1005">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1006">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1007">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1008">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1009">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1010">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1011">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1012">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1013">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1014">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1015">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap10_Graphics2D">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="iTextLogo">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1101">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1102">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1103">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1104">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1105">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1106">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1107">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1108">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1109">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1110">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1201">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1202">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap1203">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap13_form">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="Chap13_pdfreader">
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="com.lowagie.tools.concat_pdf">
            <arg value="Chap0101.pdf"/>
            <arg value="Chap0102.pdf"/>
            <arg value="Chap0103.pdf"/>
            <arg value="result.pdf"/>
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="com.lowagie.tools.split_pdf">
            <arg value="result.pdf"/>
            <arg value="result1.pdf"/>
            <arg value="result2.pdf"/>
            <arg value="2"/>
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="com.lowagie.tools.handout_pdf">
            <arg value="result.pdf"/>
            <arg value="handout.pdf"/>
            <arg value="2"/>
            <classpath refid="classpath" />
        </java>
        <java fork="yes" dir="${itext.examples}" classname="com.lowagie.tools.encrypt_pdf">
            <arg value="result.pdf"/>
            <arg value="encrypted.pdf"/>
            <arg value="user"/>
            <arg value="master"/>
            <arg value="00000000"/>
            <arg value="128"/>
            <classpath refid="classpath" />
        </java>
        <delete>
            <fileset dir="${itext.examples}" includes="**/*.class"/>
        </delete>
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Making a release                                                 -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="release" depends="properties,jarWithXML, srczip, srctargz, docstargz, tutorialtargz" description="--> makes a complete iText release">
    </target>

    <target name="no.version.number" if="number.is.invalid">
        <fail message="You didn't enter a version number: ant -Dnumber=XXX release.sf" />
    </target>

    <target name="release.sf" depends="properties" description="--> makes a complete iText release ready to publish on SourceForge">
        <property name="number" value="${defaultnumber}" />
        <property name="number.is.${number}" value="true" />
        <antcall target="no.version.number" />
        <antcall target="release" />
        <mkdir dir="${itext.sf}" />
        <copy file="${itext.dist}/iText.jar" tofile="${itext.sf}/itext-${number}.jar" overwrite="yes" />
        <copy file="${itext.dist}/iTextXML.jar" tofile="${itext.sf}/itext-xml-${number}.jar" overwrite="yes" />
        <copy file="${itext.dist}/src.zip" tofile="${itext.sf}/itext-src-${number}.zip" overwrite="yes" />
        <copy file="${itext.dist}/srcXML.zip" tofile="${itext.sf}/itext-xml-src-${number}.zip" overwrite="yes" />
        <copy file="${itext.dist}/src.tar.gz" tofile="${itext.sf}/itext-src-${number}.tar.gz" overwrite="yes" />
        <copy file="${itext.dist}/srcXML.tar.gz" tofile="${itext.sf}/itext-xml-src-${number}.tar.gz" overwrite="yes" />
        <copy file="${itext.dist}/docs.tar.gz" tofile="${itext.sf}/itext-docs-${number}.tar.gz" overwrite="yes" />
        <copy file="${itext.dist}/tutorial.tar.gz" tofile="${itext.sf}/itext-tutorial-${number}.tar.gz" overwrite="yes" />
    </target>

    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- Installing iText in one command                                  -->
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

    <target name="install" depends="properties,download.site, release, examples" description="--> installs iText in one command">
    </target>

    <target name="install.cvs" depends="properties,download.cvs, release, examples" description="--> installs the current version of iText in one command">
    </target>

</project>
itext/www/0040755000017300000120000000000010017401511011473 5ustar  jppstaffitext/www/logo.gif0100644000017300000120000000320410011420206013112 0ustar  jppstaffGIF89ad(""|{{xwwonnlllkjjjii_^^^]]ZYYWVVVUURQQQQQQQPQPONMMLLLJIIGGGFEEEDDBBBAAAA@@@?????>?>>>>><<===;;;:889999778888775334443331/////...----+++++))))''((((&&&&&$""!!!    








				,d(@	H*\ȰB#JHq3jܸǏ #> L	B	-F$J0EiF~i$.hه̒OlYeETZId
K9
(f֐=ܴDfOMnCKݻxCJ˷߼{^
ǰcAN,,ܙsgJ)v2b@cgC!"	)=3\q3#Qe̛r(^9ǸQ!!CN>az(IfAGH&XӴb/}^ȟ}Gu!rS$]KZlBLG%1@LHHJL%!ӉT-
1&ZTE׀[5EstDTH9E\
^K@bD%GG8F\H(ᑁm#݂]$N4aE=G
QI*IQh08ݛ]i'SDȴDE=Dw`E&
Jxheַ_*{}'fꩯ+{7%E"|"[X"Z
uvٞfZHme±(($DЀfDBT3lLg`]De+yrm5g%D=VE=3%D4lqՖבɵhU=@"[jI,I"UQ[ϠчM4^N%.a{a*S4o]ysO]	E*чE\DlH^D@hֺFtRNDцRʉIHQXl5Ct36Ҥ
_%KQ϶Vd+Q|QN̏pyp1[
7	EKeidgt7;itext/www/iText.gif0100644000017300000120000000166610011420206013261 0ustar  jppstaffGIF89aP,P@I8ͻ`(@hlImx&sƤ/,t!I$[PS7>k;6;}2StJxy%C(r.}sw|{1~8+`[\lb/uxem^nʍO×L1؜uْ]=p-3}̆FPWjq30c#*y(E/jH Ǐ yyI2dFZ<RLYR<Y+cLв`h#A)"w\MPB^;ZKGӓ֢𪏬r(϶lt6Yk~UKVys6^RXnOqzꝀn\?}Rկjm˸uE崢G.˸ejZLb

8N"_NK9ONسν੯N~mN˼Oa9F^kFR4X\)h !X\K7~
r#"bD"|bdR%L1?6o9([lbi:⒊apPN5O'RU#bMcg+R)b
d,g"YE8FBdYn1"$leG2feZB0gI2G*آ+&f>\7.X
UƉzji"O֪b~ΊY^րirnuY'AonVy?P柠jf*sr;ۧlv-ӥjߠ{LIyQd^6l
LZR1{Opdaq}^;itext/www/iTextLogo.gif0100644000017300000120000000050610011420206014072 0ustar  jppstaffGIF89aP ,P @I8`(cbh)owXޯ滈d܃bШ<NNƸpynx&?~<}Eu"i[?H0I2JMjp+%'`A9]rRyml)iL_kBWӊT!\h×՜5`ΠҙQ* ܭ^)nԏ:y)25p'QX3j;itext/www/tutorial/0040755000017300000120000000000010017401514013341 5ustar  jppstaffitext/www/tutorial/Chap0101.png0100644000017300000120000001475710011420207015231 0ustar  jppstaffPNG


IHDRIIDATx۷$gY=Y\)***.	0CfB17xUР0Fs1KQ-bf 	(d)cIRW_'vz׮S_C/0=wy'Nq,&ٳo^L+ǎ}8߱oQZ`.UǷK	mSRcw:
_u^j+aMtBۓslm#fՅY
7Rm(rZ՟O.uWۆȩY
/lChՍinz<
77i
`u4{J^FlO~_N40]:oq[&_{/|ջ?SEYytI9yCJNioyo~b:{_0Ygۄrc@ǣq=r|QL?\} xߟƷog_ԯǕܛO`s;oy}ϻ?7zmoӵj{~W=g_ogOo|{{7_㿑}Ÿ?e/{}W?r}'_}>3SG[~叏vO:3ݕ}{V-oc:6>x(b/kw>7|k|	~mϽ(3WܕnП:wٍ{=;("v|_+W>vqw^|hG=ٿ2_}뎞	>g<ewl~7Z:Ouow
1\Gn{p
cgG.EYhZ)kto+'|c?kӯw3RGzYm
E4@b@э1xюJEQiқw⃛y@?%oyon3|;qm^ۆu-wS+u|+Ã	/xջV3,td^#~kV_nG
gtp@J8q,ĩ3W\rM_\׋hT:pM%Tk*gz-MOxWG4!}.FT][0]Oџ<̘:@F d42@F 2
 ŦE6Tgv7MNȞ^?t>tbJe\Nu)l5[uܒ9sR:)q.!'t?w	diy7b;ɸrۥ'Δy0ֱ%aqb_bTzY\Fu+&\ڀW7rpJ^*ӷ'mpzuGN|\R?2Op-uS5X^jagDG
u.hkuw'I9Д)4Hqu'w*rr2Vӿ$VC32z7	>M*]T1
։=
U3Zuuf-6X=?ojvѭkwՁ`EYoG)4Fa^-`ϱTו=D]iQO<kaeSg^X]t1>5N-~6;a^A;VGH&d42@F d42
 2
h
@Fhr!ʹXj562zHAY{`$ƣd42@F/ӷ9t{}lJթ]q1E30q{=֑WٍRRhPG.q>H [b8Je
>{ZPѻ)7[G
j@Fo5#7wc2
 	s`X>1j 2zӤXc2
 2
@;>=s/8j: ^]AF/fx4@Fѻ-߁:֫[o@Ԯ.ۥ{Efvp8ѦU,7ѽb}uF<4|tjAm<PGwME\Vk.4%V
ւMO#wXGOUT2;.KV+5&bh
h;AXVs=z M2z00kƣd42@FϞ&߀vƓW.2]|1Ū8t4[i}.磋Mۛ||-N)PG#dtDit`2Q,rGh2KaO	Fmq~YQը
n[=C
ф?0,}XZ@FOtTa@F d42@F hs`ZMd뵃6+:?hd#XTFRn2za'7 gٷuvG4.磫۶޷z݊w@:mH|XStw
Z
߭e^_Kg@ӑ"o-e5ѥ-u߷LyE{!jbV+庱l
k`'!J
 3ajr=QiR	,
h
̹ZV>zvv#uǝ8hتΤvY

;`|=s2zb?
3$'f?QLM߬j}Gje~3g.p|i<g7(d\+,|Ae#qζy<esmv*N).jaKi7]oG(R}]RX#]`Ҷ)KiXkc~;q(0
hGz[sZPhsMpDALȬ+VocDz<:q$8z5F♙yg2K9Gͧ(adtģ9hvA;LKB; 'j2z|ah
hd4@Fhd42@F d42
 29:yus2zl
m}6Cn-aLYC/:z6)*ҲZbM	/DVZڣUyp#וU:z{]vʔ.Oܶ;蝽YqiA)I|QH?%?y8AFO%ҀF0j0sZ3/ն*WP:z1]
ORSJo
谖x׽cYݩvܱWĩ3W\r,Lh
hd4@Fr]7`qݻ&.%Z?r9E2z{۩V[XU\+X=h^6k݌Q.A=阮k/5:0THk`ap@Fp.&TM=gS'R wo14*l
IAz~wk-k6>ŷ#ԝaJ:s`:
 2
 h
em|^ƻg=e"S{׸6`+}uK6
SexzKƍojqa_:"Zzڃhgغ)ӿl
aڹ3W눤[KrЦe a- 
'j2<v@Zgy>lԳ.%A`oH+ƣ;7l9AơtsXGbN]z`VO+K/#iogiwVS1nݪu90u2ze"2
 h
U[Xw)`d 
~WAnQcAm2zQZ|NK2GWaο*ʺ+ū97 ¡Ouko̘x4n GI5lx>s9Uk@Fw)Fܶ+M]{q`
3m<[jgg8Rs[;ͧMϜAA
Dv羱m߰O
ӡ,90u2@F d42@F 2
 a.6=u	=,{W~}PwO`Y]NVp-uݹ"k
2zJAvSzY5v
<lc۫o7_RZ/Sm?8eKo3##kݵKcd_V?xe,*q-)e; S(J#ZHHQeF)(6~`4<eL`˹34[ıxjQ6`2#)	
ai]d+e|8O[nݔT?'a@zx9s2^(ϓ'=ט4h
@Fhd4@F d4V=v0D+-M:{\ePGoNկBjJI۶F:̵^iC/Hs=ygAG
v)=[gB4n}nZo{w]h5%4U-*=gk	%CzLSD2
 2
h
@Fhd4@F d42@F ӷMj9Y,&W74tf‰۸b'na##9(`}ģW`[=Zv>8TuJqHkm@OHǙyd::Dhڼş'F'wXٷݯnvƷҧRJ^\G9h|J~[PGO$!Ͽ:1y9Քqzd.=:#pԝulp!c-EFpV\	bsimE@pH#	Ҳq,wR
VE12*`nBucڝS+K g $\Gμ΃~1z
P~mPj	n
gќΣ)Eeu<n![-7$T%)!E Y\v<!~VUcKADzrԙW.9`a;a^;ÉS8ih
hd4@Fhd4
.>7r
ǥe{щ?
^lKZfi3v5:v9_/`mcΥghJAk{ރ#^17IK~)2STn}z(&nUA)[S;gr׏^ZFGtV/lY=!җx5mu:^0ƙ<i6nU@dሶ)g[Asfhe4߅չѭbs^gtjQ;<pَ-}6`6_=/O=gn|tSޝbgtی7Nov&L̯{po9hQ=g}	Ǘqzf/?)ݼ@|p
h
@Fh^*[ho82ꝷqr-`=};|P5mӊ3D/URשe
nUʑqV3KV
>`iQ*붭9fæXmBCm+֭MmqD:wcNa0!ѭ:3RvM٭5guEZtݪfy
Lrzve2iFf`\S	@F d42@F 2
 h
hd4w`J=엧q݉Sgׇ>p%xǗS:2+_PGâ,/Z>3
 2`Om63s$\6%x{y:Ѱ_FX,3VA!Xhͳ"eVA'ҔҾyKFh`bst(n[z^q0?WGYZ{5]۔.!A2ldc%d42`Ig3k&3&*ޘ3vf6j{g 2
 h
gG~Y`~4?#IENDB`itext/www/tutorial/Chap0106.png0100644000017300000120000001711210011420207015222 0ustar  jppstaffPNG


IHDRIIDATx۷$W]3Y<)(*L$ LT_|ѧA
A0G#F0KQ{HT$&ޗ,wXg*T*wu뮪|2OuuծozW{箻v߅ErJ|ˍGG|u5s~7wSU7h,0mxRbmxCZW}n?sUېmkC|ݛ!56Ğjim3gյYjwz7Ҷ64WVg:N!qh!6V[uLޛ^g?^x)L{_/_&'kÉ:YG_R~O|]]םzvE;*%ґѥz]O僟zK騿>RY\r΀>IGKg1'>?XT~yP?犟?{oy^?T3|ɫV?^x۫p}+'g?+Ϩ_w>_?U~b_wͧV}j~m~Y
;_ʏ?_]sULW/~>Wϛ[~-oI/n~V~+)#9菜ͽ_{'Wz}C&xQ,>tss^r'_ٞ^M,򮗿޼彯xgnգ[@gLgɢQ/򯻯xЕYut]QG-,?z.ާxgc]?__
SGzE]c" 3ΘNu|OՎ(J駊蛽3O*7gN?s^<[أ~սu|k	/|;>wiQPu+sl{Mt[w@d8Wq>J7OѮtJtTW?7w]>W0ygs9siB`._<2`FJtW{2d42@F d42
 2
(=rɍ\Wlrno9ȩWc<3z2G.'\l{n-9#gވ-=6U{e4$AIVF{/xlSC}GľEPf}piI937hpذOe&6*gzoOp{||^:;:7ѵMzWGCk.pUFw
U7V"o{m4sr'4gim#tY=Ο?;xOM_N[ޫ=Khe=ՙZ2-7\Z&?8E:/WGDg#s=cnO՞{'am@}E8b%'՘R]Hg
cy+=Z(O?we׹≼pҍG/wv6>|Qka^u PGd2
 2
h
@Fhd4@F d4s9oLvlrSvvڃܯd
 kTlc=tBdnidNvؘ#:gyRt(2 '򡢹|7ʟ9Ew]<կp+oSuYb#*hGp}9VLDj#Ɗ[n; S%v݃9ZEV^!W>x-Rbs|oѹ7JkvX,ho۰ȝUU_dr5q,}ņt><|3:8Zܹpr.=3lL9sΰHnz'r2Rl%|?LO
2@F 	C`Z{7S;u<_F_@Fhd4@FЏGOEaNOO2zJNU[dƟ``Ghd-1m 2cJjc,d.yٺ#8L{͖P$;֟ӑӤs.ezXv%HZnL\K/61G73uل'%aŴNF֮sI=Z%1O2.'|OOђ
5=gs^z1y<}`]$fQa)ϊ^kV$uNNϏ[=wmOtNJ$6UGUsߺ{!=$m"Ykm~b,-<Gݻ.-=mPS݀^옦;Xw3SO~&=1+
ҫ9S6oŘ.!}۟9ֹ"w.\1_kLlgsūh-z3KK1^2R}ΰsb:U{_HpT?z.[HUq`Z{7S;/@F d42@F 'J
s=ng'-2zO0jd42@F^},\v7gm,vnaeUڭkhc:igczXwW97h|#9јXUwG}Q4,gN?0ε[& Ǫl#2}dHq{N0Ot7AF,71Al?(~V7<e֋
jPGOSΔSG724'gۖP+=gzm-_& {v#)Ѩ?UF43ncε2zH]5]m2hK42
>,?z2v j9T@F d42@F '*
s=ng'-2zO0jd42z󜙴ۑGmaŋvu!e3nm̽%[9"+a^뷙J9aȦeiXoi\Gd^cRlk'fhŗt
2ּ5;[ݺ#tQNkjJFޜuQֳqoc<%l^a7ڤwۖ9Ѓ{?
oT<a"7.οw%zxt+~di{W;Vp4;s6}odvA$1A:0y}S5Ww Le(s17˵O5N=ΘG53ޙŝ 7QG/+D&6fSJILQOjJ6F6k\Np&nsz=siփ<dv[z4nuzk'e,'
dha;ã0kMuq	2zr@F Wie2v j_N_@Fhd4@FЏGOԷԑѴvv¡C|d4bmv2K9]ržBF_^^r_8h}1w3
9.j}̍6赪r]Xr9AF.7O.9锩կ۽>EX-m/GqFPōΟs|Gu<mmc!9S⾎29:6|:if|؊4sMuչ[-4赦g;qzp9s"(}a[۸q>0<ok<p$]n;56vydV{ޑ̖QEU3l[x4W.h2rIhs;dB[ 7

h
@Fhd4@F d42@F 2
 Xu~mwT{tc6~]	COM~{|Hs##/k+n3DD
Oգut!+mۄMnBmwm۹vLB_G")Y/S2w4lR460fiIjyZNt
ft..-3;S}C*ɋD
[@FoM?[o
9JZY}?:@m0?VW-FGh`xm7b~o3~!*V=	߷F9^՟/N(+^.^~z!rYr𖀾FiK!&z2
 2
\S
Xu-ȱe m̟FtWA‘)߶a6`cΞ^spՓcFGMcp0F@оY;;s61L*AF/p'udW䣬 o14*00
dwn-m{TcΦDZM:
V"01gsV_rh
h
@Fhd4C֦i\ލ|WC>C9S[7yg6mӿ^S@/(;DŽ`)2|@lDA{mJg#yODK<0g(sq]W̾0SNY;IpKK.
2Hui	G
=]em1yAF,Jyг>e2^Z_[G?cwٲ3LPG S[CFGz6-e{S|bDcl1}f5'eT9t2ze"2
 h
c>w%l`bmAFFm]eY5D䁕9V^Lkl]]٨(ۆ\i]scO.mmŤf̼t!d} ƦGҚvc
{Fu{=0UmO9MعP]cúWvUX9Ù"f1g
uO
jPG&;ᘳ> y
=7h4XXc,1gNFhd4@Fhd42@F d&%ָ.w*?v+&**1^]6t:묂^K=?=p|3<U}zXV}nm}ck/PKp<15ic^kQV2ᅹAP:h|bjC&>~8<
qlUߠw@"|9nfz8<:stnp=yØ>I8F?:3:Rv{/Nputb@t/v5}awvN	6s#%{1gJ>IN}lŘp6|98r2svVk^^܏
@Fhd4@F d42@FA8ȥLqIckڤ_u$u*蔰
Us>:^Tt`جkג0ib!?- F
@c]F&TA^zmwSa9cpΡTsB>|rȭ
j8 c,SD2
 2
h
@Fhd4@F d42@F -ݱ,gExd_۔ơ֘m	n23#[F&sT`1|k{xgzZ׵!î
*)33gֵeXy=F'&wXNů^ST[Jɋ1w?u1ES:zq4˧Ȼpb4%#7arǦה~
w5S̍g'ÝOGΫn{fcoa-2z5z7#oEȥ}x
z<IY8w}ǎdOUbUqNb!ǘ佡vƳ3Q:-IY8v-Ѱ#opFPf	K*UVomkuT8TGy*I

WHѻS—D5%?D_>Nm(m<}}GȗX:W/xab4kw3\h1%`@Fhd4@F d42@F }pU8ch<n,sڋN7zII.kfmkt$=×[8m1XZ}FOB4ymHWL$yQvhV9h`
[߶/8|?H\0:}kbiG~Hvw[%kD:Σ-:zE}	foȏɓ6ᛴ1gWê<}rG焝fhᯅ5xhcoF1{x]ѡigxY{L&#f~=2<`0ѝnzJى]#L}hsz';)K;۞ܾ8	=cvԘ>x-lF9mއ9o
0=1߯`-\@F d42@F 2e׻*Z[]qr-||Pa3$/՘6R6ڪ=VPG7m40
6ի;4'2z09
{`utߊ{
"Cݻ9^ЙZ^y3QrМ֕`M9;jmga<Lس#hk*hd4@Fhd42@F d42
 2
Xv,YciK˗/?2'jNv7}x~uu4lҪWN32
 Ԟi!H3w)kӕnDo W~
z
:h6AvYFoB)m?g&KFQܷ>߽h~}Ui,^M7b5'$d40{%#umgD_rh
aZ"|w&
,Tz`VL28^ۨӃ?q@F d42@F 2
pʕ+v;e8lIENDB`itext/www/tutorial/Chap0106dos.png0100644000017300000120000002275510011420207015741 0ustar  jppstaffPNG


IHDRK%IDATxvܸavj[krvŌs,昡T

_f9R@loo~[{ӧ}5^xi]P/gWi_]_=oѯg>IO[?Wȿ}{{ݟz9{ŷ5z`15l|Y
+ʷ}}ͻ6bP_=غ?#_1nWw$=#O|ˏX_֧}^^
?8ںoĭď>Ofg\=B1LG
wQ|}l>ԟ?^er[n'SCۃq_'
n8׷_o$ϟo|Z\np-'Š{~rڙ\Mׯ?U"u:=f
}\}?qM|6.48-X|ʖ<{8_8-?|Jk(@a9AϷ2nX<k_h-$=:
1>X1w[n\߲oPIY[]tP/z7s\w;v7eY׼k/ԟ@];&n%ԉ<A߿N!W#}-js.jO!0Ͽ|u#K;PL$uV:Z#=>:AQ׹NḲm0	:H]~bs}v{|{q҆m
צh]OlcZ$,Ű*}A%ଭKzjcčÍ[cCoByHSQf\=^y׋唯GFZv6~=(3CJ8Lݩ%5BmJnHم*-Gzz-E]ad#{ol7.PnόqpXywx9aٸ䦓E_A{Jەʑ~M>%~>*nhoWr
t#+WDOyuqioc{.vVەYo&|sHQCL FmzJ-kT~vsDF>4}(z&{>?(ǹxZX~Y^izGs_qU[zWVSOs_ԓF$qxvRCS~ů6l}lfG33d},9p5[D.k^z=Ⱦx5MW/AoI+:r8}d%jsG:=uPS/iMoέqaOGt+MK'=[|V׃5lv~0o
xz_.ޥ[i=VҏWA^KVrč׃tಹwܧ+.yxoRK+]h5kp|ℌrKum)7{<@F<k<G'/6m/IZ}%ބ77^`ex-Y_ql>frNQV)jNzEuD\L{W6Cdh˜z {mjIP܉l;ܻj7[}w^GΤ]gFtkA[yV;@.'^dvaw]مuҮ%`{\2Tmoe{|-lȵ_0zw:4hЦv~7bPqE;,~5-75Wr,œ(QpAr!VW^uDQ ']A9]N+:Գw*y{WӥԂvra:zͩ)6p)ԗk{?u{\w%MVS
uSGѕ___&PoGg\UA)r
]j:Ao>ۡ'1V1qPzBqzoZ{qEO=8w}Hϊ9=r|{xol&
Suވ/zc\rѻ^II0$>E[/&y;dsŇy$[sL3S%S&u_Y' 
{6l-
>-:n@2{׵EO}O>S">L*#]h8OQ^iKp\DZ&uy2IDA%~zI0{Ozerǥ;nIwxMHd_~Mo`,=~:CO}Bʾʹ>^|@}MV{KOa h5l&>T>'%p:ﲫ>_Dq=P1 VOK:6?쉤md_ecKxn/*Sn#^lǫ;}qSBV
/–XGRx4a,ʻ_BH)/|,w!cX[D.FprCdb_AL>;sMۯ
JXLb9`}rn~b.{z4lɮC&]iJSI2Svq^-rO"pGIa,>
@}frK)XSej
ި~\MoګlzYjkܗoٲ]*W?=irz^"l;B
4nXR=꺴vkz:SӑM.Eϳ\̸
ӊqmޱl2Sg	vW}w7^_$S~ϾM|$oQv)^JW},8i^R%rv/枮k~s7EMmkWW'tXwI$xѰ[sb%FYn%Ce)޶|U_~%j+\aק~Քo<O~=9=;IZ;L#DRwo3y-o\
*ޤҼѤV`Ml
n}Ldo'-uޛG?=}Yov&FI3=SWVe|ēd7DkjSӤ+'۽U\(-<V/+N[NJ&쟒vS\_"BwQw%'pn]؋>5)GIWY8X;uk0:A}P+?u8ssa_o@=	ѕu臞q=y*+zs:2Dt脞F)=q}Y/Dt8X}OL9u&Aw{?Ŗ͘kI޲}(rcҕCs{
VX$~qZ
v-g?^0}P*?]yD18l*c2YnOq~38ZpDz1()B<PXb
']7ht\-RڇUTa{8Y񐔻^bNcUdFJ9M#%ҷ*sR}rMkO DxP~2`p~b,ӜREH*'-	^_0b̲!3ΗAҕ@C~VADO^/p?9#)ޖ{@z6+J=	Ȉ'9QV+=9wC9%u;V01zӊ8sZ>3=)dq":tBw&Aw&: ;^/oKٕ:<>y_p{x1[߳>C4
UUNRdO_+Ȱlz3K~g)7TbN$?lyRl9ؼ_b%밝
6ޝ+Iy؅R]RwIDqdJOՔcir(M9wq$ѳ(ږϩ-j5<XP`@08V<i;p喸_neD7:[JlmV2h?{4<R\%z?^ѲX6e2*#ޑ~X/9<wçk-U]o}UP
jei׈7N?ۡ7oYGL}DO}B7kk^x߲5ttR+꾨`|WnUޕIDZx0N(k/jm'jî甍{/+q'
ʏKsٰ`Q@3]&t=sf߰O+t;VO揧_2\#:i͌1^n:kԣIý.xs3s.rnvK!ƚijegRW9$_ViocJW%QM_ɟ],x4UoܴvnZ*-94bnǒ 49nVևeGFOI~W.4^)	CrgN o{|G+>*ɨ8W8._[uKy隥ǥ*vt驗@$hz~-@~e	lO]DD<.sDAeR6Cep(7Z}F6tpYSo@Qg!~c8Ϗ[W6_P2I^Oe%z{9fTnޖGcS2Y=ڣx]{c=+6DwtK5y<޻%fJGO.d/>3+^_I5)y̻Sb^.)%dx\T|ĥr\MkRCuw-a;7]Ȟg籫}Nej{w$~~=,2Q~AۺbI
{֏6icz~l[ijt2Ps\Sѓ퍣]7誏Rc9}&"nς{egM\}8z]ퟭC~-ǷS6#Qb>]mHzz\N5M{/o+*lWGx}C2NK=Ѫ>Mwe(5I.OHsV)_V7n 'K,\У]}of\w}z=ϥtv<9p]>Yω,Ӫ#lf,ðk)m+jqIUpEoY;{2KۿPo?}cPJ3>3%u^IQ*iglU	)CħOn8S-`qtO_eo#e.8H%y|s=b9,=ttOă׳vQc\9uQ=D)*+(Թ	&4	skN]{aϩʝu]
;a;qzԓ4_4Ա%sNis2h:脻0V{ehwmgO#{vSv^E?2[gYs5)S'k..mǕ^LɧBs&AO@d}
koNcQ>UK9i)_ҳ뻤\Rdx\T$#k¶94~pbX%_ѫqa{\#5e/GZlEJHjJe2Wz
ZO4q϶gq䱐6O->>!='{GF摒Rc9}&b]m3Deg'%P]\Ϲ'GI>v?Wk+z~1wM[TS6m7hϤYrla#Rs=m]bu}N5nƷ_"b\g=x}M!A#4^тRX>N~:;3te|C3\DaN}f3NrXLă`{}"wl7n,~EߺhSVZcR9qnK9* [vǑԿn׏/g.Ppl7ԁK
 wVr`p~:[_nY$KVL?zg-8*(zmYr%OmRF) )TW9[FDdqtiUΉȵbΊ1#ݛLI͕D	6RRo9n[B*Us7:99?/ߓzra}Q9̳s4K4HCs`^\NY<Y,h&y]{59jO뷿6>ZM4Ds"{Y9egS#6wRɖ%ekډ VOnZjk3WCO}fzz
~v8M֧8'v~;e܅~Z%	R
!؏Fo|HLDe\݀K,k";*Fc;*r`N=29gL_iX1ފCNXi4$QNTѓ|CO\ϩԽ˴YPSO(zD: z8gJ.2X1SO`$C8wEO]$&zrUFZnܑ"ѓ͐ PS';C ;`NI=Cn"d}/ne_Ǔڷ+}C×]'oIK'+@+o/)=8.ehg~Mr_v y\.&?_/V*#_o4Se,D>٢hc˒Ry\,/Tsw}=j|qƘl<<q};[IF 񒚂/.ǥ䯖er?4.!;GG;ݗbV{?ڿq9V+Cei;B*[fm<+=~L
'_#UFzሜqCGޞǥi-ϩOԃ/>,?SnqWƔ@[}-R1{4	Jbi,Ḵ'kMSO1~*=7ῤOTj?]kX.AER$eGSݲykw'JVoDžOk!y[B%K/$*KK4-O}ƍYJ>\)Ee_yJ{]s\vris~`~`̩0	=u&AOIS`=u&AOIS`kv>WxP?^Hr܈w&AP`meݗz*ydJV6-`RO:fS[MuQci28A}PVXɹqۻ̄<,^[e~.`{ًy}^!']GyT>oA7qNo`d+X,	6s.no"xt58f猽+˔(lLâ\[$5.KMzG+N̄>RH׃%ZY`4oDta}hx={-,Ok!W5&COIh ,-R{\eTY|As{
::`i2޻(z:.ox8o9(B
r2]<q>kv	
S	Hܗ1>RN(6<w4!ԧJ=u&AP`2m,Vv4詏+HyTXAP1g:#uup#r6q>=+!S2/G$LD *Dt>8+CK=A|fhS$LbKr5~}2z^;=KtsnKFr0mPϝ/Au8msB\t5aP;bz&ׅc ^;}tkT0/sBDt5%mع_W/A7IDdZisljE0q7kz=pl7sΩp_>K 0WDSNskʍÙLSSϴP[ߛ^}O]
#zWK	ۉYS'w:S/FyE\̧KO,w8.O9r:8s7Zߖo[v:uct=SDtܒtߗL}b_M8\Dr܈4L$LS}bl5zGLGP`Dq,:oS#0.=L$Lt#:C{Y]8>/rv}@A\~`{k@3#su*IENDB`itext/www/tutorial/ch01.html0100644000017300000120000006635207676250402015012 0ustar  jppstaff<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
	<!-- $Header: /cvsroot/itext/www/tutorial/ch01.html,v 1.40 2003/06/25 07:36:34 blowagie Exp $ -->
	<META NAME="Description" CONTENT="iText is a JAVA library that can be used to generate complex PDF documents (with images, tables,...).">
	<META NAME="Keywords" CONTENT="PDF, JAVA, servlets, iText, Tutorial, generate, internet, documents, Lowagie, Bruno">
	<TITLE>iText - Tutorial</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#008080" VLINK="#008080" ALINK="#00CCCC">

<A NAME="top"></A>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="5" ALIGN="center" BGCOLOR="#808080">
<TR>
	<TD>
	<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="7" BGCOLOR="#008080">
	<TR>
		<TD COLSPAN="2" ALIGN="center">
			<FONT FACE="Times New Roman" SIZE="+3" COLOR="#FFFFFF"><I>i</I></FONT><FONT FACE="Arial,Helvetica" SIZE="+3" COLOR="#FFFFFF">Text Tutorial</FONT>
		</TD>
		<TD BGCOLOR="#808080">
			<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=15255&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo"></a>
		</TD>
		<TD COLSPAN="2" BGCOLOR="#808080">
			<FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">iText, a Free Java-PDF library<BR>
			by </FONT><A HREF="http://www.lowagie.com/"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">Bruno Lowagie</FONT></A><BR>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="http://www.lowagie.com/iText/"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">Home</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center">&nbsp;</TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="index.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">TOC</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="ch02.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">Next</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="notyet.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">PDF</FONT></A>]</FONT></TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<BR>
			<FONT FACE="Arial,Helvetica" SIZE="+1">Part I: Simple iText</FONT><BR><BR>
			<FONT FACE="Arial,Helvetica"><B>Chapter 1: Creating a document</B></FONT><BR>
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B><a name="steps">Creation of a document in 5 steps: Hello World</A></B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			Download the source code of the first example: <A HREF="../examples/Chap0101.java">Chap0101.java</A>.<BR>
			This example contains the 5 most important steps to create a PDF file using iText:<br>
			<BR><A HREF="#step1"><B>Step 1:</B></A><BR>
			Creates an instance of the <FONT FACE="Courier">com.lowagie.text.Document</FONT>-object:<BR>
			<FONT FACE="Courier">Document document = new Document();</FONT><BR>
			<BR><A HREF="#step2"><B>Step 2:</B></A><BR>
			Creates a Writer that listens to this document and writes the document to the OutputStream of your choice:<BR>
			<FONT FACE="Courier">PdfWriter.getInstance(document, new FileOutputStream("Chap0101.pdf"));</FONT><BR>
			<BR><A HREF="#step3"><B>Step 3:</B></A><BR>
			Opens the document:<BR>
			<FONT FACE="Courier">document.open();</FONT><BR>
			<BR><A HREF="#step4"><B>Step 4:</B></A><BR>
			Adds content to the document:<BR>
			<FONT FACE="Courier">document.add(new Paragraph("Hello World"));</FONT><BR>
			<BR><A HREF="step5"><B>Step 5:</B></A><BR>
			Closes the document:<BR>
			<FONT FACE="Courier">document.close();</FONT><BR><BR>
			Check the result here: <A HREF="../examples/Chap0101.pdf">Chap0101.pdf</A>.<BR>
			</FONT><BR>		
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<A NAME="step1"></A>
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B>Examining step 1: the Document-object</B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			The <FONT FACE="Courier">com.lowagie.text.Document</FONT>-object has 3 constructors:<BR><BR>
			<FONT FACE="Courier">
			public Document();<BR>
			public Document(Rectangle pageSize);<BR>
			public Document(Rectangle pageSize,<BR>
			&nbsp;&nbsp;&nbsp;int marginLeft,<BR>
			&nbsp;&nbsp;&nbsp;int marginRight,<BR>
			&nbsp;&nbsp;&nbsp;int marginTop,<BR>
			&nbsp;&nbsp;&nbsp;int marginBottom);<BR>
			</FONT><BR>
			The first constructor calls the second one, with
			<FONT FACE="Courier">PageSize.A4</FONT> as parameter.<BR>
			The second constructor calls the third one, with
			<FONT FACE="Courier">36</FONT> as value for each margin.<BR>
			<BR>
			<A NAME="pagesize"><B>PageSize</B></A><BR>
			You could create your own <FONT FACE="Courier">Rectangle</FONT>-object in a certain
			color and use this as pageSize.<BR>
			In example <A HREF="../examples/Chap0102.java">Chap0102.java</A>, we create a long, narrow
			document with a yellowish backgroundcolor:<BR>
			<FONT FACE="Courier">
			Rectangle pageSize = new Rectangle(144, 720);<BR>
			pageSize.setBackgroundColor(new java.awt.Color(0xFF, 0xFF, 0xDE));<BR>
			Document document = new Document(pageSize);
			</FONT><BR>
			This is the result: <A HREF="../examples/Chap0102.pdf">Chap0102.pdf</A>.
			Normally, you don't have to worry about creating this rectangle, since
			you can use one of the statics in class
			<A HREF="../src/com/lowagie/text/PageSize.java"><FONT FACE="Courier">PageSize.java</FONT></A>.
			These are the pagesizes that are provided: A0-A10, LEGAL, LETTER, HALFLETTER, _11x17, LEDGER, NOTE, B0-B5, ARCH_A-ARCH_E, FLSA and FLSE.<BR><BR>
			Most these pageSizes are in PORTRAIT-format. If you want them to be in <A NAME="landscape">LANDSCAPE</A>, all you have to do is <FONT FACE="Courier">rotate()</FONT>
			the <FONT FACE="Courier">Rectangle</FONT>:<BR>
			<FONT FACE="Courier">
			Document document = new Document(PageSize.A4.rotate());
			</FONT><BR>
			Check out example <A HREF="../examples/Chap0103.java">Chap0103.java</A> and its <A HREF="../examples/Chap0103.pdf">result</A>.
			<BR><BR>
			<A NAME="margins"><B>Margins</B></A><BR>
			When creating a document, you can also define left, right, upper and lower margins:<BR>
			<FONT FACE="Courier">
			Document document = new Document(PageSize.A5, 36, 72, 108, 180);
			</FONT><BR>
			In example <A HREF="../examples/Chap0104.java">Chap0104.java</A> (and its result: <A HREF="../examples/Chap0104.pdf">Chap0104.pdf</A>),
			you will see that this document has a left margin of 0.5 inch and a right margin of 1 inch.			
			The upper margin is 1.5 inch, the lower 2.5 inch.
			<BR><BR>
			<A NAME="measurements"></A>
			<TABLE WIDTH="85%" ALIGN="center">
				<TR>
				<TD BGCOLOR="#CFCFCF">
				<FONT FACE="Arial,Helvetica" SIZE="-1">
				<B>Measurements</B><BR>When creating a rectangle or choosing a margin, you might wonder what measurement unit
				is used: centimeters, inches or pixels. In fact, the default measurement system
				roughly corresponds to the various definitions of the typographic unit of
				measurement known as the <I>point</I>. There are 72 points in 1 inch.<BR>
				If you want to create a rectangle in PDF that has the size of an A4-page,
				you have to calculate the number of points:<BR>
				&nbsp;&nbsp;&nbsp;21 cm / 2.54 = 8.2677 inch<BR>
				&nbsp;&nbsp;&nbsp;8.2677 * 72 = 595 points<BR>
				&nbsp;&nbsp;&nbsp;29.7 cm / 2.54 = 11.6929 inch<BR>
				&nbsp;&nbsp;&nbsp;11.6929 * 72 = 842 points<BR>
				The default border of 36 points corresponds with half an inch.<BR?
				The rectangle we created in Chap0102.java was 2 by 10 inches.</FONT>
				</TD>
				</TR>
			</TABLE><br>
			Remark: if you change the page size, this only has effect on the next page (see <a href="#firstpage">page initialisations</a>).
			If you change the margins, this has an immediate effect, so be careful!
			</FONT><BR>
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<A NAME="step2"></A>
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B>Examining step 2: the Writer-object</B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			Once our document is created, we can create one or more instances of writers
			that listen to this document. All writers should be derived from the abstract class
			<FONT FACE="Courier">com.lowagie.text.DocWriter</FONT>.<BR>For the moment there are two
			possibilities: you can use <FONT FACE="Courier">com.lowagie.text.pdf.PdfWriter</FONT>
			to generate documents in the Portable Document Format, or you can use
			<FONT FACE="Courier">com.lowagie.text.html.HtmlWriter</FONT> to generate documents
			in HTML. If for instance you want to generate TeX-documents as well, you could write
			a package: <FONT FACE="Courier">com.lowagie.text.TeX.TeXWriter</FONT>.<BR>
			<BR>
			<TABLE WIDTH="85%" ALIGN="center">
				<TR>
				<TD BGCOLOR="#CFCFCF">
				<FONT FACE="Arial,Helvetica" SIZE="-1">
				<B>Remark:</B><BR>
				I wrote the HTML classes only for testing purposes. You really shouldn't
				use them in a production environment. The resulting HTML isn't very
				nice and there are lots of better tools around. The iText HTML-package
				can be useful for debugging reasons. HTML is a lot more straightforward
				than PDF. When an error occurs while generating a PDF file, it is very hard
				to find what bug caused the error. The resulting PDF-file is too damaged
				to examin its contents. So while testing I always generate an HTML file
				at the same time in order to retrieve the exact place where the error occurs
				or the exact object that throws the exception.<BR>
				There is also a package <FONT FACE="Courier">com.lowagie.text.xml</FONT>
				and a package <FONT FACE="Courier">com.lowagie.text.rtf</FONT>,
				but the XML and RTF generation functionality isn't that stable yet
				(see <A HREF="ch07.html">Chapter 7</A> and <A HREF="ch08.html">Chapter 8</A>).
				</FONT>
				</TD>
				</TR>
			</TABLE><BR>
			The constructor of these writer-classes is made private. You can only create an
			instance with the following method:<br>
			<FONT FACE="Courier">public static xxxWriter getInstance(Document document, OutputStream os) throws DocumentException</FONT><BR>
			(<FONT FACE="Courier">xxx</FONT> being Pdf or Html)<BR><BR>
			You can create an instance this way:<BR>
			<FONT FACE="Courier">PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("Chap01xx.pdf"));</FONT><BR>
			but you will hardly ever need the object <FONT FACE="Courier">writer</FONT> (except if you want to create <A HREF="ch10.html">Advanced PDF</A>
			or if you want to use some very specific functionalities such as <a href="#viewerprefs">ViewerPreferences</a> or
			<a href="#encryption">Encryption</a>).
			So it's sufficient to just get the instance:<BR>
			<FONT FACE="Courier">PdfWriter.getInstance(document, new FileOutputStream("Chap01xx.pdf"));</FONT><BR><BR>
			It's trivial that the first parameter should be the document you created in <A HREF="#step1">step 1</A>.<BR>
			The second parameter can be an outputStream of any kind.<BR>
			<A NAME="servlets">Until now,</A> we have always used a <FONT FACE="Courier">java.io.FileOutputStream</FONT> to write the document to a file,
			but in example <A HREF="../examples/Chap0105.java">Chap0105</A>, the outputStream is a <FONT FACE="Courier">javax.servlet.ServletOutputStream</FONT>.
			(This is not a standalone example; you will have to test this code on a Servlet Engine).<BR>
			If you use MSIE as browser, you will only see a blank page due to a bug in some specific versions of MicroSofts browser (see the
			<A HREF="http://www.lowagie.com/iText/faq.html#msie">FAQ</A>). This has been discussed over and over in the mailing list archives and even
			in the newsgroup comp.text.pdf. If you want to try a more difficult example (using the workaround in the FAQ), try the
			following code: <A HREF="../examples/Calendar.java">Calendar.java</A> and <A HREF="../examples/Month.java">Month.java</A>.<br>
			A JSP example was provided by Tal Liron: <A HREF="../examples/pdf.jsp">pdf.jsp</A>.			
			</FONT><BR><BR>
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<A NAME="step3"></A>
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B>Examining step 3: Meta data + opening the document</B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			<A NAME="metadata"><B>Metadata</B></A><BR>
			Before you add any actual data (= content), you might want to add some metadata
			about the document with one of these methods:<BR>
			<FONT FACE="Courier">
				public boolean addTitle(String title)<BR>
				public boolean addSubject(String subject)<BR>
				public boolean addKeywords(String keywords)<BR>
				public boolean addAuthor(String author)<BR>
				public boolean addCreator(String creator)<BR>
				public boolean addProducer()<BR>
				public boolean addCreationDate()<BR>
				public boolean addHeader(String name, String content)<BR>
			</FONT><BR>
			You can choose your own title, subject, keywords, author and creator, but the method that
			adds the producerdata should always add:<BR> <FONT FACE="Courier">iText</FONT> (or a reference to iText)
			and the method that adds the creation date always add the current system time
			(as a matter of fact, these two methods are called automatically).<BR>
			You can also add a header with a custom name, but this will have no effect on the
			PdfWriter (for the moment it is only used in the HtmlWriter).<BR>
			If we look at the example in step 1: <A HREF="../examples/Chap0101.pdf">Chap0101.pdf</A>,
			we see that only the producer and date are shown in the infobox. If we run
			<A HREF="../examples/Chap0106.java">Chap0106.java</A>, the result is a similar document:
			<A HREF="../examples/Chap0106.pdf">Chap0106.pdf</A>, but there are more items added to
			the infobox:<BR>
			<div align="center"><IMG SRC="Chap0101.png" ALT="info" BORDER="0"><br>
			<IMG SRC="Chap0106.png" ALT="info" BORDER="0"><br></div><br>
			As an additional illustration of the fact that you can send documents to any
			outputstream; example 6 sends HTML to <FONT FACE="Courier">System.out</FONT>.<BR>
			<DIV ALIGN="center"><IMG SRC="Chap0106dos.png" WIDTH=668 HEIGHT=331 ALT="System.out" BORDER="0"></DIV><BR>
			You can see that a custom header was used to add an 'Expires' META-tag.<BR>There is 1 exception:
			if you add a custom header with as name <FONT SOURCE="Courier">HtmlWriter.STYLESHEET</FONT>,
			you get a link to a stylesheet:<BR>
			<FONT FACE="Courier">document.add(new Header(HtmlWriter.STYLESHEET, "my.css"));</FONT><BR>
			results in:
			<FONT FACE="Courier">&lt;link rel=&quot;STYLESHEET&quot; type=&quot;text/css&quot; href=&quot;my.css&quot;></FONT><BR>
			<BR>
			<A NAME="before"><B>Things to do BEFORE you open the document</B></A><BR>
			You can only add metadata BEFORE the <FONT FACE="Courier">open</FONT>-method
			is invoked. This is a choice made by the developer of iText.<BR>In HTML meta-information is
			put between the <FONT FACE="Courier">HEAD</FONT>-tags at the beginning of the document
			(the header section). Invoking the <FONT FACE="Courier">open</FONT>-method causes the writer
			to write this header to the <FONT FACE="Courier">OutputStream</FONT>.
			So there is no way to change this data once the document is 'opened'.<BR>
			The PDF header doesn't contain any metadata, it looks like this:<BR>
			<FONT FACE="Courier">
			&nbsp;&nbsp;&nbsp;%PDF-1.2<BR>
			&nbsp;&nbsp;&nbsp;%
			</FONT><BR>
			The first line indicates the generated document is a file in the Portable Document Format version 1.2.<BR>
			The meaning of the second line is explained in the reference manual.<BR>
			<TABLE WIDTH="85%" ALIGN="center">
				<TR>
				<TD BGCOLOR="#CFCFCF">
				<FONT FACE="Arial,Helvetica" SIZE="-1">
				<B>Portable Document Format Reference Manual Version 1. 3 (section 2.3.2 'Portability' page 22):</B><BR>
				A PDF file is a binary file; the entire 8-bit range of characters may be used.
				Unfortunately, some agents treat files that happen to use only the printable subset
				of the 7-bit ASCII code and whitespace characters as <I>text</I>, and take unreasonable
				liberties with the contents. For example, mail-transmission systems may not
				preserve certain 7-bit characters and may change line endings. This can cause
				damage to PDF files.<BR>
				Therefore, in situations where it is possible to label PDF files as <I>binary</I>, we
				recommend that this be done. One method for encouraging such treatment is to
				include a few binary characters (codes greater than 127) in a comment near the
				beginning of the file.
				</TD>
				</TR>
			</TABLE>
			In PDF, the metadata is kept in a <FONT FACE="Courier">PdfInfo</FONT>-object,
			written to the PdfWriter when the document is closed. So there is no technical reason why one
			couldn't alter the library to be able to add or change the metadata at any time. It's a design choice that
			was made.<BR><BR>
			<A NAME="firstpage"><B>Page initialisations</B></A><BR>
			The <FONT FACE="Courier">open</FONT>-method also triggers some initialisations
			in the different writers. For instance if you want a <FONT FACE="Courier">Watermark</FONT>
			or a <FONT FACE="Courier">HeaderFooter</FONT>-object to appear starting on the FIRST page
			of the document, you have to add it BEFORE you open the document.
			The same goes for setting watermark, headers, footers, pagenumbers and sizes for the rest
			of the pages in the document.<BR>
			When you invoke methods such as:<BR>
			<FONT FACE="Courier">public boolean setPageSize(Rectangle pageSize)</FONT><BR>
			<FONT FACE="Courier">public boolean add(Watermark watermark)</FONT><BR>
			<FONT FACE="Courier">public void removeWatermark()</FONT><BR>
			<FONT FACE="Courier">public void setHeader(HeaderFooter header)</FONT><BR>
			<FONT FACE="Courier">public void resetHeader()</FONT><BR>
			<FONT FACE="Courier">public void setFooter(HeaderFooter footer)</FONT><BR>
			<FONT FACE="Courier">public void resetFooter()</FONT><BR>
			<FONT FACE="Courier">public void resetPageCount()</FONT><BR>
			<FONT FACE="Courier">public void setPageCount(int pageN)</FONT><BR>
			the result of these methods will only be seen on the next new page (when the
			initialisation methods of this page are called). This is illustrated in
			<A HREF="../examples/Chap0107.java">example 7</A>. If you want to try this example,
			you will need an image file called <A HREF="../examples/watermark.jpg">watermark.jpg</A>.
			The result should look like <A HREF="../examples/Chap0107.pdf">Chap0107.pdf</A>.<br><br>
			<B><a name="viewerprefs">Viewerpreferences</a></B><BR>
			For PDF files you can also set some viewer preferences with the method:<br>
			<FONT FACE="Courier">public void setViewerPreferences(int preferences)</FONT><BR><br>
			In <A HREF="../examples/Chap0108.java">example 8</A>, some
			of the possibilities are demonstrated:<br>
			<FONT FACE="Courier">writerA.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft);</FONT><BR>(see <A HREF="../examples/Chap0108a.pdf">Chap0108a.pdf</A>)<br>
			<FONT FACE="Courier">writerB.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);</FONT><BR>(see <A HREF="../examples/Chap0108b.pdf">Chap0108b.pdf</A>)<br>
			<FONT FACE="Courier">writerC.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft | PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseThumbs);</FONT><BR>(see <A HREF="../examples/Chap0108c.pdf">Chap0108c.pdf</A>)<br>
			As you can see, the preferences can be set by ORing some of these constants:
 			<ul>
			 <li>The page layout to be used when the document is opened (choose one).
			   <ul>
			   <li>PdfWriter.<b>PageLayoutSinglePage</b> - Display one page at a time.
			   <li>PdfWriter.<b>PageLayoutOneColumn</b> - Display the pages in one column.
			   <li>PdfWriter.<b>PageLayoutTwoColumnLeft</b> - Display the pages in two columns, with
			       oddnumbered pages on the left.
			   <li>PdfWriter.<b>PageLayoutTwoColumnRight</b> - Display the pages in two columns, with
			       oddnumbered pages on the right.
			   </ul>
			 <li>The page mode how the document should be displayed
			     when opened (choose one).
			   <ul>
			   <li>PdfWriter.<b>PageModeUseNone</b> - Neither document outline nor thumbnail images visible.
			   <li>PdfWriter.<b>PageModeUseOutlines</b> - Document outline visible.
			   <li>PdfWriter.<b>PageModeUseThumbs</b> - Thumbnail images visible.
			   <li>PdfWriter.<b>PageModeFullScreen</b> - Full-screen mode, with no menu bar, window
			       controls, or any other window visible.
			   </ul>
			 <li>PdfWriter.<b>HideToolbar</b> - A flag specifying whether to hide the viewer application's tool
			     bars when the document is active.
			 <li>PdfWriter.<b>HideMenubar</b> - A flag specifying whether to hide the viewer application's
			     menu bar when the document is active.
			 <li>PdfWriter.<b>HideWindowUI</b> - A flag specifying whether to hide user interface elements in
			     the document's window (such as scroll bars and navigation controls),
			     leaving only the document's contents displayed.
			 <li>PdfWriter.<b>FitWindow</b> - A flag specifying whether to resize the document's window to
			     fit the size of the first displayed page.
			 <li>PdfWriter.<b>CenterWindow</b> - A flag specifying whether to position the document's window
			     in the center of the screen.
			 <li>The document's page mode, specifying how to display the
			     document on exiting full-screen mode. It is meaningful only
			     if the page mode is <b>PageModeFullScreen</b> (choose one).
			   <ul>
			   <li>PdfWriter.<b>NonFullScreenPageModeUseNone</b> - Neither document outline nor thumbnail images
			       visible
			   <li>PdfWriter.<b>NonFullScreenPageModeUseOutlines</b> - Document outline visible
			   <li>PdfWriter.<b>NonFullScreenPageModeUseThumbs</b> - Thumbnail images visible
			   </ul>
			 </ul>
			Remark: you can invoke this method only on a class of type <FONT FACE="Courier">PdfWriter</FONT>.<br><br>
			<B><a name="encryption">Encryption</a></B><BR>
			Another thing to do BEFORE you open the document, is to set the encryption (that is: if you want the
			PDF file to be encrypted). To achieve this, you use the method:<br>
			<FONT FACE="Courier">public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);</FONT><br><br>
			<ul>
			<li>The strength is one of these two constants:
			<ul>
				<li>PdfWriter.<b>STRENGTH40BITS</b>: 40 bits
				<li>PdfWriter.<b>STRENGTH128BITS</b>: 128 bits (only with Acrobat Reader 5.0 or higher)
			</ul>
			<li>The userPassword and ownerPassword can be null or have zero length. In this case the ownerPassword is
     			replaced by a random string.
			<li>Permissions are set by ORing some of these constants:
			<ul>
				<li>PdfWriter.<b>AllowPrinting</b>
				<li>PdfWriter.<b>AllowModifyContents</b>
				<li>PdfWriter.<b>AllowCopy</b>
				<li>PdfWriter.<b>AllowModifyAnnotations</b>
				<li>PdfWriter.<b>AllowFillIn</b>
				<li>PdfWriter.<b>AllowScreenReaders</b>
				<li>PdfWriter.<b>AllowAssembly</b>
				<li>PdfWriter.<b>AllowDegradedPrinting</b>
			</ul>
			</ul>
			This functionality is demonstrated in <A HREF="../examples/Chap0109.java">example 9</A>
			and <A HREF="../examples/Chap0110.java">example 10</A>.<br><br>
			<FONT FACE="Courier">writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowCopy);</FONT><br>
			<A HREF="../examples/Chap0109.pdf">Chap0109.pdf</A> can be opened without using a password,
			but the user is not allowed to Print, Modify,... the document.<br><br>
			<FONT FACE="Courier">writer.setEncryption(PdfWriter.STRENGTH128BITS, "userpass", "ownerpass", PdfWriter.AllowCopy | PdfWriter.AllowPrinting);</FONT><br>
			When you try to open <A HREF="../examples/Chap0110.pdf">Chap0110.pdf</A>, you
			are asked for a password (type in 'userpass'). Because the AllowPrinting-preference was added, you can
			print this document without any problem.
			</FONT>
			<BR><BR>
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<A NAME="step4"></A>
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B>Examining step 4: adding content</B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			In the different examples explaining step 1 to 3, you have already encountered objects
			such as Phrase, Paragraph,... In the next 5 chapters all these objects will be explained
			more thoroughly.<BR>
			It is very important to realize that not all types of objects are supported in all types
			of writers. For instance: the <FONT FACE="Courier">Graphic</FONT>-object isn't supported
			in HTML. If you add a graphic to a <FONT FACE="Courier">Document</FONT>, the listening
			<FONT FACE="Courier">HtmlWriter</FONT> will ignore this.<BR>
			Sometimes you may want a writer to deliberately <A NAME="pause">ignore actions</A> performed on a document.
			This is shown in <A HREF="../examples/Chap0111.java">example 11</A>.<BR>
			If we create two writers: writerA and writerB (this is an exception to what was said in
			<A HREF="#step2">step 2</A>):<BR>
			<FONT FACE="Courier">
			PdfWriter writerA = PdfWriter.getInstance(document, new FileOutputStream("Chap0111a.pdf"));<BR>
			PdfWriter writerB = PdfWriter.getInstance(document, new FileOutputStream("Chap0111b.pdf"));<BR>
			</FONT>
			We can create two documents that are slightly different:<BR>
			<FONT FACE="Courier">
			writerA.pause();<BR>
			document.add(new Paragraph("This paragraph will only be added to Chap0111b.pdf, not to Chap0111a.pdf"));<BR>
			writerA.resume();<BR>
			</FONT>
			You can compare the results of example 11 here: <A HREF="../examples/Chap0111a.pdf">Chap0111a.pdf</A> vs.
			<A HREF="../examples/Chap0111b.pdf">Chap0111b.pdf</A>.
			</FONT><BR><br>
		</TD>
	</TR>
	<TR>
		<TD COLSPAN="5" BGCOLOR="#FFFFFF">
			<A NAME="step5"></A>
			<FONT FACE="Arial,Helvetica" COLOR="#008080"><B>Examining step 5: closing the document</B></FONT><BR>
			<FONT FACE="Arial,Helvetica" SIZE="-1">
			Closing the document is very important, because it flushes and closes the outputstream to which
			the writer is writing. The close-method is called in the finalize-method, but you shouldn't count
			on that. You should always close the document yourself!
			</FONT><BR><BR><BR><br>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="#top"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">Top</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center">&nbsp;</TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="index.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">TOC</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="ch02.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">Next</FONT></A>]</FONT></TD>
		<TD WIDTH="20%" ALIGN="center"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1">[<A HREF="notyet.html"><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">PDF</FONT></A>]</FONT></TD>
	</TR>
	<TR>
		<TD COLSPAN="2" ALIGN="left" VALIGN="top" BGCOLOR="#808080">
			<FONT FACE="Arial,Helvetica" SIZE="-3">
			<B>Page Updated: </B> $Date: 2003/06/25 07:36:34 $<br>
			Copyright &copy; 2000, 2001 by Bruno Lowagie
			</FONT>
		</TD>
		<TD COLSPAN="3" ALIGN="right" BGCOLOR="#808080">
			<FONT FACE="Arial,Helvetica" SIZE="-3">
			Adolf Baeyensstraat 121, 9040 Gent, BELGIUM,<br>
			tel +00 32 92 28 10 97 mailto:<A HREF="mailto:itext-questions@lists.sourceforge.net"><FONT COLOR="#000000">itext-questions@lists.sourceforge.net</FONT></A>
			</FONT>
		</TD>
	</TR>
	</TABLE>
	</TD>
</TABLE>

</BODY>
</HTML>
itext/www/tutorial/ch02.html0100644000017300000120000004631207676250402015005 0ustar  jppstaff<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
	<!-- $Header: /cvsroot/itext/www/tutorial/ch02.html,v 1.29 2003/06/25 07:36:34 blowagie Exp $ -->
	<META NAME="Description" CONTENT="iText is a JAVA library that can be used to generate complex PDF documents (with images, tables,...).">
	<META NAME="Keywords" CONTENT="PDF, JAVA, servlets, iText, Tutorial, generate, internet, documents, Lowagie, Bruno">
	<TITLE>iText - Tutorial</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#008080" VLINK="#008080" ALINK="#00CCCC">

<A NAME="top"></A>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="5" ALIGN="center" BGCOLOR="#808080">
<TR>
	<TD>
	<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="7" BGCOLOR="#008080">
	<TR>
		<TD COLSPAN="2" ALIGN="center">
			<FONT FACE="Times New Roman" SIZE="+3" COLOR="#FFFFFF"><I>i</I></FONT><FONT FACE="Arial,Helvetica" SIZE="+3" COLOR="#FFFFFF">Text Tutorial</FONT>
		</TD>
		<TD BGCOLOR="#808080">
			<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=15255&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo"></a>
		</TD>
		<TD COLSPAN="2" BGCOLOR="#808080">
			<FONT FACE="Arial,Helvetica" COLOR="#FFFFFF">iText, a Free Java-PDF library<BR>