Compare commits

...
7 Commits
6 changed files with 26 additions and 9 deletions
+2 -4
View File
@@ -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:
+6
View File
@@ -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
====== ======
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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,
+7
View File
@@ -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'])