IronOCRで領域と矩形を切り抜く

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCRでPDFにコンテンツエリアを設定するには?

コンテンツエリアとPDF

OcrInput.LoadPdfメソッドとLoadPdfPage`メソッドには、ContentAreaを追加するオプションがあります。

PDFのサイズはピクセル単位ではありませんが、コンテンツ領域は一般的にピクセル単位で測定されます。

オプション1

OcrInput.TargetDPI デ フ ォル ト は 225 - PDF 画像のサ イ ズ を ピ ク セル単位で指定 し ます。 IronOCRはこれを読むだろう。

オプション2(理想的な使用例)

  1. OcrInput.LoadPdfを使用する()PDFテンプレート

  2. OcrInput.GetPagesを使用する()入力の幅と高さを取得する

  3. OcrInput.GetPagesを使用する()最初().ToBitmap()OCRエンジンが読み取る正確な画像を得るために

  4. 書き出された画像からContentAreasをピクセル単位で測定できるようになりました。

  5. ターゲット座標は、特定のOCR領域に使用することができる。(最終結果を見る)

    あなたの情報を得るために:

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#

最終結果

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リファレンス:OCR入力 OcrInput.Page