extensions

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasicInspector

type BasicInspector struct{}

BasicInspector implements a simple document inspector.

func (*BasicInspector) Execute

func (i *BasicInspector) Execute(ctx Context, doc *semantic.Document) error

func (*BasicInspector) Inspect

func (i *BasicInspector) Inspect(ctx Context, doc *semantic.Document) (*InspectionReport, error)

func (*BasicInspector) Name

func (i *BasicInspector) Name() string

func (*BasicInspector) Phase

func (i *BasicInspector) Phase() Phase

func (*BasicInspector) Priority

func (i *BasicInspector) Priority() int

type Context

type Context = context.Context

type Extension

type Extension interface {
	Name() string
	Phase() Phase
	Priority() int
	Execute(ctx Context, doc *semantic.Document) error
}

type Hub

type Hub interface {
	Register(ext Extension) error
	Execute(ctx Context, doc *semantic.Document) error
	Extensions(phase Phase) []Extension
}

type HubImpl

type HubImpl struct {
	// contains filtered or unexported fields
}

func NewHub

func NewHub() *HubImpl

func (*HubImpl) Execute

func (h *HubImpl) Execute(ctx Context, doc *semantic.Document) error

func (*HubImpl) Extensions

func (h *HubImpl) Extensions(phase Phase) []Extension

func (*HubImpl) Register

func (h *HubImpl) Register(ext Extension) error

type InspectionReport

type InspectionReport struct {
	PageCount  int
	FontCount  int
	ImageCount int
	FileSize   int64
	Version    string
	Encrypted  bool
	Linearized bool
	Tagged     bool
	Metadata   map[string]interface{}
}

type Inspector

type Inspector interface {
	Extension
	Inspect(ctx Context, doc *semantic.Document) (*InspectionReport, error)
}

Inspector is an extension that inspects the document and produces a report.

type JSSanitizer

type JSSanitizer struct{}

JSSanitizer removes JavaScript actions from annotations.

func (*JSSanitizer) Execute

func (s *JSSanitizer) Execute(ctx Context, doc *semantic.Document) error

func (*JSSanitizer) Name

func (s *JSSanitizer) Name() string

func (*JSSanitizer) Phase

func (s *JSSanitizer) Phase() Phase

func (*JSSanitizer) Priority

func (s *JSSanitizer) Priority() int

func (*JSSanitizer) Sanitize

func (s *JSSanitizer) Sanitize(ctx Context, doc *semantic.Document) (*SanitizationReport, error)

type JavaScriptRunner

type JavaScriptRunner struct {
	// contains filtered or unexported fields
}

JavaScriptRunner is a Transformer extension that executes JavaScript actions. This is primarily used for form calculations and document initialization scripts.

func NewJavaScriptRunner

func NewJavaScriptRunner(engine scripting.Engine) *JavaScriptRunner

func (*JavaScriptRunner) Execute

func (r *JavaScriptRunner) Execute(ctx Context, doc *semantic.Document) error

func (*JavaScriptRunner) Name

func (r *JavaScriptRunner) Name() string

func (*JavaScriptRunner) Phase

func (r *JavaScriptRunner) Phase() Phase

func (*JavaScriptRunner) Priority

func (r *JavaScriptRunner) Priority() int

func (*JavaScriptRunner) Transform

func (r *JavaScriptRunner) Transform(ctx Context, doc *semantic.Document) error

type PDFAValidator

type PDFAValidator struct {
	Level pdfa.Level
}

PDFAValidator wraps the pdfa package to provide validation.

func (*PDFAValidator) Execute

func (v *PDFAValidator) Execute(ctx Context, doc *semantic.Document) error

func (*PDFAValidator) Name

func (v *PDFAValidator) Name() string

func (*PDFAValidator) Phase

func (v *PDFAValidator) Phase() Phase

func (*PDFAValidator) Priority

func (v *PDFAValidator) Priority() int

func (*PDFAValidator) Validate

func (v *PDFAValidator) Validate(ctx Context, doc *semantic.Document) (*ValidationReport, error)

type Phase

type Phase int
const (
	PhaseInspect Phase = iota
	PhaseSanitize
	PhaseTransform
	PhaseValidate
)

func (Phase) String

func (p Phase) String() string

type SanitizationAction

type SanitizationAction struct {
	Type        string
	Description string
	ObjectRef   raw.ObjectRef
}

type SanitizationReport

type SanitizationReport struct {
	ItemsRemoved int
	ItemsFixed   int
	Actions      []SanitizationAction
}

type Sanitizer

type Sanitizer interface {
	Extension
	Sanitize(ctx Context, doc *semantic.Document) (*SanitizationReport, error)
}

Sanitizer is an extension that cleans up the document.

type Transformer

type Transformer interface {
	Extension
	Transform(ctx Context, doc *semantic.Document) error
}

Transformer is an extension that modifies the document structure.

type ValidationError

type ValidationError struct {
	Code      string
	Message   string
	Location  string
	ObjectRef raw.ObjectRef
}

type ValidationReport

type ValidationReport struct {
	Valid    bool
	Errors   []ValidationError
	Warnings []ValidationWarning
}

type ValidationWarning

type ValidationWarning struct {
	Code     string
	Message  string
	Location string
}

type Validator

type Validator interface {
	Extension
	Validate(ctx Context, doc *semantic.Document) (*ValidationReport, error)
}

Validator is an extension that validates the document against a standard.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL