Ghostscript 및 Tesseract 3.0.2를 사용하여 pdf 순서로 텍스트를 인식하려고합니다.PDF 주문 텍스트를 어떻게 인식합니까?
pdf에는 텍스트가 아니라 이미지 만 있기 때문에 itextsharp를 사용할 수 없습니다.
먼저 이미지의 pdf 페이지를 변환 한 다음 텍스트를 가져 오려고합니다.
첫 번째 테스트에서 "preserve_interword_spaces"변수를 true로 설정 한 모든 텍스트를 가져 오려고했지만 테이블의 "Articolo"열의 정보가 누락 된 것을 확인했습니다. "Consegna"와 같은 열을 얻으려고했지만 일부 "/"기호가 누락되었습니다.
이string sDLLPath = @".\gsdll64.dll";
GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(sDLLPath);
using (GhostscriptRasterizer rasterizer = new GhostscriptRasterizer())
{
rasterizer.Open(path_file_pdf, gvi, false);
int dpi_x = 600;
int dpi_y = 600;
for (int i = 1; i <= rasterizer.PageCount; i++)
{
Image imgg = rasterizer.GetPage(dpi_x, dpi_y, i);
imgg.Save(".\\Temp2.png", System.Drawing.Imaging.ImageFormat.Png);
using (var tEngine = new TesseractEngine(@".\tessdata", "ita", EngineMode.Default))
{
tEngine.SetVariable("tessedit_char_whitelist", "/");
using (var img = Pix.LoadFromFile(".\\Temp2.png"))
{
Tesseract.Rect region = new Tesseract.Rect(4120, 3215, 550, 840);
using (var page = tEngine.Process(img, region, PageSegMode.SingleBlock))
{
var text = page.GetText();
Console.WriteLine(text);
Console.WriteLine(page.GetMeanConfidence());
Console.ReadKey();
}
}
}
}
}
누군가가 이미지의 전체 텍스트를 얻기 위해 나를 도울 수 :
이 코드를 사용했다? 미리 감사드립니다.
This은 이미지 링크 (Temp2.png)입니다.