public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); var filter = (PdfName)image.Get(PdfName.FILTER); if (filter != null) { System.Drawing.Image drawingImage = image.GetDrawingImage(); string extension = "."; if (filter == PdfName.DCTDECODE) { extension += PdfImageObject.ImageBytesType.JPG.FileExtension; } else if (filter == PdfName.JPXDECODE) { extension += PdfImageObject.ImageBytesType.JP2.FileExtension; } else if (filter == PdfName.FLATEDECODE) { extension += PdfImageObject.ImageBytesType.PNG.FileExtension; } else if (filter == PdfName.LZWDECODE) { extension += PdfImageObject.ImageBytesType.CCITT.FileExtension; } this.Images.Add(drawingImage, extension); string path = System.IO.Path.GetFullPath(System.AppDomain.CurrentDomain.BaseDirectory); drawingImage.Save(path + "temp" + extension, drawingImage.RawFormat); } }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); PdfName filter = (PdfName)image.Get(PdfName.FILTER); if (filter != null) { System.Drawing.Image drawingImage = image.GetDrawingImage(); string extension = "."; if (filter == PdfName.DCTDECODE) { extension += PdfImageObject.ImageBytesType.JPG.FileExtension; } else if (filter == PdfName.JPXDECODE) { extension += PdfImageObject.ImageBytesType.JP2.FileExtension; } else if (filter == PdfName.FLATEDECODE) { extension += PdfImageObject.ImageBytesType.PNG.FileExtension; } else if (filter == PdfName.LZWDECODE) { extension += PdfImageObject.ImageBytesType.CCITT.FileExtension; } this.Images.Add(drawingImage, extension); } }
/* ----------------------------------------------------------------- */ /// /// RenderImage /// /// <summary> /// Occurs when the specified image is rendered. /// </summary> /// /* ----------------------------------------------------------------- */ public void RenderImage(ImageRenderInfo info) { var obj = info.GetImage(); if (!(obj.Get(PdfName.FILTER) is PdfName)) { return; } var raw = obj.GetDrawingImage(); if (raw == null) { return; } var sm = obj.GetDictionary().GetDirectObject(PdfName.SMASK); if (sm == null) { _inner.Add(raw); return; } var tmp = new PdfImageObject(sm as PRStream); var mask = tmp.GetDrawingImage(); var dest = Restore(raw as Bitmap, mask as Bitmap); _inner.Add(dest ?? raw); }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); var pdfObject = image.Get(PdfName.FILTER); PdfName filter = null; if (pdfObject is PdfName) { filter = (PdfName)pdfObject; var drawingImage = GetImage(filter, image); if (drawingImage != null) { Images.Add(drawingImage.Item2, drawingImage.Item1); } } if (pdfObject is PdfArray) { var pdfArray = (PdfArray)pdfObject; foreach (PdfName pdfName in pdfArray) { var drawingImage = GetImage(pdfName, image); Images.Add(drawingImage.Item2, drawingImage.Item1); } } }
/// <summary> /// Gets all the images in the given document /// </summary> /// <param name="file"></param> private List <Image> ExtractImages(string file) { var randomAccess = new RandomAccessFileOrArray(file); var reader = new PdfReader(randomAccess, null); List <Image> imgList = new List <Image>(); for (int i = 0; i <= reader.XrefSize - 1; i++) { var pdfObject = reader.GetPdfObject(i); if ((pdfObject != null) && pdfObject.IsStream()) { var PDFStremObj = (PdfStream)pdfObject; PdfObject subtype = PDFStremObj.Get(PdfName.SUBTYPE); if ((subtype != null) && subtype.ToString() == PdfName.IMAGE.ToString()) { PdfImageObject PdfImageObj = new PdfImageObject((PRStream)PDFStremObj); Image ImgPDF = PdfImageObj.GetDrawingImage(); imgList.Add(ImgPDF); } } } reader.Close(); return(imgList); }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = null; // renderInfo.GetImage(); try { image = renderInfo.GetImage(); if (image == null) { return; } ImageNames.Add(string.Format( "Image{0}.{1}", renderInfo.GetRef().Number, image.GetFileType() )); using (MemoryStream ms = new MemoryStream(image.GetImageAsBytes())) { Images.Add(ms.ToArray()); } } catch (Exception ie) { /* * pass-through; image type not supported by iText[Sharp]; e.g. jbig2 */ WFLogger.NLogger.ErrorException("ERROR: RenderImage failed!", ie); } }
// --------------------------------------------------------------------------- /** * @see com.itextpdf.text.pdf.parser.RenderListener#renderImage( * com.itextpdf.text.pdf.parser.ImageRenderInfo) */ public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); //PdfName filter = (PdfName)image.Get(PdfName.FILTER); string imageName = string.Format("{0:0000}_{1:0000}.{2}", PageIndex, ImagesList.Count, image.GetImageBytesType().FileExtension); var pageImageIndex = new PageImageIndex { ImageName = imageName, ImageIndex = ImagesList.Count, PageIndex = PageIndex }; var imageType = image.GetImageBytesType(); //if (imageType != PdfImageObject.ImageBytesType.JBIG2) //{ //var bmp = image.GetDrawingImage(); // Write image to file string pathToSave = string.Format(@"{0}\{1}", OutputPath, imageName); //bmp.Save(string.Format(pathToSave)); // bmp.Dispose(); // Sometime gdi+ error happen. We must write byte directly to disk if (!Directory.Exists(OutputPath)) { Directory.CreateDirectory(OutputPath); } var bytes = image.GetImageAsBytes(); File.WriteAllBytes(pathToSave, bytes); ImagesList.Add(pageImageIndex, null); //} }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = null; try { image = renderInfo.GetImage(); if (image == null) { return; } ImageNames.Add(string.Format( "qrcode.{0}", image.GetFileType() )); using (MemoryStream ms = new MemoryStream(image.GetImageAsBytes())) { Images.Add(ms.ToArray()); } } catch (IOException ie) { throw ie; } }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); try { image = renderInfo.GetImage(); if (image == null) { return; } ImageNames.Add(string.Format( "Image{0}.{1}", renderInfo.GetRef().Number, image.GetFileType() )); using (MemoryStream ms = new MemoryStream(image.GetImageAsBytes())) { Images.Add(ms.ToArray()); } } catch (IOException ex) { throw ex; } }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = null; Image drawingImage = null; try { image = renderInfo.GetImage(); var imgBytesLen = image.GetImageAsBytes().Length; // Smallest image we can OCR is 40 x 40 if (imgBytesLen > 1600) { drawingImage = image.GetDrawingImage(); } } catch (Exception ex) { _log.Error("Exception in GetImage or GetDrawingImage: {0}", ex); } if (drawingImage != null) { this.Images.Add(drawingImage); } }
// --------------------------------------------------------------------------- /** * @see com.itextpdf.text.pdf.parser.RenderListener#renderImage( * com.itextpdf.text.pdf.parser.ImageRenderInfo) */ public void RenderImage(ImageRenderInfo renderInfo) { try { PdfImageObject image = renderInfo.GetImage(); if (image == null /* * do not attempt to parse => jbig2 decoder not fully implemented. * THE JAVA EXAMPLE INCORRECTLY CREATES A CORRUPT JBIG2 IMAGE * BECAUSE THERE IS NO EXPLICIT CHECK. I POSTED TWICE TO THE MAILING * LIST, SINCE VERSION 5.1.3 BUT THE ERROR HAS NOT BEEN CORRECTED. */ || image.GetImageBytesType() == PdfImageObject.ImageBytesType.JBIG2 ) { return; } _imageNames.Add(string.Format( "Image{0}.{1}", renderInfo.GetRef().Number, image.GetFileType() )); _myImages.Add(image.GetImageAsBytes()); } catch { // pass through any other unsupported image types } }
public static byte[] GetPictureFromPdf(Stream stream) { byte[] imageData = new byte[0]; string path = Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).FullName, "wwwroot", "CV Parser", "Pictures"); using (PdfReader pdfReader = new PdfReader(stream)) { for (int i = 0; i < pdfReader.XrefSize; i++) { PdfObject po = pdfReader.GetPdfObject(i); if (po == null || !po.IsStream()) //object not found so continue { continue; } PRStream pst = (PRStream)po; PdfObject type = pst.Get(PdfName.SUBTYPE); //get the object type //check if the object is the image type object if (type != null && type.ToString().Equals(PdfName.IMAGE.ToString())) { PdfImageObject pio = new PdfImageObject(pst); int imageLength = pio.GetImageAsBytes().Length; if (imageLength != WatermarkSize && imageLength > imageData.Length) { imageData = pio.GetImageAsBytes(); } } } } return(imageData); }
private string GetStreamType(PdfObject obj) { if (obj == null) { return("unknown"); } if (obj.IsStream()) { var stream = (PRStream)obj; try { var pdfImage = new PdfImageObject(stream); var drawingImage = pdfImage.GetDrawingImage(); if (pdfImage != null) { return($"{drawingImage.Width}x{drawingImage.Height} {pdfImage.GetFileType()} Image"); } } catch (Exception ex) { var sb = new StringBuilder(); foreach (var item in stream.Keys) { var streamKeyValue = stream.Get(item); sb.Append(item + ":" + streamKeyValue + " "); } return(sb.ToString()); } } return(string.Empty); }
/// <summary> /// Extract Image from PDF file and Store in Image Object /// </summary> /// <param name="pdfPath">Specify PDF Source Path</param> /// <returns>List</returns> public static List <Image> ExtractImages(string pdfPath) { var images = new List <Image>(); var rafObj = new RandomAccessFileOrArray(pdfPath); var pdfReader = new PdfReader(rafObj, null); for (int i = 0; i < pdfReader.XrefSize; i++) { var pdfObject = pdfReader.GetPdfObject(i); if ((pdfObject != null) && pdfObject.IsStream()) { var pdfStream = (PdfStream)pdfObject; var subtype = pdfStream.Get(PdfName.SUBTYPE); if ((subtype != null) && subtype.ToString() == PdfName.IMAGE.ToString()) { var pdfImageObj = new PdfImageObject((PRStream)pdfStream); var image = pdfImageObj.GetDrawingImage(); images.Add(image); } } } pdfReader.Close(); return(images); }
public void Compress(PdfObject pdfObject, PdfDictionary pdfImageObject, PdfStamper stamper, int pageNum) { var image = new PdfImageObject((PRStream)pdfImageObject); var oldBytes = image.GetImageAsBytes(); var compressedBitmapInfo = CompressImage(oldBytes, CompressionQuality.Low, pageNum); Bitmap bitmap = compressedBitmapInfo.Item1; if (compressedBitmapInfo.Item1 == null) { return; } iTextSharp.text.Image compressedImage; using (var shrinkedBitmap = ShrinkImage(bitmap, _recommendedCompression)) { if (shrinkedBitmap == null) { return; } Image palettedImage = shrinkedBitmap; if (compressedBitmapInfo.Item2 != PixelFormat.Undefined) { var bitsPerPixel = GetIntPalette(compressedBitmapInfo.Item2); if (bitsPerPixel > 0) { palettedImage = GdiPaletteConverter.ConvertBitmapTo1Or8Bpp(shrinkedBitmap, bitsPerPixel); } } using (var msInternal = new MemoryStream()) { //Checked for T_ file, resolution: Png format took less space up to 10% rather JPEG //var newBytes = ConvertImageToBytes(palettedImage, 90); palettedImage.Save(msInternal, _imageOutputFormat); var newBytes = msInternal.ToArray(); compressedImage = iTextSharp.text.Image.GetInstance(newBytes); } shrinkedBitmap.Dispose(); if (compressedBitmapInfo.Item1 != null) { compressedBitmapInfo.Item1.Dispose(); } palettedImage.Dispose(); } PdfReader.KillIndirect(pdfObject); var mask = compressedImage.ImageMask; if (mask != null) { stamper.Writer.AddDirectImageSimple(mask); } stamper.Writer.AddDirectImageSimple(compressedImage, (PRIndirectReference)pdfObject); }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); ImageInfo eii = new ImageInfo(); Matrix m = renderInfo.GetImageCTM(); try { Image drawingImage = image.GetDrawingImage(); double hPoints = m[0]; double vPoints = m[4]; //72 Points = 1 inch so... double widthInches = hPoints / 72; double heightInches = vPoints / 72; double hDPI = drawingImage.Width / widthInches; double vDPI = drawingImage.Height / heightInches; eii.hDPI = Math.Round(hDPI); eii.vDPI = Math.Round(vDPI); eii.width = drawingImage.Width; eii.height = drawingImage.Height; eii.pixelFormat = drawingImage.PixelFormat; } catch (Exception e) { //It was not possible to extract image with image.GetDrawingImage(); //Don't throw exception to continue parsing the document log.Warn(e.Message, e); } ImagesInfo.Add(eii); }
private void TestFile(String filename, int page, String objectid) { PdfReader pdfReader = TestResourceUtils.GetResourceAsPdfReader(TEST_RESOURCES_PATH, filename); try { PdfDictionary resources = pdfReader.GetPageResources(page); PdfDictionary xobjects = resources.GetAsDict(PdfName.XOBJECT); PdfIndirectReference objRef = xobjects.GetAsIndirectObject(new PdfName(objectid)); if (objRef == null) { throw new NullReferenceException("Reference " + objectid + " not found - Available keys are " + xobjects.Keys); } PRStream stream = (PRStream)PdfReader.GetPdfObject(objRef); PdfDictionary colorSpaceDic = resources != null?resources.GetAsDict(PdfName.COLORSPACE) : null; PdfImageObject img = new PdfImageObject(stream, colorSpaceDic); byte[] result = img.GetImageAsBytes(); Assert.NotNull(result); int zeroCount = 0; foreach (byte b in result) { if (b == 0) { zeroCount++; } } Assert.IsTrue(zeroCount > 0); } finally { pdfReader.Close(); } }
public void RenderImage(ImageRenderInfo renderInfo) { try { PdfImageObject image = renderInfo.GetImage(); if (image != null)//Added By DS To Handle Exception { //PdfName filter = (PdfName)image.Get(PdfName.FILTER);// Commented By DS To Handle Exception PdfName filter = null; //int width = Convert.ToInt32(image.Get(PdfName.WIDTH).ToString()); //int bitsPerComponent = Convert.ToInt32(image.Get(PdfName.BITSPERCOMPONENT).ToString()); //string subtype = image.Get(PdfName.SUBTYPE).ToString(); //int height = Convert.ToInt32(image.Get(PdfName.HEIGHT).ToString()); //int length = Convert.ToInt32(image.Get(PdfName.LENGTH).ToString()); //string colorSpace = image.Get(PdfName.COLORSPACE).ToString(); /* It appears to be safe to assume that when filter == null, PdfImageObject * does not know how to decode the image to a System.Drawing.Image. * * Uncomment the code above to verify, but when I've seen this happen, * width, height and bits per component all equal zero as well. */ //if (filter != null)// Commented By DS To Handle Exception //{ System.Drawing.Image drawingImage = image.GetDrawingImage(); string extension = "."; if (filter == PdfName.DCTDECODE) { extension += PdfImageObject.ImageBytesType.JPG.FileExtension; } else if (filter == PdfName.JPXDECODE) { extension += PdfImageObject.ImageBytesType.JP2.FileExtension; } else if (filter == PdfName.FLATEDECODE) { extension += PdfImageObject.ImageBytesType.PNG.FileExtension; } else if (filter == PdfName.LZWDECODE) { extension += PdfImageObject.ImageBytesType.CCITT.FileExtension; } /* Rather than struggle with the image stream and try to figure out how to handle * BitMapData scan lines in various formats (like virtually every sample I've found * online), use the PdfImageObject.GetDrawingImage() method, which does the work for us. */ this.Images.Add(drawingImage, extension); //}// Commented By DS To Handle Exception } } catch (Exception ex) { throw ex; } }
// --------------------------------------------------------------------------- /** * @see com.itextpdf.text.pdf.parser.RenderListener#renderImage( * com.itextpdf.text.pdf.parser.ImageRenderInfo) */ public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); //PdfName filter = (PdfName)image.Get(PdfName.FILTER); _imageNames.Add(string.Format("{0:0000}_{1:0000}.{2}", PageIndex, _imageNames.Count, image.GetImageBytesType().FileExtension)); _ImageBytes.Add(image.GetImageAsBytes()); }
public void RenderImage(ImageRenderInfo renderInfo) { try { image = renderInfo.GetImage(); } catch (System.IO.IOException) { } }
private ImgFileType _GetFileType() { ImgFileType result = new ImgFileType(); result = ImgFileType.Unknown; PdfImageObject imageObject = null; try { imageObject = IsMask ? new PdfImageObject(_maskStream) : new PdfImageObject(_stream); } catch (UnsupportedPdfException) { return(ImgFileType.Bmp); } string fileType = imageObject.GetFileType().ToUpper(); switch (fileType) { case "PNG": result = ImgFileType.PNG; break; case "JBIG2": result = ImgFileType.JBIG2; break; case "JP2": result = ImgFileType.JP2; break; case "JPG": result = ImgFileType.JPG; break; case "TIF": result = ImgFileType.TIF; break; } if (result == ImgFileType.Unknown && (PixelFormat == PixelFormat.Format1bppIndexed || PixelFormat == PixelFormat.Format4bppIndexed)) { result = ImgFileType.Bmp; } if (result == ImgFileType.Unknown) { throw new Exception("Cant Get FileType"); } return(result); }
public void RenderImageOrg(ImageRenderInfo renderInfo) { PdfImageObject pdfimage = renderInfo.GetImage(); string imgtp = pdfimage.GetFileType(); String imageFileName = String.Format("{0}_{1:000}_{2}.{3}", _imgname, _currentPage, _imgNo, imgtp); imageFileName = _outputFolder + "\\" + imageFileName; var imageRawBytes = pdfimage.GetImageAsBytes(); File.WriteAllBytes(imageFileName, imageRawBytes); _imgNo++; }
private ImageFormat _imageOutputFormat = ImageFormat.Png; //for T_.., Sthlm.. files public void Compress(PdfObject pdfObject, PdfDictionary pdfImageObject, PdfStamper stamper, int pageNum) { var stream = (PRStream)pdfImageObject; var image = new PdfImageObject(stream); var imageBytes = image.GetImageAsBytes(); using (var ms = new MemoryStream(imageBytes)) { var fileType = FreeImage.GetFileTypeFromStream(ms); var sourceBitmap = FreeImage.LoadFromStream(ms, FREE_IMAGE_LOAD_FLAGS.PNG_IGNOREGAMMA, ref fileType); var dotnetBitmap = FreeImage.GetBitmap(sourceBitmap); iTextSharp.text.Image compressedImage; using (var shrinkedBitmap = ShrinkImage(dotnetBitmap, _recommendedCompression)) { if (shrinkedBitmap == null) { return; } System.Drawing.Image newImage = shrinkedBitmap; if (DefineBitPerPixel(sourceBitmap) <= 8) { newImage = GdiPaletteConverter.ConvertBitmapTo1Or8Bpp(shrinkedBitmap, 1); } using (var msInternal = new MemoryStream()) { newImage.Save(msInternal, _imageOutputFormat); var newBytes = msInternal.ToArray(); compressedImage = iTextSharp.text.Image.GetInstance(newBytes); } shrinkedBitmap.Dispose(); newImage.Dispose(); } dotnetBitmap.Dispose(); FreeImage.Unload(sourceBitmap); sourceBitmap.SetNull(); PdfReader.KillIndirect(pdfObject); stamper.Writer.CompressionLevel = PdfStream.BEST_COMPRESSION; var mask = compressedImage.ImageMask; if (mask != null) { stamper.Writer.AddDirectImageSimple(mask); } stamper.Writer.AddDirectImageSimple(compressedImage, (PRIndirectReference)pdfObject); } }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject imageObject = renderInfo.GetImage(); if (imageObject == null) { Console.WriteLine("Image {0} could not be read.", renderInfo.GetRef().Number); } else { Images.Add(imageObject.GetDrawingImage()); } }
public void RenderImage(ImageRenderInfo renderInfo) { PdfImageObject image = renderInfo.GetImage(); string fileType = image.GetFileType(); if (images.ContainsKey(fileType)) { images[fileType] = images[fileType] + 1; } else { images.Add(fileType, 1); } }
public void RenderImage(ImageRenderInfo renderInfo) { imageNumber++; expectingTitle = true; PdfImageObject imageObject = renderInfo.GetImage(); if (imageObject == null) { Console.WriteLine("Image {0} could not be read.", imageNumber); } else { File.WriteAllBytes(string.Format(format, imageNumber, imageObject.GetFileType()), imageObject.GetImageAsBytes()); } }
private bool TryToReadImage(PRStream stream) { try { var pdfImage = new PdfImageObject(stream); picImage.Image = null; picImage.Image = pdfImage.GetDrawingImage(); tsMessage.Text = "Image Size = " + stream.Length; return(true); } catch (Exception e) { return(false); } }
static private void InsertIntoDictionary(PdfDocument doc, PdfPage page, PdfImageObject image) { //Get page dictionary, list of indirect objects and original page content var pageDict = page.Dictionary; var list = PdfIndirectList.FromPdfDocument(doc); //Convert contents to array. PdfTypeArray array = ConvertContentsToArray(pageDict["Contents"], list, pageDict); //Get stream of image. IntPtr streamHandle = Pdfium.FPDFImageObj_GenerateStream(image.Handle, page.Handle); var stream = PdfTypeStream.Create(streamHandle); //Add image's stream into list of indirect objects and then add it to array. int num = list.Add(stream); array.AddIndirect(list, num); }
/// BT = Beginning of a text object operator /// ET = End of a text object operator /// Td move to the start of next line /// 5 Ts = superscript /// -5 Ts = subscript /// public List <byte[]> ExtractImages(string inFileName, ImageFormat imageFormat, int minimumHeight, int minumumWidth) { List <byte[]> extractedImages = new List <byte[]>(); PdfReader pdfReader = new PdfReader(inFileName); for (int pageNumber = 1; pageNumber <= pdfReader.NumberOfPages; pageNumber++) { PdfDictionary pdfDictionary = pdfReader.GetPageN(pageNumber); PdfDictionary res = (PdfDictionary)PdfReader.GetPdfObject(pdfDictionary.Get(PdfName.RESOURCES)); PdfDictionary xobj = (PdfDictionary)PdfReader.GetPdfObject(res.Get(PdfName.XOBJECT)); foreach (PdfName name in xobj.Keys) { PdfObject obj = xobj.Get(name); if (obj.IsIndirect()) { PdfDictionary tg = (PdfDictionary)PdfReader.GetPdfObject(obj); string width = tg.Get(PdfName.WIDTH).ToString(); string height = tg.Get(PdfName.HEIGHT).ToString(); ImageRenderInfo imgRI = ImageRenderInfo.CreateForXObject(new Matrix(float.Parse(width), float.Parse(height)), (PRIndirectReference)obj, tg); PdfImageObject pdfImageObject = imgRI.GetImage(); using (Image image = pdfImageObject.GetDrawingImage()) { if (image.Height >= minimumHeight && image.Width >= minumumWidth) { if (pdfImageObject.GetDrawingImage() != null) { using (MemoryStream ms = new MemoryStream()) { image.Save(ms, imageFormat); extractedImages.Add(ms.ToArray()); } } } } } } } pdfReader.Close(); return(extractedImages); }
public void RenderImage(ImageRenderInfo renderInfo) { try { PdfImageObject image = renderInfo.GetImage(); if (image == null || image.GetImageBytesType() == PdfImageObject.ImageBytesType.JBIG2) { return; } _imageNames.Add(string.Format("Image{0}.{1}", renderInfo.GetRef().Number, image.GetFileType())); _myImages.Add(image.GetImageAsBytes()); } catch { } }
private void PrepareImageObject() { if (imageObject != null) return; if (refi != null){ PRStream stream = (PRStream)iTextSharp.text.pdf.PdfReader.GetPdfObject(refi); imageObject = new PdfImageObject(stream, colorSpaceDictionary); } else if (inlineImageInfo != null){ // 'iTextSharp.text.pdf.parser.PdfImageObject.PdfImageObject(iTextSharp.text.pdf.PdfDictionary, byte[], iTextSharp.text.pdf.PdfDictionary)' is inaccessible due to its protection level imageObject = new PdfImageObject(inlineImageInfo.ImageDictionary, inlineImageInfo.Samples, colorSpaceDictionary); } }
private void PrepareImageObject() { if (imageObject != null) return; if (refi != null){ PRStream stream = (PRStream)PdfReader.GetPdfObject(refi); imageObject = new PdfImageObject(stream, colorSpaceDictionary); } else if (inlineImageInfo != null){ imageObject = new PdfImageObject(inlineImageInfo.ImageDictionary, inlineImageInfo.Samples, colorSpaceDictionary); } }