Docker container to run PDF manipulation utitilies (pdftk, ghostscript...).
Assuming that you have a PDF file foo.pdf
and you want to extract the first page to bar.pdf
:
Mac/Linux
cat foo.pdf | docker run --rm -i --net=none leplusorg/pdf pdftk - cat output - > bar.pdf
Windows
type foo.pdf | docker run --rm -i --net=none leplusorg/pdf pdftk - cat output - > bar.pdf
Assuming that you have two PDF files foo.pdf
and bar.pdf
in your current working directory and you want to join them into a single foobar.pdf
:
Mac/Linux
docker run --rm -t --user="$(id -u):$(id -g)" --net=none -v "$(pwd):/tmp" leplusorg/pdf pdftk /tmp/foo.pdf /tmp/bar.pdf cat output /tmp/foobar.pdf
Windows
In cmd
:
docker run --rm -t --net=none -v "%cd%:/tmp" leplusorg/pdf pdftk /tmp/foo.pdf /tmp/bar.pdf cat output /tmp/foobar.pdf
In PowerShell:
docker run --rm -t --net=none -v "${PWD}:/tmp" leplusorg/pdf pdftk /tmp/foo.pdf /tmp/bar.pdf cat output /tmp/foobar.pdf
To know more command-line options of one of the pdftk command:
docker run --rm --net=none leplusorg/pdf pdftk -h
To get the SBOM for the latest image (in SPDX JSON format), use the following command:
docker buildx imagetools inspect leplusorg/pdf --format '{{ json (index .SBOM "linux/amd64").SPDX }}'
Replace linux/amd64
by the desired platform (linux/amd64
, linux/arm64
etc.).
Sigstore is trying to improve supply chain security by allowing you to verify the origin of an artifcat. You can verify that the jar that you use was actually produced by this repository. This means that if you verify the signature of the ristretto jar, you can trust the integrity of the whole supply chain from code source, to CI/CD build, to distribution on Maven Central or whever you got the jar from.
You can use the following command to verify the latest image using its sigstore signature attestation:
cosign verify leplusorg/pdf --certificate-identity-regexp 'https://github\.com/leplusorg/docker-pdf/\.github/workflows/.+' --certificate-oidc-issuer 'https://token.actions.githubusercontent.com'
The output should look something like this:
Verification for index.docker.io/leplusorg/xml:main --
The following checks were performed on each of these signatures:
- The cosign claims were validated
- Existence of the claims in the transparency log was verified offline
- The code-signing certificate was verified using trusted certificate authority certificates
[{"critical":...
For instructions on how to install cosign
, please read this documentation.
Please use this link (GitHub account required) to request that a new tool be added to the image. I am always interested in adding new capabilities to these images.