Extract image from PDF using itextsharp

后端 未结 8 2108
你的背包
你的背包 2020-11-30 10:17

I am trying to extract all the images from a pdf using itextsharp but can\'t seem to overcome this one hurdle.

The error occures on the line System.Drawing.I

8条回答
  •  臣服心动
    2020-11-30 10:51

    This works for me and I think it's a simple solution:

    Write a custom RenderListener and implement its RenderImage method, something like this

        public void RenderImage(ImageRenderInfo info)
        {
            PdfImageObject image = info.GetImage();
            Parser.Matrix matrix = info.GetImageCTM();
            var fileType = image.GetFileType();
            ImageFormat format;
            switch (fileType)
            {//you may add more types here
                case "jpg":
                case "jpeg":
                    format = ImageFormat.Jpeg;
                    break;
                case "pnt":
                    format = ImageFormat.Png;
                    break;
                case "bmp":
                    format = ImageFormat.Bmp;
                    break;
                case "tiff":
                    format = ImageFormat.Tiff;
                    break;
                case "gif":
                    format = ImageFormat.Gif;
                    break;
                default:
                    format = ImageFormat.Jpeg;
                    break;
            }
    
            var pic = image.GetDrawingImage();
            var x = matrix[Parser.Matrix.I31];
            var y = matrix[Parser.Matrix.I32];
            var width = matrix[Parser.Matrix.I11];
            var height = matrix[Parser.Matrix.I22];
            if (x <  && y < )
            {
                return;//ignore these images
            }
    
            pic.Save(, format);
    }
    

提交回复
热议问题