Inhaltsbereiche & Ausschnittregionen mit PDFs

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

die Methoden OcrInput.LoadPdf und LoadPdfPage haben 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. OcrInput.LoadPdf verwenden() mit Ihrer PDF-Vorlage

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

  3. OcrInput.GetPages verwenden().zuerst().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 Zielkoordinaten können für eine bestimmte OCR-Region verwendet werden(siehe in 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
VB   C#

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
VB   C#

API-Referenz:OcrInput OcrInput.Page