Zuschneiden von Regionen und Rechtecken mit IronOCR

19. Januar 2022
Aktualisiert 20. Oktober 2024
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

wie kann ich mit IronOCR Inhaltsbereiche in PDFs festlegen?

ContentAreas und PDFs

OcrInput.LoadPdf- und LoadPdfPage-Methoden bieten alle die Möglichkeit, einen ContentArea hinzuzufügen.

Die Frage - Woher weiß ich, wie groß mein Inhaltsbereich ist, da PDFs nicht in Pixeln gemessen werden, Inhaltsbereiche aber im Allgemeinen in Pixeln gemessen werden?

Option 1

OcrInput.TargetDPI Standardwert ist 225 - gibt die Größe des PDF-Bildes in Pixeln an. IronOCR wird dies lesen.

Option 2 (idealer Anwendungsfall)

  1. Verwenden Sie OcrInput.LoadPdf() mit Ihrer PDF-Vorlage

  2. Verwenden Sie OcrInput.GetPages(), um die Breite und Höhe der Eingabe zu erhalten

  3. Verwenden Sie OcrInput.GetPages().First().ToBitmap(), um das genaue Bild zu erhalten, das die OCR-Engine lesen wird.

  4. Sie können nun ContentAreas in Pixeln des exportierten Bildes messen

  5. Die gezielten Koordinaten können für einen bestimmten OCR-Bereich verwendet werden (siehe im Endergebnis).

    Um Ihre Informationen zu erhalten:

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
$vbLabelText   $csharpLabel

Endgültiges Ergebnis:

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
$vbLabelText   $csharpLabel

API-Referenz: OcrInput OcrInput.Page