Install ghostscript fonts (urw-base35) for OCR of PDFs with non-embedded fonts; fuller OCR error text
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
FROM python:3.13-slim
|
FROM python:3.13-slim
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends ffmpeg poppler-utils tesseract-ocr tesseract-ocr-eng ocrmypdf ghostscript \
|
&& apt-get install -y --no-install-recommends ffmpeg poppler-utils tesseract-ocr tesseract-ocr-eng ocrmypdf ghostscript fonts-urw-base35 \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY _pipeline/requirements.txt /tmp/requirements.txt
|
COPY _pipeline/requirements.txt /tmp/requirements.txt
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update -qq
|
apt-get update -qq
|
||||||
apt-get install -y -qq --no-install-recommends ffmpeg poppler-utils tesseract-ocr tesseract-ocr-eng ocrmypdf ghostscript \
|
apt-get install -y -qq --no-install-recommends ffmpeg poppler-utils tesseract-ocr tesseract-ocr-eng ocrmypdf ghostscript fonts-urw-base35 \
|
||||||
python3 python3-venv python3-pip git curl ca-certificates
|
python3 python3-venv python3-pip git curl ca-certificates
|
||||||
python3 -m venv .venv
|
python3 -m venv .venv
|
||||||
.venv/bin/pip install -q --disable-pip-version-check -r _pipeline/requirements.txt
|
.venv/bin/pip install -q --disable-pip-version-check -r _pipeline/requirements.txt
|
||||||
|
|||||||
+1
-1
@@ -108,5 +108,5 @@ def ocr_if_needed(cfg, book_dir, book):
|
|||||||
src = os.path.join(book_dir, book["source_pdf"])
|
src = os.path.join(book_dir, book["source_pdf"])
|
||||||
r = subprocess.run(["ocrmypdf", "--skip-text", "-l", cfg["ocr"]["language"], src, out], capture_output=True, text=True)
|
r = subprocess.run(["ocrmypdf", "--skip-text", "-l", cfg["ocr"]["language"], src, out], capture_output=True, text=True)
|
||||||
if r.returncode != 0:
|
if r.returncode != 0:
|
||||||
return [("ocr-failed", where, "ocrmypdf exit %d: %s" % (r.returncode, r.stderr.strip()[-300:]))]
|
return [("ocr-failed", where, "ocrmypdf exit %d: %s" % (r.returncode, (r.stderr.strip()[:300] + " ... " + r.stderr.strip()[-300:]) if len(r.stderr) > 650 else r.stderr.strip()))]
|
||||||
return [("ocr", where, "OCR applied to a scratch copy; original untouched")]
|
return [("ocr", where, "OCR applied to a scratch copy; original untouched")]
|
||||||
|
|||||||
Reference in New Issue
Block a user