Files
decpdf.site/app/jobs/ImportOCRJob.php
T
2026-06-04 11:13:34 +01:00

68 lines
1.2 KiB
PHP

<?php
class ImportOCRJob extends Job {
public static function jobs() { return 1; }
public $upload_id;
public function __construct($upload_id) {
parent::__construct("upload:" . $upload_id);
$this->upload_id = $upload_id;
}
public function run() {
$pdf = false;
$doc = new Upload($this->upload_id);
$doc->ocr = "P";
$doc->save();
$pdf = $doc->getPDF();
if (!$pdf) {
$this->fail();
$doc->ocr = "F";
$this->status("PDF File Missing");
$doc->save();
return;
}
$this->status("Processing " . $doc->filename . " with OCR");
$body = $pdf->text()->get_text();
if ($body == "") {
$this->status("Running OCR on PDF file");
$ocr = new PDF($pdf->path() . "-ocr.pdf");
$pdf->ocr($ocr);
$ocr->rename($pdf->path(), true);
$pdf = $doc->getPDF();
$body = $pdf->text()->get_text();
}
$doc->body = $body;
$docid = IDMatch::find_docid($doc->filename . " " . $body);
if ($docid) {
$doc->ocr_docid = $docid[0];
}
$doc->ocr = "Y";
$doc->save();
$this->status("Finished");
$this->finish();
return;
}
public function uploadcb($percent) {
$this->status("Uploading: " . $percent . "% complete");
}
public function processcb($message) {
$this->status($message);
}
}