#include <renderer.h>
Public Member Functions | |
virtual | ~TessResultRenderer () |
void | insert (TessResultRenderer *next) |
TessResultRenderer * | next () |
bool | BeginDocument (const char *title) |
bool | AddImage (TessBaseAPI *api) |
bool | EndDocument () |
const char * | file_extension () const |
const char * | title () const |
bool | happy () |
int | imagenum () const |
Protected Member Functions | |
TessResultRenderer (const char *outputbase, const char *extension) | |
virtual bool | BeginDocumentHandler () |
virtual bool | AddImageHandler (TessBaseAPI *api)=0 |
virtual bool | EndDocumentHandler () |
void | AppendString (const char *s) |
void | AppendData (const char *s, int len) |
Private Attributes | |
const char * | file_extension_ |
STRING | title_ |
int | imagenum_ |
FILE * | fout_ |
TessResultRenderer * | next_ |
bool | happy_ |
Interface for rendering tesseract results into a document, such as text, HOCR or pdf. This class is abstract. Specific classes handle individual formats. This interface is then used to inject the renderer class into tesseract when processing images.
For simplicity implementing this with tesesract version 3.01, the renderer contains document state that is cleared from document to document just as the TessBaseAPI is. This way the base API can just delegate its rendering functionality to injected renderers, and the renderers can manage the associated state needed for the specific formats in addition to the heuristics for producing it.
|
virtual |
|
protected |
Called by concrete classes.
outputbase is the name of the output file excluding extension. For example, "/path/to/chocolate-chip-cookie-recipe"
extension indicates the file extension to be used for output files. For example "pdf" will produce a .pdf file, and "hocr" will produce .hocr files.
bool tesseract::TessResultRenderer::AddImage | ( | TessBaseAPI * | api | ) |
Adds the recognized text from the source image to the current document. Invalid if BeginDocument not yet called.
Note that this API is a bit weird but is designed to fit into the current TessBaseAPI implementation where the api has lots of state information that we might want to add in.
|
protectedpure virtual |
|
protected |
|
protected |
bool tesseract::TessResultRenderer::BeginDocument | ( | const char * | title | ) |
Starts a new document with the given title. This clears the contents of the output data. Title should use UTF-8 encoding.
|
protectedvirtual |
Reimplemented in tesseract::TessPDFRenderer, tesseract::TessTsvRenderer, and tesseract::TessHOcrRenderer.
bool tesseract::TessResultRenderer::EndDocument | ( | ) |
Finishes the document and finalizes the output data Invalid if BeginDocument not yet called.
|
protectedvirtual |
Reimplemented in tesseract::TessPDFRenderer, tesseract::TessTsvRenderer, and tesseract::TessHOcrRenderer.
|
inline |
|
inline |
|
inline |
Returns the index of the last image given to AddImage (i.e. images are incremented whether the image succeeded or not)
This is always defined. It means either the number of the current image, the last image ended, or in the completed document depending on when in the document lifecycle you are looking at it. Will return -1 if a document was never started.
void tesseract::TessResultRenderer::insert | ( | TessResultRenderer * | next | ) |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |