CoolFace
Modelpublic

itextresearch/itext-PP-OCRv5_server_det_infer

sourceHugging Faceapache-2.0updated 6mo agoView on Hugging Face
0likes
Model Card

<h1>itext-PP-OCRv5serverdet_infer</h1>

These are machine learning models designed to detect and recognize text within images. They analyze visual input, identify regions containing text, and convert that text into a machine-readable format. We integrate these models into our iText PdfOCR ONNX engine to enable efficient and accurate extraction of textual content from scanned documents and image-based PDFs. For seamless integration, they are converted into ONNX format, ensuring compatibility with the iText PdfOCR engine.

<a href="https://itextpdf.com/products/pdf-ocr-text-recognition">Learn more about iText PdfOCR</a>

<h2><b>Model overview</b></h2>

  • —<i>Source:</i> https://paddle-model-ecology.bj.bcebos.com/paddlex/officialinferencemodel/paddle3.0.0/PP-OCRv5serverdet_infer.tar
  • —<i>Conversion:</i> ONNX version generated following the PaddleOCR guide – https://www.paddleocr.ai/main/en/version3.x/deployment/obtainingonnxmodels.html
  • —<i>What it does:</i> Detects text (handwritten, vertical, rotated, curved) in many languages (Simplified/Traditional Chinese, English, Japanese) with a good speed accuracy trade ‑off for mobile‑class hardware.
  • —<i>iText support:</i> Available from pdfOCR 5.0.0 onward.

<h2>Getting started with iText pdfOCR </h2>

  • —<a href="https://kb.itextpdf.com/itext/installing-itext-pdfocr-for-java-developers">Installing iText pdfOCR for Java developers</a>
  • —<a href="https://kb.itextpdf.com/itext/installing-itext-pdfocr-for-net-developers">Installing iText pdfOCR for .NET developers</a>

<br> <h3>Simple OCR engine (detection + recognition)</h3> <h5>java (but is also available in .NET)</h5>

java
// detection
IDetectionPredictor detection = OnnxDetectionPredictor.paddleOcr(PATH_TO_DETECTION_MODEL);   // e.g. "PP-OCRv5_mobile_det_infer.onnx"
// recognition
IRecognitionPredictor recognition = OnnxRecognitionPredictor.paddleOcr(PATH_TO_RECOGNITION_MODEL); // your recognition ONNX model
// combine into an engine
try(OnnxOcrEngine ocrEngine = new OnnxOcrEngine(detection, recognition);) { 
	/* Your OCR processing here */ 
}

<br>

<h4>OCR engine with orientation handling</h4> <h5>java (but is also available in .NET)</h5>

java
IDetectionPredictor detection = OnnxDetectionPredictor.paddleOcr(PATH_TO_DETECTION_MODEL);
IRecognitionPredictor recognition = OnnxRecognitionPredictor.paddleOcr(PATH_TO_RECOGNITION_MODEL);
// orientation predictor (MobileNetV3 variant)
OnnxOrientationPredictor orientation = OnnxOrientationPredictor.mobileNetV3(PATH_TO_ORIENTATION_MODEL);
OnnxOcrEngine ocrEngine = new OnnxOcrEngine(detection, orientation, recognition);
try(OnnxOcrEngine ocrEngine = new OnnxOcrEngine(detection, orientation, recognition)) { 
	/* Your OCR processing here */ 
}

<br>

<h4>The created ocrEngine can be passed to the standard iText pdfOCR API, e.g.:</h4>

java
OcrPdfCreator ocrPdfCreator = new OcrPdfCreator(ocrEngine);
ocrPdfCreator.createPdfFile(Collections.singletonList(new File(imagePath)), new File(outPdfFile))
<h2>Sample projects</h2>

<h5>The following example files illustrate complete usage patterns:</h5>

  • —<a href="https://github.com/XodoDocs/itext-publications-examples-java/blob/develop/src/main/java/com/itextpdf/samples/sandbox/pdfocr/onnx/PdfOcrOnnxExample.java">Basic ONNX OCR – PdfOcrOnnxExample.java</a>
  • —<a href="https://github.com/XodoDocs/itext-publications-examples-java/blob/develop/src/main/java/com/itextpdf/samples/sandbox/pdfocr/onnx/PdfOcrOnnxMultilingualExample.java">Multilingual OCR – PdfOcrOnnxMultilingualExample.java</a>
  • —<a href="https://github.com/XodoDocs/itext-publications-examples-java/blob/develop/src/main/java/com/itextpdf/samples/sandbox/pdfocr/onnx/PdfOcrOnnxPdfAsInputExample.java">PDF as input – PdfOcrOnnxPdfAsInputExample.java</a>
  • —<a href="https://github.com/XodoDocs/itext-publications-examples-java/blob/develop/src/main/java/com/itextpdf/samples/sandbox/pdfocr/onnx/PdfOcrOnnxTextPositioningExample.java">Text positioning – PdfOcrOnnxTextPositioningExample.java</a>
  • —<a href="https://github.com/XodoDocs/itext-publications-examples-java/blob/develop/src/main/java/com/itextpdf/samples/sandbox/pdfocr/onnx/PdfOcrOnnxTxtFileExample.java">Export to plain text file – PdfOcrOnnxTxtFileExample.java</a>