fz_stream * pdf_open_contents_stream(fz_context *ctx, pdf_document *doc, pdf_obj *obj) { int num; if (pdf_is_array(ctx, obj)) return pdf_open_object_array(ctx, doc, obj); num = pdf_to_num(ctx, obj); if (pdf_is_stream(ctx, obj)) return pdf_open_image_stream(ctx, doc, num, NULL); fz_throw(ctx, FZ_ERROR_GENERIC, "pdf object stream missing (%d 0 R)", num); }
fz_stream * pdf_open_contents_stream(pdf_document *xref, pdf_obj *obj) { fz_context *ctx = xref->ctx; int num, gen; if (pdf_is_array(obj)) return pdf_open_object_array(xref, obj); num = pdf_to_num(obj); gen = pdf_to_gen(obj); if (pdf_is_stream(xref, num, gen)) return pdf_open_image_stream(xref, num, gen, num, gen, NULL); fz_warn(ctx, "pdf object stream missing (%d %d R)", num, gen); return NULL; }