tesseract v5.3.3.20231005
tesseract::TessAltoRenderer Class Reference

#include <renderer.h>

Inheritance diagram for tesseract::TessAltoRenderer:
tesseract::TessResultRenderer

Public Member Functions

 TessAltoRenderer (const char *outputbase)
 
- Public Member Functions inherited from tesseract::TessResultRenderer
virtual ~TessResultRenderer ()
 
void insert (TessResultRenderer *next)
 
TessResultRenderernext ()
 
bool BeginDocument (const char *title)
 
bool AddImage (TessBaseAPI *api)
 
bool EndDocument ()
 
const char * file_extension () const
 
const char * title () const
 
bool happy () const
 
int imagenum () const
 

Protected Member Functions

bool BeginDocumentHandler () override
 
bool AddImageHandler (TessBaseAPI *api) override
 
bool EndDocumentHandler () override
 
- Protected Member Functions inherited from tesseract::TessResultRenderer
 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)
 

Detailed Description

Renders tesseract output into an alto text string

Definition at line 182 of file renderer.h.

Constructor & Destructor Documentation

◆ TessAltoRenderer()

tesseract::TessAltoRenderer::TessAltoRenderer ( const char *  outputbase)
explicit

Definition at line 121 of file altorenderer.cpp.

122 : TessResultRenderer(outputbase, "xml"),
123 begin_document(false) {}
TessResultRenderer(const char *outputbase, const char *extension)
Definition: renderer.cpp:33

Member Function Documentation

◆ AddImageHandler()

bool tesseract::TessAltoRenderer::AddImageHandler ( TessBaseAPI api)
overrideprotectedvirtual

Append the ALTO XML for the layout of the image

Implements tesseract::TessResultRenderer.

Definition at line 68 of file altorenderer.cpp.

68 {
69 if (begin_document) {
71 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
72 "<alto xmlns=\"http://www.loc.gov/standards/alto/ns-v3#\" "
73 "xmlns:xlink=\"http://www.w3.org/1999/xlink\" "
74 "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
75 "xsi:schemaLocation=\"http://www.loc.gov/standards/alto/ns-v3# "
76 "http://www.loc.gov/alto/v3/alto-3-0.xsd\">\n"
77 "\t<Description>\n"
78 "\t\t<MeasurementUnit>pixel</MeasurementUnit>\n"
79 "\t\t<sourceImageInformation>\n"
80 "\t\t\t<fileName>");
81
82 AppendString(api->GetInputName());
83
85 "</fileName>\n"
86 "\t\t</sourceImageInformation>\n"
87 "\t\t<OCRProcessing ID=\"OCR_0\">\n"
88 "\t\t\t<ocrProcessingStep>\n"
89 "\t\t\t\t<processingSoftware>\n"
90 "\t\t\t\t\t<softwareName>tesseract ");
93 "</softwareName>\n"
94 "\t\t\t\t</processingSoftware>\n"
95 "\t\t\t</ocrProcessingStep>\n"
96 "\t\t</OCRProcessing>\n"
97 "\t</Description>\n"
98 "\t<Layout>\n");
99 begin_document = false;
100 }
101
102 const std::unique_ptr<const char[]> text(api->GetAltoText(imagenum()));
103 if (text == nullptr) {
104 return false;
105 }
106
107 AppendString(text.get());
108
109 return true;
110}
static const char * Version()
Definition: baseapi.cpp:241
void AppendString(const char *s)
Definition: renderer.cpp:111

◆ BeginDocumentHandler()

bool tesseract::TessAltoRenderer::BeginDocumentHandler ( )
overrideprotectedvirtual

Append the ALTO XML for the beginning of the document

Reimplemented from tesseract::TessResultRenderer.

Definition at line 59 of file altorenderer.cpp.

59 {
60 // Delay the XML output because we need the name of the image file.
61 begin_document = true;
62 return true;
63}

◆ EndDocumentHandler()

bool tesseract::TessAltoRenderer::EndDocumentHandler ( )
overrideprotectedvirtual

Append the ALTO XML for the end of the document

Reimplemented from tesseract::TessResultRenderer.

Definition at line 115 of file altorenderer.cpp.

115 {
116 AppendString("\t</Layout>\n</alto>\n");
117
118 return true;
119}

The documentation for this class was generated from the following files: