Documentation
¶
Index ¶
- type ObjectReader
- type ObjectResolver
- func (r *ObjectResolver) GetObject(objNum int) (core.Object, error)
- func (r *ObjectResolver) GetObjectResolved(objNum int) (core.Object, error)
- func (r *ObjectResolver) GetObjectResolvedDeep(objNum int) (core.Object, error)
- func (r *ObjectResolver) Reset()
- func (r *ObjectResolver) Resolve(obj core.Object) (core.Object, error)
- func (r *ObjectResolver) ResolveArray(arr core.Array) (core.Array, error)
- func (r *ObjectResolver) ResolveDeep(obj core.Object) (core.Object, error)
- func (r *ObjectResolver) ResolveDict(dict core.Dict) (core.Dict, error)
- func (r *ObjectResolver) ResolveReference(ref core.IndirectRef) (core.Object, error)
- func (r *ObjectResolver) ResolveReferenceDeep(ref core.IndirectRef) (core.Object, error)
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ObjectReader ¶
type ObjectReader interface {
GetObject(objNum int) (core.Object, error)
ResolveReference(ref core.IndirectRef) (core.Object, error)
}
ObjectReader interface allows the resolver to work with any reader
type ObjectResolver ¶
type ObjectResolver struct {
// contains filtered or unexported fields
}
ObjectResolver resolves indirect references in PDF objects It can recursively resolve references in dictionaries and arrays
func NewResolver ¶
func NewResolver(reader ObjectReader, opts ...Option) *ObjectResolver
NewResolver creates a new object resolver
func (*ObjectResolver) GetObject ¶
func (r *ObjectResolver) GetObject(objNum int) (core.Object, error)
GetObject loads an object by number (convenience method)
func (*ObjectResolver) GetObjectResolved ¶
func (r *ObjectResolver) GetObjectResolved(objNum int) (core.Object, error)
GetObjectResolved loads and resolves an object by number (shallow)
func (*ObjectResolver) GetObjectResolvedDeep ¶
func (r *ObjectResolver) GetObjectResolvedDeep(objNum int) (core.Object, error)
GetObjectResolvedDeep loads and fully resolves an object by number (deep)
func (*ObjectResolver) Reset ¶
func (r *ObjectResolver) Reset()
Reset clears the visited map and depth counter Call this between independent resolution operations
func (*ObjectResolver) Resolve ¶
Resolve resolves an object, following indirect references If the object contains nested references (in dicts/arrays), they are also resolved
func (*ObjectResolver) ResolveArray ¶
ResolveArray is a convenience method for resolving arrays It resolves all elements in the array (deep resolution)
func (*ObjectResolver) ResolveDeep ¶
ResolveDeep recursively resolves all indirect references in dictionaries and arrays This will fully expand the object tree
func (*ObjectResolver) ResolveDict ¶
ResolveDict is a convenience method for resolving dictionaries It resolves the dictionary and all its values (deep resolution)
func (*ObjectResolver) ResolveReference ¶
func (r *ObjectResolver) ResolveReference(ref core.IndirectRef) (core.Object, error)
ResolveReference resolves a single indirect reference This is a shallow resolution - it returns the referenced object but doesn't recurse
func (*ObjectResolver) ResolveReferenceDeep ¶
func (r *ObjectResolver) ResolveReferenceDeep(ref core.IndirectRef) (core.Object, error)
ResolveReferenceDeep resolves a reference and all nested references
type Option ¶
type Option func(*ObjectResolver)
Option configures the resolver
func WithMaxDepth ¶
WithMaxDepth sets the maximum recursion depth (default: 100)