Skip to content

[Bug]: NegativeDimensionError #1526

@jozuas

Description

@jozuas

Describe the bug

ocrmypdf crashes with NegativeDimensionError when OCRing some PDFs

Steps to reproduce

1. Run `ocrmypdf --force-ocr --output-type pdf NKqYnr8xwMMvP-_JTwNs8g.pdf output.pdf`

Files

NKqYnr8xwMMvP-_JTwNs8g.pdf

How did you download and install the software?

nixpkgs

OCRmyPDF version

16.10.0

Relevant log output

~/dev/terrapin-app > ocrmypdf -v1 --force-ocr --output-type pdf NKqYnr8xwMMvP-_JTwNs8g.pdf output.pdf
ocrmypdf 16.10.0                                                                                                                                                      __main__.py:59
Running: ['/nix/store/j6mxcra6d94q94p5wl1ihr4p4q9z71s6-tesseract-5.5.0/bin/tesseract', '--version']                                                                  __init__.py:133
Found tesseract 5.5.0                                                                                                                                                __init__.py:345
Running: ['/nix/store/j6mxcra6d94q94p5wl1ihr4p4q9z71s6-tesseract-5.5.0/bin/tesseract', '--version']                                                                  __init__.py:133
Running: ['/nix/store/j6mxcra6d94q94p5wl1ihr4p4q9z71s6-tesseract-5.5.0/bin/tesseract', '--version']                                                                  __init__.py:133
Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '--version']                                                                     __init__.py:133
Found gs 10.5.0                                                                                                                                                      __init__.py:345
Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '--version']                                                                     __init__.py:133
Running: ['/nix/store/j6mxcra6d94q94p5wl1ihr4p4q9z71s6-tesseract-5.5.0/bin/tesseract', '--list-langs']                                                               __init__.py:133
stdout/stderr = List of available languages in "/nix/store/j6mxcra6d94q94p5wl1ihr4p4q9z71s6-tesseract-5.5.0/share/tessdata/" (129):                                   __init__.py:73
afr
amh
ara
asm
aze
aze_cyrl
bel
ben
bod
bos
bre
bul
cat
ceb
ces
chi_sim
chi_sim_vert
chi_tra
chi_tra_vert
chr
cos
cym
dan
dan_frak
deu
deu_frak
div
dzo
ell
eng
enm
epo
equ
est
eus
fao
fas
fil
fin
fra
frk
frm
fry
gla
gle
glg
grc
guj
hat
heb
hin
hrv
hun
hye
iku
ind
isl
ita
ita_old
jav
jpn
jpn_vert
kan
kat
kat_old
kaz
khm
kir
kmr
kor
kor_vert
lao
lat
lav
lit
ltz
mal
mar
mkd
mlt
mon
mri
msa
mya
nep
nld
nor
oci
ori
osd
pan
pol
por
pus
que
ron
rus
san
sin
slk
slk_frak
slv
snd
spa
spa_old
sqi
srp
srp_latn
sun
swa
swe
syr
tam
tat
tel
tgk
tgl
tha
tir
ton
tur
uig
ukr
urd
uzb
uzb_cyrl
vie
yid
yor

pikepdf mmap enabled                                                                                                                                                  helpers.py:328
os.symlink(NKqYnr8xwMMvP-_JTwNs8g.pdf, /var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin)                                                  helpers.py:179
Gathering info with 1 thread workers                                                                                                                                     info.py:816
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
Scanning contents     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 12/12 0:00:00
Using Tesseract OpenMP thread limit 1                                                                                                                           tesseract_ocr.py:199
Start processing 12 pages concurrently                                                                                                                                     ocr.py:96
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    1 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    2 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    3 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    4 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    5 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
pikepdf mmap enabled                                                                                                                                                  helpers.py:328
    1 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    6 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    7 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    8 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    2 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    9 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    3 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
   10 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    4 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
   11 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    5 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
   12 page already has text! - rasterizing text and running OCR anyway                                                                                              _pipeline.py:331
    1 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=1', '-dLastPage=1', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000001_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
    6 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    7 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    8 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    2 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=2', '-dLastPage=2', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000002_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
    9 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    3 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=3', '-dLastPage=3', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000003_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   10 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    4 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=4', '-dLastPage=4', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000004_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   11 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    5 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=5', '-dLastPage=5', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000005_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   12 Rasterize with pngmono, rotation 0                                                                                                                            _pipeline.py:552
    6 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=6', '-dLastPage=6', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000006_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
    7 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=7', '-dLastPage=7', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000007_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
    8 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=8', '-dLastPage=8', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000008_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
    9 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=9', '-dLastPage=9', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000009_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   10 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=10', '-dLastPage=10', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000010_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   11 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=11', '-dLastPage=11', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000011_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   12 Running: ['/nix/store/6zkp4ybnf5irrfckn3sbjpj1hbxb6cyl-ghostscript-10.05.0/bin/gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dInterpolateControl=-1',              __init__.py:133
'-sDEVICE=pngmono', '-dFirstPage=12', '-dLastPage=12', '-r400.000000x400.000000', '-dPDFSTOPONERROR', '-o',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/000012_rasterize.png', '-sstdout=%stderr', '-dAutoRotatePages=/None', '-f',
'/var/folders/4n/hr_3nd21137flszb8v35dnf00000gn/T/ocrmypdf.io.66hjj1v5/origin.pdf']
   12 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 12 through 12.
Page 12
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

   12 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 12 through 12.
Page 12
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    8 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 8 through 8.
Page 8
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular
Loading font Helvetica (or substitute) from %rom%Resource/Font/NimbusSans-Regular
Loading font Helvetica-Bold (or substitute) from %rom%Resource/Font/NimbusSans-Bold

    8 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 8 through 8.
Page 8
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular
Loading font Helvetica (or substitute) from %rom%Resource/Font/NimbusSans-Regular
Loading font Helvetica-Bold (or substitute) from %rom%Resource/Font/NimbusSans-Bold

   12 Rotating output by 0                                                                                                                                        ghostscript.py:161
   10 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 10 through 10.
Page 10
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    7 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 7 through 7.
Page 7
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    6 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 6 through 6.
Page 6
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    6 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 6 through 6.
Page 6
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    7 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 7 through 7.
Page 7
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

   10 (suppressed 1 repeated lines)                                                                                                                                ghostscript.py:66
   11 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 11 through 11.
Page 11
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

   10 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 10 through 10.
Page 10
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    7 (suppressed 1 repeated lines)                                                                                                                                ghostscript.py:66
   11 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 11 through 11.
Page 11
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

   10 Rotating output by 0                                                                                                                                        ghostscript.py:161
    9 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 9 through 9.
Page 9
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    7 Rotating output by 0                                                                                                                                        ghostscript.py:161
    3 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 3 through 3.
Page 3
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    5 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 5 through 5.
Page 5
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    9 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 9 through 9.
Page 9
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    1 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 1.
Page 1
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    2 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 2 through 2.
Page 2
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    3 (suppressed 1 repeated lines)                                                                                                                                ghostscript.py:66
    5 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 5 through 5.
Page 5
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    4 stderr = GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                   __init__.py:75
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 4 through 4.
Page 4
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    1 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 1.
Page 1
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    2 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 2 through 2.
Page 2
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

   12 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    3 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 3 through 3.
Page 3
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    8 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    4 (suppressed 1 repeated lines)                                                                                                                                ghostscript.py:66
    5 Rotating output by 0                                                                                                                                        ghostscript.py:161
    4 GPL Ghostscript 10.05.0 (2025-03-12)                                                                                                                        ghostscript.py:148
Copyright (C) 2025 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 4 through 4.
Page 4
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: Cannot load default config file: No such file: (null)
Loading font Times-Roman (or substitute) from %rom%Resource/Font/NimbusRoman-Regular

    3 (suppressed 2 repeated lines)                                                                                                                                ghostscript.py:66
    3 Rotating output by 0                                                                                                                                        ghostscript.py:161
   10 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    7 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    6 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
   12 convert                                                                                                                                                       _pipeline.py:748
    8 convert                                                                                                                                                       _pipeline.py:748
   12 PIL format = PNG                                                                                                                                               img2pdf.py:1952
   12 imgformat = PNG                                                                                                                                                img2pdf.py:1965
   12 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    8 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    8 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    8 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
   12 rotation = 0°                                                                                                                                                  img2pdf.py:1496
   12 input colorspace = 1                                                                                                                                           img2pdf.py:1530
   12 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
   10 convert                                                                                                                                                       _pipeline.py:748
    9 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
   12 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
   10 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    8 rotation = 0°                                                                                                                                                  img2pdf.py:1496
   10 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    8 input colorspace = 1                                                                                                                                           img2pdf.py:1530
   10 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
   11 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    7 convert                                                                                                                                                       _pipeline.py:748
    8 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    8 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    7 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    7 imgformat = PNG                                                                                                                                                img2pdf.py:1965
   10 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    7 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
   10 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    6 convert                                                                                                                                                       _pipeline.py:748
   10 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    1 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    2 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    6 PIL format = PNG                                                                                                                                               img2pdf.py:1952
   10 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    6 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    7 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    5 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    6 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    7 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    3 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    7 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    4 resolution (399.9992, 399.9992)                                                                                                                               _pipeline.py:631
    7 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    6 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    6 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    6 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    6 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    9 convert                                                                                                                                                       _pipeline.py:748
    9 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    9 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    9 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    9 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    9 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    9 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    9 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
   11 convert                                                                                                                                                       _pipeline.py:748
   11 PIL format = PNG                                                                                                                                               img2pdf.py:1952
   11 imgformat = PNG                                                                                                                                                img2pdf.py:1965
   11 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
   11 rotation = 0°                                                                                                                                                  img2pdf.py:1496
   11 input colorspace = 1                                                                                                                                           img2pdf.py:1530
   11 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
   11 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    2 convert                                                                                                                                                       _pipeline.py:748
    2 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    2 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    2 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    5 convert                                                                                                                                                       _pipeline.py:748
    5 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    5 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    5 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    3 convert                                                                                                                                                       _pipeline.py:748
    3 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    1 convert                                                                                                                                                       _pipeline.py:748
    3 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    2 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    3 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    2 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    1 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    2 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    5 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    1 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    2 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    4 convert                                                                                                                                                       _pipeline.py:748
    5 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    1 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    5 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    4 PIL format = PNG                                                                                                                                               img2pdf.py:1952
    5 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    4 imgformat = PNG                                                                                                                                                img2pdf.py:1965
    4 input dpi = 400 x 400                                                                                                                                          img2pdf.py:1384
    3 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    3 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    3 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    3 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    1 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    1 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    1 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    1 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
    4 rotation = 0°                                                                                                                                                  img2pdf.py:1496
    4 input colorspace = 1                                                                                                                                           img2pdf.py:1530
    4 width x height = 3400px x 4400px                                                                                                                               img2pdf.py:1583
    4 read_images() embeds a PNG                                                                                                                                     img2pdf.py:2163
OCR                   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0%  0/12 -:--:--
An exception occurred while executing the pipeline                                                                                                                    _common.py:296
Traceback (most recent call last):
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipelines/_common.py", line 261, in
cli_exception_handler
    return fn(options, plugin_manager)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipelines/ocr.py", line 181, in _run_pipeline
    optimize_messages = exec_concurrent(context, executor)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipelines/ocr.py", line 117, in
exec_concurrent
    executor(
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_concurrent.py", line 78, in __call__
    self._execute(
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/builtin_plugins/concurrency.py", line 144, in
_execute
    result = future.result()
             ^^^^^^^^^^^^^^^
  File "/nix/store/3p3agnh4792y8bgjp0s8xx5bym1ahpks-python3-3.12.9/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/nix/store/3p3agnh4792y8bgjp0s8xx5bym1ahpks-python3-3.12.9/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/nix/store/3p3agnh4792y8bgjp0s8xx5bym1ahpks-python3-3.12.9/lib/python3.12/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipelines/ocr.py", line 78, in _exec_page_sync
    ocr_image_out, pdf_page_from_image_out, orientation_correction = process_page(
                                                                     ^^^^^^^^^^^^^
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipelines/_common.py", line 433, in
process_page
    pdf_page_from_image_out = create_pdf_page_from_image(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/0v3pizs55q61czjpm94hx5f7f4v6lcgv-python3.12-ocrmypdf-16.10.0/lib/python3.12/site-packages/ocrmypdf/_pipeline.py", line 751, in
create_pdf_page_from_image
    img2pdf.convert(
  File "/nix/store/zwdxkixhm2mj5bc7j50p7xb186zp2b3w-python3.12-img2pdf-0.6.0/lib/python3.12/site-packages/img2pdf.py", line 2942, in convert
    pdf = convert_to_docobject(*images, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/zwdxkixhm2mj5bc7j50p7xb186zp2b3w-python3.12-img2pdf-0.6.0/lib/python3.12/site-packages/img2pdf.py", line 2871, in convert_to_docobject
    pagewidth, pageheight, imgwidthpdf, imgheightpdf = kwargs["layout_fun"](
                                                       ^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/zwdxkixhm2mj5bc7j50p7xb186zp2b3w-python3.12-img2pdf-0.6.0/lib/python3.12/site-packages/img2pdf.py", line 2635, in layout_fun
    raise NegativeDimensionError(
img2pdf.NegativeDimensionError: one border dimension is larger than half of the respective page dimension

Metadata

Metadata

Assignees

Labels

triageIssue needs triage

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions