Esempio n. 1
0
void
pdf_dict_insert_obj(dict *d, char *k, pdf_obj* o)
{
    pdf_obj key = pdf_key_to_obj(k);

    dict_insert(d, (char*)key.value.k, (void*)pdf_obj_full_copy(o));
}
Esempio n. 2
0
pdf_err
pdf_info_load(pdf_obj *o, pdf_info **info)
{
    pdf_obj *a;
    pdf_info *i;

    if (!o)
        return pdf_ok;
    *info = pdf_malloc(sizeof(pdf_info));
    if (!*info)
        return pdf_ok;

    i = *info;
    memset(*info, 0, sizeof(pdf_info));
    if (a = pdf_dict_get(o, "Title"))
    {
        i->title = pdf_obj_full_copy(a);
    }
    if (a = pdf_dict_get(o, "Author"))
    {
        i->author = pdf_obj_full_copy(a);
    }
    if (a = pdf_dict_get(o, "Subject"))
    {
        i->subject = pdf_obj_full_copy(a);
    }
    if (a = (pdf_obj*)pdf_dict_get(o, "Keywords"))
    {
        i->keywords = pdf_obj_full_copy(a);
    }
    if (a = (pdf_obj*)pdf_dict_get(o, "Creator"))
    {
        i->creator = pdf_obj_full_copy(a);
    }
    if (a = pdf_dict_get(o, "Producer"))
    {
        i->producer = pdf_obj_full_copy(a);
    }

    a = pdf_dict_get(o, "CreationDate");
    if (a) {i->creationdate = pdf_malloc(a->value.s.len+1); memcpy(i->creationdate, a->value.s.buf, a->value.s.len); i->creationdate[a->value.s.len] = 0;}
    a = pdf_dict_get(o, "ModDate");
    if (a) {i->moddate = pdf_malloc(a->value.s.len+1); memcpy(i->moddate, a->value.s.buf, a->value.s.len); i->moddate[a->value.s.len] = 0;}
    if (a = pdf_dict_get(o, "Trapped"))
    {
        i->trapped = pdf_obj_full_copy(a);
    }
    return pdf_ok;
}