예제 #1
0
 public ImagePdfBytesInfo(PdfImageXObject imageXObject)
 {
     pngColorType = -1;
     bpc          = imageXObject.GetPdfObject().GetAsNumber(PdfName.BitsPerComponent).IntValue();
     pngBitDepth  = bpc;
     palette      = null;
     icc          = null;
     stride       = 0;
     width        = (int)imageXObject.GetWidth();
     height       = (int)imageXObject.GetHeight();
     colorspace   = imageXObject.GetPdfObject().Get(PdfName.ColorSpace);
     decode       = imageXObject.GetPdfObject().GetAsArray(PdfName.Decode);
     FindColorspace(colorspace, true);
 }
예제 #2
0
        public virtual void AddFlushedImageXObjectToCanvas()
        {
            String          filename     = destinationFolder + "addFlushedImageXObjectToCanvas.pdf";
            String          cmpfile      = sourceFolder + "cmp_addFlushedImageXObjectToCanvas.pdf";
            String          image        = sourceFolder + "image.png";
            PdfDocument     pdfDoc       = new PdfDocument(new PdfWriter(filename));
            PdfImageXObject imageXObject = new PdfImageXObject(ImageDataFactory.Create(image));

            // flushing pdf object directly
            imageXObject.GetPdfObject().MakeIndirect(pdfDoc).Flush();
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.AddXObject(imageXObject, 50, 500, 200);
            pdfDoc.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(filename, cmpfile, destinationFolder));
        }