Skip to main content

Python tool for grabbing text via screenshot

Project description

TextShot

GitHub stars GitHub forks GitHub license Code style: black

Take a screenshot and copy its text content to the clipboard. Works on Windows, macOS, and most modern Linux distros.

TextShot Demo

Use

textshot -h prints the available command line options:

usage: textshot [-h] [-i INTERVAL] [langs]

Take a screenshot and copy its text content to the clipboard.

positional arguments:
langs                 languages passed to tesseract, eg. "eng+fra" (default: eng)

optional arguments:
-h, --help            show this help message and exit
-i INTERVAL, --interval INTERVAL
                        select a screen region then take textshots every INTERVAL milliseconds

Examples

  • Basic usage: textshot opens an overlay where a rectangle can be drawn around the text to be copied.

  • Alternate languages: textshot eng+fra specifies use of English as the primary language and French as the secondary language. Make sure that the appropriate data files for Tesseract are installed for other languages. A list of all supported languages can be found here.

  • Continuously copy text content: textshot --interval 200 draw a rectangle at a screen region then copy text from it every 200ms.

Hotkeys

It is recommended to attach a global hotkey to this tool, so you can run it without opening a console and typing in the command.

On Windows, one can accomplish this by using an AutoHotkey script; textshot.ahk contains a sample AHK script that can be used.

On Ubuntu, open the Keyboard Settings, which shows you all the Gnome shortcuts. At the bottom there is a + button to add your own shortcuts. Click it and set the command to textshot. In case you are using a virtual environment, the textshot path above should point to the environment's textshot.

The process on other operating systems can be found by searching how to run a shell command with a keyboard shortcut.

Installation

Prerequisites

  • Install Google's Tesseract OCR Engine, and ensure that tesseract can be reached from the command line by adding the directory to your system path.

Installation with pip

$ pip install textshot
$ textshot

You may wish to use a virtual environment if the dependencies conflict with others on your machine.

Installation from source

  • Clone this repository... git clone https://github.com/ianzhao05/textshot.git
  • ...and cd into it: cd textshot
  • Run pip install . (for development, you may install with pip install -e . which will allow you to test your modifications without reinstall)
  • You may now run textshot

From repository

@rigred has added this to the AUR, so Arch Linux users can install the package textshot-git with their AUR helper. For example, yay -S textshot-git. This may not be up to date, so if you encounter issues, use the normal installation method above.

Troubleshooting

macOS

You may need to give permission to capture the screen. You can do so by going to System Preferences > Security & Privacy > Privacy > Screen Recording, then checking the box for Terminal/iTerm.

Linux

If the text shows up correctly in the notification, but you cannot paste it, install xclip (e.g. with sudo apt install xclip).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

textshot-0.1.2.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

textshot-0.1.2-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file textshot-0.1.2.tar.gz.

File metadata

  • Download URL: textshot-0.1.2.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for textshot-0.1.2.tar.gz
Algorithm Hash digest
SHA256 87032779614611c5cbcf392bbcaacf8b50a34be43f9cedc5c203946545ff692f
MD5 001162b61fcbf645df2cf850e96d43c5
BLAKE2b-256 b64e323003cf150556d9251421ea79295acae9ddedcf713e6685d215c65148de

See more details on using hashes here.

File details

Details for the file textshot-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: textshot-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for textshot-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe3fa7525638b09520e6960d10c71d886f130903bddc2547438484090d9f7adc
MD5 d45fbbcdc69426031e55bdbe76ad4b1b
BLAKE2b-256 0addfd9cc469ee9a5b4cbc59a71d08a43c8aa2f9662b5c5bb8b3b2ffeb26ee71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page