使用 IronOCR 裁剪区域和矩形
如何使用IronOCR在PDF上设置内容区域?
内容区域和PDFs
OcrInput.LoadPdf
和LoadPdfPage
方法都有添加ContentArea的选项。
问题 - 我如何知道我的内容区域有多大?因为PDF的尺寸不是以像素为单位,但内容区域通常是以像素来衡量的?
选项1
OcrInput.TargetDPI 默认值为 225 - 指定 PDF 图像的像素大小。 IronOCR将阅读这个。
选项2(理想用例)
使用 OcrInput.LoadPdf()使用您的PDF模板
使用 OcrInput.GetPages()获取输入的宽度和高度
使用 OcrInput.GetPages().First().ToBitmap()要获取OCR引擎将读取的确切图像
您现在可以从导出的图像中以像素为单位测量内容区域。
目标坐标可以用于特定的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
最终结果
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
API 参考:OcrInput OcrInput.Page