10000 GitHub - kba/hocrjs at v0.3.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

kba/hocrjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
< 8000 div class="react-directory-filename-column">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hocrjs

Working with hOCR in Javascript

Showcase

Demo

See this demo document: Demo

Video

video of hocrjs

Screenshots

background image, transparent text

text only, scaled font

Usage

Simple Usage

To add the interface to a plain hOCR file, add this line just before the closing </body> tag:

<script src="https://unpkg.com/hocrjs"/>

User script

Also bundled is a browser extension that lets you add the hocrjs interface to any hOCR document you browse on the web.

user script menu

Command line interface

hocrjs comes with a command line tool hocrjs-inject that inserts the necessary <script> tag to a local hOCR document. To use it, first install hocrjs system-wide:

npm install -g hocrjs

Then run hocrjs-inject /path/to/ocr-doc.hocr. The resulting file will be /path/to/ocr-doc.hocrjs.html which you can open in a browser.

Development

To build hocrjs from source, you need Node.js and make.

Clone the repository and run make for a list of targets:

Targets

dist   webpack
clean  Remove built targets
test   Run unit tests
serve  Run a development server
watch  Continuously rebuild dist

Variables

VERSION        Version of the latest git tag
ASSET_SERVER   URL of the asset server, serving the built files and userscript
UPDATE_SERVER  URL of the userscript update server (defaults to ASSET_SERVER)
STATIC_SERVER  Command to run a static server
PORT           Server port

Layout

The hOCR elements are positioned with display: fixed. The trick is that they are within a container element that has transformation. This makes the fixed positions relative to the container element instead of the viewport.

Features and SASS

A feature is behavior that can be enabled or disabled and possibly configured, such as displaying the background image (BackgroundImage) or whether to disable <strong>/<em> display of text (DisableEmStrong).

If a feature is enabled, a class hocr-viewer-feature-<NAME-OF-FEATURE> will be added to the root container.

These classes are used in the SCSS stylesheet to implement the desired behavior using CSS, if possible.

Adding a feature

Add enableMyFeature property to the HocrViewer component.

In hocr-viewer.scss add rules for .hocr-viewer-feature-myFeature as necessary.

If the behavior requires modifying the hOCR (e.g. ScaleFont), create a class ./src/components/hocr-viewer/feature/MyFeature.js that gets passed the component to the constructor and implements an apply(dom) method to modify the HTML. Use the methods provided by hocr-dom to access hOCR specific features like properties.

About

Working with hOCR in Javascript

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
0