GithubHelp home page GithubHelp logo

manisandro / gimagereader Goto Github PK

View Code? Open in Web Editor NEW
1.5K 74.0 184.0 11.52 MB

A Gtk/Qt front-end to tesseract-ocr.

License: GNU General Public License v3.0

CMake 1.22% C++ 97.01% Makefile 0.06% Shell 0.84% NSIS 0.52% Python 0.23% Dockerfile 0.13%
qt ocr pdf-document c-plus-plus tesseract-ocr gtk hocr-documents hocr scanner

gimagereader's Introduction

Translation status Github All Releases Actions Status

gImageReader

gImageReader is a simple Gtk/Qt front-end to tesseract-ocr.

Logo

Features

  • Import PDF documents and images from disk, scanning devices, clipboard and screenshots
  • Process multiple images and documents in one go
  • Manual or automatic recognition area definition
  • Recognize to plain text or to hOCR documents
  • Recognized text displayed directly next to the image
  • Post-process the recognized text, including spellchecking
  • Generate PDF documents from hOCR documents
  • International language support: Weblate, Desktop entry

Installation

Compilation

The steps for compiling gImageReader from source are documented in the wiki.

Support

If you encounter issues, please file a ticket in the issue tracker, or feel free to mail me directly at manisandro(at)gmail(dot)com. Be sure to also consult the FAQ.

Contributing

Contributions are always welcome, ideally in the form of pull-requests.

Translating

International language support contributions at Weblate and Desktop entry.

Translation status

gimagereader's People

Contributors

avtechscientific avatar beriain avatar bmwmy avatar carmina16 avatar comradekingu avatar danpla avatar darija-blossom avatar do2or avatar eevan78 avatar eighttails avatar fitojb avatar innir avatar kawasakichiro avatar manisandro avatar miharix avatar milotype avatar ovari avatar p-bo avatar peinilla avatar prasanta-hembram avatar santossi avatar shivishbrahma avatar shreeshrii avatar sr093906 avatar stweil avatar timothytylee avatar vasiliskos avatar vistaus avatar weblate avatar zamazan4ik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gimagereader's Issues

'Append to current text' insertion mode does not work as expected

I have observed the following bug in gimagereader 3.1:

  1. Move the cursor somewhere to the middle of the output text
  2. Select 'Append to current Text'
  3. Drag two rectangles in the scanned image to select two different text
    blocks.

The text of the first rectangle is appended to the end of output text
while the text of the second rectangle is inserted at the current cursor
position.

Add ability to recognize text on multiple files

It would be great if you could select multiple files in the "Sources" pane and recognize text from all of them with one click. I have a bunch of files right now and the only way to do it (as far as I know) is to go through one by one.

gImageREADER does not find non-english dicts

This is for gImageReader 3.0.1 under Windows 7.
I followed the dictionary installation instructions and downloaded the german de_DE.zip and copied the de_DE.aff and de_DE.dic into /share/myspell/dicts. They are there along with the en_US files.
But when I try to select "German" with "Recognize selection", even after "Redetect Languages" I can't select "German" (or "Deutsch"). There is just "English" -> "English (United States)" or "Multilingual" -> "English".

Rotation feels "backwards", doesn't persist for multiple images

After spending a little time with the (incredibly handy!) page-rotation feature, I've come to the conclusion that its rotation just feels... backwards. Working with a page scan, it's natural to think of it as a physical piece of paper, and to conceptualize rotation operations as "turning" that piece of paper. So, "increasing" the rotation would mean turning the paper farther to the right (clockwise), the opposite of how gImageReader currently inteprets the rotation. (Bonus: The direction of rotation would match the placement of the [-] [+] buttons on the toolbar.)

Before filing this as a bug I decided to check how Gimp handles rotation, to get another data point. Gimp has two rotation modes. Quoted descriptions are from the Gimp manual.

  • "Normal rotation" : "will rotate the layer as one might expect", and works as I described. As you increase the rotation angle, the displayed image/layer turns in a clockwise direction.
  • "Corrective rotation" : "is primarily used to repair digital images that are not straight". As you increase the angle of rotation, the displayed image doesn't move at all โ€” instead, the overlay that Gimp superimposes on the image/layer (by default, a bounding box containing a 15x15 grid of guide lines) rotates in the opposite direction. The correct angle of rotation is discovered by visually lining up the grid lines with horizontal/vertical image features, rather than having to "eyeball" it straight. When you press "Rotate", the image/layer is then rotated accordingly.

So, based on Gimp's example I feel I can more confidently say that gImageReader's current rotation feature is reversed. A "corrective rotation" feature could be handy to have, but it would require some sort of "horizon" overlay (like the Gimp's guide box) that could be rotated in lieu of turning the image itself. (Typically I'll draw an arbitrary selection box, in gImageReader, and then rotate the image until the baseline of a line of text is aligned with the edge of the box.)


Separate from the above, but also rotation-related: When working with multiple images, switching between them resets the angle of rotation to 0. It would be great if the rotation persisted per image, so it was possible to move among them without losing the rotation and having to re-do it. Meaning (for instance), the user could do the following:

  1. Load three images; Slide 1, Slide 2, Slide 3.
  2. Rotate Slide 1 to 3.1 degrees.
  3. Change to Slide 2, rotation resets to 0.
  4. Rotate Slide 2 to -2.6 degrees.
  5. Switch back to Slide 1, rotation is set to 3.1 degrees.
  6. Switch to Slide 3, rotation goes to 0 (as there's no stored value).

gimagereader-qt5.exe - Ordinal Not Found

Hi, thanks for the software.
I installed gImageReader_3.1.2_qt5_x86_64.exe and getting the following error at launch:

---------------------------
gimagereader-qt5.exe - Ordinal Not Found
---------------------------
The ordinal 3873 not found in dynamic link library libeay32.dll.
---------------------------
OK
---------------------------

Please check for SANE also on Hurd and kFreeBSD

Hi,

while packagin gimagereader for Debian I realized that you check for SANE only on Linux platforms. As Debian also has non-Linux architectures (Hurd and kFreeBSD) I had to use the patch below to be able to build gimagereader on these archs.

--- a/configure.ac
+++ b/configure.ac
@@ -59,7 +59,7 @@

 dnl ************************** Look for SANE on linux *************************
 case "$host_os" in
-  linux*)
+  linux*|k*bsd-gnu*|gnu*)
        PKG_CHECK_MODULES(SANE, [sane-backends])
        ;;
    *)

Could you please include this patch?

Thanks,
Philip

Scanner not detected kubuntu 14.04

Scanner is not detected on kubuntu-14.04-amd64. Older version 0.9.1 does detect the scanner, as does xsane. In the Acquire menu, the device block is greyed, and hitting the refresh button does not change this. Running gimagereader from a terminal does not produce any error messages.

Build under Mac OS 10.11

I tried to build it under Mac OS 10.11 but got following error:

$ cmake .
-- GSettings schemas will be installed locally.
-- GSettings shemas will be compiled.
-- qt4 interface will be built
date: illegal option -- R
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
            [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
CMake Error at /usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Gettext (missing: GETTEXT_MSGMERGE_EXECUTABLE
  GETTEXT_MSGFMT_EXECUTABLE)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/FindGettext.cmake:87 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:51 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/Users/adrian/Projects/tests/gImageReader/CMakeFiles/CMakeOutput.log".

Gettext is actually installed. Any idea how to fix this?

hOCR output + hOCR editor

Hi, it would be nice to be able to export to hOCR format. It's as simple as sending a parameter to tesseract.

Also, a VERY useful thing would be to implement hOCR editor and so to connect text image with ocr-ed text. This would be extremely useful!!! Something like line-by-line display of image followed by a text box with text which could then be manually corrected.

Recognizing multiple pages from PDF recognizes current page multiple times

  1. Open a PDF file via the file folder (add images) shortcut in the files tab of the output pane
  2. Confirm that pages are available by using the page spinner in toolbar to go forward/backward pages
  3. Click on 'Recognize all English (en_US)' button
  4. Select 'Multipl Pages...' from the drop down menu
  5. Enter a page range (i.e. 1-10) and leave Recognition area set to 'Entire page'

Results in whatever page is currently visible being repeatedly recognized for as many pages as have been selected (i.e. if pages 1-10 were given as the range, the currently visible page will be recognized 10 times)

Running gImageReader 3.1.2 on Debian testing

Automatic spellchecking doesn't always update properly

I noticed (this is in the QT port, 3.0.1, from Fedora package gimagereader-qt-3.0.1-1.fc20.x86_64) that there's an issue with how the automatic spellchecking updates when making edits in the middle of the text. The easiest way to see this in action is to join two valid words together into an invalid word, then separate them again.

When the invalid compound word is created, it's flagged as misspelled:

screenshot from 2015-03-29 20 22 01

After the space is reinserted, the word ahead of the cursor is updated, but the word following the cursor is still flagged (incorrectly) as misspelled:

screenshot from 2015-03-29 20 22 11

Any editing within or immediately following the second word (even, say, replacing a letter with itself) will cause the red squiggle to disappear. Deactivating and reactivating automatic spellcheck also clears it.

Right-clicking on the red-squiggled word shows a context menu with no suggestions, and without the Add/Ignore items, so it seems the system doesn't "really" think the word is misspelled. The red squiggle is just a graphical anomaly.

Spellchecker uses incorrect codepage

I'm using the cs_CZ dictionaries, gImageReader 3.0.2 on Win7 x64.

In the Output window, if a word gets marked as incorrect, the spellchecker rarely offers (on right-click) an alternative word that contains accented characters (unaccented words seem to be preferred). But if it does, the word is presented in an incorrect codepage, and if the word is clicked, the same incorrect characters are inserted into the output text.

Details:
The words in the dictionary are encoded in UTF8 (e.g. "psychickรฝm"). But the spellchecker presents and inserts the words in a byte encoding ("psychickฤ‚หm")

Crash on Windows 10 with Hungarian text

Hi Sandro,

First of all gImageReader is a great application, thanks for doing it!

I found that version 3.1.2 on Windows 10 works fine with English, but it constantly crashes if I try to use it on Hungarian text.

I installed the Hungarian language definition and the spelling dictionary files as suggested in the manual page.

The crash happened on a PDF file which contained a scanned paper. However I could reproduce the issue with a screenshot of a Hungarian article as well.

Here are the logs:
crash_handler.txt
gimagereader.log.txt
twain.log.txt

Then I tried to use the alternative build with the same Hungarian language definition and spelling dictionary files. I got the following error popup window:

error_popup

And the following log files:
gimagereader_alternative.log.txt
twain_alternative.log.txt

Thanks,
Robert

Can't find Qt5Core.dll.

When opening a picture, I have got this message:
"Le point d'entrรฉe de procรฉdure
?absoluteDir@QFileInfo@ @qeba?AVQDir@@xz est introuvable dans la bibliothรจque de liens dynamiques Qt5Core.dll."

Trojan.ADH.X AV warning after installing

After installing the software from the source forge website I was promoted that the file Uninstall.exe was a Trojan and was deleted by the antivirus software. My work computer is running Symantec Endpoint Protection 12

"Display whitespace characters" view mode in output pane

The output pane's intelligent newline removal and whitespace cleanup functions are incredibly handy for reflowing paragraphs of text from the OCR'd document. However, especially since the output pane comes up rather narrow by default (so that nearly all recognized text is displayed wrapped, in the pane), it can sometimes be difficult to determine the line length of the text or where the existing hard newlines are.

I wonder if it wouldn't be helpful to have a display mode (either optional, or just the standard view) which displays "hidden" whitespace characters โ€” something similar to GEdit's "Draw Spaces" plugin, perhaps.

I have my GEdit configured so that:

  • All breaks, tabs, and non-breaking spaces are shown,
  • Leading and trailing spaces on each line are also drawn,
  • Spaces within the line are not displayed. (I find the visible dots between words distracting, and they make the text harder to read. Plus, inline spaces are generally less of a formatting concern.)

If the output pane had a display mode similar to the GEdit screenshot below (I'm not sure that line numbers are necessary), it would make it much easier to locate areas in the text where there are hard line breaks and other whitespace issues present that need to be cleaned up with the "Strip line breaks..." tool, as well as visibly see the effects of using it on the text. Manual cleanup and editing would also be easier with visible formatting characters.

screenshot from 2014-12-25 03 17 32

multi pages for PDF?

hello

i did add source file PDF (multi-pages) and first page is 1 but where i go to page 2,3,4,5,etc?

Scanning on Windows can cause the application to crash

This seems especially true with TWAIN drivers which insist on displaying their own UI, despite gImageReader telling them not to.

The fundamental problem is how to handle Windows messages from within a Gtk application. Also, it is unclear from the TWAIN documentation whether there are any issues one needs to deal with when handling events from a separate thread.

Would be nice to have it working, if someone reading this is familiar with TWAIN, please send me some patches :)

"Strip line breaks" suggestions...

An exceedingly minor suggestion regarding option labeling.

The "strip line breaks..." options menu currently looks like this, in the top section:

Strip line breaks in selected text

Keep line breaks if...

  • Preceded by dot
  • Preceded or succeeded by quote

I would suggest changing the label on the first to "Preceded by period", which is a better description of its function. Especially with whitespace characters being drawn as actual gray dots, when "Draw whitespace" is enabled, "dot" is a confusing way to refer to a period character.


Actually, as a separate enhancement suggestion, it might be better to change the label to "Preceded by end of sentence", and add other sentence-terminating punctuation like ? and ! to the list. Currently, a sentence ending in a period will cause the line break to be preserved, but non-period-terminated sentences at the end of lines will be combined. It seems like we'd want to leave line breaks alone equally, whether the line ends with any of .?!

...In that same vein, whitespace characters following the period at the end of a line will trip up the combining logic, so a line that ends with ...some words.<space><space> will be combined with the next, even if "Keep line breaks if preceded by dot" is enabled. I wonder if the line-ending-character determination shouldn't trim off whitespace first, and consider only the last non-whitespace character?

Crash

Windows 10, scanned image, start recognition, crash. Backtrace:
gImageReader 3.1.2 (b1c60a3)
#0 0x77c0ac21 in ntdll!DbgBreakPoint () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77c40f89 in ntdll!DbgUiRemoteBreakin () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0xdbb67440 in ?? ()
#3 0x77c40f50 in ntdll!DbgUiIssueRemoteBreakin () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#5 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#6 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7 0x00000000 in ?? ()

Thread 12 (Thread 7972.0x1760):
#0 0x77c0ac21 in ntdll!DbgBreakPoint () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77c40f89 in ntdll!DbgUiRemoteBreakin () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0xdbb67440 in ?? ()
#3 0x77c40f50 in ntdll!DbgUiIssueRemoteBreakin () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#5 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#6 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#7 0x00000000 in ?? ()

Thread 11 (Thread 7972.0x288):
#0 0x77c08b7c in ntdll!ZwRemoveIoCompletion () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76883574 in KERNELBASE!GetQueuedCompletionStatus () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x66b9bcc4 in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#3 0x00b0ff00 in ?? ()

Thread 10 (Thread 7972.0x674):
#0 0x77c08b2c in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76878e99 in WaitForSingleObjectEx () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x76878df2 in WaitForSingleObject () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#3 0x66961402 in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll

Thread 9 (Thread 7972.0x85c):
#0 0x77c090bc in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76881426 in WaitForMultipleObjectsEx () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x768812d8 in WaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#3 0x66a895eb in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#4 0x6695fe1e in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#5 0x76af7196 in msvcrt!_beginthreadex () from C:\WINDOWS\SYSTEM32\msvcrt.dll
#6 0x76af7261 in msvcrt!_endthreadex () from C:\WINDOWS\SYSTEM32\msvcrt.dll
#7 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#8 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#9 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#10 0x00000000 in ?? ()

Thread 8 (Thread 7972.0x2518):
#0 0x77c090bc in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x73e03456 in WINMM!PlaySoundW () from C:\WINDOWS\SYSTEM32\winmm.dll
#2 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#3 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00000000 in ?? ()

Thread 7 (Thread 7972.0x23e4):
#0 0x77c090bc in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76881426 in WaitForMultipleObjectsEx () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x74e0a49b in USER32!MsgWaitForMultipleObjectsEx () from C:\WINDOWS\SYSTEM32\user32.dll
#3 0x66b389c9 in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#4 0x66ae318e in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#5 0x6695c125 in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#6 0x6695fe1e in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#7 0x76af7196 in msvcrt!_beginthreadex () from C:\WINDOWS\SYSTEM32\msvcrt.dll
#8 0x76af7261 in msvcrt!_endthreadex () from C:\WINDOWS\SYSTEM32\msvcrt.dll
#9 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#10 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#11 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#12 0x00000000 in ?? ()

Thread 6 (Thread 7972.0x16c8):
#0 0x77c090bc in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76881426 in WaitForMultipleObjectsEx () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x765d146b in combase!CleanupTlsOleState () from C:\WINDOWS\SYSTEM32\combase.dll
#3 0x765d133c in combase!CleanupTlsOleState () from C:\WINDOWS\SYSTEM32\combase.dll
#4 0x765a07b1 in combase!CoGetCallContext () from C:\WINDOWS\SYSTEM32\combase.dll
#5 0x765d4ccf in combase!IsErrorPropagationEnabled () from C:\WINDOWS\SYSTEM32\combase.dll
#6 0x765d4cb0 in combase!IsErrorPropagationEnabled () from C:\WINDOWS\SYSTEM32\combase.dll
#7 0x765d4cb0 in combase!IsErrorPropagationEnabled () from C:\WINDOWS\SYSTEM32\combase.dll
#8 0x044dff94 in ?? ()
#9 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#10 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#11 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#12 0x00000000 in ?? ()

Thread 5 (Thread 7972.0x32c):
#0 0x77c0a66c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77bd48b6 in ntdll!EtwNotificationRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#3 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00000000 in ?? ()

Thread 4 (Thread 7972.0x2764):
#0 0x77c0a66c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77bd48b6 in ntdll!EtwNotificationRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#3 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00000000 in ?? ()

Thread 3 (Thread 7972.0x222c):
#0 0x77c0a66c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77bd48b6 in ntdll!EtwNotificationRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#3 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00000000 in ?? ()

Thread 2 (Thread 7972.0x870):
#0 0x77c0a66c in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x77bd48b6 in ntdll!EtwNotificationRegister () from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x76363744 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\SYSTEM32\kernel32.dll
#3 0x77bf9e54 in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00000000 in ?? ()

Thread 1 (Thread 7972.0x11fc):
#0 0x77c08b2c in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x76878e99 in WaitForSingleObjectEx () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#2 0x76878df2 in WaitForSingleObject () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#3 0x66a9bc4b in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#4 0x66a31219 in ?? () from C:\Program Files (x86)\gImageReader\bin\Qt5Core.dll
#5 0x00433f55 in _gnu_exception_handler@4 ()
#6 0x76898f91 in UnhandledExceptionFilter () from C:\WINDOWS\SYSTEM32\KernelBase.dll
#7 0x0029c104 in ?? ()
#8 0x77bf9e8e in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#9 0x77bf9e1f in ntdll!RtlSetCurrentTransaction () from C:\WINDOWS\SYSTEM32\ntdll.dll
#10 0x00000000 in ?? ()

Small spelling corrections in the new version

Hi, I'm trying out the newest version of gImagereader and I like it! There are some small corrections I would like to suggest:

"Sources" at the left upper corner is misspelled as "so&urces".

In the list of installed languages Dutch is present as "Nederlandse". The correct Dutch word to mention the Dutch language however is "Nederlands".

"Output" at the right side of the screen is misspelled as "&Output".

Problem Recognizing Vertically Oriented Text

Prior to and including version 3.0.1, gImageReader was able to OCR vertically oriented text (e.g. text from old Chinese/Japanese novels where they were printed vertically). A bug seemed to have been introduced starting from version 3.1 and I was no longer able to OCR such text. The program will just insist on OCR them as horizontal oriented text. Appreciate if you could look into this problem, thanks.

Selecting multiple languages

Very annoying thing:

  1. Select several languages for OCR
  2. Then select just one language from the first drop-down menu
  3. If I want again to do multilingual ocr with the languages from the 1. I have first to select some language in the multilingual list to activate multilingual setting and then deselect it because I don't need this additional language

Another annoying thing is when a single language has its own sub-menu with only one thing to choose from, this should be flattened.

Translation missing

When installing under Windows 10, the option "intl" can not be marked. No translation of the gui is installed.

after upgrade to 3.1.90 on Linux Mint 17.3 exception starting gimagereader-gtk

Upgraded 2 days ago from via PPA to new release, since then program no longer starts. When string from terminal there are several GTK warnings and at the end an exception:


.....
(gimagereader-gtk:14520): Gtk-WARNING **: /tmp/buildd/gtk+3.0-3.10.8~8+qiana/./gtk/gtkcontainer.c:1166: child property position' of container classgtkmm__GtkHeaderBar' is not writable

(gimagereader-gtk:14520): Gtk-WARNING **: /tmp/buildd/gtk+3.0-3.10.8~8+qiana/./gtk/gtkcontainer.c:1166: child property position' of container classgtkmm__GtkHeaderBar' is not writable

(gimagereader-gtk:14520): Gtk-WARNING **: /tmp/buildd/gtk+3.0-3.10.8~8+qiana/./gtk/gtkcontainer.c:1166: child property position' of container classgtkmm__GtkHeaderBar' is not writable

(gimagereader-gtk:14520): glibmm-CRITICAL **:
unhandled exception (type Glib::Error) in signal handler:
domain: gtk-builder-error-quark
code : 2

what : /org/gnome/gimagereader/editor_text.ui:187:1 requires attribute "id"

possibly one of the GTK libraries not yet upgraded ??

gImageReader unsaved-output dialog needs "Cancel" button, clearer labeling

The current "Output not saved" dialog box's challenge is somewhat confusing, which could lead to accidental loss of work. Especially since it fails to account for situations where the user accidentally attempted to close the program, and does not actually wish to exit.

The current challenge reads "Save output before proceeding?" (To "proceed" in this context would mean to exit the application, which seems contradictory.) The two choices are "No" and "Yes". Selecting "Yes" displays a Save File dialog, whereas choosing "No" immediately closes the program and destroys any unsaved work.

From the perspective of an "Are you sure?" warning, the choices and their effect again seem somewhat reversed. "No" should be the safer option, and prevent the dangerous action from being taken. There's also no option to abort an accidental quit attempt; to return to the application and continue working, the user has to realize that they must first choose "Yes", then cancel the resulting Save dialog.

The confirmation would be more intuitive, and reduce the chances of work accidentally being lost, if it was presented as an "Are you sure?"-style confirmation dialog. The user should have to explicitly indicate, "Yes, I really wish to discard my unsaved work" in order to do so. For all other actions, the application should remain open while the user either saves their progress or returns to working with the software.

LibreOffice displays a dialog with three options, allowing the user to either:

  • Explicitly "Close without saving", confirming that they wish to discard their unsaved work
  • "Cancel", which dismisses the dialog and returns to the application
  • "Save", which brings up the Save File window

screenshot from 2014-12-25 04 31 15

possible enhancement: add another OCR engine to gImagereader

First of all, thanks a lot for this nice program!

It would be nice if there was an ability to use another open source OCR engine (like Ocrad or CuneiForm) within gImagereader. This would especially be helpfull when the output of two engines can be compared to get a lower error rate in bigger texts.

Crash when correcting words in hOCR output

When I try to correct a word in the output pane, gImagereader freezes and crashes. I tried this with different documents.

I'm using the newest version of gImagereader on Win7.

not work device scanner: hp network..?

hi

my scanner is hp, connect to wifi router switch, LAN home.

gimagereader not show list device.. buy my icon tray of HP there is device..
hp photosmart 5520 seires

Bonjour, ip,

skanlite worked and xsane worked
gimagereader not worked...
this is bug or something error config?

Crashes rendering PDF files on Windows

There have been several reports of crashes on Windows when rendering PDF files. The issue appears to be caused by memory corruption. Issue is being investigated.

Slot Displayer::setCurrentPage gets called twice, when QSpinBox arrow is clicked

While testing the code for issue #30 I noticed that pressing the arrow symbol up or down on the spinBoxPage QSpinBox triggers the slot Displayer::setCurrentPage twice.

It does not happen when arrow-up or arrow-down keys on keyboard are used (when the QSpinBox has the focus). When the number is entered with keyboard also not (unless you enter a 2 digit number, but that could be fixed with:)

spinBoxPage->setKeyboardTracking(false);

Anyway, here some debug output from my try to find the problem:

$ QT_MESSAGE_PATTERN="%{time h:mm:ss.zzz} [%{type}] (%{function}:%{line}) - %{message}" ./gimagereader-qt5
23:49:43.093 [debug] (UI_MainWindow::setupUi:93) - spinBoxPage = new QSpinBox(MainWindow);
23:49:43.238 [debug] (Displayer::Displayer:76) - connect the signal...
23:49:43.249 [debug] (ScannerSane::run:68) - sane_init() -> Success
23:49:43.249 [debug] (ScannerSane::run:74) - SANE version 1.0.24
23:49:45.051 [debug] (MainWindow::checkVersion:359) - Newest version is: 3.1.2
23:49:46.566 [debug] (ScannerSane::doRedetect:138) - sane_get_devices() -> Success
23:50:03.047 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 1
23:50:03.047 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QObject(0x0)
# arrow-up from keyboard used...
23:50:28.977 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 2
23:50:28.977 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QSpinBox(0x9045c30)
# the 5-key from keyboard used...
23:51:07.584 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 5
23:51:07.585 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QSpinBox(0x9045c30)
# the arrow up symbol on the QSpinBox pressed (just once...), the slot gets called twice...
23:51:24.389 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 6
23:51:24.390 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QSpinBox(0x9045c30)
23:51:27.897 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 7
23:51:27.897 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QSpinBox(0x9045c30)
# end program
23:51:43.809 [debug] (ScannerSane::run:115) - sane_exit()
23:51:43.882 [debug] (Displayer::setCurrentPage:101) - setCurrentPage: page 1
23:51:43.883 [debug] (Displayer::setCurrentPage:103) - who the calls setCurrentPage? QSpinBox(0x9045c30)

In order to ensure the Signal-Slot is just connected once, the connection was done with:

connect(ui.spinBoxPage, SIGNAL(valueChanged(int)), this, SLOT(setCurrentPage(int)), Qt::UniqueConnection);

I also ensured the that singleStep is 1, with:

spinBoxPage->setSingleStep(1);

The same happens also when compiled against Qt4. It does not happen for any other QSpinBox afaik. Maybe you figure out what the problem is, it's in any case quite annoying.

gimagereader main toolbar

I can't find the "main toolbar" anymore. It got lost when moving the "source pane" and "output pane" from the image.
Where is it?

Please provide a silent install option for Windows

Hi,

we would like to develop gImageReader, but it seems that the installer can't be run unattended.

Coult you make a installer with silent option or a .zip to extract to a folder without installing it?

Cannot download spellcheck dictionary for Russian

Hello!

gImageReader found my Russian traineddata file, but I forgot to install spellcheck. gImageReader gently reminded me about that and suggested to install spellcheck dictionary automatically, then showed me the error:

Could not read http://cgit.freedesktop.org/libreoffice/dictionaries/tree/.

I've tried to go to the URL above by myself and found there all the files I need. Anyway, the URL uses https, not http. May it be the source of the error?

Is possible: tables?

hello
this GIMAGEREADER IS AMAZING!!!
i need feature:

  • table (add more lines horizontal is for ROW and add more lines vertical is for COLUMN )

because i will copy from table in clipboard and open libreoffice CALC and paste OR output to CSV..

Save output, Copy text to clipboard

happy to see the:
Add image, image Paste
and
Add image, Capture screenshot
feature. Work well and is very useful.

Can you please add a:
Save output, Copy text to clipboard
feature?

thank you in advance, Valerio

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.