示例#1
0
 /// <summary>
 /// Checks whether a specified page of a PDF file contains images.
 /// </summary>
 /// <returns>True if the page contains at least one image; false otherwise.</returns>
 public bool PageContainsImages(string filename, int pageNumber)
 {
     PdfReader reader = new PdfReader(filename);
     PdfReaderContentParser parser = new PdfReaderContentParser(reader);
     ImageRenderListener listener = null;
     parser.ProcessContent(pageNumber, (listener = new ImageRenderListener()));
     return listener.Images.Count > 0;
 }
示例#2
0
        /// <summary>
        /// Extracts all images (of types that iTextSharp knows how to decode) 
        /// from a specified page of a PDF file.
        /// </summary>
        /// <returns>Returns a generic <see cref="Dictionary<string, System.Drawing.Image>", 
        /// where the key is a suggested file name, in the format: PDF filename without extension, 
        /// page number and image index in the page./></returns>
        public Dictionary<string, System.Drawing.Image> ExtractImages(string filename, int pageNumber)
        {
            Dictionary<string, System.Drawing.Image> images = new Dictionary<string, System.Drawing.Image>();
            PdfReader reader = new PdfReader(filename);
            PdfReaderContentParser parser = new PdfReaderContentParser(reader);
            ImageRenderListener listener = null;

            parser.ProcessContent(pageNumber, (listener = new ImageRenderListener()));
            int index = 1;

            if (listener.Images.Count > 0)
            {
                //Console.WriteLine("Found {0} images on page {1}.", listener.Images.Count, pageNumber);

                foreach (KeyValuePair<System.Drawing.Image, string> pair in listener.Images)
                {
                    images.Add(string.Format("{0}_Page_{1}_Image_{2}{3                       Path.GetFileNameWithoutExtension(filename)", pageNumber.ToString("D4"), index.ToString("D4"), pair.Value), pair.Key);
                    index++;
                }
            }
            return images;
        }