mupdf
Loading...
Searching...
No Matches
xref.h File Reference
Include dependency graph for xref.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pdf_xref_entry
struct  pdf_xref_subsec
struct  pdf_xref

Typedefs

typedef struct pdf_xref_subsec pdf_xref_subsec
typedef struct pdf_locked_fields pdf_locked_fields

Functions

int pdf_create_object (fz_context *ctx, pdf_document *doc)
void pdf_delete_object (fz_context *ctx, pdf_document *doc, int num)
void pdf_update_object (fz_context *ctx, pdf_document *doc, int num, pdf_obj *obj)
void pdf_update_stream (fz_context *ctx, pdf_document *doc, pdf_obj *ref, fz_buffer *buf, int compressed)
int pdf_is_local_object (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
pdf_objpdf_add_object (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
pdf_objpdf_add_object_drop (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
pdf_objpdf_add_stream (fz_context *ctx, pdf_document *doc, fz_buffer *buf, pdf_obj *obj, int compressed)
pdf_objpdf_add_new_dict (fz_context *ctx, pdf_document *doc, int initial)
pdf_objpdf_add_new_array (fz_context *ctx, pdf_document *doc, int initial)
pdf_xref_entrypdf_cache_object (fz_context *ctx, pdf_document *doc, int num)
int pdf_object_exists (fz_context *ctx, pdf_document *doc, int num)
int pdf_count_objects (fz_context *ctx, pdf_document *doc)
pdf_objpdf_resolve_indirect (fz_context *ctx, pdf_obj *ref)
pdf_objpdf_resolve_indirect_chain (fz_context *ctx, pdf_obj *ref)
pdf_objpdf_load_object (fz_context *ctx, pdf_document *doc, int num)
pdf_objpdf_load_unencrypted_object (fz_context *ctx, pdf_document *doc, int num)
fz_bufferpdf_load_raw_stream_number (fz_context *ctx, pdf_document *doc, int num)
fz_bufferpdf_load_raw_stream (fz_context *ctx, pdf_obj *ref)
fz_bufferpdf_load_stream_number (fz_context *ctx, pdf_document *doc, int num)
fz_bufferpdf_load_stream (fz_context *ctx, pdf_obj *ref)
fz_streampdf_open_raw_stream_number (fz_context *ctx, pdf_document *doc, int num)
fz_streampdf_open_raw_stream (fz_context *ctx, pdf_obj *ref)
fz_streampdf_open_stream_number (fz_context *ctx, pdf_document *doc, int num)
fz_streampdf_open_stream (fz_context *ctx, pdf_obj *ref)
fz_streampdf_open_inline_stream (fz_context *ctx, pdf_document *doc, pdf_obj *stmobj, size_t length, fz_stream *chain, fz_compression_params *params)
fz_compressed_bufferpdf_load_compressed_stream (fz_context *ctx, pdf_document *doc, int num, size_t worst_case)
void pdf_load_compressed_inline_image (fz_context *ctx, pdf_document *doc, pdf_obj *dict, size_t length, fz_stream *cstm, int indexed, fz_compressed_image *image)
fz_streampdf_open_stream_with_offset (fz_context *ctx, pdf_document *doc, int num, pdf_obj *dict, int64_t stm_ofs)
fz_streampdf_open_contents_stream (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
fz_bufferpdf_load_image_stream (fz_context *ctx, pdf_document *doc, int num, fz_compression_params *params, int *truncated, size_t worst_case)
int pdf_version (fz_context *ctx, pdf_document *doc)
pdf_objpdf_trailer (fz_context *ctx, pdf_document *doc)
void pdf_set_trailer (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
void pdf_set_populating_xref_trailer (fz_context *ctx, pdf_document *doc, pdf_obj *trailer)
int pdf_xref_len (fz_context *ctx, pdf_document *doc)
pdf_objpdf_metadata (fz_context *ctx, pdf_document *doc)
pdf_xref_entrypdf_get_populating_xref_entry (fz_context *ctx, pdf_document *doc, int i)
pdf_xref_entrypdf_get_xref_entry (fz_context *ctx, pdf_document *doc, int i)
void pdf_xref_entry_map (fz_context *ctx, pdf_document *doc, void(*fn)(fz_context *, pdf_xref_entry *, int i, pdf_document *doc, void *), void *arg)
pdf_xref_entrypdf_get_xref_entry_no_change (fz_context *ctx, pdf_document *doc, int i)
pdf_xref_entrypdf_get_xref_entry_no_null (fz_context *ctx, pdf_document *doc, int i)
void pdf_replace_xref (fz_context *ctx, pdf_document *doc, pdf_xref_entry *entries, int n)
void pdf_forget_xref (fz_context *ctx, pdf_document *doc)
pdf_xref_entrypdf_get_incremental_xref_entry (fz_context *ctx, pdf_document *doc, int i)
int pdf_xref_ensure_incremental_object (fz_context *ctx, pdf_document *doc, int num)
int pdf_xref_is_incremental (fz_context *ctx, pdf_document *doc, int num)
void pdf_xref_store_unsaved_signature (fz_context *ctx, pdf_document *doc, pdf_obj *field, pdf_pkcs7_signer *signer)
void pdf_xref_remove_unsaved_signature (fz_context *ctx, pdf_document *doc, pdf_obj *field)
int pdf_xref_obj_is_unsaved_signature (pdf_document *doc, pdf_obj *obj)
void pdf_xref_ensure_local_object (fz_context *ctx, pdf_document *doc, int num)
int pdf_obj_is_incremental (fz_context *ctx, pdf_obj *obj)
void pdf_repair_xref (fz_context *ctx, pdf_document *doc)
void pdf_ensure_solid_xref (fz_context *ctx, pdf_document *doc, int num)
void pdf_mark_xref (fz_context *ctx, pdf_document *doc)
void pdf_clear_xref (fz_context *ctx, pdf_document *doc)
void pdf_clear_xref_to_mark (fz_context *ctx, pdf_document *doc)
int pdf_repair_obj (fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf, int64_t *stmofsp, int64_t *stmlenp, pdf_obj **encrypt, pdf_obj **id, pdf_obj **page, int64_t *tmpofs, pdf_obj **root)
pdf_objpdf_progressive_advance (fz_context *ctx, pdf_document *doc, int pagenum)
int pdf_count_versions (fz_context *ctx, pdf_document *doc)
int pdf_count_unsaved_versions (fz_context *ctx, pdf_document *doc)
int pdf_validate_changes (fz_context *ctx, pdf_document *doc, int version)
int pdf_doc_was_linearized (fz_context *ctx, pdf_document *doc)
int pdf_is_field_locked (fz_context *ctx, pdf_locked_fields *locked, const char *name)
void pdf_drop_locked_fields (fz_context *ctx, pdf_locked_fields *locked)
pdf_locked_fieldspdf_find_locked_fields (fz_context *ctx, pdf_document *doc, int version)
pdf_locked_fieldspdf_find_locked_fields_for_sig (fz_context *ctx, pdf_document *doc, pdf_obj *sig)
int pdf_validate_change_history (fz_context *ctx, pdf_document *doc)
int pdf_find_version_for_obj (fz_context *ctx, pdf_document *doc, pdf_obj *obj)
int pdf_validate_signature (fz_context *ctx, pdf_document *doc, pdf_obj *field)
int pdf_validate_signature_widget (fz_context *ctx, pdf_annot *widget)
int pdf_was_pure_xfa (fz_context *ctx, pdf_document *doc)
pdf_xrefpdf_new_local_xref (fz_context *ctx, pdf_document *doc)
void pdf_drop_local_xref (fz_context *ctx, pdf_xref *xref)
void pdf_drop_local_xref_and_resources (fz_context *ctx, pdf_document *doc)
void pdf_debug_doc_changes (fz_context *ctx, pdf_document *doc)

Typedef Documentation

◆ pdf_locked_fields

◆ pdf_xref_subsec

typedef struct pdf_xref_subsec pdf_xref_subsec

Function Documentation

◆ pdf_add_new_array()

pdf_obj * pdf_add_new_array ( fz_context * ctx,
pdf_document * doc,
int initial )

◆ pdf_add_new_dict()

pdf_obj * pdf_add_new_dict ( fz_context * ctx,
pdf_document * doc,
int initial )

◆ pdf_add_object()

pdf_obj * pdf_add_object ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_add_object_drop()

pdf_obj * pdf_add_object_drop ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_add_stream()

pdf_obj * pdf_add_stream ( fz_context * ctx,
pdf_document * doc,
fz_buffer * buf,
pdf_obj * obj,
int compressed )

◆ pdf_cache_object()

pdf_xref_entry * pdf_cache_object ( fz_context * ctx,
pdf_document * doc,
int num )

Retrieve the pdf_xref_entry for a given object.

This can cause xref reorganisations (solidifications etc) due to repairs, so all held pdf_xref_entries should be considered invalid after this call (other than the returned one).

◆ pdf_clear_xref()

void pdf_clear_xref ( fz_context * ctx,
pdf_document * doc )

◆ pdf_clear_xref_to_mark()

void pdf_clear_xref_to_mark ( fz_context * ctx,
pdf_document * doc )

◆ pdf_count_objects()

int pdf_count_objects ( fz_context * ctx,
pdf_document * doc )

◆ pdf_count_unsaved_versions()

int pdf_count_unsaved_versions ( fz_context * ctx,
pdf_document * doc )

◆ pdf_count_versions()

int pdf_count_versions ( fz_context * ctx,
pdf_document * doc )

◆ pdf_create_object()

int pdf_create_object ( fz_context * ctx,
pdf_document * doc )

◆ pdf_debug_doc_changes()

void pdf_debug_doc_changes ( fz_context * ctx,
pdf_document * doc )

◆ pdf_delete_object()

void pdf_delete_object ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_doc_was_linearized()

int pdf_doc_was_linearized ( fz_context * ctx,
pdf_document * doc )

◆ pdf_drop_local_xref()

void pdf_drop_local_xref ( fz_context * ctx,
pdf_xref * xref )

◆ pdf_drop_local_xref_and_resources()

void pdf_drop_local_xref_and_resources ( fz_context * ctx,
pdf_document * doc )

◆ pdf_drop_locked_fields()

void pdf_drop_locked_fields ( fz_context * ctx,
pdf_locked_fields * locked )

◆ pdf_ensure_solid_xref()

void pdf_ensure_solid_xref ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_find_locked_fields()

pdf_locked_fields * pdf_find_locked_fields ( fz_context * ctx,
pdf_document * doc,
int version )

◆ pdf_find_locked_fields_for_sig()

pdf_locked_fields * pdf_find_locked_fields_for_sig ( fz_context * ctx,
pdf_document * doc,
pdf_obj * sig )

◆ pdf_find_version_for_obj()

int pdf_find_version_for_obj ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_forget_xref()

void pdf_forget_xref ( fz_context * ctx,
pdf_document * doc )

◆ pdf_get_incremental_xref_entry()

pdf_xref_entry * pdf_get_incremental_xref_entry ( fz_context * ctx,
pdf_document * doc,
int i )

◆ pdf_get_populating_xref_entry()

pdf_xref_entry * pdf_get_populating_xref_entry ( fz_context * ctx,
pdf_document * doc,
int i )

◆ pdf_get_xref_entry()

pdf_xref_entry * pdf_get_xref_entry ( fz_context * ctx,
pdf_document * doc,
int i )

◆ pdf_get_xref_entry_no_change()

pdf_xref_entry * pdf_get_xref_entry_no_change ( fz_context * ctx,
pdf_document * doc,
int i )

◆ pdf_get_xref_entry_no_null()

pdf_xref_entry * pdf_get_xref_entry_no_null ( fz_context * ctx,
pdf_document * doc,
int i )

◆ pdf_is_field_locked()

int pdf_is_field_locked ( fz_context * ctx,
pdf_locked_fields * locked,
const char * name )

◆ pdf_is_local_object()

int pdf_is_local_object ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_load_compressed_inline_image()

void pdf_load_compressed_inline_image ( fz_context * ctx,
pdf_document * doc,
pdf_obj * dict,
size_t length,
fz_stream * cstm,
int indexed,
fz_compressed_image * image )

◆ pdf_load_compressed_stream()

fz_compressed_buffer * pdf_load_compressed_stream ( fz_context * ctx,
pdf_document * doc,
int num,
size_t worst_case )

◆ pdf_load_image_stream()

fz_buffer * pdf_load_image_stream ( fz_context * ctx,
pdf_document * doc,
int num,
fz_compression_params * params,
int * truncated,
size_t worst_case )

◆ pdf_load_object()

pdf_obj * pdf_load_object ( fz_context * ctx,
pdf_document * doc,
int num )

Load a given object.

This can cause xref reorganisations (solidifications etc) due to repairs, so all held pdf_xref_entries should be considered invalid after this call (other than the returned one).

◆ pdf_load_raw_stream()

fz_buffer * pdf_load_raw_stream ( fz_context * ctx,
pdf_obj * ref )

◆ pdf_load_raw_stream_number()

fz_buffer * pdf_load_raw_stream_number ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_load_stream()

fz_buffer * pdf_load_stream ( fz_context * ctx,
pdf_obj * ref )

◆ pdf_load_stream_number()

fz_buffer * pdf_load_stream_number ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_load_unencrypted_object()

pdf_obj * pdf_load_unencrypted_object ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_mark_xref()

void pdf_mark_xref ( fz_context * ctx,
pdf_document * doc )

◆ pdf_metadata()

pdf_obj * pdf_metadata ( fz_context * ctx,
pdf_document * doc )

◆ pdf_new_local_xref()

pdf_xref * pdf_new_local_xref ( fz_context * ctx,
pdf_document * doc )

◆ pdf_obj_is_incremental()

int pdf_obj_is_incremental ( fz_context * ctx,
pdf_obj * obj )

◆ pdf_object_exists()

int pdf_object_exists ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_open_contents_stream()

fz_stream * pdf_open_contents_stream ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_open_inline_stream()

fz_stream * pdf_open_inline_stream ( fz_context * ctx,
pdf_document * doc,
pdf_obj * stmobj,
size_t length,
fz_stream * chain,
fz_compression_params * params )

◆ pdf_open_raw_stream()

fz_stream * pdf_open_raw_stream ( fz_context * ctx,
pdf_obj * ref )

◆ pdf_open_raw_stream_number()

fz_stream * pdf_open_raw_stream_number ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_open_stream()

fz_stream * pdf_open_stream ( fz_context * ctx,
pdf_obj * ref )

◆ pdf_open_stream_number()

fz_stream * pdf_open_stream_number ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_open_stream_with_offset()

fz_stream * pdf_open_stream_with_offset ( fz_context * ctx,
pdf_document * doc,
int num,
pdf_obj * dict,
int64_t stm_ofs )

◆ pdf_progressive_advance()

pdf_obj * pdf_progressive_advance ( fz_context * ctx,
pdf_document * doc,
int pagenum )

◆ pdf_repair_obj()

int pdf_repair_obj ( fz_context * ctx,
pdf_document * doc,
pdf_lexbuf * buf,
int64_t * stmofsp,
int64_t * stmlenp,
pdf_obj ** encrypt,
pdf_obj ** id,
pdf_obj ** page,
int64_t * tmpofs,
pdf_obj ** root )

◆ pdf_repair_xref()

void pdf_repair_xref ( fz_context * ctx,
pdf_document * doc )

◆ pdf_replace_xref()

void pdf_replace_xref ( fz_context * ctx,
pdf_document * doc,
pdf_xref_entry * entries,
int n )

◆ pdf_resolve_indirect()

pdf_obj * pdf_resolve_indirect ( fz_context * ctx,
pdf_obj * ref )

Resolve an indirect object (or chain of objects).

This can cause xref reorganisations (solidifications etc) due to repairs, so all held pdf_xref_entries should be considered invalid after this call (other than the returned one).

◆ pdf_resolve_indirect_chain()

pdf_obj * pdf_resolve_indirect_chain ( fz_context * ctx,
pdf_obj * ref )

◆ pdf_set_populating_xref_trailer()

void pdf_set_populating_xref_trailer ( fz_context * ctx,
pdf_document * doc,
pdf_obj * trailer )

◆ pdf_set_trailer()

void pdf_set_trailer ( fz_context * ctx,
pdf_document * doc,
pdf_obj * obj )

◆ pdf_trailer()

pdf_obj * pdf_trailer ( fz_context * ctx,
pdf_document * doc )

◆ pdf_update_object()

void pdf_update_object ( fz_context * ctx,
pdf_document * doc,
int num,
pdf_obj * obj )

◆ pdf_update_stream()

void pdf_update_stream ( fz_context * ctx,
pdf_document * doc,
pdf_obj * ref,
fz_buffer * buf,
int compressed )

◆ pdf_validate_change_history()

int pdf_validate_change_history ( fz_context * ctx,
pdf_document * doc )

◆ pdf_validate_changes()

int pdf_validate_changes ( fz_context * ctx,
pdf_document * doc,
int version )

◆ pdf_validate_signature()

int pdf_validate_signature ( fz_context * ctx,
pdf_document * doc,
pdf_obj * field )

◆ pdf_validate_signature_widget()

int pdf_validate_signature_widget ( fz_context * ctx,
pdf_annot * widget )

◆ pdf_version()

int pdf_version ( fz_context * ctx,
pdf_document * doc )

◆ pdf_was_pure_xfa()

int pdf_was_pure_xfa ( fz_context * ctx,
pdf_document * doc )

◆ pdf_xref_ensure_incremental_object()

int pdf_xref_ensure_incremental_object ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_xref_ensure_local_object()

void pdf_xref_ensure_local_object ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_xref_entry_map()

void pdf_xref_entry_map ( fz_context * ctx,
pdf_document * doc,
void(* fn )(fz_context *, pdf_xref_entry *, int i, pdf_document *doc, void *),
void * arg )

◆ pdf_xref_is_incremental()

int pdf_xref_is_incremental ( fz_context * ctx,
pdf_document * doc,
int num )

◆ pdf_xref_len()

int pdf_xref_len ( fz_context * ctx,
pdf_document * doc )

◆ pdf_xref_obj_is_unsaved_signature()

int pdf_xref_obj_is_unsaved_signature ( pdf_document * doc,
pdf_obj * obj )

◆ pdf_xref_remove_unsaved_signature()

void pdf_xref_remove_unsaved_signature ( fz_context * ctx,
pdf_document * doc,
pdf_obj * field )

◆ pdf_xref_store_unsaved_signature()

void pdf_xref_store_unsaved_signature ( fz_context * ctx,
pdf_document * doc,
pdf_obj * field,
pdf_pkcs7_signer * signer )