519 lines
13 KiB
ReStructuredText
519 lines
13 KiB
ReStructuredText
RELEASE NOTES
|
|
=============
|
|
|
|
Please always read this file before installing the package
|
|
|
|
Download software here: https://github.com/fritz-hh/OCRmyPDF/tags
|
|
|
|
v3.0:
|
|
=====
|
|
|
|
New features
|
|
------------
|
|
|
|
- Easier installation with a Docker container or Python's ``pip`` package manager
|
|
- Eliminated many external dependencies, so it's easier to setup
|
|
- Now installs ``ocrmypdf`` to ``/usr/local/bin`` or equivalent for system-wide
|
|
access and easier typing
|
|
- Improved command line syntax and usage help (``--help``)
|
|
- Tesseract 3.03+ PDF page rendering can be used instead for better positioning
|
|
of recognized text (``--pdf-renderer tesseract``)
|
|
- PDF metadata (title, author, keywords) are now transferred to the
|
|
output PDF
|
|
- PDF metadata can also be set from the command line (``--title``, etc.)
|
|
- Automatic repairs malformed input PDFs if possible
|
|
- Added test cases to confirm everything is working
|
|
- Added option to skip extremely large pages that take too long to OCR and are
|
|
often not OCRable (e.g. large scanned maps or diagrams); other pages are still
|
|
processed (``--skip-big``)
|
|
- Added option to kill Tesseract OCR process if it seems to be taking too long on
|
|
a page, while still processing other pages (``--tesseract-timeout``)
|
|
- Less common colorspaces (CMYK, palette) are now supported by conversion to RGB
|
|
- Multiple images on the same PDF page are now supported
|
|
|
|
Changes
|
|
-------
|
|
|
|
- New, robust rewrite in Python 3.4+ with ruffus_ pipelines
|
|
- Now uses Ghostscript 9.14's improved color conversion model to preserve PDF colors
|
|
- All "tasks" in the pipeline can be executed in parallel on any
|
|
available CPUs, increasing performance
|
|
- The ``-o DPI`` argument has been phased out, in favor of ``--oversample DPI``, in
|
|
case we need ``-o OUTPUTFILE`` in the future
|
|
- Removed several dependencies, so it's easier to install. We no
|
|
longer use:
|
|
|
|
- GNU parallel_
|
|
- ImageMagick_
|
|
- Python 2.7
|
|
- Poppler
|
|
- MuPDF_ tools
|
|
- shell scripts
|
|
- Java and JHOVE_
|
|
- libxml2
|
|
|
|
- Some new external dependencies are required or optional, compared to v2.x:
|
|
|
|
- Ghostscript 9.14+
|
|
- qpdf_ 5.0.0+
|
|
- Unpaper_ 6.1 (optional)
|
|
- some automatically managed Python packages
|
|
|
|
.. _ruffus: http://www.ruffus.org.uk/index.html
|
|
.. _parallel: https://www.gnu.org/software/parallel/
|
|
.. _ImageMagick: http://www.imagemagick.org/script/index.php
|
|
.. _MuPDF: http://mupdf.com/docs/
|
|
.. _qpdf: http://qpdf.sourceforge.net/
|
|
.. _Unpaper: https://github.com/Flameeyes/unpaper
|
|
.. _JHOVE: http://jhove.sourceforge.net/
|
|
|
|
Release candidates
|
|
------------------
|
|
|
|
- rc9:
|
|
|
|
- fix issue #118: report error if ghostscript iccprofiles are missing
|
|
- fixed another issue related to #111: PDF rasterized to palette file
|
|
- add support image files with a palette
|
|
- don't try to validate PDF file after an exception occurs
|
|
|
|
- rc8:
|
|
|
|
- fix issue #111: exception thrown if PDF is missing DocumentInfo dictionary
|
|
|
|
- rc7:
|
|
|
|
- fix error when installing direct from pip, "no such file 'requirements.txt'"
|
|
|
|
- rc6:
|
|
|
|
- dropped libxml2 (Python lxml) since Python 3's internal XML parser is sufficient
|
|
- set up Docker container
|
|
- fix Unicode errors if recognized text contains Unicode characters and system locale is not UTF-8
|
|
|
|
- rc5:
|
|
|
|
- dropped Java and JHOVE in favour of qpdf
|
|
- improved command line error output
|
|
- additional tests and bug fixes
|
|
- tested on Ubuntu 14.04 LTS
|
|
|
|
- rc4:
|
|
|
|
- dropped MuPDF in favour of qpdf
|
|
- fixed some installer issues and errors in installation instructions
|
|
- improve performance: run Ghostscript with multithreaded rendering
|
|
- improve performance: use multiple cores by default
|
|
- bug fix: checking for wrong exception on process timeout
|
|
|
|
- rc3: skipping version number intentionally to avoid confusion with Tesseract
|
|
- rc2: first release for public testing to test-PyPI, Github
|
|
- rc1: testing release process
|
|
|
|
Compatibility notes
|
|
-------------------
|
|
|
|
- ``./OCRmyPDF.sh`` script is still available for now
|
|
- Stacking the verbosity option like ``-vvv`` is no longer supported
|
|
|
|
- The configuration file ``config.sh`` has been removed. Instead, you can
|
|
feed a file to the arguments for common settings:
|
|
|
|
::
|
|
|
|
ocrmypdf input.pdf output.pdf @settings.txt
|
|
|
|
where ``settings.txt`` contains *one argument per line*, for example:
|
|
|
|
::
|
|
|
|
-l
|
|
deu
|
|
--author
|
|
A. Merkel
|
|
--pdf-renderer
|
|
tesseract
|
|
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Handling of filenames containing spaces: fixed
|
|
|
|
Notes and known issues
|
|
----------------------
|
|
|
|
- Some dependencies may work with lower versions than tested, so try
|
|
overriding dependencies if they are "in the way" to see if they work.
|
|
|
|
- ``--pdf-renderer tesseract`` will output files with an incorrect page size in Tesseract 3.03,
|
|
due to a bug in Tesseract.
|
|
|
|
- PDF files containing "inline images" are not supported and won't be for the 3.0 release. Scanned
|
|
images almost never contain inline images.
|
|
|
|
|
|
v2.2-stable (2014-09-29):
|
|
=========================
|
|
|
|
New features
|
|
------------
|
|
|
|
- None
|
|
|
|
Changes
|
|
-------
|
|
|
|
- Update to jhove v1.11
|
|
- Request the python library reportlab v3.0 or newer (So that we could remove a patch to the previous version of reportlab leading to issues for some users)
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Fix bug on Mac OS X (resolution of simlink to OCRmyPDF.sh script) (thanks to jbarlow83)
|
|
- Check if the input pdf file exists before to continue
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.2
|
|
- Dependencies:
|
|
|
|
- parallel 20140822
|
|
- poppler-utils 0.24.5
|
|
- ImageMagick 6.8.9-4 2014-09-17
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.8
|
|
- ghostcript (gs): 9.06
|
|
- java: openjdk version "1.7.0_65"
|
|
|
|
|
|
v2.1-stable (2014-09-20):
|
|
=========================
|
|
|
|
New features
|
|
------------
|
|
|
|
- None
|
|
|
|
Changes
|
|
-------
|
|
|
|
- None
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Allow execution via simlink
|
|
- Add support for tesseract 3.03
|
|
- Add support for newer version of reportlab
|
|
- Lowered minimum version of gnu parallel
|
|
- Various typo
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- parallel 20130222
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v2.0-stable (2014-01-25):
|
|
=========================
|
|
|
|
New features
|
|
------------
|
|
|
|
- Check if the language(s) passed using the -l option is supported by
|
|
tesseract (fixes #60)
|
|
|
|
Changes
|
|
-------
|
|
|
|
- Allow OCRmyPDF to be used with tesseract 3.02.01, even though OCR
|
|
might fail for few PDF file (see issue #28). Rationale: For some
|
|
linux distribution, no newer version than tesseract 3.02.01 is
|
|
available
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- More robust algorithm for checking the version of the installed
|
|
tesseract package
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- parallel 20130222
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v2.0-rc2 (2014-01-16):
|
|
======================
|
|
|
|
New features
|
|
------------
|
|
|
|
- None
|
|
|
|
Changes
|
|
-------
|
|
|
|
- Size reduction of final PDF file: (fixes #50)
|
|
- Support for monochrome (Black&White) images (massive size reduction
|
|
in final PDF: >80%)
|
|
- Reduced size of grayscale images (by 13% on test PDF file)
|
|
- Preventing fi, fl ligatures does not require anymore to pass an
|
|
additional config file to tesseract using the -C option (fixes #58)
|
|
- Location of temporary folder according to content of environment
|
|
variable TMPDIR.
|
|
- Dependency to pdftk removed
|
|
- Check for compatible versions of dependencies: (fixes #51)
|
|
- parallel and tesseract
|
|
- python libraries reportlab and lxml
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Improved portability with various shells (dash, bash, tcsh) and OS
|
|
(FreeBSD, MAC OSX, Linux) (fixes #59)
|
|
- Corrected bug in case the input PDF file contains a space character
|
|
(fixes #48)
|
|
- Prevent spurious error message in case there is no image in a PDF
|
|
page
|
|
- Prevent collision of temporary folder names (fixes #57)
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- parallel 20130222
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v2.0-rc1 (2014-01-07):
|
|
======================
|
|
|
|
New features
|
|
------------
|
|
|
|
- Huge performance improvement on machines having multiple CPU/cores
|
|
(processing of several pages concurrently) (fixes #18)
|
|
- By default prevent from processing a PDF file already containing
|
|
fonts (i.e. text)(it can be overridden with the -f flag) (fixes #16)
|
|
- Warn if the resolution is too low to get reasonable OCR results
|
|
(fixes #37)
|
|
- New option (-o) to perform automatic oversampling if the image
|
|
resolution is too low. This can improve OCR results.
|
|
- Warn if using a tesseract version older than v3.02.02 (as older
|
|
versions are known to produce invalid output) (fixes #41)
|
|
- Echo version of the installed dependencies (e.g. tesseract) in debug
|
|
mode in order to ease support (fixes #35)
|
|
- Echo the arguments passed to the script in debug mode to ease support
|
|
|
|
Changes
|
|
-------
|
|
|
|
- In debug mode: The debug page is now placed after the respective
|
|
"normal" page
|
|
- Reduced disk space usage in temporary folder if -d (deskew) or -c
|
|
(cleanup) options are not selected
|
|
- New file src/config.sh containing various configuration parameters
|
|
- Documentation of the tesseract config file "tess-cfg/no\_ligature"
|
|
improved
|
|
- Improved consistency of the temporary file names
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Improved robustness:
|
|
- in case vertical resolution differs from horizontal resolution (fixes
|
|
#38)
|
|
- in case a PDF page contains more than one image (fixes #36)
|
|
- Fix a problem occurring if python 3 is the standard interpreter
|
|
(fixes #33)
|
|
- Fix a problem occurring if the input PDF file contains special
|
|
characters like "#" (fixes #34)
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- parallel 20130222
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- pdftk 1.45
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v1.1-stable (2014-01-06):
|
|
=========================
|
|
|
|
New features
|
|
------------
|
|
|
|
- N/A
|
|
|
|
Changes
|
|
-------
|
|
|
|
- N/A
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Fixed syntax error (bashism) leading to an error message on certain
|
|
systems (fixes #42)
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- pdftk 1.45
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v1.0-stable (2013-05-06):
|
|
=========================
|
|
|
|
New features
|
|
------------
|
|
|
|
- In debug mode: compute and echo time required for processing (fixes
|
|
#26)
|
|
|
|
Changes
|
|
-------
|
|
|
|
- Removed feature to add metadata in final pdf file (because it lead to
|
|
to final PDF file that does not comply to the PDF/A-1 format)
|
|
- Removed feature to set same owner & permissions in final PDF file
|
|
than in input file
|
|
- Removed many unused jhove files (e.g. documentation, \*.java and
|
|
\*.class files)
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Correction to handle correctly path and input PDF files having spaces
|
|
(fixes #31)
|
|
- Resolutions (x/y) that are nearly equal are now supported (fixes #25)
|
|
- Fix compatibility issue with Ubuntu server 12.04 / Ubuntu server
|
|
10.04 / Linux Mint 13 Maya and probably other Linux distributions
|
|
(fixes #27)
|
|
- Commit missing jhove files (\*.jar mainly) due to wrong .gitignore
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- pdftk 1.45
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v1.0-rc2 (2013-04-29):
|
|
======================
|
|
|
|
New features
|
|
------------
|
|
|
|
- Keep temporary files if debug mode is set (fixes #22)
|
|
- Set same owner & permissions in final PDF file than in input file
|
|
(fixes #9)
|
|
- Added metadata in final pdf file (fixes #4)
|
|
|
|
Changes
|
|
-------
|
|
|
|
- N/A
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- Fixed wrong image cropping when deskew option is activated
|
|
- Exit with error message if page size is not found in hocr file (fixes
|
|
#21)
|
|
- Various minor fixes in log messages
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- pdftk 1.45
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|
|
|
|
v1.0-rc1 (2013-04-26):
|
|
======================
|
|
|
|
New features
|
|
------------
|
|
|
|
- First release candidate
|
|
|
|
Changes
|
|
-------
|
|
|
|
- N/A
|
|
|
|
Fixes
|
|
-----
|
|
|
|
- N/A
|
|
|
|
Tested with
|
|
-----------
|
|
|
|
- Operating system: FreeBSD 9.1
|
|
- Dependencies:
|
|
- poppler-utils 0.22.2
|
|
- ImageMagick 6.8.0-7 2013-03-30
|
|
- Unpaper 0.3
|
|
- tesseract 3.02.02
|
|
- Python 2.7.3
|
|
- pdftk 1.45
|
|
- ghoscript (gs): 9.06
|
|
- java: openjdk version "1.7.0\_17"
|