Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58abb5785c | ||
|
|
509e75eaff | ||
|
|
0c50eedb2a | ||
|
|
c38ff90081 | ||
|
|
4c029e973f | ||
|
|
21cf9029e8 | ||
|
|
4a640b8dcd |
+2
-4
@@ -90,10 +90,8 @@ Docker volume:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
docker run --rm -v $(pwd):/data ocrmypdf /data/input.pdf /data/output.pdf
|
alias docker_ocrmypdf='docker run --rm -i --user "$(id -u):$(id -g)" --workdir /data -v "$PWD:/data" ocrmypdf'
|
||||||
|
docker_ocrmypdf /data/input.pdf /data/output.pdf
|
||||||
(However, when done this way, ``output.pdf`` may be owned by the root
|
|
||||||
user.)
|
|
||||||
|
|
||||||
.. _docker-lang-packs:
|
.. _docker-lang-packs:
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ Note that it is licensed under GPLv3, so scripts that
|
|||||||
``import ocrmypdf`` and are released publicly should probably also be
|
``import ocrmypdf`` and are released publicly should probably also be
|
||||||
licensed under GPLv3.
|
licensed under GPLv3.
|
||||||
|
|
||||||
|
v9.7.2
|
||||||
|
======
|
||||||
|
|
||||||
|
- Fixed an issue with ``ocrmypdf.ocr(...language=)`` not accepting a list of
|
||||||
|
languages as documented.
|
||||||
|
- Updated setup.py to confirm that pdfminer.six version 20200402 is supported.
|
||||||
|
|
||||||
v9.7.1
|
v9.7.1
|
||||||
======
|
======
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# installation
|
# installation
|
||||||
cffi == 1.14.0
|
cffi == 1.14.0
|
||||||
img2pdf == 0.3.3
|
img2pdf == 0.3.3
|
||||||
pdfminer.six == 20200124
|
pdfminer.six == 20200402
|
||||||
pikepdf == 1.10.2
|
pikepdf == 1.10.2
|
||||||
Pillow == 7.0.0
|
Pillow == 7.0.0
|
||||||
reportlab == 3.5.34
|
reportlab == 3.5.34
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ setup(
|
|||||||
'chardet >= 3.0.4, < 4', # unlisted requirement of pdfminer.six 20181108
|
'chardet >= 3.0.4, < 4', # unlisted requirement of pdfminer.six 20181108
|
||||||
'cffi >= 1.9.1', # must be a setup and install requirement
|
'cffi >= 1.9.1', # must be a setup and install requirement
|
||||||
'img2pdf >= 0.3.0, < 0.4', # pure Python, so track HEAD closely
|
'img2pdf >= 0.3.0, < 0.4', # pure Python, so track HEAD closely
|
||||||
'pdfminer.six >= 20181108, <= 20200124',
|
'pdfminer.six >= 20181108, <= 20200402',
|
||||||
'pikepdf >= 1.8.1, < 2',
|
'pikepdf >= 1.8.1, < 2',
|
||||||
'Pillow >= 6.2.0',
|
'Pillow >= 6.2.0',
|
||||||
'reportlab >= 3.3.0', # oldest released version with sane image handling
|
'reportlab >= 3.3.0', # oldest released version with sane image handling
|
||||||
|
|||||||
+9
-3
@@ -21,7 +21,7 @@ import sys
|
|||||||
from contextlib import suppress
|
from contextlib import suppress
|
||||||
from enum import IntEnum
|
from enum import IntEnum
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, List
|
from typing import Dict, Iterable
|
||||||
|
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
@@ -154,6 +154,12 @@ def create_options(*, input_file: os.PathLike, output_file: os.PathLike, **kwarg
|
|||||||
cmdline.append(f"--{cmd_style_arg}")
|
cmdline.append(f"--{cmd_style_arg}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if isinstance(val, Iterable) and not isinstance(val, str):
|
||||||
|
for elem in val:
|
||||||
|
cmdline.append(f"--{cmd_style_arg}")
|
||||||
|
cmdline.append(elem)
|
||||||
|
continue
|
||||||
|
|
||||||
# We have a parameter
|
# We have a parameter
|
||||||
cmdline.append(f"--{cmd_style_arg}")
|
cmdline.append(f"--{cmd_style_arg}")
|
||||||
if isinstance(val, (int, float)):
|
if isinstance(val, (int, float)):
|
||||||
@@ -184,7 +190,7 @@ def ocr( # pylint: disable=unused-argument
|
|||||||
input_file: os.PathLike,
|
input_file: os.PathLike,
|
||||||
output_file: os.PathLike,
|
output_file: os.PathLike,
|
||||||
*,
|
*,
|
||||||
language: List[str] = None,
|
language: Iterable[str] = None,
|
||||||
image_dpi: int = None,
|
image_dpi: int = None,
|
||||||
output_type=None,
|
output_type=None,
|
||||||
sidecar: os.PathLike = None,
|
sidecar: os.PathLike = None,
|
||||||
@@ -214,7 +220,7 @@ def ocr( # pylint: disable=unused-argument
|
|||||||
jbig2_page_group_size: int = None,
|
jbig2_page_group_size: int = None,
|
||||||
pages: str = None,
|
pages: str = None,
|
||||||
max_image_mpixels: float = None,
|
max_image_mpixels: float = None,
|
||||||
tesseract_config: List[str] = None,
|
tesseract_config: Iterable[str] = None,
|
||||||
tesseract_pagesegmode: int = None,
|
tesseract_pagesegmode: int = None,
|
||||||
tesseract_oem: int = None,
|
tesseract_oem: int = None,
|
||||||
pdf_renderer=None,
|
pdf_renderer=None,
|
||||||
|
|||||||
@@ -59,3 +59,10 @@ def test_tqdm_console():
|
|||||||
|
|
||||||
log.info("done")
|
log.info("done")
|
||||||
assert not before_pbar("done")
|
assert not before_pbar("done")
|
||||||
|
|
||||||
|
|
||||||
|
def test_language_list():
|
||||||
|
with pytest.raises(
|
||||||
|
(ocrmypdf.exceptions.InputFileError, ocrmypdf.exceptions.MissingDependencyError)
|
||||||
|
):
|
||||||
|
ocrmypdf.ocr('doesnotexist.pdf', '_.pdf', language=['eng', 'deu'])
|
||||||
|
|||||||
Reference in New Issue
Block a user