You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by gb...@apache.org on 2011/12/06 21:19:31 UTC

svn commit: r1211082 [1/3] - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples: ./ fdf/ pdmodel/ persistence/ signature/ util/

Author: gbailleul
Date: Tue Dec  6 20:19:29 2011
New Revision: 1211082

URL: http://svn.apache.org/viewvc?rev=1211082&view=rev
Log:
PDFBOX-1177: remove examples from pdfbox

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/AbstractExample.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/PrintFields.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/SetField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/package.html
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/package.html
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddImageToPDF.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddJavascript.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMessageToEachPage.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/Annotation.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBlankPDF.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBookmarks.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateLandscapePDF.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractMetadata.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/GoToSecondBookmarkOnOpen.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorld.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorldTTF.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorldType1AfmPfb.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ImageToPDF.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintDocumentMetaData.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintURLs.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/RemoveFirstPage.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ReplaceString.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ReplaceURLs.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStamp.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ShowColorBoxes.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/UsingTextMatrix.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/package.html
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/persistence/CopyDoc.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/persistence/package.html
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/signature/package.html
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/util/ExtractTextByArea.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/util/PrintImageLocations.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/util/PrintTextLocations.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/util/RemoveAllText.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/util/package.html

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/AbstractExample.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/AbstractExample.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/AbstractExample.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/AbstractExample.java Tue Dec  6 20:19:29 2011
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.pdfbox.cos.COSDocument;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-
-import org.apache.pdfbox.pdfwriter.COSWriter;
-
-/**
- * A simple class which has some methods used by all examples.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.4 $
- */
-public abstract class AbstractExample
-{
-    /**
-     * Close the stream.
-     *
-     * @param stream The stream to close.
-     *
-     * @throws IOException If there is an error closing the stream.
-     */
-    public void close( InputStream stream ) throws IOException
-    {
-        if( stream != null )
-        {
-            stream.close();
-        }
-    }
-
-    /**
-     * Close the stream.
-     *
-     * @param stream The stream to close.
-     *
-     * @throws IOException If there is an error closing the stream.
-     */
-    public void close( OutputStream stream ) throws IOException
-    {
-        if( stream != null )
-        {
-            stream.close();
-        }
-    }
-
-    /**
-     * Close the document.
-     *
-     * @param doc The doc to close.
-     *
-     * @throws IOException If there is an error closing the document.
-     */
-    public void close( COSDocument doc ) throws IOException
-    {
-        if( doc != null )
-        {
-            doc.close();
-        }
-    }
-
-    /**
-     * Close the document.
-     *
-     * @param doc The doc to close.
-     *
-     * @throws IOException If there is an error closing the document.
-     */
-    public void close( PDDocument doc ) throws IOException
-    {
-        if( doc != null )
-        {
-            doc.close();
-        }
-    }
-
-    /**
-     * Close the writer.
-     *
-     * @param writer The writer to close.
-     *
-     * @throws IOException If there is an error closing the writer.
-     */
-    public static void close( COSWriter writer ) throws IOException
-    {
-        if( writer != null )
-        {
-            writer.close();
-        }
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/PrintFields.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/PrintFields.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/PrintFields.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/PrintFields.java Tue Dec  6 20:19:29 2011
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.fdf;
-
-import java.io.IOException;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
-import org.apache.pdfbox.pdmodel.interactive.form.PDField;
-
-import org.apache.pdfbox.exceptions.CryptographyException;
-import org.apache.pdfbox.exceptions.InvalidPasswordException;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
-
-/**
- * This example will take a PDF document and print all the fields from the file.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.16 $
- */
-public class PrintFields
-{
-
-    /**
-     * This will print all the fields from the document.
-     *
-     * @param pdfDocument The PDF to get the fields from.
-     *
-     * @throws IOException If there is an error getting the fields.
-     */
-    public void printFields( PDDocument pdfDocument ) throws IOException
-    {
-        PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
-        PDAcroForm acroForm = docCatalog.getAcroForm();
-        List fields = acroForm.getFields();
-        Iterator fieldsIter = fields.iterator();
-
-        System.out.println(new Integer(fields.size()).toString() + " top-level fields were found on the form");
-
-        while( fieldsIter.hasNext())
-        {
-            PDField field = (PDField)fieldsIter.next();
-               processField(field, "|--", field.getPartialName());
-        }
-    }
-
-    private void processField(PDField field, String sLevel, String sParent) throws IOException
-    {
-        List kids = field.getKids();
-        if(kids != null)
-        {
-            Iterator kidsIter = kids.iterator();
-            if(!sParent.equals(field.getPartialName()))
-            {
-               sParent = sParent + "." + field.getPartialName();
-            }
-            System.out.println(sLevel + sParent);
-            //System.out.println(sParent + " is of type " + field.getClass().getName());
-            while(kidsIter.hasNext())
-            {
-               Object pdfObj = kidsIter.next();
-               if(pdfObj instanceof PDField)
-               {
-                   PDField kid = (PDField)pdfObj;
-                   processField(kid, "|  " + sLevel, sParent);
-               }
-            }
-         }
-         else
-         {
-             String outputString = sLevel + sParent + "." + field.getPartialName() + " = " + field.getValue() +
-                 ",  type=" + field.getClass().getName();
-
-             System.out.println(outputString);
-         }
-    }
-
-    /**
-     * This will read a PDF file and print out the form elements.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args command line arguments
-     *
-     * @throws IOException If there is an error importing the FDF document.
-     * @throws CryptographyException If there is an error decrypting the document.
-     */
-    public static void main(String[] args) throws IOException, CryptographyException
-    {
-        PDDocument pdf = null;
-        try
-        {
-            if( args.length != 1 )
-            {
-                usage();
-            }
-            else
-            {
-                pdf = PDDocument.load( args[0] );
-                PrintFields exporter = new PrintFields();
-                if( pdf.isEncrypted() )
-                {
-                    try
-                    {
-                        pdf.decrypt( "" );
-                    }
-                    catch( InvalidPasswordException e )
-                    {
-                        System.err.println( "Error: The document is encrypted." );
-                        usage();
-                    }
-                }
-                exporter.printFields( pdf );
-            }
-        }
-        finally
-        {
-            if( pdf != null )
-            {
-                pdf.close();
-            }
-        }
-    }
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private static void usage()
-    {
-        System.err.println( "usage: org.apache.pdfbox.examples.fdf.PrintFields <pdf-file>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/SetField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/SetField.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/SetField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/SetField.java Tue Dec  6 20:19:29 2011
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.fdf;
-
-import java.io.IOException;
-
-import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
-import org.apache.pdfbox.pdmodel.interactive.form.PDField;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-
-import org.apache.pdfbox.examples.AbstractExample;
-
-/**
- * This example will take a PDF document and set a FDF field in it.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.7 $
- */
-public class SetField extends AbstractExample
-{
-
-    /**
-     * This will set a single field in the document.
-     *
-     * @param pdfDocument The PDF to set the field in.
-     * @param name The name of the field to set.
-     * @param value The new value of the field.
-     *
-     * @throws IOException If there is an error setting the field.
-     */
-    public void setField( PDDocument pdfDocument, String name, String value ) throws IOException
-    {
-        PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
-        PDAcroForm acroForm = docCatalog.getAcroForm();
-        PDField field = acroForm.getField( name );
-        if( field != null )
-        {
-            field.setValue( value );
-        }
-        else
-        {
-            System.err.println( "No field found with name:" + name );
-        }
-
-    }
-
-    /**
-     * This will read a PDF file and set a field and then write it the pdf out again.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args command line arguments
-     *
-     * @throws IOException If there is an error importing the FDF document.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public static void main(String[] args) throws IOException, COSVisitorException
-    {
-        SetField setter = new SetField();
-        setter.setField( args );
-    }
-
-    private void setField( String[] args ) throws IOException, COSVisitorException
-    {
-        PDDocument pdf = null;
-        try
-        {
-            if( args.length != 3 )
-            {
-                usage();
-            }
-            else
-            {
-                SetField example = new SetField();
-
-                pdf = PDDocument.load( args[0] );
-                example.setField( pdf, args[1], args[2] );
-                pdf.save( args[0] );
-            }
-        }
-        finally
-        {
-            if( pdf != null )
-            {
-                pdf.close();
-            }
-        }
-    }
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private static void usage()
-    {
-        System.err.println( "usage: org.apache.pdfbox.examples.fdf.SetField <pdf-file> <field-name> <field-value>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/package.html
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/package.html?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/package.html (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/fdf/package.html Tue Dec  6 20:19:29 2011
@@ -1,25 +0,0 @@
-<!--
- ! Licensed to the Apache Software Foundation (ASF) under one or more
- ! contributor license agreements.  See the NOTICE file distributed with
- ! this work for additional information regarding copyright ownership.
- ! The ASF licenses this file to You under the Apache License, Version 2.0
- ! (the "License"); you may not use this file except in compliance with
- ! the License.  You may obtain a copy of the License at
- !
- !      http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing, software
- ! distributed under the License is distributed on an "AS IS" BASIS,
- ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ! See the License for the specific language governing permissions and
- ! limitations under the License.
- !-->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-
-</head>
-<body>
-These are examples that use the FDF features of a PDF document.
-</body>
-</html>

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/package.html
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/package.html?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/package.html (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/package.html Tue Dec  6 20:19:29 2011
@@ -1,25 +0,0 @@
-<!--
- ! Licensed to the Apache Software Foundation (ASF) under one or more
- ! contributor license agreements.  See the NOTICE file distributed with
- ! this work for additional information regarding copyright ownership.
- ! The ASF licenses this file to You under the Apache License, Version 2.0
- ! (the "License"); you may not use this file except in compliance with
- ! the License.  You may obtain a copy of the License at
- !
- !      http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing, software
- ! distributed under the License is distributed on an "AS IS" BASIS,
- ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ! See the License for the specific language governing permissions and
- ! limitations under the License.
- !-->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-
-</head>
-<body>
-The packages in this package will show how to use the PDFBox API.
-</body>
-</html>

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddImageToPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddImageToPDF.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddImageToPDF.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddImageToPDF.java Tue Dec  6 20:19:29 2011
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-import org.apache.pdfbox.io.RandomAccessFile;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-
-import org.apache.pdfbox.pdmodel.graphics.xobject.PDCcitt;
-import org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg;
-import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage;
-
-
-/**
- * This is an example that creates a reads a document and adds an image to it..
- *
- * The example is taken from the pdf file format specification.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.1 $
- */
-public class AddImageToPDF
-{
-
-    /**
-     * Add an image to an existing PDF document.
-     *
-     * @param inputFile The input PDF to add the image to.
-     * @param image The filename of the image to put in the PDF.
-     * @param outputFile The file to write to the pdf to.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public void createPDFFromImage( String inputFile, String image, String outputFile ) 
-        throws IOException, COSVisitorException
-    {
-        // the document
-        PDDocument doc = null;
-        try
-        {
-            doc = PDDocument.load( inputFile );
-
-            //we will add the image to the first page.
-            PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get( 0 );
-
-            PDXObjectImage ximage = null;
-            if( image.toLowerCase().endsWith( ".jpg" ) )
-            {
-                ximage = new PDJpeg(doc, new FileInputStream( image ) );
-            }
-            else if (image.toLowerCase().endsWith(".tif") || image.toLowerCase().endsWith(".tiff"))
-            {
-                ximage = new PDCcitt(doc, new RandomAccessFile(new File(image),"r"));
-            }
-            else
-            {
-                //BufferedImage awtImage = ImageIO.read( new File( image ) );
-                //ximage = new PDPixelMap(doc, awtImage);
-                throw new IOException( "Image type not supported:" + image );
-            }
-            PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true);
-
-            contentStream.drawImage( ximage, 20, 20 );
-
-            contentStream.close();
-            doc.save( outputFile );
-        }
-        finally
-        {
-            if( doc != null )
-            {
-                doc.close();
-            }
-        }
-    }
-
-    /**
-     * This will load a PDF document and add a single image on it.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args)
-    {
-        AddImageToPDF app = new AddImageToPDF();
-        try
-        {
-            if( args.length != 3 )
-            {
-                app.usage();
-            }
-            else
-            {
-                app.createPDFFromImage( args[0], args[1], args[2] );
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private void usage()
-    {
-        System.err.println( "usage: " + this.getClass().getName() + " <input-pdf> <image> <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddJavascript.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddJavascript.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddJavascript.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddJavascript.java Tue Dec  6 20:19:29 2011
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.interactive.action.type.PDActionJavaScript;
-
-import java.io.IOException;
-
-/**
- * This is an example of how to set some javascript in the document.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.3 $
- */
-public class AddJavascript
-{
-    private AddJavascript()
-    {
-        //static class, should not be instantiated.
-    }
-
-    /**
-     * This will print the documents data.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 2 )
-        {
-            usage();
-        }
-        else
-        {
-            PDDocument document = null;
-            try
-            {
-                document = PDDocument.load( args[0] );
-                PDActionJavaScript javascript = new PDActionJavaScript(
-                    "app.alert( {cMsg: 'PDFBox rocks!', nIcon: 3, nType: 0, cTitle: 'PDFBox Javascript example' } );");
-                document.getDocumentCatalog().setOpenAction( javascript );
-                if( document.isEncrypted() )
-                {
-                    throw new IOException( "Encrypted documents are not supported for this example" );
-                }
-                document.save( args[1] );
-            }
-            finally
-            {
-                if( document != null )
-                {
-                    document.close();
-                }
-            }
-        }
-    }
-
-    /**
-     * This will print the usage for this document.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java org.apache.pdfbox.examples.pdmodel.AddJavascript <input-pdf> <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMessageToEachPage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMessageToEachPage.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMessageToEachPage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMessageToEachPage.java Tue Dec  6 20:19:29 2011
@@ -1,151 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-
-import org.apache.pdfbox.pdmodel.font.PDFont;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-
-
-/**
- * This is an example of how to add a message to every page
- * in a pdf document.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.3 $
- */
-public class AddMessageToEachPage
-{
-    /**
-     * Constructor.
-     */
-    public AddMessageToEachPage()
-    {
-        super();
-    }
-
-    /**
-     * create the second sample document from the PDF file format specification.
-     *
-     * @param file The file to write the PDF to.
-     * @param message The message to write in the file.
-     * @param outfile The resulting PDF.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public void doIt( String file, String message, String  outfile ) throws IOException, COSVisitorException
-    {
-        // the document
-        PDDocument doc = null;
-        try
-        {
-            doc = PDDocument.load( file );
-
-            List allPages = doc.getDocumentCatalog().getAllPages();
-            PDFont font = PDType1Font.HELVETICA_BOLD;
-            float fontSize = 36.0f;
-
-            for( int i=0; i<allPages.size(); i++ )
-            {
-                PDPage page = (PDPage)allPages.get( i );
-                PDRectangle pageSize = page.findMediaBox();
-                float stringWidth = font.getStringWidth( message )*fontSize/1000f;
-                // calculate to center of the page
-                int rotation = page.findRotation(); 
-                boolean rotate = rotation == 90 || rotation == 270;
-                float pageWidth = rotate ? pageSize.getHeight() : pageSize.getWidth();
-                float pageHeight = rotate ? pageSize.getWidth() : pageSize.getHeight();
-                double centeredXPosition = rotate ? pageHeight/2f : (pageWidth - stringWidth)/2f;
-                double centeredYPosition = rotate ? (pageWidth - stringWidth)/2f : pageHeight/2f;
-                // append the content to the existing stream
-                PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true,true);
-                contentStream.beginText();
-                // set font and font size
-                contentStream.setFont( font, fontSize );
-                // set text color to red
-                contentStream.setNonStrokingColor(255, 0, 0);
-                if (rotate)
-                {
-                    // rotate the text according to the page rotation
-                    contentStream.setTextRotation(Math.PI/2, centeredXPosition, centeredYPosition);
-                }
-                else
-                {
-                    contentStream.setTextTranslation(centeredXPosition, centeredYPosition);
-                }
-                contentStream.drawString( message );
-                contentStream.endText();
-                contentStream.close();
-            }
-
-            doc.save( outfile );
-        }
-        finally
-        {
-            if( doc != null )
-            {
-                doc.close();
-            }
-        }
-    }
-
-    /**
-     * This will create a hello world PDF document.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args)
-    {
-        AddMessageToEachPage app = new AddMessageToEachPage();
-        try
-        {
-            if( args.length != 3 )
-            {
-                app.usage();
-            }
-            else
-            {
-                app.doIt( args[0], args[1], args[2] );
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private void usage()
-    {
-        System.err.println( "usage: " + this.getClass().getName() + " <input-file> <Message> <output-file>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/AddMetadataFromDocInfo.java Tue Dec  6 20:19:29 2011
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.jempbox.xmp.XMPMetadata;
-import org.apache.jempbox.xmp.XMPSchemaBasic;
-import org.apache.jempbox.xmp.XMPSchemaDublinCore;
-import org.apache.jempbox.xmp.XMPSchemaPDF;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
-import org.apache.pdfbox.pdmodel.PDDocumentInformation;
-import org.apache.pdfbox.pdmodel.common.PDMetadata;
-
-import java.util.GregorianCalendar;
-
-/**
- * This is an example on how to add metadata to a document.
- *
- * Usage: java org.apache.pdfbox.examples.pdmodel.AddMetadataToDocument &lt;input-pdf&gt; &lt;output-pdf&gt;
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.4 $
- */
-public class AddMetadataFromDocInfo
-{
-    private AddMetadataFromDocInfo()
-    {
-        //utility class
-    }
-
-    /**
-     * This will print the documents data.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 2 )
-        {
-            usage();
-        }
-        else
-        {
-            PDDocument document = null;
-
-            try
-            {
-                document = PDDocument.load( args[0] );
-                if( document.isEncrypted() )
-                {
-                    System.err.println( "Error: Cannot add metadata to encrypted document." );
-                    System.exit( 1 );
-                }
-                PDDocumentCatalog catalog = document.getDocumentCatalog();
-                PDDocumentInformation info = document.getDocumentInformation();
-
-                XMPMetadata metadata = new XMPMetadata();
-
-                XMPSchemaPDF pdfSchema = metadata.addPDFSchema();
-                pdfSchema.setKeywords( info.getKeywords() );
-                pdfSchema.setProducer( info.getProducer() );
-
-                XMPSchemaBasic basicSchema = metadata.addBasicSchema();
-                basicSchema.setModifyDate( info.getModificationDate() );
-                basicSchema.setCreateDate( info.getCreationDate() );
-                basicSchema.setCreatorTool( info.getCreator() );
-                basicSchema.setMetadataDate( new GregorianCalendar() );
-
-                XMPSchemaDublinCore dcSchema = metadata.addDublinCoreSchema();
-                dcSchema.setTitle( info.getTitle() );
-                dcSchema.addCreator( "PDFBox" );
-                dcSchema.setDescription( info.getSubject() );
-
-                PDMetadata metadataStream = new PDMetadata(document);
-                metadataStream.importXMPMetadata( metadata );
-                catalog.setMetadata( metadataStream );
-
-                document.save( args[1] );
-            }
-            finally
-            {
-                if( document != null )
-                {
-                    document.close();
-                }
-            }
-        }
-    }
-
-    /**
-     * This will print the usage for this document.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java org.apache.pdfbox.examples.pdmodel.AddMetadataFromDocInfo " +
-            "<input-pdf> <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/Annotation.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/Annotation.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/Annotation.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/Annotation.java Tue Dec  6 20:19:29 2011
@@ -1,262 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-import org.apache.pdfbox.pdmodel.font.PDFont;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-import org.apache.pdfbox.pdmodel.graphics.color.PDGamma;
-import org.apache.pdfbox.pdmodel.interactive.action.type.PDActionURI;
-import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLine;
-import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationSquareCircle;
-import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationTextMarkup;
-import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLink;
-import org.apache.pdfbox.pdmodel.interactive.annotation.PDBorderStyleDictionary;
-
-
-import java.util.List;
-
-/**
- * This is an example on how to add annotations to pages of a PDF document.
- *
- * @author Paul King
- * @version $Revision: 1.2 $
- */
-public class Annotation
-{
-    private Annotation()
-    {
-        //utility class, should not be instantiated.
-    }
-
-    /**
-     * This will create a doucument showing various annotations.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 1 )
-        {
-            usage();
-        }
-        else
-        {
-            PDDocument document = new PDDocument();
-
-            try
-            {
-                PDPage page = new PDPage();
-                document.addPage(page);
-                List annotations = page.getAnnotations();
-
-                // Setup some basic reusable objects/constants
-                // Annotations themselves can only be used once!
-
-                float inch = 72;
-                PDGamma colourRed = new PDGamma();
-                colourRed.setR(1);
-                PDGamma colourBlue = new PDGamma();
-                colourBlue.setB(1);
-                PDGamma colourBlack = new PDGamma();
-
-                PDBorderStyleDictionary borderThick = new PDBorderStyleDictionary();
-                borderThick.setWidth(inch/12);  // 12th inch
-                PDBorderStyleDictionary borderThin = new PDBorderStyleDictionary();
-                borderThin.setWidth(inch/72); // 1 point
-                PDBorderStyleDictionary borderULine = new PDBorderStyleDictionary();
-                borderULine.setStyle(PDBorderStyleDictionary.STYLE_UNDERLINE);
-                borderULine.setWidth(inch/72); // 1 point
-
-
-                float pw = page.getMediaBox().getUpperRightX();
-                float ph = page.getMediaBox().getUpperRightY();
-
-
-                // First add some text, two lines we'll add some annotations to this later
-
-
-                PDFont font = PDType1Font.HELVETICA_BOLD;
-
-                PDPageContentStream contentStream = new PDPageContentStream(document, page);
-                contentStream.beginText();
-                contentStream.setFont( font, 18 );
-                contentStream.moveTextPositionByAmount( inch, ph-inch-18);
-                contentStream.drawString( "PDFBox" );
-                contentStream.moveTextPositionByAmount( 0,-(inch/2));
-                contentStream.drawString( "Click Here" );
-                contentStream.endText();
-
-                contentStream.close();
-
-                // Now add the markup annotation, a highlight to PDFBox text
-                PDAnnotationTextMarkup txtMark = new PDAnnotationTextMarkup(PDAnnotationTextMarkup.SUB_TYPE_HIGHLIGHT);
-                txtMark.setColour(colourBlue);
-                txtMark.setConstantOpacity((float)0.2);   // Make the highlight 20% transparent
-
-                // Set the rectangle containing the markup
-
-                float textWidth = (font.getStringWidth( "PDFBox" )/1000) * 18;
-                PDRectangle position = new PDRectangle();
-                position.setLowerLeftX(inch);
-                position.setLowerLeftY( ph-inch-18 );
-                position.setUpperRightX(72 + textWidth);
-                position.setUpperRightY(ph-inch);
-                txtMark.setRectangle(position);
-
-                // work out the points forming the four corners of the annotations
-                // set out in anti clockwise form (Completely wraps the text)
-                // OK, the below doesn't match that description.
-                // It's what acrobat 7 does and displays properly!
-                float[] quads = new float[8];
-
-                quads[0] = position.getLowerLeftX();  // x1
-                quads[1] = position.getUpperRightY()-2; // y1
-                quads[2] = position.getUpperRightX(); // x2
-                quads[3] = quads[1]; // y2
-                quads[4] = quads[0];  // x3
-                quads[5] = position.getLowerLeftY()-2; // y3
-                quads[6] = quads[2]; // x4
-                quads[7] = quads[5]; // y5
-
-                txtMark.setQuadPoints(quads);
-                txtMark.setContents("Highlighted since it's important");
-
-                annotations.add(txtMark);
-
-                // Now add the link annotation, so the clickme works
-                PDAnnotationLink txtLink = new PDAnnotationLink();
-                txtLink.setBorderStyle(borderULine);
-
-                // Set the rectangle containing the link
-
-                textWidth = (font.getStringWidth( "Click Here" )/1000) * 18;
-                position = new PDRectangle();
-                position.setLowerLeftX(inch);
-                position.setLowerLeftY( ph-(float)(1.5*inch)-20);  // down a couple of points
-                position.setUpperRightX(72 + textWidth);
-                position.setUpperRightY(ph-(float)(1.5*inch));
-                txtLink.setRectangle(position);
-
-                // add an action
-                PDActionURI action = new PDActionURI();
-                action.setURI("http://www.pdfbox.org");
-                txtLink.setAction(action);
-
-                annotations.add(txtLink);
-
-
-                // Now draw a few more annotations
-
-                PDAnnotationSquareCircle aCircle =
-                    new PDAnnotationSquareCircle( PDAnnotationSquareCircle.SUB_TYPE_CIRCLE);
-                aCircle.setContents("Circle Annotation");
-                aCircle.setInteriorColour(colourRed);  // Fill in circle in red
-                aCircle.setColour(colourBlue); // The border itself will be blue
-                aCircle.setBorderStyle(borderThin);
-
-                // Place the annotation on the page, we'll make this 1" round
-                // 3" down, 1" in on the page
-
-                position = new PDRectangle();
-                position.setLowerLeftX(inch);
-                position.setLowerLeftY(ph-(3*inch)-inch); // 1" height, 3" down
-                position.setUpperRightX(2*inch); // 1" in, 1" width
-                position.setUpperRightY(ph-(3*inch)); // 3" down
-                aCircle.setRectangle(position);
-
-                //  add to the annotations on the page
-                annotations.add(aCircle);
-
-                // Now a square annotation
-
-                PDAnnotationSquareCircle aSquare =
-                    new PDAnnotationSquareCircle( PDAnnotationSquareCircle.SUB_TYPE_SQUARE);
-                aSquare.setContents("Square Annotation");
-                aSquare.setColour(colourRed);  // Outline in red, not setting a fill
-                aSquare.setBorderStyle(borderThick);
-
-                // Place the annotation on the page, we'll make this 1" (72points) square
-                // 3.5" down, 1" in from the right on the page
-
-                position = new PDRectangle(); // Reuse the variable, but note it's a new object!
-                position.setLowerLeftX(pw-(2*inch));  // 1" in from right, 1" wide
-                position.setLowerLeftY(ph-(float)(3.5*inch) - inch); // 1" height, 3.5" down
-                position.setUpperRightX(pw-inch); // 1" in from right
-                position.setUpperRightY(ph-(float)(3.5*inch)); // 3.5" down
-                aSquare.setRectangle(position);
-
-                //  add to the annotations on the page
-                annotations.add(aSquare);
-
-                // Now we want to draw a line between the two, one end with an open arrow
-
-                PDAnnotationLine aLine = new PDAnnotationLine();
-
-                aLine.setEndPointEndingStyle( PDAnnotationLine.LE_OPEN_ARROW );
-                aLine.setContents("Circle->Square");
-                aLine.setCaption(true);  // Make the contents a caption on the line
-
-                // Set the rectangle containing the line
-
-                position = new PDRectangle(); // Reuse the variable, but note it's a new object!
-                position.setLowerLeftX(2*inch);  // 1" in + width of circle
-                position.setLowerLeftY(ph-(float)(3.5*inch)-inch); // 1" height, 3.5" down
-                position.setUpperRightX(pw-inch-inch); // 1" in from right, and width of square
-                position.setUpperRightY(ph-(3*inch)); // 3" down (top of circle)
-                aLine.setRectangle(position);
-
-                // Now set the line position itself
-                float[] linepos = new float[4];
-                linepos[0] = 2*inch;  // x1 = rhs of circle
-                linepos[1] = ph-(float)(3.5*inch); // y1 halfway down circle
-                linepos[2] = pw-(2*inch);  // x2 = lhs of square
-                linepos[3] = ph-(4*inch); // y2 halfway down square
-                aLine.setLine(linepos);
-
-                aLine.setBorderStyle(borderThick);
-                aLine.setColour(colourBlack);
-
-                // add to the annotations on the page
-                annotations.add(aLine);
-
-
-                // Finally all done
-
-
-                document.save( args[0] );
-            }
-            finally
-            {
-                document.close();
-            }
-        }
-    }
-
-    /**
-     * This will print the usage for this document.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java org.apache.pdfbox.examples.pdmodel.Annotation <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBlankPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBlankPDF.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBlankPDF.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBlankPDF.java Tue Dec  6 20:19:29 2011
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.IOException;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-
-/**
- * This will create a blank PDF and write the contents to a file.
- *
- * usage: java org.apache.pdfbox.examples.pdmodel.CreateBlankPDF &lt;outputfile.pdf&gt;
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.9 $
- */
-public class CreateBlankPDF
-{
-
-    /**
-     * This will create a blank PDF and write the contents to a file.
-     *
-     * @param file The name of the file to write to.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error while generating the document.
-     */
-    public void create( String file ) throws IOException, COSVisitorException
-    {
-        PDDocument document = null;
-        try
-        {
-            document = new PDDocument();
-            //Every document requires at least one page, so we will add one
-            //blank page.
-            PDPage blankPage = new PDPage();
-            document.addPage( blankPage );
-            document.save( file );
-        }
-        finally
-        {
-            if( document != null )
-            {
-                document.close();
-            }
-        }
-    }
-
-    /**
-     * This will create a blank document.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws IOException If there is an error writing the document data.
-     * @throws COSVisitorException If there is an error generating the data.
-     */
-    public static void main( String[] args ) throws IOException, COSVisitorException
-    {
-        if( args.length != 1 )
-        {
-            usage();
-        }
-        else
-        {
-            CreateBlankPDF creator = new CreateBlankPDF();
-            creator.create( args[0] );
-        }
-    }
-
-    /**
-     * This will print the usage of this class.
-     */
-    private static void usage()
-    {
-        System.err.println( "usage: java org.apache.pdfbox.examples.pdmodel.CreateBlankPDF <outputfile.pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBookmarks.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBookmarks.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBookmarks.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateBookmarks.java Tue Dec  6 20:19:29 2011
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageFitWidthDestination;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
-
-import java.util.List;
-
-/**
- * This is an example on how to add bookmarks to a PDF document.  It simply
- * adds 1 bookmark for every page.
- *
- * Usage: java org.apache.pdfbox.examples.pdmodel.CreateBookmarks &lt;input-pdf&gt; &lt;output-pdf&gt;
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.2 $
- */
-public class CreateBookmarks
-{
-    private CreateBookmarks()
-    {
-        //utility class
-    }
-
-    /**
-     * This will print the documents data.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 2 )
-        {
-            usage();
-        }
-        else
-        {
-            PDDocument document = null;
-            try
-            {
-                document = PDDocument.load( args[0] );
-                if( document.isEncrypted() )
-                {
-                    System.err.println( "Error: Cannot add bookmarks to encrypted document." );
-                    System.exit( 1 );
-                }
-                PDDocumentOutline outline =  new PDDocumentOutline();
-                document.getDocumentCatalog().setDocumentOutline( outline );
-                PDOutlineItem pagesOutline = new PDOutlineItem();
-                pagesOutline.setTitle( "All Pages" );
-                outline.appendChild( pagesOutline );
-                List pages = document.getDocumentCatalog().getAllPages();
-                for( int i=0; i<pages.size(); i++ )
-                {
-                    PDPage page = (PDPage)pages.get( i );
-                    PDPageFitWidthDestination dest = new PDPageFitWidthDestination();
-                    dest.setPage( page );
-                    PDOutlineItem bookmark = new PDOutlineItem();
-                    bookmark.setDestination( dest );
-                    bookmark.setTitle( "Page " + (i+1) );
-                    pagesOutline.appendChild( bookmark );
-                }
-                pagesOutline.openNode();
-                outline.openNode();
-
-                document.save( args[1] );
-            }
-            finally
-            {
-                if( document != null )
-                {
-                    document.close();
-                }
-            }
-        }
-    }
-
-    /**
-     * This will print the usage for this document.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java org.apache.pdfbox.examples.pdmodel.CreateBookmarks <input-pdf> <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateLandscapePDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateLandscapePDF.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateLandscapePDF.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateLandscapePDF.java Tue Dec  6 20:19:29 2011
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.IOException;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-import org.apache.pdfbox.pdmodel.font.PDFont;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-
-
-/**
- * This is an example of how to create a page with a landscape orientation.
- * @version $Revision: 1.0 $
- */
-public class CreateLandscapePDF
-{
-    /**
-     * Constructor.
-     */
-    public CreateLandscapePDF()
-    {
-        super();
-    }
-
-    /**
-     * creates a sample document with a landscape orientation and some text surrounded by a box.
-     *
-     * @param message The message to write in the file.
-     * @param outfile The resulting PDF.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public void doIt( String message, String  outfile ) throws IOException, COSVisitorException
-    {
-        // the document
-        PDDocument doc = null;
-        try
-        {
-            doc = new PDDocument();
-
-            PDFont font = PDType1Font.HELVETICA;
-            PDPage page = new PDPage();
-            page.setMediaBox(PDPage.PAGE_SIZE_A4);
-            page.setRotation(90);
-            doc.addPage(page);
-            PDRectangle pageSize = page.findMediaBox();
-            float pageWidth = pageSize.getWidth();
-            float fontSize = 12;
-            float stringWidth = font.getStringWidth( message )*fontSize/1000f;
-            float startX = 100;
-            float startY = 100;
-            PDPageContentStream contentStream = new PDPageContentStream(doc, page, false, false);
-            // add the rotation using the current transformation matrix
-            // including a translation of pageWidth to use the lower left corner as 0,0 reference
-            contentStream.concatenate2CTM(0, 1, -1, 0, pageWidth, 0);
-            contentStream.setFont( font, fontSize );
-            contentStream.beginText();
-            contentStream.moveTextPositionByAmount(startX, startY);
-            contentStream.drawString( message);
-            contentStream.moveTextPositionByAmount(0, 100);
-            contentStream.drawString( message);
-            contentStream.moveTextPositionByAmount(100, 100);
-            contentStream.drawString( message);
-            contentStream.endText();
-            
-            contentStream.drawLine(startX-2, startY-2, startX-2, startY+200+fontSize);
-            contentStream.drawLine(startX-2, startY+200+fontSize, startX+100+stringWidth+2, startY+200+fontSize);
-            contentStream.drawLine(startX+100+stringWidth+2, startY+200+fontSize, startX+100+stringWidth+2, startY-2);
-            contentStream.drawLine(startX+100+stringWidth+2, startY-2, startX-2, startY-2);
-            contentStream.close();
-
-            doc.save( outfile );
-        }
-        finally
-        {
-            if( doc != null )
-            {
-                doc.close();
-            }
-        }
-    }
-
-    /**
-     * This will create a PDF document with a landscape orientation and some text surrounded by a box.
-     * 
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args)
-    {
-        CreateLandscapePDF app = new CreateLandscapePDF();
-        try
-        {
-            if( args.length != 2 )
-            {
-                app.usage();
-            }
-            else
-            {
-                app.doIt( args[0], args[1] );
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private void usage()
-    {
-        System.err.println( "usage: " + this.getClass().getName() + " <Message> <output-file>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java Tue Dec  6 20:19:29 2011
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.GregorianCalendar;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentNameDictionary;
-import org.apache.pdfbox.pdmodel.PDEmbeddedFilesNameTreeNode;
-import org.apache.pdfbox.pdmodel.PDPage;
-
-import org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification;
-import org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile;
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-
-import org.apache.pdfbox.pdmodel.font.PDFont;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-
-
-/**
- * This is an example that creates a simple document and embeds a file into it..
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.2 $
- */
-public class EmbeddedFiles
-{
-    /**
-     * Constructor.
-     */
-    public EmbeddedFiles()
-    {
-        super();
-    }
-
-    /**
-     * create the second sample document from the PDF file format specification.
-     *
-     * @param file The file to write the PDF to.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public void doIt( String file) throws IOException, COSVisitorException
-    {
-        // the document
-        PDDocument doc = null;
-        try
-        {
-            doc = new PDDocument();
-
-            PDPage page = new PDPage();
-            doc.addPage( page );
-            PDFont font = PDType1Font.HELVETICA_BOLD;
-
-            PDPageContentStream contentStream = new PDPageContentStream(doc, page);
-            contentStream.beginText();
-            contentStream.setFont( font, 12 );
-            contentStream.moveTextPositionByAmount( 100, 700 );
-            contentStream.drawString( "Go to Document->File Attachments to View Embedded Files" );
-            contentStream.endText();
-            contentStream.close();
-
-            //embedded files are stored in a named tree
-            PDEmbeddedFilesNameTreeNode efTree = new PDEmbeddedFilesNameTreeNode();
-
-
-            //first create the file specification, which holds the embedded file
-            PDComplexFileSpecification fs = new PDComplexFileSpecification();
-            fs.setFile( "Test.txt" );
-            //create a dummy file stream, this would probably normally be a FileInputStream
-            byte[] data = "This is the contents of the embedded file".getBytes("ISO-8859-1");
-            ByteArrayInputStream fakeFile =
-                new ByteArrayInputStream( data );
-            PDEmbeddedFile ef = new PDEmbeddedFile(doc, fakeFile );
-            //now lets some of the optional parameters
-            ef.setSubtype( "test/plain" );
-            ef.setSize( data.length );
-            ef.setCreationDate( new GregorianCalendar() );
-            fs.setEmbeddedFile( ef );
-
-            //now add the entry to the embedded file tree and set in the document.
-            efTree.setNames( Collections.singletonMap( "My first attachment",  fs ) );
-            PDDocumentNameDictionary names = new PDDocumentNameDictionary( doc.getDocumentCatalog() );
-            names.setEmbeddedFiles( efTree );
-            doc.getDocumentCatalog().setNames( names );
-
-
-            doc.save( file );
-        }
-        finally
-        {
-            if( doc != null )
-            {
-                doc.close();
-            }
-        }
-    }
-
-    /**
-     * This will create a hello world PDF document with an embedded file.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args)
-    {
-        EmbeddedFiles app = new EmbeddedFiles();
-        try
-        {
-            if( args.length != 1 )
-            {
-                app.usage();
-            }
-            else
-            {
-                app.doIt( args[0] );
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private void usage()
-    {
-        System.err.println( "usage: " + this.getClass().getName() + " <output-file>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractMetadata.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractMetadata.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractMetadata.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractMetadata.java Tue Dec  6 20:19:29 2011
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.jempbox.xmp.XMPMetadata;
-import org.apache.jempbox.xmp.XMPSchemaBasic;
-import org.apache.jempbox.xmp.XMPSchemaDublinCore;
-import org.apache.jempbox.xmp.XMPSchemaPDF;
-
-import org.apache.pdfbox.exceptions.InvalidPasswordException;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
-import org.apache.pdfbox.pdmodel.PDDocumentInformation;
-import org.apache.pdfbox.pdmodel.common.PDMetadata;
-
-import java.text.DateFormat;
-import java.util.Calendar;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * This is an example on how to extract metadata from a PDF document.
- * <p>
- * Usage: java org.apache.pdfbox.examples.pdmodel.ExtractDocument &lt;input-pdf&gt;
- *
- * @version $Revision$
- */
-public class ExtractMetadata
-{
-    private ExtractMetadata()
-    {
-        //utility class
-    }
-
-    /**
-     * This is the main method.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 1 )
-        {
-            usage();
-            System.exit(1);
-        }
-        else
-        {
-            PDDocument document = null;
-
-            try
-            {
-                document = PDDocument.load( args[0] );
-                if (document.isEncrypted()) 
-                {
-                    try
-                    {
-                        document.decrypt("");
-                    }
-                    catch( InvalidPasswordException e )
-                    {
-                        System.err.println( "Error: The document is encrypted." );
-                    }
-                    catch( org.apache.pdfbox.exceptions.CryptographyException e )
-                    {
-                        e.printStackTrace();
-                    }
-                }
-                PDDocumentCatalog catalog = document.getDocumentCatalog();
-                PDMetadata meta = catalog.getMetadata();
-                if ( meta != null)
-                {
-                    XMPMetadata metadata = meta.exportXMPMetadata();
-    
-                    XMPSchemaDublinCore dc = metadata.getDublinCoreSchema();
-                    if (dc != null)
-                    {
-                        display("Title:", dc.getTitle());
-                        display("Description:", dc.getDescription());
-                        list("Creators: ", dc.getCreators());
-                        list("Dates:", dc.getDates());
-                    }
-    
-                    XMPSchemaPDF pdf = metadata.getPDFSchema();
-                    if (pdf != null)
-                    {
-                        display("Keywords:", pdf.getKeywords());
-                        display("PDF Version:", pdf.getPDFVersion());
-                        display("PDF Producer:", pdf.getProducer());
-                    }
-    
-                    XMPSchemaBasic basic = metadata.getBasicSchema();
-                    if (basic != null)
-                    {
-                        display("Create Date:", basic.getCreateDate());
-                        display("Modify Date:", basic.getModifyDate());
-                        display("Creator Tool:", basic.getCreatorTool());
-                    }
-                }
-                else
-                {
-                    // The pdf doesn't contain any metadata, try to use the document information instead
-                    PDDocumentInformation information = document.getDocumentInformation();
-                    if ( information != null)
-                    {
-                        showDocumentInformation(information);
-                    }
-                }
-                
-            }
-            finally
-            {
-                if( document != null )
-                {
-                    document.close();
-                }
-            }
-        }
-    }
-
-    private static void showDocumentInformation(PDDocumentInformation information)
-    {
-        display("Title:", information.getTitle());
-        display("Subject:", information.getSubject());
-        display("Author:", information.getAuthor());
-        display("Creator:", information.getCreator());
-        display("Producer:", information.getProducer());
-    }
-    
-    private static void list(String title, List list)
-    {
-        if (list == null)
-        {
-            return;
-        }
-        System.out.println(title);
-        Iterator iter = list.iterator();
-        while (iter.hasNext())
-        {
-            Object o = iter.next();
-            System.out.println("  " + format(o));
-        }
-    }
-
-    private static String format(Object o)
-    {
-        if (o instanceof Calendar)
-        {
-            Calendar cal = (Calendar)o;
-            return DateFormat.getDateInstance().format(cal.getTime());
-        }
-        else
-        {
-            return o.toString();
-        }
-    }
-
-    private static void display(String title, Object value)
-    {
-        if (value != null)
-        {
-            System.out.println(title + " " + format(value));
-        }
-    }
-
-    /**
-     * This will print the usage for this program.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java " + ExtractMetadata.class.getName() + " <input-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/GoToSecondBookmarkOnOpen.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/GoToSecondBookmarkOnOpen.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/GoToSecondBookmarkOnOpen.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/GoToSecondBookmarkOnOpen.java Tue Dec  6 20:19:29 2011
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.interactive.action.type.PDActionGoTo;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDDestination;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
-import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
-
-import java.io.IOException;
-import java.util.List;
-
-/**
- * This is an example on how to an action to go to the second page when the PDF is opened.
- *
- * Usage: java org.apache.pdfbox.examples.pdmodel.GoToSecondPageOnOpen &lt;input-pdf&gt; &lt;output-pdf&gt;
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.3 $
- */
-public class GoToSecondBookmarkOnOpen
-{
-    private GoToSecondBookmarkOnOpen()
-    {
-        //utility class
-    }
-
-    /**
-     * This will print the documents data.
-     *
-     * @param args The command line arguments.
-     *
-     * @throws Exception If there is an error parsing the document.
-     */
-    public static void main( String[] args ) throws Exception
-    {
-        if( args.length != 2 )
-        {
-            usage();
-        }
-        else
-        {
-            PDDocument document = null;
-            try
-            {
-                document = PDDocument.load( args[0] );
-                if( document.isEncrypted() )
-                {
-                    System.err.println( "Error: Cannot add bookmark destination to encrypted documents." );
-                    System.exit( 1 );
-                }
-
-                List pages = document.getDocumentCatalog().getAllPages();
-                if( pages.size() < 2 )
-                {
-                    throw new IOException( "Error: The PDF must have at least 2 pages.");
-                }
-                PDDocumentOutline bookmarks = document.getDocumentCatalog().getDocumentOutline();
-                if( bookmarks == null )
-                {
-                    throw new IOException( "Error: The PDF does not contain any bookmarks" );
-                }
-                PDOutlineItem item = bookmarks.getFirstChild().getNextSibling();
-                PDDestination dest = item.getDestination();
-                PDActionGoTo action = new PDActionGoTo();
-                action.setDestination(dest);
-                document.getDocumentCatalog().setOpenAction(action);
-
-                document.save( args[1] );
-            }
-            finally
-            {
-                if( document != null )
-                {
-                    document.close();
-                }
-            }
-        }
-    }
-
-    /**
-     * This will print the usage for this document.
-     */
-    private static void usage()
-    {
-        System.err.println( "Usage: java org.apache.pdfbox.examples.pdmodel.GoToSecondBookmarkOnOpen" +
-            "<input-pdf> <output-pdf>" );
-    }
-}

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorld.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorld.java?rev=1211082&r1=1211081&r2=1211082&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorld.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/HelloWorld.java Tue Dec  6 20:19:29 2011
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.pdfbox.examples.pdmodel;
-
-import java.io.IOException;
-
-import org.apache.pdfbox.exceptions.COSVisitorException;
-
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-
-import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
-
-import org.apache.pdfbox.pdmodel.font.PDFont;
-import org.apache.pdfbox.pdmodel.font.PDType1Font;
-
-
-/**
- * This is an example that creates a simple document.
- *
- * The example is taken from the pdf file format specification.
- *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.6 $
- */
-public class HelloWorld
-{
-    /**
-     * Constructor.
-     */
-    public HelloWorld()
-    {
-        super();
-    }
-
-    /**
-     * create the second sample document from the PDF file format specification.
-     *
-     * @param file The file to write the PDF to.
-     * @param message The message to write in the file.
-     *
-     * @throws IOException If there is an error writing the data.
-     * @throws COSVisitorException If there is an error writing the PDF.
-     */
-    public void doIt( String file, String message) throws IOException, COSVisitorException
-    {
-        // the document
-        PDDocument doc = null;
-        try
-        {
-            doc = new PDDocument();
-
-            PDPage page = new PDPage();
-            doc.addPage( page );
-            PDFont font = PDType1Font.HELVETICA_BOLD;
-
-            PDPageContentStream contentStream = new PDPageContentStream(doc, page);
-            contentStream.beginText();
-            contentStream.setFont( font, 12 );
-            contentStream.moveTextPositionByAmount( 100, 700 );
-            contentStream.drawString( message );
-            contentStream.endText();
-            contentStream.close();
-            doc.save( file );
-        }
-        finally
-        {
-            if( doc != null )
-            {
-                doc.close();
-            }
-        }
-    }
-
-    /**
-     * This will create a hello world PDF document.
-     * <br />
-     * see usage() for commandline
-     *
-     * @param args Command line arguments.
-     */
-    public static void main(String[] args)
-    {
-        HelloWorld app = new HelloWorld();
-        try
-        {
-            if( args.length != 2 )
-            {
-                app.usage();
-            }
-            else
-            {
-                app.doIt( args[0], args[1] );
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * This will print out a message telling how to use this example.
-     */
-    private void usage()
-    {
-        System.err.println( "usage: " + this.getClass().getName() + " <output-file> <Message>" );
-    }
-}