// Open the boxfile based on the given image filename. FILE* OpenBoxFile(const STRING& fname) { STRING filename = BoxFileName(fname); FILE* box_file = NULL; if (!(box_file = fopen(filename.string(), "rb"))) { CANTOPENFILE.error("read_next_box", TESSEXIT, "Can't open box file %s", filename.string()); } return box_file; }
// Reads all boxes from the given filename. // Reads a specific target_page number if >= 0, or all pages otherwise. // Skips blanks if skip_blanks is true. // The UTF-8 label of the box is put in texts, and the full box definition as // a string is put in box_texts, with the corresponding page number in pages. // Each of the output vectors is optional (may be NULL). // Returns false if no boxes are found. bool ReadAllBoxes(int target_page, bool skip_blanks, const STRING& filename, GenericVector<TBOX>* boxes, GenericVector<STRING>* texts, GenericVector<STRING>* box_texts, GenericVector<int>* pages) { GenericVector<char> box_data; if (!tesseract::LoadDataFromFile(BoxFileName(filename), &box_data)) return false; return ReadMemBoxes(target_page, skip_blanks, &box_data[0], boxes, texts, box_texts, pages); }
// Reads all boxes from the given filename. // Reads a specific target_page number if >= 0, or all pages otherwise. // Skips blanks if skip_blanks is true. // The UTF-8 label of the box is put in texts, and the full box definition as // a string is put in box_texts, with the corresponding page number in pages. // Each of the output vectors is optional (may be NULL). // Returns false if no boxes are found. bool ReadAllBoxes(int target_page, bool skip_blanks, const STRING& filename, GenericVector<TBOX>* boxes, GenericVector<STRING>* texts, GenericVector<STRING>* box_texts, GenericVector<int>* pages) { GenericVector<char> box_data; if (!tesseract::LoadDataFromFile(BoxFileName(filename), &box_data)) return false; // Convert the array of bytes to a string, so it can be used by the parser. box_data.push_back('\0'); return ReadMemBoxes(target_page, skip_blanks, &box_data[0], boxes, texts, box_texts, pages); }