Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ Release 4.2.1 - unreleased

SERVER, PIPES AND OPERATIONS

* The tika-server full and tika-grpc Docker images no longer install
ttf-mscorefonts-installer, which downloaded Microsoft's fonts from SourceForge
at build time; non-embedded Verdana, Georgia, Trebuchet, Impact, Comic Sans and
Arial Black now render with Liberation fonts. The images add the IPA and
WenQuanYi fonts, so pages in non-embedded Japanese and Chinese fonts render
instead of showing empty boxes or nothing (TIKA-5005).

* The S3 fetcher, emitter and pipes iterator accept credentialsProvider "web_identity"
for EKS IAM roles for service accounts (IRSA); the plugin now bundles the AWS STS
module it needs (TIKA-5006).
Expand Down
29 changes: 27 additions & 2 deletions docs/modules/ROOT/pages/using-tika/docker.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ external.
|`apache/tika:<version>-full`
|Adds the external tools some parsers shell out to: Tesseract OCR (with `eng`, `ita`, `fra`,
`spa`, `deu`, `jpn` language packs), GDAL, ImageMagick, ffmpeg (for the audio and video
segments of a MEDIA inference binding), and the Liberation / FreeFont / msttcorefonts font
sets. Considerably larger.
segments of a MEDIA inference binding), and the Liberation, FreeFont, Noto CJK, IPA and
WenQuanYi font sets. Considerably larger.

|`apache/tika-grpc:<version>`
|gRPC server on port 9090, with OCR, GDAL and fonts included.
Expand Down Expand Up @@ -130,6 +130,31 @@ docker run -d -p 127.0.0.1:9998:9998 -v "$(pwd)/my-jars:/tika-extras" \
Treat that directory as a trusted code location: whatever is in it runs with the full privileges of
the Tika process. Outside Docker the equivalent is the `tika.extras.dir` system property.

== Adding fonts

Fonts matter only when Tika renders a PDF page (OCR, page images for a vision model,
thumbnails) and the PDF does not embed the font it uses. Text extraction does not need them. The
`-full` image covers the common cases: Liberation for Arial, Times New Roman and Courier New, plus
Noto CJK, IPA and WenQuanYi for Chinese and Japanese.

To render with other fonts, install them in an image of your own. For example, the Microsoft core
fonts (Verdana, Georgia, Trebuchet and others), whose license you accept by installing them:

[source,dockerfile]
----
FROM apache/tika:X.Y.Z-full
USER root
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true \
| debconf-set-selections \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
ttf-mscorefonts-installer \
&& rm -rf /var/lib/apt/lists/*
USER 35002:35002
----

The installer downloads the fonts from SourceForge, so the build needs network access.

== Pipes plugins

`/tika`, `/rmeta`, `/meta` and `/unpack` work out of the box. The pipes endpoints (`/pipes`,
Expand Down
7 changes: 4 additions & 3 deletions tika-grpc/docker-build/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,16 @@ RUN set -eux \
tesseract-ocr-fra \
tesseract-ocr-spa \
tesseract-ocr-deu \
&& echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
ttf-mscorefonts-installer \
# TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK for non-embedded fonts
fonts-ipafont-gothic \
fonts-ipafont-mincho \
fonts-wqy-zenhei \
wget \
cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

Expand Down
12 changes: 12 additions & 0 deletions tika-server/docker-build/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,18 @@ Tag convention:
The legacy 3.x patch flow in the external `apache/tika-docker` repo still uses
the `.N` convention until 4.0.0 GA.

* Unreleased
* `-full` and `tika-grpc`: dropped `ttf-mscorefonts-installer` and `cabextract`.
The installer downloaded Microsoft's fonts from SourceForge at build time (a
mirror outage failed a multi-arch push), and the images redistributed fonts
under Microsoft's EULA. Non-embedded Verdana, Georgia, Trebuchet, Impact,
Comic Sans and Arial Black now render with Liberation fonts (TIKA-5005).
* `-full` and `tika-grpc`: added `fonts-ipafont-gothic`, `fonts-ipafont-mincho`
and `fonts-wqy-zenhei`. PDFBox 3.0.x can't use the CFF-based Noto CJK fonts
for non-embedded Japanese and Chinese fonts, which rendered as empty boxes or
not at all (TIKA-5005, PDFBOX-6293).
* `wget` stays in `-full` and `tika-grpc` for healthchecks.

* 4.0.0-alpha-1 (11 May 2026, rebuild 1)
* Tag scheme changed to `<tika-version>` + `<tika-version>-<N>` + `latest`.
* Migrated build out of the external `apache/tika-docker` repo into
Expand Down
7 changes: 4 additions & 3 deletions tika-server/docker-build/full/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,16 @@ RUN set -eux \
ffmpeg \
tesseract-ocr \
$(printf 'tesseract-ocr-%s ' $LANGUAGES) \
&& echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
ttf-mscorefonts-installer \
# TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK for non-embedded fonts
fonts-ipafont-gothic \
fonts-ipafont-mincho \
fonts-wqy-zenhei \
wget \
cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ARG TIKA_VERSION
Expand Down
7 changes: 4 additions & 3 deletions tika-server/docker-build/full/Dockerfile.snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,16 @@ RUN set -eux \
tesseract-ocr-spa \
tesseract-ocr-deu \
tesseract-ocr-jpn \
&& echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
ttf-mscorefonts-installer \
# TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK for non-embedded fonts
fonts-ipafont-gothic \
fonts-ipafont-mincho \
fonts-wqy-zenhei \
wget \
cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV TIKA_VERSION=$TIKA_VERSION
Expand Down
Loading