SanitizationOpts specifies the objects to be removed during sanitization.
type SanitizationOpts struct { // JavaScript specifies wether JavaScript action should be removed. JavaScript Actions, section 12.6.4.16 of PDF32000_2008 JavaScript bool // URI specifies if URI actions should be removed. 12.6.4.7 URI Actions, PDF32000_2008. URI bool // GoToR removes remote GoTo actions. 12.6.4.3 Remote Go-To Actions, PDF32000_2008. GoToR bool // GoTo specifies wether GoTo actions should be removed. 12.6.4.2 Go-To Actions, PDF32000_2008. GoTo bool // RenditionJS enables removing of `JS` entry from a Rendition Action. // The `JS` entry has a value of text string or stream containing a JavaScript script that shall be executed when the action is triggered. // 12.6.4.13 Rendition Actions Table 214, PDF32000_2008. RenditionJS bool // OpenAction removes OpenAction entry from the document catalog. OpenAction bool // Launch specifies wether Launch Action should be removed. // A launch action launches an application or opens or prints a document. // 12.6.4.5 Launch Actions, PDF32000_2008. Launch bool }
Sanitizer represents a sanitizer object. It implements the Optimizer interface to access the objects field from the writer.
type Sanitizer struct {
// contains filtered or unexported fields
}
func New(opts SanitizationOpts) *Sanitizer
New returns a new sanitizer object.
func (s *Sanitizer) GetSuspiciousObjects() map[string]int
GetSuspiciousObjects returns a count of each detected suspicious object.
func (sanitizer *Sanitizer) Optimize(objects []core.PdfObject) ([]core.PdfObject, error)
Optimize optimizes `objects` and returns updated list of objects.