2010-03-11 12 views
2

pdf 파일의 특정 영역에서 텍스트 및 이미지를 추출하는 특정 요구 사항이 있습니다.이 영역은 선택되거나 강조 표시되거나 주어진 좌표 세트 .선택한 영역 또는 좌표의 PDF에서 텍스트 및 이미지 추출

내가 처리 할 때 모든 접근법은 지정된 위치가 아닌 PDF에서 이미지와 텍스트를 완전히 추출하는 것입니다. iTextSharp, Syncfussion, Apose를 사용해 보았지만 더 나은 방법을 찾아 낼 수 없었습니다.

누군가가 나를 도와 줄 수 있다면 큰 도움이 될 것입니다. .net에서 이것을 구현하는 방법에 대한 아이디어와 제안을 공유 할 수 있습니까?

감사합니다, Arun.M PDF에서

답변

1

이 코드 추출 이미지를

using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Drawing.Imaging; 
using System.IO; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using Bytescout.PDFExtractor; 

namespace ExtractAllImages 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      // This test file will be copied to the project directory on the pre-build event (see the project properties). 
      String inputFile = Server.MapPath("sample1.pdf"); 

      // Create Bytescout.PDFExtractor.ImageExtractor instance 
      ImageExtractor extractor = new ImageExtractor(); 
      extractor.RegistrationName = "demo"; 
      extractor.RegistrationKey = "demo"; 

      // Load sample PDF document 
      extractor.LoadDocumentFromFile("sample1.pdf"); 

      Response.Clear(); 

      int i = 0; 

      // Initialize image enumeration 
      if (extractor.GetFirstImage()) 
      { 
       do 
       { 
        if (i == 0) // Write the fist image to the Response stream 
        { 
         string imageFileName = "image" + i + ".png"; 

         Response.Write("<b>" + imageFileName + "</b>"); 

         Response.ContentType = "image/png"; 
         Response.AddHeader("Content-Disposition", "inline;filename=" + imageFileName); 

         // Write the image bytes into the Response output stream 
         Response.BinaryWrite(extractor.GetCurrentImageAsArrayOfBytes()); 
        } 

        i++; 

       } while (extractor.GetNextImage()); // Advance image enumeration 
      } 

      Response.End(); 
     } 
    } 
} 
관련 문제