Files
docling-parse/app/parse_v2_fonts.cpp
Peter Staar e5856f009a feat: add an experimental v2 parser to improve performance (#29)
---------

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: rmdg88 <rmdg88@gmail.com>
Signed-off-by: Christoph Auer <cau@zurich.ibm.com>
Co-authored-by: Peter Staar <taa@zurich.ibm.com>
Co-authored-by: Peter W. J. Staar <91719829+PeterStaar-IBM@users.noreply.github.com>
Co-authored-by: Michele Dolfi <97102151+dolfim-ibm@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rui Dias Gomes <66125272+rmdg88@users.noreply.github.com>
Co-authored-by: Christoph Auer <cau@zurich.ibm.com>
Co-authored-by: rmdg88 <rmdg88@gmail.com>
Co-authored-by: Michele Dolfi <dol@zurich.ibm.com>
2024-10-11 11:52:33 +02:00

74 lines
1.4 KiB
C++

//-*-C++-*-
/*
example input:
{
"data":
{
"glyphs": "../docling_parse/pdf_resources_v2/glyphs",
"cids": "../docling_parse/pdf_resources_v2/cmap-resources",
"encodings": "../docling_parse/pdf_resources_v2/encodings",
"fonts": "../docling_parse/pdf_resources_v2/fonts"
}
}
*/
#include <v2.h>
nlohmann::json read_input(std::string filename)
{
nlohmann::json input;
std::ifstream ifs(filename);
if(ifs)
{
ifs >> input;
LOG_S(INFO) << "input-filename: " << filename;
LOG_S(INFO) << "input: " << input.dump(2);
}
else
{
LOG_S(FATAL) << "input-filename: " << filename << " does not exists";
}
return input;
}
int main(int argc, char *argv[])
{
loguru::init(argc, argv);
switch(argc)
{
case 2:
{
LOG_S(INFO) << "input-file: " << argv[1];
nlohmann::json input = read_input(argv[1]);
pdflib::font_cids cids;
cids.initialise(input["data"]["cids"]);
cids.decode_all();
pdflib::font_glyphs glyphs;
glyphs.initialise(input["data"]["glyphs"]);
pdflib::font_encodings encodings;
encodings.initialise(input["data"]["encodings"], glyphs);
pdflib::base_fonts fonts;
fonts.initialise(input["data"]["fonts"], glyphs);
}
break;
default:
{
LOG_S(ERROR) << "incorrect number of input-variables";
}
}
return 0;
}