有人能建议一种易于实现的方法从PDF中提取ToUnicode表吗?我可以使用来自mupdf的pdfextract提取字体,现在我正在寻找一种方法来为这些字体提取ToUnicode表。
答案 0 :(得分:2)
您可以修改pdfextract以提取ToUnicode CMaps(而不是表格,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->数据(大小为buf-> len)将包含CMap,您可以将其写入文件或其他任何内容。