Este proxecto crea unha versión portable de OCRmyPDF para Windows, empaquetada con PyInstaller (onedir).
O resultado é un cartafol dist/OCRmyPDFPortable/ que contén un executábel (OCRmyPDFPortable.exe) listo para usar nun equipo Windows sen Python instalado.
ocrmypdf-portable-windows-onedir/
├─ launcher.py
├─ sitecustomize.py
├─ build.spec
├─ build.bat
├─ requirements.txt
├─ README.md
├─ vendors/
│ ├─ tesseract/
│ │ ├─ tesseract.exe
│ │ └─ tessdata/
│ │ ├─ eng.traineddata
│ │ ├─ spa.traineddata
│ │ ├─ glg.traineddata
│ │ ├─ configs/
│ │ │ ├─ hocr
│ │ │ └─ txt
│ │ └─ tessconfigs/...
│ ├─ ghostscript/
│ │ ├─ bin/gswin64c.exe
│ │ ├─ lib/...
│ │ ├─ Resource/...
│ │ └─ iccprofiles/...
│ ├─ pngquant/
│ │ └─ pngquant.exe
│ ├─ jbig2enc/
│ │ └─ jbig2.exe
│ └─ qpdf/
│ ├─ qpdf.exe
│ └─ (DLLs necesarias)
- Tesseract OCR (
tesseract.exe+tessdata/) - Ghostscript (
gswin64c.exe+ DLLs) - pngquant (para optimización de imaxes)
- jbig2enc (compilado en Windows, require toolchain + libpng/libtiff/libjpeg/libz/libiconv)
- QPDF (binario oficial portable ZIP de GitHub, contén
qpdf.exe+ DLLs)
- Windows 10/11 (64-bit)
- Python 3.10–3.12 (64-bit)
- pip, venv
- PyInstaller
- MSYS2/MinGW64 (só se queres recompilar
jbig2enc)
-
Clona ou copia este proxecto a un cartafol de traballo.
-
Crea e activa un entorno virtual:
py -3.12 -m venv venv .\venv\Scripts\activate python -m pip install -U pip python -m pip install -r requirements.txt
-
Executa os scripts de descarga para dependencias:
.\download_tesseract.ps1 .\download_ghostscript.ps1 .\download_pngquant.ps1 .\download_qpdf.ps1
(se xa tes
jbig2enc.execompilado, cópiao avendors/jbig2enc/).
No entorno activado:
pyinstaller --clean build.specIsto creará dist/OCRmyPDFPortable/.
Copia dist/OCRmyPDFPortable/ a un Windows sen Python. Executa:
cd dist\OCRmyPDFPortable
launcher.exe input.pdf output.pdf --language eng+spa --optimize 3- Se
tesseractouqpdfnon se atopan, comproba que existen envendors/. - Para optimización avanzada precisas pngquant e (opcional) jbig2enc.
- O
sitecustomize.pyestá configurado para evitar erros con imaxes JPEG truncadas.
- OCRmyPDF: MPL-2.0
- Tesseract OCR: Apache 2.0
- Ghostscript: AGPL
- pngquant: GPL v3
- jbig2enc: GPL v2
- QPDF: Apache 2.0