0
我試圖用Ghostscript和Tesseract 3.0.2來識別PDF文件。如何識別PDF訂單中的文本?
我不能使用itextsharp,因爲pdf不包含文本,只包含圖像。
首先,我將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)。