从PDF中提取ToUodeode表

时间:2011-10-06 22:53:05

标签: pdf

有人能建议一种易于实现的方法从PDF中提取ToUnicode表吗?我可以使用来自mupdf的pdfextract提取字体,现在我正在寻找一种方法来为这些字体提取ToUnicode表。

1 个答案:

答案 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,您可以将其写入文件或其他任何内容。