LEADTOOLS教程:如何使用LEADTOOLS從PDF文檔中提取嵌入圖像
LEADTOOLS PDF Pro 具備瀏覽光柵圖與編輯PDF文件所需的所有功能。該產(chǎn)品同時(shí)也包含了許多高級(jí)功能,例如提取文本、圖片、超鏈接、元數(shù)據(jù)以及當(dāng)前PDF文檔的操作頁(yè)面,將PDF/A轉(zhuǎn)換為一個(gè)真正的文檔,線性化,LEADTOOLS PDF優(yōu)化器還能夠減少PDF文件占用的空間。本文主要介紹了如何使用LEADTOOLS從PDF文檔中提取嵌入圖像。
點(diǎn)擊下載LEADTOOLS PDF Pro免費(fèi)版
使用LEADTOOLS從PDF文檔中提取嵌入圖像
數(shù)碼影像無處不在。無法逃避他們。它們幾乎可以在每封電子郵件中找到,遍布社交媒體,并且可以嵌入到整個(gè)PDF中。有些可能將圖像嵌入PDF中,以使文檔看起來更好或提供視覺效果。其他人可能出于法律原因(例如保險(xiǎn))這樣做以顯示圖像。
讓我們繼續(xù)關(guān)注PDF中的嵌入式圖像,以及如何使用LEADTOOLS PDF SDK提取它們。 在PDF內(nèi)部,可以找到不同的對(duì)象,即“文本”、“矩形”和“圖像”。 為了從PDF提取這些圖像,LEADTOOLS有一個(gè)在PDFDcoument類中找到的方法,即DecodeImage方法。 此方法完全符合您的想法。 它將解碼嵌入在此PDF文檔中的指定PDF圖像對(duì)象。
以下代碼是從PDF提取所有圖像對(duì)象的核心代碼。
using (PDFDocument document = new PDFDocument(sourceFileNamePath)) { document.Resolution = 200; // Parse the objects in all pages document.ParsePages(PDFParsePagesOptions.Objects, 1, -1); using(RasterCodecs codecs = new RasterCodecs()) { // Look through each page in the document foreach (PDFDocumentPage page in document.Pages) // Check the page for PDFObjects if (page.Objects != null && page.Objects.Count > 0) // If the object type is an image, save it foreach (PDFObject obj in page.Objects) if (obj.ObjectType == PDFObjectType.Image) using (RasterImage image = document.DecodeImage(obj.ImageObjectNumber)) codecs.Save(image, destinationFileNamePath, RasterImageFormat.Png, image.BitsPerPixel, 1, 1, -1, CodecsSavePageMode.Append); } }
我還有一個(gè)完整的項(xiàng)目,它將掃描給定目錄中的所有PDF并提取所有圖像對(duì)象。然后,應(yīng)用程序?qū)⒏鶕?jù)初始文件名將每個(gè)圖像保存到磁盤上自己的文件夾中。如前所述,創(chuàng)建帶有嵌入式圖像的PDF的保險(xiǎn)索賠理算人可以使用它來提取事故,財(cái)產(chǎn)損失等圖像。
想要購(gòu)買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”