namespace App\Fluidbook\Compiler;
+use App\Fluidbook\Farm;
+use App\Jobs\OCR;
use App\Models\FluidbookHealthIssues;
use Cubist\Azure\TTS\Api;
use Cubist\Util\Files\Files;
use Cubist\Util\Text;
+use Cubist\Util\Url;
use Exception;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
} catch (Exception $e) {
}
}
+
+ public function getLinkAlternativeText($link, $returnJobs = false)
+ {
+ $ocr = $link->getOCR();
+ if ($returnJobs) {
+ $res = [];
+ } else {
+ $res = '';
+ }
+
+ if (!$ocr) {
+ return $res;
+ }
+
+ foreach ($ocr as $attr) {
+ if (Url::isDistant($link->$attr)) {
+ continue;
+ }
+ $file = $this->wdir . '/' . $link->$attr;
+
+ if (!file_exists($file)) {
+ continue;
+ }
+ $ext = ['jpg', 'jpeg', 'png', /*'svg',*/
+ 'pdf'];
+ $f = new \SplFileInfo($file);
+ if (!in_array($f->getExtension(), $ext)) {
+ continue;
+ }
+
+ if ($returnJobs) {
+ $j = new OCR($file, $this->getFluidbook()->locale);
+ if ($j->isOK()) {
+ continue;
+ }
+ $res[] = $j;
+ } else {
+ $o = Farm::OCR($file, $this->getFluidbook()->locale);
+ if (file_exists($o)) {
+ $o = file_get_contents($o);
+ }
+ $res .= $o;
+ }
+ }
+
+ return $res;
+ }
}
$this->config->push('triggersLinks', ['page' => $page, 'link' => $link, 'delay' => $delay]);
}
- public function getLinkAlternativeText($link, $returnJobs = false)
- {
- $ocr = $link->getOCR();
- if ($returnJobs) {
- $res = [];
- } else {
- $res = '';
- }
- if (!$ocr) {
- return $res;
- }
-
- foreach ($ocr as $attr) {
- if (Url::isDistant($link->$attr)) {
- continue;
- }
- $file = $this->wdir . '/' . $link->$attr;
-
- if (!file_exists($file)) {
- continue;
- }
- $ext = ['jpg', 'jpeg', 'png', /*'svg',*/ 'pdf'];
- $f = new \SplFileInfo($file);
- if (!in_array($f->getExtension(), $ext)) {
- continue;
- }
- if ($returnJobs) {
- $j = new OCR($file, $this->getFluidbook()->locale);
- if ($j->isOK()) {
- continue;
- }
- $res[] = $j;
- } else {
- $res .= Farm::OCR($file, $this->getFluidbook()->locale);
- }
- }
- return $res;
- }
}