tesseract  5.0.0
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)
 
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 183 of file renderer.h.

Constructor & Destructor Documentation

◆ TessAltoRenderer()

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

Definition at line 119 of file altorenderer.cpp.

120  : TessResultRenderer(outputbase, "xml"),
121  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 66 of file altorenderer.cpp.

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

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

◆ EndDocumentHandler()

bool tesseract::TessAltoRenderer::EndDocumentHandler ( )
overrideprotectedvirtual

Append the ALTO XML for the end of the document

Reimplemented from tesseract::TessResultRenderer.

Definition at line 113 of file altorenderer.cpp.

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

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