pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Lehmkühler (JIRA) <j...@apache.org>
Subject [jira] [Resolved] (PDFBOX-1306) Transparent PNG file display with black border
Date Sun, 13 May 2012 07:26:50 GMT

     [ https://issues.apache.org/jira/browse/PDFBOX-1306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andreas Lehmkühler resolved PDFBOX-1306.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.7.0
         Assignee: Andreas Lehmkühler

I fixed the smask creation in revision 1337790.

BTW: You don't need to create an PDXObjectImage using the stream of a PDJpeg object. Just
use the PDJpeg.
                
> Transparent PNG file display with black border 
> -----------------------------------------------
>
>                 Key: PDFBOX-1306
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1306
>             Project: PDFBox
>          Issue Type: Bug
>            Reporter: Manoj Patel
>            Assignee: Andreas Lehmkühler
>             Fix For: 1.7.0
>
>         Attachments: African_Elephant_Transparent.png, GeneratedFileIText.pdf, GeneratedFilePDFBox.pdf
>
>
> Hi,
> I have added Transparent PNG file in PDF with PDFBox and it's display black border around
image. I have added same PNG file with IText and it's display good in PDF.
> I have used below function to add PNG file. I am using latest PDFBox SVN code to add
PNG file.
> 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 ) );
>                 FileInputStream inputStream = new FileInputStream(image);
>                 PDStream stream = new PDStream(doc, inputStream);
>                 ximage = new PDPixelMap(stream);
>                 //throw new IOException( "Image type not supported:" + image );
>             }*/
>             
>             System.out.println("Testing");
>             BufferedImage stampImage = null;
>             try{
>             	stampImage = ImageIO.read(new File(image));
>             	
>             }catch(Exception e){
>             	e.printStackTrace();
>             }
>             
>             ximage = new PDJpeg(doc, stampImage );
>             //ximage = new PDPixelMap(doc, stampImage);
>             COSStream stream = ximage.getCOSStream();
>             PDStream pdStream = new PDStream(stream);
>             ximage = new PDPixelMap(pdStream);
>             //BoxImage imageData = BoxImage.getInstance(image);
>             
>             //System.out.println(""+imageData.getImageType());
>             PDPageContentStream contentStream = new PDPageContentStream(doc, page, true,
true, true);
>             AffineTransform transform = new AffineTransform(stampImage.getWidth(), 0,
0, stampImage.getHeight(), 20, 200);
>             //contentStream.drawImage( ximage, 20, 20 );
>             contentStream.drawXObject(ximage, transform);
>             contentStream.close();
>             doc.save( outputFile );
>         }
>         finally
>         {
>             if( doc != null )
>             {
>                 doc.close();
>             }
>         }
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message