J'essaie de reconnaître du texte dans un ordre pdf avec Ghostscript et Tesseract 3.0.2.Comment reconnaître du texte dans un ordre PDF?
Je ne peux pas utiliser itextsharp car le pdf ne contient pas de texte mais juste une image. D'abord, je convertis la page pdf dans une image et j'essaye d'obtenir le texte.
Dans un premier test, j'ai essayé d'obtenir tout le texte avec la variable "preserve_interword_spaces" définie sur true, mais je vois que l'information dans la colonne "Articolo" dans le tableau est manquante. Après avoir essayé d'obtenir une colonne comme "Consegna", mais certains symboles "/" manquent.
J'ai utilisé ce code:
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();
}
}
}
}
}
Quelqu'un pourrait-il me aider à obtenir le texte intégral dans l'image? Merci d'avance
This est le lien de l'image (Temp2.png).