DiffPolicy interface for comparing two revisions of the Pdf document.
type DiffPolicy interface { // ReviewFile should check the revisions of the old and new parsers // and evaluate the differences between the revisions. // Each implementation of this interface must decide // how to handle cases where there are multiple revisions between the old and new revisions. ReviewFile(oldParser *core.PdfParser, newParser *core.PdfParser, params *MDPParameters) (*DiffResults, error) }
func NewDefaultDiffPolicy() DiffPolicy
DiffResult describes the warning or the error for the DiffPolicy results.
type DiffResult struct { Revision int Description string }
func (dr *DiffResult) String() string
String returns the state of the warning.
DiffResults describes the results of the DiffPolicy.
type DiffResults struct { Warnings []*DiffResult Errors []*DiffResult }
func (dr *DiffResults) IsPermitted() bool
IsPermitted returns true if changes permitted.
DocMDPPermission is values for set up access permissions for DocMDP. (Section 12.8.2.2, Table 254 - Entries in a signature dictionary p. 471 in PDF32000_2008).
type DocMDPPermission int64
const ( // NoRestrictions All changes are possible in the document NoRestrictions DocMDPPermission = 0 // NoChanges No changes to the document shall be permitted; any change to the // document shall invalidate the signature NoChanges DocMDPPermission = 1 // FillForms Permitted changes shall be filling in forms, instantiating page // templates, and signing; other changes shall invalidate the signature. FillForms DocMDPPermission = 2 // FillFormsAndAnnots Permitted changes shall be the same as for 2, as well as annotation // creation, deletion, and modification; other changes shall invalidate the // signature. FillFormsAndAnnots DocMDPPermission = 3 )
MDPParameters describes parameters for the MDP checks (now only DocMDP).
type MDPParameters struct { DocMDPLevel DocMDPPermission }