Recortar regiones y rectángulos con IronOCR
¿Cómo establezco áreas de contenido en los PDF con IronOCR?
Áreas de contenido y PDF
los métodos OcrInput.LoadPdf
y LoadPdfPage
tienen la opción de añadir un ContentArea.
La pregunta - ¿Cómo puedo saber el tamaño de mi área de contenido, ya que los PDF no tienen un tamaño en píxeles, pero las áreas de contenido se miden generalmente en ellos?
Opción 1
OcrInput.TargetDPI Por defecto es 225 - dicta el tamaño de la imagen PDF en píxeles. IronOCR leerá esto.
Opción 2 (caso de uso ideal)
Usar OcrInput.LoadPdf() con su plantilla PDF
Utilice OcrInput.GetPages() para obtener la anchura y la altura de la entrada
Utilice OcrInput.GetPages().primero().ToBitmap() para obtener la imagen exacta que leerá el motor OCR
Ahora puede medir ContentAreas en píxeles a partir de la imagen exportada
Las coordenadas objetivo podrían utilizarse para una región OCR específica(ver en Resultado final)
Para obtener información:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.LoadPdf("example.pdf");
input.GetPages().First().ToBitmap().SaveAs("measure-me.bmp");
var width = input.GetPages().First().Width;
var height = input.GetPages().First().Height;
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.LoadPdf("example.pdf");
input.GetPages().First().ToBitmap().SaveAs("measure-me.bmp");
var width = input.GetPages().First().Width;
var height = input.GetPages().First().Height;
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrInput()
input.LoadPdf("example.pdf")
input.GetPages().First().ToBitmap().SaveAs("measure-me.bmp")
Dim width = input.GetPages().First().Width
Dim height = input.GetPages().First().Height
End Using
Resultado final:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new IronSoftware.Drawing.Rectangle()
{ X = 215, Y = 1250, Height = 280, Width = 1335 }; //<-- the area you want in px
input.LoadPdf("example.pdf", ContentArea: contentArea);
var result = ocr.Read(input);
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new IronSoftware.Drawing.Rectangle()
{ X = 215, Y = 1250, Height = 280, Width = 1335 }; //<-- the area you want in px
input.LoadPdf("example.pdf", ContentArea: contentArea);
var result = ocr.Read(input);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrInput()
Dim contentArea = New IronSoftware.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
input.LoadPdf("example.pdf", ContentArea:= contentArea)
Dim result = ocr.Read(input)
End Using
Referencia API:OcrInput OcrInput.Page