You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Erik Scholtz (JIRA)" <ji...@apache.org> on 2010/01/27 19:14:34 UTC

[jira] Commented: (PDFBOX-190) A drawing error occured

    [ https://issues.apache.org/jira/browse/PDFBOX-190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805598#action_12805598 ] 

Erik Scholtz commented on PDFBOX-190:
-------------------------------------

"Works for me" - it would be usefull, if you would attach the generated PDF and the JPG you are using. I tested the code with a jpg and do not get the error. Perhaps you have used a defective JPG?

> A drawing error occured
> -----------------------
>
>                 Key: PDFBOX-190
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-190
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>            Priority: Minor
>
> [imported from SourceForge]
> http://sourceforge.net/tracker/index.php?group_id=78314&atid=552832&aid=1542907
> Originally submitted by nobody on 2006-08-18 15:54.
> I am using the example code to draw a jpg onto a pdf.
> There are no errors thrown but when I open the pdf the
> following error message is thrown - "A drawing error
> occured".
> Any help is appreciated.
> Email address krreddy@gmail.com
> Code below
> /**
>  * Copyright (c) 2005, www.pdfbox.org
>  * All rights reserved.
>  *
>  * Redistribution and use in source and binary forms,
> with or without
>  * modification, are permitted provided that the
> following conditions are met:
>  *
>  * 1. Redistributions of source code must retain the
> above copyright notice,
>  *    this list of conditions and the following disclaimer.
>  * 2. Redistributions in binary form must reproduce the
> above copyright notice,
>  *    this list of conditions and the following
> disclaimer in the documentation
>  *    and/or other materials provided with the
> distribution.
>  * 3. Neither the name of pdfbox; nor the names of its
>  *    contributors may be used to endorse or promote
> products derived from this
>  *    software without specific prior written permission.
>  *
>  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
> AND CONTRIBUTORS "AS IS"
>  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
> BUT NOT LIMITED TO, THE
>  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> FOR A PARTICULAR PURPOSE ARE
>  * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
> CONTRIBUTORS BE LIABLE FOR ANY
>  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL DAMAGES
>  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> SUBSTITUTE GOODS OR SERVICES;
>  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> INTERRUPTION) HOWEVER CAUSED AND ON
>  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> LIABILITY, OR TORT
>  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
> WAY OUT OF THE USE OF THIS
>  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> DAMAGE.
>  *
>  * http://www.pdfbox.org
>  *
>  */
> package edu.mayo.pcs.pdf;
> import java.awt.print.PrinterException;
> import java.io.FileInputStream;
> import java.io.FileNotFoundException;
> import java.io.IOException;
> import org.pdfbox.exceptions.COSVisitorException;
> import org.pdfbox.pdmodel.PDDocument;
> import org.pdfbox.pdmodel.PDPage;
> import org.pdfbox.pdmodel.edit.PDPageContentStream;
> import org.pdfbox.pdmodel.font.PDFont;
> import org.pdfbox.pdmodel.font.PDType1Font;
> import org.pdfbox.pdmodel.graphics.xobject.PDJpeg;
> import org.pdfbox.pdmodel.graphics.xobject.PDXObjectImage;
> /**
>  * This is an example that creates a simple document.
>  *
>  * The example is taken from the pdf file format
> specification.
>  *
>  * @author Ben Litchfield (ben@csh.rit.edu)
>  * @version $Revision: 1.5 $
>  */
> public class ImageToPDF {
>     /**
>      * create the second sample document from the PDF
> file format specification.
>      *
>      * @param file The file to write the PDF to.
>      * @param image The filename of the image to put in
> the PDF.
>      *
>      * @throws IOException If there is an error writing
> the data.
>      * @throws COSVisitorException If there is an error
> writing the PDF.
>      */
>     public void createPDFFromImage(String file, String
> image) throws PrinterException,
>             COSVisitorException {
>         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("This is a
> text pdf doc");
>                 contentStream.endText();
>                 PDXObjectImage ximage = null;
>                 if (image.toLowerCase().endsWith(".jpg"))
>                     {
>                         ximage = new PDJpeg(doc, new
> FileInputStream(image));
>                     }
>                 contentStream.drawImage(ximage, 20, 200);
>                 contentStream.close();
>                 doc.save(file);
>             } catch (FileNotFoundException e)
>             {
>                 // TODO Auto-generated catch block
>                 e.printStackTrace();
>             } catch (IOException e)
>             {
>                 // TODO Auto-generated catch block
>                 e.printStackTrace();
>             }
>     }
>     /**
>      * This will create a PDF document with a single
> image on it.
>      * <br />
>      * see usage() for commandline
>      *
>      * @param args Command line arguments.
>      */
>     public static void main(String[] args) {
>         ImageToPDF app = new ImageToPDF();
>         try
>             {
>                 app.createPDFFromImage("xyz.pdf",
> "mc.jpg");
>             } 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> <image>");
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.