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
|
||||
|
||||
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/*
|
||||
|
||||
COPY _pipeline/requirements.txt /tmp/requirements.txt
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
set -euo pipefail
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
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 -m venv .venv
|
||||
.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"])
|
||||
r = subprocess.run(["ocrmypdf", "--skip-text", "-l", cfg["ocr"]["language"], src, out], capture_output=True, text=True)
|
||||
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")]
|
||||
|
||||
Reference in New Issue
Block a user