Вы можете изменить pdfextract для извлечения CMap ToUnicode (не таблиц, CMaps).
Вы можете посмотреть код в savefont и добавить что-то вроде:
obj = fz_dict_gets(dict, "ToUnicode");
if (obj)
{
stream = obj;
}
Если есть ToUnicode (там не должно быть), вы можете вывести поток аналогично тому, как поток шрифта записывается в файл.
obj = fz_dict_gets(dict, "ToUnicode");
if (obj)
{
stream = obj;
buf = fz_new_buffer(0);
error = pdf_load_stream(&buf, xref, fz_to_num(stream), fz_to_gen(stream));
if (error)
die(error);
/* Do something with the data */
}
buf-> data (размером buf-> len) будет содержать CMap, который вы можете записать в файл, или любой другой.