public static void Main(string[] args) { // The path to the documents directory. string dataDir = Path.GetFullPath("../../../Data/"); // Open document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ @"input.pdf"); // Create ImagePlacementAbsorber object to perform image placement search ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Accept the absorber for all the pages doc.Pages.Accept(abs); //Loop through all ImagePlacements, get image and ImagePlacement Properties foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { //Get the image using ImagePlacement object XImage image = imagePlacement.Image; //Display image placement properties for all placements Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); } }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Images(); // Load the source PDF document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "ImagePlacement.pdf"); ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Load the contents of first page doc.Pages[1].Accept(abs); foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { // Get image properties Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); // Retrieve image with visible dimensions Bitmap scaledImage; using (MemoryStream imageStream = new MemoryStream()) { // Retrieve image from resources imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png); Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream); // Create bitmap with actual dimensions scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height); } } }
private void ParsePDF(ref FileObject fo, string filePath) { Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath); PdfFileInfo pi = new PdfFileInfo(pdfDocument); PdfExtractor pe = new PdfExtractor(pdfDocument); ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); fo.pageCount = pi.NumberOfPages; fo.embeddedDocsCount = pdfDocument.EmbeddedFiles.Count; pdfDocument.Pages.Accept(abs); fo.imageCount = abs.ImagePlacements.Count; fo.hasPassword = pi.HasOpenPassword; pe.ExtractText(Encoding.ASCII); string tmpFolderToExtract = tmpFolder + "\\" + Guid.NewGuid(); Directory.CreateDirectory(tmpFolderToExtract); string tmpTextFile = tmpFolderToExtract + "\\" + "tmpTextexport.txt"; pe.GetText(tmpTextFile); fo.wordCount = GetWordCount(tmpTextFile); fo.characterCount = GetCharCount(tmpTextFile); if (File.Exists(tmpTextFile)) { File.Delete(tmpTextFile); } if (Directory.Exists(tmpFolderToExtract)) { Directory.Delete(tmpFolderToExtract); } }
public static void Run() { // ExStart:SearchAndGetImages // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Images(); // Open document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "SearchAndGetImages.pdf"); // Create ImagePlacementAbsorber object to perform image placement search ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Accept the absorber for all the pages doc.Pages.Accept(abs); // Loop through all ImagePlacements, get image and ImagePlacement Properties foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { // Get the image using ImagePlacement object XImage image = imagePlacement.Image; // Display image placement properties for all placements Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); } // ExEnd:SearchAndGetImages }
public static void Main(string[] args) { // The path to the documents directory. string dataDir = Path.GetFullPath("../../../Data/"); // Load the source PDF document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "input.pdf"); ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Load the contents of first page doc.Pages[1].Accept(abs); foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { // Get image properties Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); // Retrieve image with visible dimensions Bitmap scaledImage; using (MemoryStream imageStream = new MemoryStream()) { // Retrieve image from resources imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png); Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream); // Create bitmap with actual dimensions scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height); } } }
public static void Main(string[] args) { // The path to the documents directory. string dataDir = Path.GetFullPath("../../../Data/"); // Open document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + @"input.pdf"); // Create ImagePlacementAbsorber object to perform image placement search ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Accept the absorber for all the pages doc.Pages.Accept(abs); //Loop through all ImagePlacements, get image and ImagePlacement Properties foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { //Get the image using ImagePlacement object XImage image = imagePlacement.Image; //Display image placement properties for all placements Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); } }
public static void Run() { // ExStart:SearchAndGetImages // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Images(); // Open document Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "SearchAndGetImages.pdf"); // Create ImagePlacementAbsorber object to perform image placement search ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); // Accept the absorber for all the pages doc.Pages.Accept(abs); // Loop through all ImagePlacements, get image and ImagePlacement Properties foreach (ImagePlacement imagePlacement in abs.ImagePlacements) { // Get the image using ImagePlacement object XImage image = imagePlacement.Image; // Display image placement properties for all placements Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width); Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height); Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX); Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY); Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X); Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y); } // ExEnd:SearchAndGetImages }
public static void Run() { // ExStart:IdentifyImages // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Images(); // Counter for grayscale images int grayscaled = 0; // Counter for RGB images int rgd = 0; using (Document document = new Document(dataDir + "ExtractImages.pdf")) { foreach (Page page in document.Pages) { Console.WriteLine("--------------------------------"); ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); page.Accept(abs); // Get the count of images over specific page Console.WriteLine("Total Images = {0} over page number {1}", abs.ImagePlacements.Count, page.Number); // Document.Pages[29].Accept(abs); int image_counter = 1; foreach (ImagePlacement ia in abs.ImagePlacements) { ColorType colorType = ia.Image.GetColorType(); switch (colorType) { case ColorType.Grayscale: ++grayscaled; Console.WriteLine("Image {0} is GrayScale...", image_counter); break; case ColorType.Rgb: ++rgd; Console.WriteLine("Image {0} is RGB...", image_counter); break; } image_counter += 1; } } } // ExEnd:IdentifyImages }
private static FigureElement ExtractToFigureElement(ITaggedContent taggedContent, Page page, int imageIndex) { ImagePlacementAbsorber imagePlacementAbsorber = new ImagePlacementAbsorber(); page.Accept(imagePlacementAbsorber); XImage xImage = imagePlacementAbsorber.ImagePlacements[imageIndex].Image; FileStream outputImage = new FileStream("temp-image.png", FileMode.Create); xImage.Save(outputImage, ImageFormat.Png); outputImage.Close(); FigureElement figureElement = taggedContent.CreateFigureElement(); figureElement.SetImage("temp-image.png"); figureElement.AlternativeText = "Aspose logo"; return(figureElement); }