mirror of
https://github.com/unidoc/unipdf.git
synced 2025-05-02 22:17:06 +08:00
2612 lines
635 KiB
Go
2612 lines
635 KiB
Go
//
|
||
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
||
//
|
||
// This is a commercial product and requires a license to operate.
|
||
// A trial license can be obtained at https://unidoc.io
|
||
//
|
||
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
||
//
|
||
// Use of this source code is governed by the UniDoc End User License Agreement
|
||
// terms that can be accessed at https://unidoc.io/eula/
|
||
|
||
// Package model provides an interface for working with high-level objects (models) in PDF files, including
|
||
// reading and writing documents.
|
||
//
|
||
// The document structure of a PDF is constructed of a hierarchy of data models, representing a tree
|
||
// of information starting from the Document catalog (Figure 5 p. 80).
|
||
// It is based on the core package which handles core functionality such as file i/o, parsing and
|
||
// handling of primitive PDF objects (core.PdfObject).
|
||
//
|
||
// As an example of the interface, the following snippet can read the PDF and output the number of pages:
|
||
//
|
||
// f, err := os.Open(inputPath)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
// defer f.Close()
|
||
// pdfReader, err := unipdf.NewPdfReader(f)
|
||
// if err != nil {
|
||
// fmt.Printf("Failed to read PDF file: %v\n", err)
|
||
// os.Exit(1)
|
||
// }
|
||
// numPages, err := pdfReader.GetNumPages()
|
||
// if err != nil {
|
||
// fmt.Printf("Failed to get number of pages: %v\n", err)
|
||
// os.Exit(1)
|
||
// }
|
||
// fmt.Printf("The PDF file has %d pages\n", numPages)
|
||
//
|
||
// For more examples, see the unidoc-examples repository on GitHub: https://github.com/unidoc/unidoc-examples
|
||
package model ;import (_g "bufio";_f "bytes";_e "encoding/binary";_gd "errors";_c "fmt";_ebg "github.com/unidoc/unipdf/v3/common";_ea "github.com/unidoc/unipdf/v3/common/license";_ce "github.com/unidoc/unipdf/v3/core";_ab "github.com/unidoc/unipdf/v3/core/security";_bc "github.com/unidoc/unipdf/v3/core/security/crypt";_fa "github.com/unidoc/unipdf/v3/internal/cmap";_age "github.com/unidoc/unipdf/v3/internal/imageutil";_ac "github.com/unidoc/unipdf/v3/internal/sampling";_cce "github.com/unidoc/unipdf/v3/internal/textencoding";_cc "github.com/unidoc/unipdf/v3/model/internal/fonts";_ef "github.com/unidoc/unipdf/v3/ps";_af "github.com/unidoc/unitype";_eg "image";_aa "image/color";_ "image/gif";_ "image/png";_cg "io";_dd "io/ioutil";_ag "math";_dg "math/rand";_baa "os";_ed "regexp";_ba "sort";_bd "strconv";_aga "strings";_a "time";_ee "unicode";_gg "unicode/utf8";);
|
||
|
||
// Val returns the value of the color.
|
||
func (_abbc *PdfColorCalGray )Val ()float64 {return float64 (*_abbc )};func _bbcea (_ccgaa _ce .PdfObject ){_ebg .Log .Debug ("\u006f\u0062\u006a\u003a\u0020\u0025\u0054\u0020\u0025\u0073",_ccgaa ,_ccgaa .String ());if _gbdgb ,_gcedd :=_ccgaa .(*_ce .PdfObjectStream );_gcedd {_dcabb ,_bfcbd :=_ce .DecodeStream (_gbdgb );if _bfcbd !=nil {_ebg .Log .Debug ("\u0045r\u0072\u006f\u0072\u003a\u0020\u0025v",_bfcbd );return ;};_ebg .Log .Debug ("D\u0065\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0073",_dcabb );}else if _afgc ,_afdcb :=_ccgaa .(*_ce .PdfIndirectObject );_afdcb {_ebg .Log .Debug ("\u0025\u0054\u0020%\u0076",_afgc .PdfObject ,_afgc .PdfObject );_ebg .Log .Debug ("\u0025\u0073",_afgc .PdfObject .String ());};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cecg *PdfActionGoTo )ToPdfObject ()_ce .PdfObject {_cecg .PdfAction .ToPdfObject ();_fb :=_cecg ._bdf ;_bbb :=_fb .PdfObject .(*_ce .PdfObjectDictionary );_bbb .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeGoTo )));_bbb .SetIfNotNil ("\u0044",_cecg .D );return _fb ;};
|
||
|
||
// PdfAnnotationPolygon represents Polygon annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolygon struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _ce .PdfObject ;LE _ce .PdfObject ;BS _ce .PdfObject ;IC _ce .PdfObject ;BE _ce .PdfObject ;IT _ce .PdfObject ;Measure _ce .PdfObject ;};
|
||
|
||
// GetContentStream returns the XObject Form's content stream.
|
||
func (_ccabdg *XObjectForm )GetContentStream ()([]byte ,error ){_gdgag ,_dggad :=_ce .DecodeStream (_ccabdg ._gcaa );if _dggad !=nil {return nil ,_dggad ;};return _gdgag ,nil ;};
|
||
|
||
// NewPdfDateFromTime will create a PdfDate based on the given time
|
||
func NewPdfDateFromTime (timeObj _a .Time )(PdfDate ,error ){_ddaad :=timeObj .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_adccc ,_ :=_bd .ParseInt (_ddaad [1:3],10,32);_cccdd ,_ :=_bd .ParseInt (_ddaad [4:6],10,32);return PdfDate {_ddacdb :int64 (timeObj .Year ()),_aegabg :int64 (timeObj .Month ()),_bded :int64 (timeObj .Day ()),_deefg :int64 (timeObj .Hour ()),_gbgg :int64 (timeObj .Minute ()),_eabcf :int64 (timeObj .Second ()),_agbae :_ddaad [0],_dfgga :_adccc ,_aabaf :_cccdd },nil ;};
|
||
|
||
// NewPdfColorspaceCalGray returns a new CalGray colorspace object.
|
||
func NewPdfColorspaceCalGray ()*PdfColorspaceCalGray {_ged :=&PdfColorspaceCalGray {};_ged .BlackPoint =[]float64 {0.0,0.0,0.0};_ged .Gamma =1;return _ged ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline item.
|
||
func (_bgede *OutlineItem )ToPdfObject ()_ce .PdfObject {_accb ,_ :=_bgede .ToPdfOutlineItem ();return _accb .ToPdfObject ();};
|
||
|
||
// HasFontByName checks if has font resource by name.
|
||
func (_bceb *PdfPage )HasFontByName (name _ce .PdfObjectName )bool {_faded ,_gacc :=_bceb .Resources .Font .(*_ce .PdfObjectDictionary );if !_gacc {return false ;};if _ffgbd :=_faded .Get (name );_ffgbd !=nil {return true ;};return false ;};
|
||
|
||
// NewPdfAnnotationStamp returns a new stamp annotation.
|
||
func NewPdfAnnotationStamp ()*PdfAnnotationStamp {_dff :=NewPdfAnnotation ();_decc :=&PdfAnnotationStamp {};_decc .PdfAnnotation =_dff ;_decc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dff .SetContext (_decc );return _decc ;};func (_cdecd *pdfCIDFontType0 )getFontDescriptor ()*PdfFontDescriptor {return _cdecd ._adae };
|
||
|
||
// PdfColorCalRGB represents a color in the Colorimetric CIE RGB colorspace.
|
||
// A, B, C components
|
||
// Each component is defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorCalRGB [3]float64 ;
|
||
|
||
// DecodeArray returns the range of color component values in CalRGB colorspace.
|
||
func (_ebaf *PdfColorspaceCalRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// IsShading specifies if the pattern is a shading pattern.
|
||
func (_debga *PdfPattern )IsShading ()bool {return _debga .PatternType ==2};
|
||
|
||
// NewPdfFilespecFromObj creates and returns a new PdfFilespec object.
|
||
func NewPdfFilespecFromObj (obj _ce .PdfObject )(*PdfFilespec ,error ){_dfccf :=&PdfFilespec {};var _fcbc *_ce .PdfObjectDictionary ;if _begc ,_dfbdb :=_ce .GetIndirect (obj );_dfbdb {_dfccf ._ddfgf =_begc ;_ddgbg ,_cecge :=_ce .GetDict (_begc .PdfObject );if !_cecge {_ebg .Log .Debug ("\u004f\u0062\u006a\u0065c\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069c\u0074i\u006f\u006e\u0061\u0072\u0079\u0020\u0074y\u0070\u0065");return nil ,_ce .ErrTypeError ;};_fcbc =_ddgbg ;}else if _bbfdd ,_gdaea :=_ce .GetDict (obj );_gdaea {_dfccf ._ddfgf =_bbfdd ;_fcbc =_bbfdd ;}else {_ebg .Log .Debug ("O\u0062\u006a\u0065\u0063\u0074\u0020t\u0079\u0070\u0065\u0020\u0075\u006e\u0065\u0078\u0070e\u0063\u0074\u0065d\u0020(\u0025\u0054\u0029",obj );return nil ,_ce .ErrTypeError ;};if _fcbc ==nil {_ebg .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_gd .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _bgcg :=_fcbc .Get ("\u0054\u0079\u0070\u0065");_bgcg !=nil {_ebee ,_fdgb :=_bgcg .(*_ce .PdfObjectName );if !_fdgb {_ebg .Log .Trace ("\u0049\u006e\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u0021\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u006f\u0066\u0020\u0054\u0079\u0070\u0065\u0020\u0028\u0025\u0054\u0029\u0020\u002d\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u004e\u0061m\u0065",_bgcg );}else {if *_ebee !="\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"{_ebg .Log .Trace ("\u0055\u006e\u0073\u0075\u0073\u0070e\u0063\u0074\u0065\u0064\u0020\u0054\u0079\u0070\u0065\u0020\u0021\u003d\u0020F\u0069\u006c\u0065\u0073\u0070\u0065\u0063 \u0028\u0025\u0073\u0029",*_ebee );};};};if _babc :=_fcbc .Get ("\u0046\u0053");_babc !=nil {_dfccf .FS =_babc ;};if _dcea :=_fcbc .Get ("\u0046");_dcea !=nil {_dfccf .F =_dcea ;};if _bfddbd :=_fcbc .Get ("\u0055\u0046");_bfddbd !=nil {_dfccf .UF =_bfddbd ;};if _acb :=_fcbc .Get ("\u0044\u004f\u0053");_acb !=nil {_dfccf .DOS =_acb ;};if _ggbc :=_fcbc .Get ("\u004d\u0061\u0063");_ggbc !=nil {_dfccf .Mac =_ggbc ;};if _bdgg :=_fcbc .Get ("\u0055\u006e\u0069\u0078");_bdgg !=nil {_dfccf .Unix =_bdgg ;};if _fega :=_fcbc .Get ("\u0049\u0044");_fega !=nil {_dfccf .ID =_fega ;};if _gedb :=_fcbc .Get ("\u0056");_gedb !=nil {_dfccf .V =_gedb ;};if _egbbb :=_fcbc .Get ("\u0045\u0046");_egbbb !=nil {_dfccf .EF =_egbbb ;};if _efegd :=_fcbc .Get ("\u0052\u0046");_efegd !=nil {_dfccf .RF =_efegd ;};if _feag :=_fcbc .Get ("\u0044\u0065\u0073\u0063");_feag !=nil {_dfccf .Desc =_feag ;};if _efafa :=_fcbc .Get ("\u0043\u0049");_efafa !=nil {_dfccf .CI =_efafa ;};return _dfccf ,nil ;};
|
||
|
||
// NewOutlineItem returns a new outline item instance.
|
||
func NewOutlineItem (title string ,dest OutlineDest )*OutlineItem {return &OutlineItem {Title :title ,Dest :dest };};func (_bad *PdfReader )newPdfActionFromIndirectObject (_aece *_ce .PdfIndirectObject )(*PdfAction ,error ){_abb ,_cac :=_aece .PdfObject .(*_ce .PdfObjectDictionary );if !_cac {return nil ,_c .Errorf ("\u0061\u0063\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u006e\u006f\u0074 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};if model :=_bad ._cbdfb .GetModelFromPrimitive (_abb );model !=nil {_cfg ,_gdg :=model .(*PdfAction );if !_gdg {return nil ,_c .Errorf ("\u0063\u0061c\u0068\u0065\u0064\u0020\u006d\u006f\u0064\u0065\u006c\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0050\u0044\u0046\u0020\u0061\u0063ti\u006f\u006e");};return _cfg ,nil ;};_bga :=&PdfAction {};_bga ._bdf =_aece ;_bad ._cbdfb .Register (_abb ,_bga );if _acd :=_abb .Get ("\u0054\u0079\u0070\u0065");_acd !=nil {_cbe ,_dcb :=_acd .(*_ce .PdfObjectName );if !_dcb {_ebg .Log .Trace ("\u0049\u006e\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u0021\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u006f\u0066\u0020\u0054\u0079\u0070\u0065\u0020\u0028\u0025\u0054\u0029\u0020\u002d\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u004e\u0061m\u0065",_acd );}else {if *_cbe !="\u0041\u0063\u0074\u0069\u006f\u006e"{_ebg .Log .Trace ("\u0055\u006e\u0073u\u0073\u0070\u0065\u0063t\u0065\u0064\u0020\u0054\u0079\u0070\u0065 \u0021\u003d\u0020\u0041\u0063\u0074\u0069\u006f\u006e\u0020\u0028\u0025\u0073\u0029",*_cbe );};_bga .Type =_cbe ;};};if _gff :=_abb .Get ("\u004e\u0065\u0078\u0074");_gff !=nil {_bga .Next =_gff ;};if _fcg :=_abb .Get ("\u0053");_fcg !=nil {_bga .S =_fcg ;};_fda ,_cef :=_bga .S .(*_ce .PdfObjectName );if !_cef {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u0074\u0079\u0070\u0065\u0020\u0021\u003d\u0020\u006e\u0061\u006d\u0065\u0020\u0028\u0025\u0054\u0029",_bga .S );return nil ,_c .Errorf ("\u0069\u006e\u0076al\u0069\u0064\u0020\u0053\u0020\u006f\u0062\u006a\u0065c\u0074 \u0074y\u0070e\u0020\u0021\u003d\u0020\u006e\u0061\u006d\u0065\u0020\u0028\u0025\u0054\u0029",_bga .S );};_fec :=PdfActionType (_fda .String ());switch _fec {case ActionTypeGoTo :_gfe ,_dcg :=_bad .newPdfActionGotoFromDict (_abb );if _dcg !=nil {return nil ,_dcg ;};_gfe .PdfAction =_bga ;_bga ._cga =_gfe ;return _bga ,nil ;case ActionTypeGoToR :_eefb ,_agb :=_bad .newPdfActionGotoRFromDict (_abb );if _agb !=nil {return nil ,_agb ;};_eefb .PdfAction =_bga ;_bga ._cga =_eefb ;return _bga ,nil ;case ActionTypeGoToE :_egg ,_bgac :=_bad .newPdfActionGotoEFromDict (_abb );if _bgac !=nil {return nil ,_bgac ;};_egg .PdfAction =_bga ;_bga ._cga =_egg ;return _bga ,nil ;case ActionTypeLaunch :_agf ,_bdeb :=_bad .newPdfActionLaunchFromDict (_abb );if _bdeb !=nil {return nil ,_bdeb ;};_agf .PdfAction =_bga ;_bga ._cga =_agf ;return _bga ,nil ;case ActionTypeThread :_dcd ,_cfd :=_bad .newPdfActionThreadFromDict (_abb );if _cfd !=nil {return nil ,_cfd ;};_dcd .PdfAction =_bga ;_bga ._cga =_dcd ;return _bga ,nil ;case ActionTypeURI :_adfg ,_ead :=_bad .newPdfActionURIFromDict (_abb );if _ead !=nil {return nil ,_ead ;};_adfg .PdfAction =_bga ;_bga ._cga =_adfg ;return _bga ,nil ;case ActionTypeSound :_eag ,_ade :=_bad .newPdfActionSoundFromDict (_abb );if _ade !=nil {return nil ,_ade ;};_eag .PdfAction =_bga ;_bga ._cga =_eag ;return _bga ,nil ;case ActionTypeMovie :_cgf ,_aac :=_bad .newPdfActionMovieFromDict (_abb );if _aac !=nil {return nil ,_aac ;};_cgf .PdfAction =_bga ;_bga ._cga =_cgf ;return _bga ,nil ;case ActionTypeHide :_fde ,_eab :=_bad .newPdfActionHideFromDict (_abb );if _eab !=nil {return nil ,_eab ;};_fde .PdfAction =_bga ;_bga ._cga =_fde ;return _bga ,nil ;case ActionTypeNamed :_fcgg ,_abcf :=_bad .newPdfActionNamedFromDict (_abb );if _abcf !=nil {return nil ,_abcf ;};_fcgg .PdfAction =_bga ;_bga ._cga =_fcgg ;return _bga ,nil ;case ActionTypeSubmitForm :_ece ,_cefg :=_bad .newPdfActionSubmitFormFromDict (_abb );if _cefg !=nil {return nil ,_cefg ;};_ece .PdfAction =_bga ;_bga ._cga =_ece ;return _bga ,nil ;case ActionTypeResetForm :_fcce ,_ddfe :=_bad .newPdfActionResetFormFromDict (_abb );if _ddfe !=nil {return nil ,_ddfe ;};_fcce .PdfAction =_bga ;_bga ._cga =_fcce ;return _bga ,nil ;case ActionTypeImportData :_gbf ,_ebeb :=_bad .newPdfActionImportDataFromDict (_abb );if _ebeb !=nil {return nil ,_ebeb ;};_gbf .PdfAction =_bga ;_bga ._cga =_gbf ;return _bga ,nil ;case ActionTypeSetOCGState :_dca ,_dbe :=_bad .newPdfActionSetOCGStateFromDict (_abb );if _dbe !=nil {return nil ,_dbe ;};_dca .PdfAction =_bga ;_bga ._cga =_dca ;return _bga ,nil ;case ActionTypeRendition :_faf ,_ge :=_bad .newPdfActionRenditionFromDict (_abb );if _ge !=nil {return nil ,_ge ;};_faf .PdfAction =_bga ;_bga ._cga =_faf ;return _bga ,nil ;case ActionTypeTrans :_ada ,_bcg :=_bad .newPdfActionTransFromDict (_abb );if _bcg !=nil {return nil ,_bcg ;};_ada .PdfAction =_bga ;_bga ._cga =_ada ;return _bga ,nil ;case ActionTypeGoTo3DView :_bgg ,_eabb :=_bad .newPdfActionGoTo3DViewFromDict (_abb );if _eabb !=nil {return nil ,_eabb ;};_bgg .PdfAction =_bga ;_bga ._cga =_bgg ;return _bga ,nil ;case ActionTypeJavaScript :_aba ,_gbab :=_bad .newPdfActionJavaScriptFromDict (_abb );if _gbab !=nil {return nil ,_gbab ;};_aba .PdfAction =_bga ;_bga ._cga =_aba ;return _bga ,nil ;};_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0049\u0067\u006e\u006f\u0072\u0069\u006eg\u0020u\u006ek\u006eo\u0077\u006e\u0020\u0061\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073",_fec );return nil ,nil ;};
|
||
|
||
// NewPdfActionHide returns a new "hide" action.
|
||
func NewPdfActionHide ()*PdfActionHide {_fgf :=NewPdfAction ();_cbg :=&PdfActionHide {};_cbg .PdfAction =_fgf ;_fgf .SetContext (_cbg );return _cbg ;};
|
||
|
||
// BaseFont returns the font's "BaseFont" field.
|
||
func (_ddeef *PdfFont )BaseFont ()string {return _ddeef .baseFields ()._agcagf };
|
||
|
||
// ToPdfOutline returns a low level PdfOutline object, based on the current
|
||
// instance.
|
||
func (_gfdcb *Outline )ToPdfOutline ()*PdfOutline {_bbfea :=NewPdfOutline ();var _gegda []*PdfOutlineItem ;var _dcfag int64 ;var _afbbd *PdfOutlineItem ;for _ ,_cfee :=range _gfdcb .Entries {_fead ,_ffadf :=_cfee .ToPdfOutlineItem ();_fead .Parent =&_bbfea .PdfOutlineTreeNode ;if _afbbd !=nil {_afbbd .Next =&_fead .PdfOutlineTreeNode ;_fead .Prev =&_afbbd .PdfOutlineTreeNode ;};_gegda =append (_gegda ,_fead );_dcfag +=_ffadf ;_afbbd =_fead ;};_bbeff :=int64 (len (_gegda ));_dcfag +=int64 (_bbeff );if _bbeff > 0{_bbfea .First =&_gegda [0].PdfOutlineTreeNode ;_bbfea .Last =&_gegda [_bbeff -1].PdfOutlineTreeNode ;_bbfea .Count =&_dcfag ;};return _bbfea ;};func _cgefg ()string {return _gedg };
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_dc *PdfAction )GetContainingPdfObject ()_ce .PdfObject {return _dc ._bdf };
|
||
|
||
// ToGray returns a PdfColorDeviceGray color based on the current RGB color.
|
||
func (_fabc *PdfColorDeviceRGB )ToGray ()*PdfColorDeviceGray {_aegf :=0.3*_fabc .R ()+0.59*_fabc .G ()+0.11*_fabc .B ();_aegf =_ag .Min (_ag .Max (_aegf ,0.0),1.0);return NewPdfColorDeviceGray (_aegf );};
|
||
|
||
// RunesToCharcodeBytes maps the provided runes to charcode bytes and it
|
||
// returns the resulting slice of bytes, along with the number of runes which
|
||
// could not be converted. If the number of misses is 0, all runes were
|
||
// successfully converted.
|
||
func (_fbeec *PdfFont )RunesToCharcodeBytes (data []rune )([]byte ,int ){var _ecaf []_cce .TextEncoder ;if _ddbg :=_fbeec .baseFields ()._fefb ;_ddbg !=nil {_ecaf =append (_ecaf ,_cce .NewCMapEncoder ("",nil ,_ddbg ));};if _adge :=_fbeec .Encoder ();_adge !=nil {_ecaf =append (_ecaf ,_adge );};var _bcdd _f .Buffer ;var _cbegc int ;for _ ,_efebf :=range data {var _beda bool ;for _ ,_dfee :=range _ecaf {if _gegd :=_dfee .Encode (string (_efebf ));len (_gegd )> 0{_bcdd .Write (_gegd );_beda =true ;break ;};};if !_beda {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020f\u0061\u0069\u006ce\u0064\u0020\u0074\u006f \u006d\u0061\u0070\u0020\u0072\u0075\u006e\u0065\u0020\u0060\u0025\u002b\u0071\u0060\u0020\u0074\u006f\u0020\u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065",_efebf );_cbegc ++;};};if _cbegc !=0{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0061\u006cl\u0020\u0072\u0075\u006e\u0065\u0073\u0020\u0074\u006f\u0020\u0063\u0068\u0061\u0072c\u006fd\u0065\u0073\u002e\u000a"+"\u0009\u006e\u0075\u006d\u0052\u0075\u006e\u0065\u0073\u003d\u0025d\u0020\u006e\u0075\u006d\u004d\u0069\u0073\u0073\u0065\u0073=\u0025\u0064\u000a"+"\t\u0066\u006f\u006e\u0074=%\u0073 \u0065\u006e\u0063\u006f\u0064e\u0072\u0073\u003d\u0025\u002b\u0076",len (data ),_cbegc ,_fbeec ,_ecaf );};return _bcdd .Bytes (),_cbegc ;};
|
||
|
||
// FillWithAppearance populates `form` with values provided by `provider`.
|
||
// If not nil, `appGen` is used to generate appearance dictionaries for the
|
||
// field annotations, based on the specified settings. Otherwise, appearance
|
||
// generation is skipped.
|
||
// e.g.: appGen := annotator.FieldAppearance{OnlyIfMissing: true, RegenerateTextFields: true}
|
||
// NOTE: In next major version this functionality will be part of Fill. (v4)
|
||
func (_efdc *PdfAcroForm )FillWithAppearance (provider FieldValueProvider ,appGen FieldAppearanceGenerator )error {return _efdc .fill (provider ,appGen );};
|
||
|
||
// UpdatePage updates the `page` in the new revision if it has changed.
|
||
func (_fccd *PdfAppender )UpdatePage (page *PdfPage ){_fccd .updateObjectsDeep (page .ToPdfObject (),nil )};
|
||
|
||
// PdfShadingType7 is a Tensor-product patch mesh.
|
||
type PdfShadingType7 struct{*PdfShading ;BitsPerCoordinate *_ce .PdfObjectInteger ;BitsPerComponent *_ce .PdfObjectInteger ;BitsPerFlag *_ce .PdfObjectInteger ;Decode *_ce .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// HasXObjectByName checks if has XObject resource by name.
|
||
func (_edddf *PdfPage )HasXObjectByName (name _ce .PdfObjectName )bool {_gfaa ,_eedf :=_edddf .Resources .XObject .(*_ce .PdfObjectDictionary );if !_eedf {return false ;};if _gcggc :=_gfaa .Get (name );_gcggc !=nil {return true ;};return false ;};
|
||
|
||
// IsCID returns true if the underlying font is CID.
|
||
func (_gccb *PdfFont )IsCID ()bool {return _gccb .baseFields ().isCIDFont ()};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eff *PdfAction )ToPdfObject ()_ce .PdfObject {_ad :=_eff ._bdf ;_edf :=_ad .PdfObject .(*_ce .PdfObjectDictionary );_edf .Clear ();_edf .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0041\u0063\u0074\u0069\u006f\u006e"));_edf .SetIfNotNil ("\u0053",_eff .S );_edf .SetIfNotNil ("\u004e\u0065\u0078\u0074",_eff .Next );return _ad ;};
|
||
|
||
// ToPdfObject converts colorspace to a PDF object. [/Indexed base hival lookup]
|
||
func (_faec *PdfColorspaceSpecialIndexed )ToPdfObject ()_ce .PdfObject {_ddcbc :=_ce .MakeArray (_ce .MakeName ("\u0049n\u0064\u0065\u0078\u0065\u0064"));_ddcbc .Append (_faec .Base .ToPdfObject ());_ddcbc .Append (_ce .MakeInteger (int64 (_faec .HiVal )));_ddcbc .Append (_faec .Lookup );if _faec ._deeae !=nil {_faec ._deeae .PdfObject =_ddcbc ;return _faec ._deeae ;};return _ddcbc ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_fcabg pdfCIDFontType0 )GetRuneMetrics (r rune )(_cc .CharMetrics ,bool ){return _cc .CharMetrics {Wx :_fcabg ._ccff },true ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_eeabe pdfFontType0 )GetCharMetrics (code _cce .CharCode )(_cc .CharMetrics ,bool ){if _eeabe .DescendantFont ==nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u004e\u006f\u0020\u0064\u0065\u0073\u0063\u0065\u006e\u0064\u0061\u006e\u0074\u002e\u0020\u0066\u006f\u006et=\u0025\u0073",_eeabe );return _cc .CharMetrics {},false ;};return _eeabe .DescendantFont .GetCharMetrics (code );};
|
||
|
||
// PdfFieldChoice represents a choice field which includes scrollable list boxes and combo boxes.
|
||
type PdfFieldChoice struct{*PdfField ;Opt *_ce .PdfObjectArray ;TI *_ce .PdfObjectInteger ;I *_ce .PdfObjectArray ;};
|
||
|
||
// Insert adds a top level outline item in the outline,
|
||
// at the specified index.
|
||
func (_eebbd *Outline )Insert (index uint ,item *OutlineItem ){_fefc :=uint (len (_eebbd .Entries ));if index > _fefc {index =_fefc ;};_eebbd .Entries =append (_eebbd .Entries [:index ],append ([]*OutlineItem {item },_eebbd .Entries [index :]...)...);};func _gebbf ()string {_fbgba :=_ea .GetLicenseKey ();if len (_gdaaef )> 0&&(_fbgba .IsLicensed ()||_aggac ){return _gdaaef ;};return _c .Sprintf ("\u0055\u006e\u0069Do\u0063\u0020\u0076\u0025\u0073\u0020\u0028\u0025\u0073)\u0020-\u0020h\u0074t\u0070\u003a\u002f\u002f\u0075\u006e\u0069\u0064\u006f\u0063\u002e\u0069\u006f",_fgeee (),_fbgba .TypeToString ());};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gdb *PdfActionURI )ToPdfObject ()_ce .PdfObject {_gdb .PdfAction .ToPdfObject ();_abd :=_gdb ._bdf ;_adg :=_abd .PdfObject .(*_ce .PdfObjectDictionary );_adg .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeURI )));_adg .SetIfNotNil ("\u0055\u0052\u0049",_gdb .URI );_adg .SetIfNotNil ("\u0049\u0073\u004da\u0070",_gdb .IsMap );return _abd ;};
|
||
|
||
// GetPageAsIndirectObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_bebfc *PdfPage )GetPageAsIndirectObject ()*_ce .PdfIndirectObject {return _bebfc ._adcebd };
|
||
|
||
// FieldFlattenOpts defines a set of options which can be used to configure
|
||
// the field flattening process.
|
||
type FieldFlattenOpts struct{
|
||
|
||
// FilterFunc allows filtering the form fields used in the flattening
|
||
// process. If the filter function returns true, the field is flattened,
|
||
// otherwise it is skipped.
|
||
// If a non-terminal field is discarded, all of its children (the fields
|
||
// present in the Kids array) are discarded as well.
|
||
// Non-terminal fields are kept in the AcroForm if one or more of their
|
||
// child fields have not been selected for flattening.
|
||
// If a filter function is not provided, all form fields are flattened.
|
||
FilterFunc FieldFilterFunc ;};
|
||
|
||
// PdfActionThread represents a thread action.
|
||
type PdfActionThread struct{*PdfAction ;F *PdfFilespec ;D _ce .PdfObject ;B _ce .PdfObject ;};func _ggac ()string {if len (_gbaa )> 0{return _gbaa ;};return "\u0055n\u0069\u0044\u006f\u0063 \u002d\u0020\u0068\u0074\u0074p\u003a/\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069o";};
|
||
|
||
// NewPdfActionGoTo3DView returns a new "goTo3DView" action.
|
||
func NewPdfActionGoTo3DView ()*PdfActionGoTo3DView {_gb :=NewPdfAction ();_fceb :=&PdfActionGoTo3DView {};_fceb .PdfAction =_gb ;_gb .SetContext (_fceb );return _fceb ;};func _faeb (_dbde _ce .PdfObject )(*fontFile ,error ){_ebg .Log .Trace ("\u006e\u0065\u0077\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0046\u0072\u006f\u006dP\u0064f\u004f\u0062\u006a\u0065\u0063\u0074\u003a\u0020\u006f\u0062\u006a\u003d\u0025\u0073",_dbde );_fbbb :=&fontFile {};_dbde =_ce .TraceToDirectObject (_dbde );_deec ,_fbcaa :=_dbde .(*_ce .PdfObjectStream );if !_fbcaa {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020F\u006f\u006et\u0046\u0069\u006c\u0065\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d \u0028\u0025\u0054\u0029",_dbde );return nil ,_ce .ErrTypeError ;};_cdagd :=_deec .PdfObjectDictionary ;_afcgd ,_adceb :=_ce .DecodeStream (_deec );if _adceb !=nil {return nil ,_adceb ;};_bfdg ,_fbcaa :=_ce .GetNameVal (_cdagd .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_fbcaa {_fbbb ._fgfbg =_bfdg ;if _bfdg =="\u0054\u0079\u0070\u0065\u0031\u0043"{_ebg .Log .Debug ("T\u0079\u0070\u0065\u0031\u0043\u0020\u0066\u006f\u006e\u0074\u0073\u0020\u0061\u0072\u0065\u0020\u0063\u0075r\u0072\u0065\u006e\u0074\u006c\u0079\u0020\u006e\u006f\u0074 s\u0075\u0070\u0070o\u0072t\u0065\u0064");return nil ,ErrType1CFontNotSupported ;};};_ffgca ,_ :=_ce .GetIntVal (_cdagd .Get ("\u004ce\u006e\u0067\u0074\u0068\u0031"));_fbdag ,_ :=_ce .GetIntVal (_cdagd .Get ("\u004ce\u006e\u0067\u0074\u0068\u0032"));if _ffgca > len (_afcgd ){_ffgca =len (_afcgd );};if _ffgca +_fbdag > len (_afcgd ){_fbdag =len (_afcgd )-_ffgca ;};_dabfe :=_afcgd [:_ffgca ];var _cbbcd []byte ;if _fbdag > 0{_cbbcd =_afcgd [_ffgca :_ffgca +_fbdag ];};if _ffgca > 0&&_fbdag > 0{_eafgb :=_fbbb .loadFromSegments (_dabfe ,_cbbcd );if _eafgb !=nil {return nil ,_eafgb ;};};return _fbbb ,nil ;};
|
||
|
||
// DecodeArray returns the range of color component values in the Lab colorspace.
|
||
func (_cbde *PdfColorspaceLab )DecodeArray ()[]float64 {_dbfa :=[]float64 {0,100};if _cbde .Range !=nil &&len (_cbde .Range )==4{_dbfa =append (_dbfa ,_cbde .Range ...);}else {_dbfa =append (_dbfa ,-100,100,-100,100);};return _dbfa ;};func (_gfgf *PdfReader )newPdfAnnotationSquareFromDict (_geb *_ce .PdfObjectDictionary )(*PdfAnnotationSquare ,error ){_bggg :=PdfAnnotationSquare {};_debbb ,_agba :=_gfgf .newPdfAnnotationMarkupFromDict (_geb );if _agba !=nil {return nil ,_agba ;};_bggg .PdfAnnotationMarkup =_debbb ;_bggg .BS =_geb .Get ("\u0042\u0053");_bggg .IC =_geb .Get ("\u0049\u0043");_bggg .BE =_geb .Get ("\u0042\u0045");_bggg .RD =_geb .Get ("\u0052\u0044");return &_bggg ,nil ;};
|
||
|
||
// ToUnicode returns the name of the font's "ToUnicode" field if there is one, or "" if there isn't.
|
||
func (_bgegf *PdfFont )ToUnicode ()string {if _bgegf .baseFields ()._fefb ==nil {return "";};return _bgegf .baseFields ()._fefb .Name ();};
|
||
|
||
// AppendContentStream adds content stream by string. Appends to the last
|
||
// contentstream instance if many.
|
||
func (_deaae *PdfPage )AppendContentStream (contentStr string )error {_bgggb ,_fdeda :=_deaae .GetContentStreams ();if _fdeda !=nil {return _fdeda ;};if len (_bgggb )==0{_bgggb =[]string {contentStr };return _deaae .SetContentStreams (_bgggb ,_ce .NewFlateEncoder ());};var _gaffe _f .Buffer ;_gaffe .WriteString (_bgggb [len (_bgggb )-1]);_gaffe .WriteString ("\u000a");_gaffe .WriteString (contentStr );_bgggb [len (_bgggb )-1]=_gaffe .String ();return _deaae .SetContentStreams (_bgggb ,_ce .NewFlateEncoder ());};
|
||
|
||
// AddImageResource adds an image to the XObject resources.
|
||
func (_ggbf *PdfPage )AddImageResource (name _ce .PdfObjectName ,ximg *XObjectImage )error {var _ddcae *_ce .PdfObjectDictionary ;if _ggbf .Resources .XObject ==nil {_ddcae =_ce .MakeDict ();_ggbf .Resources .XObject =_ddcae ;}else {var _bacfa bool ;_ddcae ,_bacfa =(_ggbf .Resources .XObject ).(*_ce .PdfObjectDictionary );if !_bacfa {return _gd .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u0078\u0072\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020\u0074\u0079p\u0065");};};_ddcae .Set (name ,ximg .ToPdfObject ());return nil ;};
|
||
|
||
// ToPdfObject return the CalGray colorspace as a PDF object (name dictionary).
|
||
func (_ccdd *PdfColorspaceCalGray )ToPdfObject ()_ce .PdfObject {_feeb :=&_ce .PdfObjectArray {};_feeb .Append (_ce .MakeName ("\u0043a\u006c\u0047\u0072\u0061\u0079"));_baga :=_ce .MakeDict ();if _ccdd .WhitePoint !=nil {_baga .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_ce .MakeArray (_ce .MakeFloat (_ccdd .WhitePoint [0]),_ce .MakeFloat (_ccdd .WhitePoint [1]),_ce .MakeFloat (_ccdd .WhitePoint [2])));}else {_ebg .Log .Error ("\u0043\u0061\u006c\u0047\u0072\u0061\u0079\u003a\u0020\u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006fi\u006e\u0074\u0020\u0028\u0052e\u0071\u0075i\u0072\u0065\u0064\u0029");};if _ccdd .BlackPoint !=nil {_baga .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_ce .MakeArray (_ce .MakeFloat (_ccdd .BlackPoint [0]),_ce .MakeFloat (_ccdd .BlackPoint [1]),_ce .MakeFloat (_ccdd .BlackPoint [2])));};_baga .Set ("\u0047\u0061\u006dm\u0061",_ce .MakeFloat (_ccdd .Gamma ));_feeb .Append (_baga );if _ccdd ._bcbf !=nil {_ccdd ._bcbf .PdfObject =_feeb ;return _ccdd ._bcbf ;};return _feeb ;};func (_aeba *PdfReader )newPdfActionLaunchFromDict (_gfd *_ce .PdfObjectDictionary )(*PdfActionLaunch ,error ){_dgbe ,_egb :=_cbc (_gfd .Get ("\u0046"));if _egb !=nil {return nil ,_egb ;};return &PdfActionLaunch {Win :_gfd .Get ("\u0057\u0069\u006e"),Mac :_gfd .Get ("\u004d\u0061\u0063"),Unix :_gfd .Get ("\u0055\u006e\u0069\u0078"),NewWindow :_gfd .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_dgbe },nil ;};
|
||
|
||
// Sign signs a specific page with a digital signature.
|
||
// The signature field parameter must have a valid signature dictionary
|
||
// specified by its V field.
|
||
func (_caa *PdfAppender )Sign (pageNum int ,field *PdfFieldSignature )error {if field ==nil {return _gd .New ("\u0073\u0069g\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0063\u0061\u006e\u006e\u006f\u0074\u0020\u0062\u0065 n\u0069\u006c");};_ebd :=field .V ;if _ebd ==nil {return _gd .New ("\u0073\u0069\u0067na\u0074\u0075\u0072\u0065\u0020\u0064\u0069\u0063\u0074i\u006fn\u0061r\u0079 \u0063\u0061\u006e\u006e\u006f\u0074\u0020\u0062\u0065\u0020\u006e\u0069\u006c");};_baaac :=pageNum -1;if _baaac < 0||_baaac > len (_caa ._fdef )-1{return _c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064",pageNum );};_dagg :=_caa .Reader .PageList [_baaac ];field .P =_dagg .ToPdfObject ();if field .T ==nil ||field .T .String ()==""{field .T =_ce .MakeString (_c .Sprintf ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072\u0065\u0020\u0025\u0064",pageNum ));};_dagg .AddAnnotation (field .PdfAnnotationWidget .PdfAnnotation );if _caa ._dba ==_caa ._aega .AcroForm {_caa ._dba =_caa .Reader .AcroForm ;};_bced :=_caa ._dba ;if _bced ==nil {_bced =NewPdfAcroForm ();};_bced .SigFlags =_ce .MakeInteger (3);_gebb :=append (_bced .AllFields (),field .PdfField );_bced .Fields =&_gebb ;_caa .ReplaceAcroForm (_bced );_caa .UpdatePage (_dagg );_caa ._fdef [_baaac ]=_dagg ;return nil ;};func _cbc (_gfaf _ce .PdfObject )(*PdfFilespec ,error ){if _gfaf ==nil {return nil ,nil ;};return NewPdfFilespecFromObj (_gfaf );};
|
||
|
||
// ColorToRGB converts gray -> rgb for a single color component.
|
||
func (_bega *PdfColorspaceDeviceGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_acfb ,_gfed :=color .(*PdfColorDeviceGray );if !_gfed {_ebg .Log .Debug ("\u0049\u006e\u0070\u0075\u0074\u0020\u0063\u006f\u006c\u006fr\u0020\u006e\u006f\u0074\u0020\u0064\u0065v\u0069\u0063\u0065\u0020\u0067\u0072\u0061\u0079\u0020\u0025\u0054",color );return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return NewPdfColorDeviceRGB (float64 (*_acfb ),float64 (*_acfb ),float64 (*_acfb )),nil ;};func (_eda *PdfReader )newPdfAnnotationRedactFromDict (_ddfd *_ce .PdfObjectDictionary )(*PdfAnnotationRedact ,error ){_bed :=PdfAnnotationRedact {};_agca ,_bagc :=_eda .newPdfAnnotationMarkupFromDict (_ddfd );if _bagc !=nil {return nil ,_bagc ;};_bed .PdfAnnotationMarkup =_agca ;_bed .QuadPoints =_ddfd .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_bed .IC =_ddfd .Get ("\u0049\u0043");_bed .RO =_ddfd .Get ("\u0052\u004f");_bed .OverlayText =_ddfd .Get ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074");_bed .Repeat =_ddfd .Get ("\u0052\u0065\u0070\u0065\u0061\u0074");_bed .DA =_ddfd .Get ("\u0044\u0041");_bed .Q =_ddfd .Get ("\u0051");return &_bed ,nil ;};func (_fdbff *pdfFontSimple )addEncoding ()error {var (_dgea string ;_eaebd map[_cce .CharCode ]_cce .GlyphName ;_fagc _cce .SimpleEncoder ;);if _fdbff .Encoder ()!=nil {_ddde ,_dfaf :=_fdbff .Encoder ().(_cce .SimpleEncoder );if _dfaf &&_ddde !=nil {_dgea =_ddde .BaseName ();};};if _fdbff .Encoding !=nil {_abef ,_cdbb ,_bgdcd :=_fdbff .getFontEncoding ();if _bgdcd !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0042\u0061\u0073\u0065F\u006f\u006e\u0074\u003d\u0025\u0071\u0020\u0053u\u0062t\u0079\u0070\u0065\u003d\u0025\u0071\u0020\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003d\u0025\u0073 \u0028\u0025\u0054\u0029\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_fdbff ._agcagf ,_fdbff ._dbbag ,_fdbff .Encoding ,_fdbff .Encoding ,_bgdcd );return _bgdcd ;};if _abef !=""{_dgea =_abef ;};_fagc ,_bgdcd =_cce .NewSimpleTextEncoder (_dgea ,_cdbb );if _bgdcd !=nil {return _bgdcd ;};};if _fagc ==nil {_dacec :=_fdbff ._adae ;if _dacec !=nil {switch _fdbff ._dbbag {case "\u0054\u0079\u0070e\u0031":if _dacec .fontFile !=nil &&_dacec .fontFile ._fbabb !=nil {_ebg .Log .Debug ("\u0055\u0073\u0069\u006e\u0067\u0020\u0066\u006f\u006et\u0046\u0069\u006c\u0065");_fagc =_dacec .fontFile ._fbabb ;};case "\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":if _dacec ._ggefa !=nil {_ebg .Log .Debug ("\u0055s\u0069n\u0067\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0032");_cgcbg ,_cbdea :=_dacec ._ggefa .MakeEncoder ();if _cbdea ==nil {_fagc =_cgcbg ;};};};};};if _fagc !=nil {if _eaebd !=nil {_ebg .Log .Trace ("\u0064\u0069\u0066fe\u0072\u0065\u006e\u0063\u0065\u0073\u003d\u0025\u002b\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_eaebd ,_fdbff .baseFields ());_fagc =_cce .ApplyDifferences (_fagc ,_eaebd );};_fdbff .SetEncoder (_fagc );};return nil ;};func (_bbbfd *PdfWriter )addObjects (_aafba _ce .PdfObject )error {_ebg .Log .Trace ("\u0041d\u0064i\u006e\u0067\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0073\u0021");if _aefde ,_bgddg :=_aafba .(*_ce .PdfIndirectObject );_bgddg {_ebg .Log .Trace ("\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074");_ebg .Log .Trace ("\u002d \u0025\u0073\u0020\u0028\u0025\u0070)",_aafba ,_aefde );_ebg .Log .Trace ("\u002d\u0020\u0025\u0073",_aefde .PdfObject );if _bbbfd .addObject (_aefde ){_fbcd :=_bbbfd .addObjects (_aefde .PdfObject );if _fbcd !=nil {return _fbcd ;};};return nil ;};if _ceace ,_bfdbe :=_aafba .(*_ce .PdfObjectStream );_bfdbe {_ebg .Log .Trace ("\u0053\u0074\u0072\u0065\u0061\u006d");_ebg .Log .Trace ("\u002d \u0025\u0073\u0020\u0025\u0070",_aafba ,_aafba );if _bbbfd .addObject (_ceace ){_ffdcd :=_bbbfd .addObjects (_ceace .PdfObjectDictionary );if _ffdcd !=nil {return _ffdcd ;};};return nil ;};if _cgeb ,_eadag :=_aafba .(*_ce .PdfObjectDictionary );_eadag {_ebg .Log .Trace ("\u0044\u0069\u0063\u0074");_ebg .Log .Trace ("\u002d\u0020\u0025\u0073",_aafba );for _ ,_dbgbd :=range _cgeb .Keys (){_gcefe :=_cgeb .Get (_dbgbd );if _eaege ,_adeee :=_gcefe .(*_ce .PdfObjectReference );_adeee {_gcefe =_eaege .Resolve ();_cgeb .Set (_dbgbd ,_gcefe );};if _dbgbd !="\u0050\u0061\u0072\u0065\u006e\u0074"{if _bcffe :=_bbbfd .addObjects (_gcefe );_bcffe !=nil {return _bcffe ;};}else {if _ ,_ggecf :=_gcefe .(*_ce .PdfObjectNull );_ggecf {continue ;};if _febb :=_bbbfd .hasObject (_gcefe );!_febb {_ebg .Log .Debug ("P\u0061\u0072\u0065\u006e\u0074\u0020o\u0062\u006a\u0020\u006e\u006f\u0074 \u0061\u0064\u0064\u0065\u0064\u0020\u0079e\u0074\u0021\u0021\u0020\u0025\u0054\u0020\u0025\u0070\u0020%\u0076",_gcefe ,_gcefe ,_gcefe );_bbbfd ._ggdc [_gcefe ]=append (_bbbfd ._ggdc [_gcefe ],_cgeb );};};};return nil ;};if _ddcbg ,_fafd :=_aafba .(*_ce .PdfObjectArray );_fafd {_ebg .Log .Trace ("\u0041\u0072\u0072a\u0079");_ebg .Log .Trace ("\u002d\u0020\u0025\u0073",_aafba );if _ddcbg ==nil {return _gd .New ("\u0061\u0072\u0072a\u0079\u0020\u0069\u0073\u0020\u006e\u0069\u006c");};for _bccca ,_dfadda :=range _ddcbg .Elements (){if _cfeec ,_afgbc :=_dfadda .(*_ce .PdfObjectReference );_afgbc {_dfadda =_cfeec .Resolve ();_ddcbg .Set (_bccca ,_dfadda );};if _gfabd :=_bbbfd .addObjects (_dfadda );_gfabd !=nil {return _gfabd ;};};return nil ;};if _ ,_afcec :=_aafba .(*_ce .PdfObjectReference );_afcec {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0043\u0061\u006e\u006e\u006f\u0074 \u0062\u0065\u0020\u0061\u0020\u0072e\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0020\u002d\u0020\u0067\u006f\u0074 \u0025\u0023\u0076\u0021",_aafba );return _gd .New ("r\u0065\u0066\u0065\u0072en\u0063e\u0020\u006e\u006f\u0074\u0020a\u006c\u006c\u006f\u0077\u0065\u0064");};return nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_ffcc *PdfColorspaceSpecialPattern )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _ffcc .UnderlyingCS ==nil {return nil ,_gd .New ("u\u006e\u0064\u0065\u0072\u006c\u0079i\u006e\u0067\u0020\u0043\u0053\u0020\u006e\u006f\u0074 \u0073\u0070\u0065c\u0069f\u0069\u0065\u0064");};return _ffcc .UnderlyingCS .ColorFromFloats (vals );};func (_dcf *PdfReader )newPdfAnnotationMovieFromDict (_egcb *_ce .PdfObjectDictionary )(*PdfAnnotationMovie ,error ){_bcfg :=PdfAnnotationMovie {};_bcfg .T =_egcb .Get ("\u0054");_bcfg .Movie =_egcb .Get ("\u004d\u006f\u0076i\u0065");_bcfg .A =_egcb .Get ("\u0041");return &_bcfg ,nil ;};
|
||
|
||
// PdfAnnotationCircle represents Circle annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationCircle struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _ce .PdfObject ;IC _ce .PdfObject ;BE _ce .PdfObject ;RD _ce .PdfObject ;};
|
||
|
||
// EncryptOptions represents encryption options for an output PDF.
|
||
type EncryptOptions struct{Permissions _ab .Permissions ;Algorithm EncryptionAlgorithm ;};
|
||
|
||
// NewPdfAnnotation3D returns a new 3d annotation.
|
||
func NewPdfAnnotation3D ()*PdfAnnotation3D {_dde :=NewPdfAnnotation ();_gbec :=&PdfAnnotation3D {};_gbec .PdfAnnotation =_dde ;_dde .SetContext (_gbec );return _gbec ;};
|
||
|
||
// NewPdfAnnotationLine returns a new line annotation.
|
||
func NewPdfAnnotationLine ()*PdfAnnotationLine {_bcgg :=NewPdfAnnotation ();_gaaf :=&PdfAnnotationLine {};_gaaf .PdfAnnotation =_bcgg ;_gaaf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bcgg .SetContext (_gaaf );return _gaaf ;};type pdfFont interface{_cc .Font ;
|
||
|
||
// ToPdfObject returns a PDF representation of the font and implements interface Model.
|
||
ToPdfObject ()_ce .PdfObject ;getFontDescriptor ()*PdfFontDescriptor ;baseFields ()*fontCommon ;};
|
||
|
||
// SetColorSpace sets `r` colorspace object to `colorspace`.
|
||
func (_gcec *PdfPageResources )SetColorSpace (colorspace *PdfPageResourcesColorspaces ){_gcec ._gddae =colorspace ;};func _cfcg (_cbca _ce .PdfObject )(*PdfColorspaceSpecialSeparation ,error ){_ddeaf :=NewPdfColorspaceSpecialSeparation ();if _bdde ,_eeag :=_cbca .(*_ce .PdfIndirectObject );_eeag {_ddeaf ._bedf =_bdde ;};_cbca =_ce .TraceToDirectObject (_cbca );_edgg ,_ecdfgb :=_cbca .(*_ce .PdfObjectArray );if !_ecdfgb {return nil ,_c .Errorf ("\u0073\u0065p\u0061\u0072\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0062je\u0063\u0074");};if _edgg .Len ()!=4{return nil ,_c .Errorf ("\u0073\u0065p\u0061\u0072\u0061\u0074i\u006f\u006e \u0043\u0053\u003a\u0020\u0049\u006e\u0063\u006fr\u0072\u0065\u0063\u0074\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006ce\u006e\u0067\u0074\u0068");};_cbca =_edgg .Get (0);_fafae ,_ecdfgb :=_cbca .(*_ce .PdfObjectName );if !_ecdfgb {return nil ,_c .Errorf ("\u0073\u0065\u0070ar\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a \u0069n\u0076a\u006ci\u0064\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};if *_fafae !="\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"{return nil ,_c .Errorf ("\u0073\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a\u0020w\u0072o\u006e\u0067\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};_cbca =_edgg .Get (1);_fafae ,_ecdfgb =_cbca .(*_ce .PdfObjectName );if !_ecdfgb {return nil ,_c .Errorf ("\u0073\u0065pa\u0072\u0061\u0074i\u006f\u006e\u0020\u0043S: \u0049nv\u0061\u006c\u0069\u0064\u0020\u0063\u006flo\u0072\u0061\u006e\u0074\u0020\u006e\u0061m\u0065");};_ddeaf .ColorantName =_fafae ;_cbca =_edgg .Get (2);_bbgee ,_baag :=NewPdfColorspaceFromPdfObject (_cbca );if _baag !=nil {return nil ,_baag ;};_ddeaf .AlternateSpace =_bbgee ;_aacd ,_baag :=_edddda (_edgg .Get (3));if _baag !=nil {return nil ,_baag ;};_ddeaf .TintTransform =_aacd ;return _ddeaf ,nil ;};
|
||
|
||
// NewPdfAnnotationStrikeOut returns a new text strikeout annotation.
|
||
func NewPdfAnnotationStrikeOut ()*PdfAnnotationStrikeOut {_ebcd :=NewPdfAnnotation ();_gffd :=&PdfAnnotationStrikeOut {};_gffd .PdfAnnotation =_ebcd ;_gffd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ebcd .SetContext (_gffd );return _gffd ;};
|
||
|
||
// SetPdfSubject sets the Subject attribute of the output PDF.
|
||
func SetPdfSubject (subject string ){_gedg =subject };func _eada (_bdga ,_aeed string )string {if _aga .Contains (_bdga ,"\u002b"){_gfae :=_aga .Split (_bdga ,"\u002b");if len (_gfae )==2{_bdga =_gfae [1];};};return _aeed +"\u002b"+_bdga ;};func (_dafa *PdfWriter )copyObjects (){_geaee :=make (map[_ce .PdfObject ]_ce .PdfObject );_fddb :=make ([]_ce .PdfObject ,0,len (_dafa ._agacd ));_fdbfg :=make (map[_ce .PdfObject ]struct{},len (_dafa ._agacd ));_acagc :=make (map[_ce .PdfObject ]struct{});for _ ,_gfgeff :=range _dafa ._agacd {_afcgdg :=_dafa .copyObject (_gfgeff ,_geaee ,_acagc ,false );if _ ,_acaf :=_acagc [_gfgeff ];_acaf {continue ;};_fddb =append (_fddb ,_afcgdg );_fdbfg [_afcgdg ]=struct{}{};};_dafa ._agacd =_fddb ;_dafa ._gdbdce =_fdbfg ;_dafa ._aagfa =_dafa .copyObject (_dafa ._aagfa ,_geaee ,nil ,false ).(*_ce .PdfIndirectObject );_dafa ._gedca =_dafa .copyObject (_dafa ._gedca ,_geaee ,nil ,false ).(*_ce .PdfIndirectObject );if _dafa ._gfdaf !=nil {_dafa ._gfdaf =_dafa .copyObject (_dafa ._gfdaf ,_geaee ,nil ,false ).(*_ce .PdfIndirectObject );};if _dafa ._cfgfc {_geebg :=make (map[_ce .PdfObject ]int64 );for _cgfae ,_fccf :=range _dafa ._dfgaa {if _agcfa ,_dagebe :=_geaee [_cgfae ];_dagebe {_geebg [_agcfa ]=_fccf ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020a\u0070\u0070\u0065n\u0064\u0020\u006d\u006fd\u0065\u0020\u002d\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0063\u006f\u0070\u0079\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0020\u006d\u0061\u0070");};};_dafa ._dfgaa =_geebg ;};};
|
||
|
||
// Outline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
// Currently, the Outline object can only be used to construct PDF outlines.
|
||
type Outline struct{Entries []*OutlineItem `json:"entries,omitempty"`;};func (_cfcge *PdfWriter )seekByName (_daeee _ce .PdfObject ,_degea []string ,_egcbg string )([]_ce .PdfObject ,error ){_ebg .Log .Trace ("\u0053\u0065\u0065\u006b\u0020\u0062\u0079\u0020\u006e\u0061\u006d\u0065.\u002e\u0020\u0025\u0054",_daeee );var _accae []_ce .PdfObject ;if _bbefd ,_gacaed :=_daeee .(*_ce .PdfIndirectObject );_gacaed {return _cfcge .seekByName (_bbefd .PdfObject ,_degea ,_egcbg );};if _fdgba ,_adfdd :=_daeee .(*_ce .PdfObjectStream );_adfdd {return _cfcge .seekByName (_fdgba .PdfObjectDictionary ,_degea ,_egcbg );};if _cgagc ,_gcdcd :=_daeee .(*_ce .PdfObjectDictionary );_gcdcd {_ebg .Log .Trace ("\u0044\u0069\u0063\u0074");for _ ,_ebdgb :=range _cgagc .Keys (){_ffbd :=_cgagc .Get (_ebdgb );if string (_ebdgb )==_egcbg {_accae =append (_accae ,_ffbd );};for _ ,_ddcaa :=range _degea {if string (_ebdgb )==_ddcaa {_ebg .Log .Trace ("\u0046\u006f\u006c\u006c\u006f\u0077\u0020\u006b\u0065\u0079\u0020\u0025\u0073",_ddcaa );_gfaec ,_gdfbc :=_cfcge .seekByName (_ffbd ,_degea ,_egcbg );if _gdfbc !=nil {return _accae ,_gdfbc ;};for _ ,_cdaad :=range _gfaec {_accae =append (_accae ,_cdaad );};break ;};};};return _accae ,nil ;};return _accae ,nil ;};
|
||
|
||
// SetSamples convert samples to byte-data and sets for the image.
|
||
// NOTE: The method resamples the data and this could lead to high memory usage,
|
||
// especially on large images. It should be used only when it is not possible
|
||
// to work with the image byte data directly.
|
||
func (_afbb *Image )SetSamples (samples []uint32 ){if _afbb .BitsPerComponent < 8{samples =_afbb .samplesAddPadding (samples );};_ccacf :=_ac .ResampleUint32 (samples ,int (_afbb .BitsPerComponent ),8);_fbed :=make ([]byte ,len (_ccacf ));for _cagef ,_acgg :=range _ccacf {_fbed [_cagef ]=byte (_acgg );};_afbb .Data =_fbed ;};
|
||
|
||
// C returns the value of the C component of the color.
|
||
func (_cadg *PdfColorCalRGB )C ()float64 {return float64 (_cadg [2])};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_afbd *PdfAnnotationProjection )ToPdfObject ()_ce .PdfObject {_afbd .PdfAnnotation .ToPdfObject ();_fcf :=_afbd ._bda ;_beac :=_fcf .PdfObject .(*_ce .PdfObjectDictionary );_afbd .PdfAnnotationMarkup .appendToPdfDictionary (_beac );return _fcf ;};
|
||
|
||
// PdfAppender appends new PDF content to an existing PDF document via incremental updates.
|
||
type PdfAppender struct{_cbdd _cg .ReadSeeker ;_agbe *_ce .PdfParser ;_aega *PdfReader ;Reader *PdfReader ;_fdef []*PdfPage ;_dba *PdfAcroForm ;_bbbg _ce .XrefTable ;_afga int64 ;_beacf int ;_fadd []_ce .PdfObject ;_adba map[_ce .PdfObject ]struct{};_daea map[_ce .PdfObject ]int64 ;_gbfa map[_ce .PdfObject ]struct{};_bceec map[_ce .PdfObject ]struct{};_aeaa int64 ;_dgda bool ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Separation).
|
||
func (_defa *PdfColorspaceSpecialSeparation )GetNumComponents ()int {return 1};func (_cfa *PdfColorspaceCalGray )String ()string {return "\u0043a\u006c\u0047\u0072\u0061\u0079"};
|
||
|
||
// R returns the value of the red component of the color.
|
||
func (_efac *PdfColorDeviceRGB )R ()float64 {return float64 (_efac [0])};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dabf *PdfAnnotationLink )ToPdfObject ()_ce .PdfObject {_dabf .PdfAnnotation .ToPdfObject ();_eecc :=_dabf ._bda ;_bbge :=_eecc .PdfObject .(*_ce .PdfObjectDictionary );_bbge .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u004c\u0069\u006e\u006b"));if _dabf ._eddb !=nil &&_dabf ._eddb ._cga !=nil {_bbge .Set ("\u0041",_dabf ._eddb ._cga .ToPdfObject ());}else if _dabf .A !=nil {_bbge .Set ("\u0041",_dabf .A );};_bbge .SetIfNotNil ("\u0044\u0065\u0073\u0074",_dabf .Dest );_bbge .SetIfNotNil ("\u0048",_dabf .H );_bbge .SetIfNotNil ("\u0050\u0041",_dabf .PA );_bbge .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_dabf .QuadPoints );_bbge .SetIfNotNil ("\u0042\u0053",_dabf .BS );return _eecc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the page resources.
|
||
func (_bbbe *PdfPageResources )ToPdfObject ()_ce .PdfObject {_dcgfb :=_bbbe ._eebf ;_dcgfb .SetIfNotNil ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_bbbe .ExtGState );if _bbbe ._gddae !=nil {_bbbe .ColorSpace =_bbbe ._gddae .ToPdfObject ();};_dcgfb .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_bbbe .ColorSpace );_dcgfb .SetIfNotNil ("\u0050a\u0074\u0074\u0065\u0072\u006e",_bbbe .Pattern );_dcgfb .SetIfNotNil ("\u0053h\u0061\u0064\u0069\u006e\u0067",_bbbe .Shading );_dcgfb .SetIfNotNil ("\u0058O\u0062\u006a\u0065\u0063\u0074",_bbbe .XObject );_dcgfb .SetIfNotNil ("\u0046\u006f\u006e\u0074",_bbbe .Font );_dcgfb .SetIfNotNil ("\u0050r\u006f\u0063\u0053\u0065\u0074",_bbbe .ProcSet );_dcgfb .SetIfNotNil ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",_bbbe .Properties );return _dcgfb ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_efdfb *PdfShadingType5 )ToPdfObject ()_ce .PdfObject {_efdfb .PdfShading .ToPdfObject ();_ccggd ,_gbadf :=_efdfb .getShadingDict ();if _gbadf !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _efdfb .BitsPerCoordinate !=nil {_ccggd .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_efdfb .BitsPerCoordinate );};if _efdfb .BitsPerComponent !=nil {_ccggd .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_efdfb .BitsPerComponent );};if _efdfb .VerticesPerRow !=nil {_ccggd .Set ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077",_efdfb .VerticesPerRow );};if _efdfb .Decode !=nil {_ccggd .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_efdfb .Decode );};if _efdfb .Function !=nil {if len (_efdfb .Function )==1{_ccggd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_efdfb .Function [0].ToPdfObject ());}else {_acccd :=_ce .MakeArray ();for _ ,_aegab :=range _efdfb .Function {_acccd .Append (_aegab .ToPdfObject ());};_ccggd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_acccd );};};return _efdfb ._efbab ;};
|
||
|
||
// SetShadingByName sets a shading resource specified by keyName.
|
||
func (_dedba *PdfPageResources )SetShadingByName (keyName _ce .PdfObjectName ,shadingObj _ce .PdfObject )error {if _dedba .Shading ==nil {_dedba .Shading =_ce .MakeDict ();};_ddfec ,_daafa :=_dedba .Shading .(*_ce .PdfObjectDictionary );if !_daafa {return _ce .ErrTypeError ;};_ddfec .Set (keyName ,shadingObj );return nil ;};func (_ggg *PdfReader )newPdfAnnotationStrikeOut (_beaa *_ce .PdfObjectDictionary )(*PdfAnnotationStrikeOut ,error ){_agbb :=PdfAnnotationStrikeOut {};_geeg ,_agcd :=_ggg .newPdfAnnotationMarkupFromDict (_beaa );if _agcd !=nil {return nil ,_agcd ;};_agbb .PdfAnnotationMarkup =_geeg ;_agbb .QuadPoints =_beaa .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_agbb ,nil ;};func _fdcgd (_bage *_ce .PdfObjectDictionary )(*PdfFieldText ,error ){_edba :=&PdfFieldText {};_edba .DA ,_ =_ce .GetString (_bage .Get ("\u0044\u0041"));_edba .Q ,_ =_ce .GetInt (_bage .Get ("\u0051"));_edba .DS ,_ =_ce .GetString (_bage .Get ("\u0044\u0053"));_edba .RV =_bage .Get ("\u0052\u0056");_edba .MaxLen ,_ =_ce .GetInt (_bage .Get ("\u004d\u0061\u0078\u004c\u0065\u006e"));return _edba ,nil ;};
|
||
|
||
// NewBorderStyle returns an initialized PdfBorderStyle.
|
||
func NewBorderStyle ()*PdfBorderStyle {_cddd :=&PdfBorderStyle {};return _cddd };
|
||
|
||
// Subtype returns the font's "Subtype" field.
|
||
func (_geedc *PdfFont )Subtype ()string {_ebfaf :=_geedc .baseFields ()._dbbag ;if _gcdf ,_bdgf :=_geedc ._decac .(*pdfFontType0 );_bdgf {_ebfaf =_ebfaf +"\u003a"+_gcdf .DescendantFont .Subtype ();};return _ebfaf ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType0 to a PDF representation.
|
||
func (_gcddb *pdfCIDFontType0 )ToPdfObject ()_ce .PdfObject {return _ce .MakeNull ()};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eef *PdfActionImportData )ToPdfObject ()_ce .PdfObject {_eef .PdfAction .ToPdfObject ();_agcc :=_eef ._bdf ;_bg :=_agcc .PdfObject .(*_ce .PdfObjectDictionary );_bg .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeImportData )));if _eef .F !=nil {_bg .Set ("\u0046",_eef .F .ToPdfObject ());};return _agcc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading pattern.
|
||
func (_bddd *PdfShadingPattern )ToPdfObject ()_ce .PdfObject {_bddd .PdfPattern .ToPdfObject ();_faace :=_bddd .getDict ();if _bddd .Shading !=nil {_faace .Set ("\u0053h\u0061\u0064\u0069\u006e\u0067",_bddd .Shading .ToPdfObject ());};if _bddd .Matrix !=nil {_faace .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_bddd .Matrix );};if _bddd .ExtGState !=nil {_faace .Set ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_bddd .ExtGState );};return _bddd ._efabe ;};
|
||
|
||
// AcroFormNeedsRepair returns true if the document contains widget annotations
|
||
// linked to fields which are not referenced in the AcroForm. The AcroForm can
|
||
// be repaired using the RepairAcroForm method of the reader.
|
||
func (_gedea *PdfReader )AcroFormNeedsRepair ()(bool ,error ){var _ggaad []*PdfField ;if _gedea .AcroForm !=nil {_ggaad =_gedea .AcroForm .AllFields ();};_aggec :=make (map[*PdfField ]struct{},len (_ggaad ));for _ ,_abcec :=range _ggaad {_aggec [_abcec ]=struct{}{};};for _ ,_bdceb :=range _gedea .PageList {_gcfa ,_bacea :=_bdceb .GetAnnotations ();if _bacea !=nil {return false ,_bacea ;};for _ ,_acaab :=range _gcfa {_eegec ,_ecbac :=_acaab .GetContext ().(*PdfAnnotationWidget );if !_ecbac {continue ;};_edcf :=_eegec .Field ();if _edcf ==nil {return true ,nil ;};if _ ,_fbded :=_aggec [_edcf ];!_fbded {return true ,nil ;};};};return false ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_fbcagf *PdfShading )ToPdfObject ()_ce .PdfObject {_dfabd :=_fbcagf ._efbab ;_eaddg ,_aeaac :=_fbcagf .getShadingDict ();if _aeaac !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _fbcagf .ShadingType !=nil {_eaddg .Set ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_fbcagf .ShadingType );};if _fbcagf .ColorSpace !=nil {_eaddg .Set ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_fbcagf .ColorSpace .ToPdfObject ());};if _fbcagf .Background !=nil {_eaddg .Set ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064",_fbcagf .Background );};if _fbcagf .BBox !=nil {_eaddg .Set ("\u0042\u0042\u006f\u0078",_fbcagf .BBox .ToPdfObject ());};if _fbcagf .AntiAlias !=nil {_eaddg .Set ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s",_fbcagf .AntiAlias );};return _dfabd ;};func _eafc (_cbdfd _ce .PdfObject ,_egfa *fontCommon )(*_fa .CMap ,error ){_agfa ,_gbaed :=_ce .GetStream (_cbdfd );if !_gbaed {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0074\u006f\u0055\u006e\u0069\u0063\u006f\u0064\u0065\u0054\u006f\u0043m\u0061\u0070\u003a\u0020\u004e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0028\u0025\u0054\u0029",_cbdfd );return nil ,_ce .ErrTypeError ;};_geca ,_fcgge :=_ce .DecodeStream (_agfa );if _fcgge !=nil {return nil ,_fcgge ;};_eedee ,_fcgge :=_fa .LoadCmapFromData (_geca ,!_egfa .isCIDFont ());if _fcgge !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u004e\u0075\u006d\u0062\u0065\u0072\u003d\u0025\u0064\u0020\u0065\u0072r=\u0025\u0076",_agfa .ObjectNumber ,_fcgge );};return _eedee ,_fcgge ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for an RGB device.
|
||
func (_gbfe *PdfColorspaceDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// NewPdfReaderLazy creates a new PdfReader for `rs` in lazy-loading mode. The difference
|
||
// from NewPdfReader is that in lazy-loading mode, objects are only loaded into memory when needed
|
||
// rather than entire structure being loaded into memory on reader creation.
|
||
// Note that it may make sense to use the lazy-load reader when processing only parts of files,
|
||
// rather than loading entire file into memory. Example: splitting a few pages from a large PDF file.
|
||
func NewPdfReaderLazy (rs _cg .ReadSeeker )(*PdfReader ,error ){_bdacc :=&PdfReader {_dafg :rs ,_acfdf :map[_ce .PdfObject ]struct{}{},_cbdfb :_accg (),_ebegg :true };_edbbeb ,_abfa :=_ce .NewParser (rs );if _abfa !=nil {return nil ,_abfa ;};_bdacc ._dbfe =_edbbeb ;_ecbbe ,_abfa :=_bdacc .IsEncrypted ();if _abfa !=nil {return nil ,_abfa ;};if !_ecbbe {_abfa =_bdacc .loadStructure ();if _abfa !=nil {return nil ,_abfa ;};};return _bdacc ,nil ;};
|
||
|
||
// IsEncrypted returns true if the PDF file is encrypted.
|
||
func (_dfeaf *PdfReader )IsEncrypted ()(bool ,error ){return _dfeaf ._dbfe .IsEncrypted ()};
|
||
|
||
// GetNumComponents returns the number of color components (3 for CalRGB).
|
||
func (_fcbdb *PdfColorCalRGB )GetNumComponents ()int {return 3};
|
||
|
||
// GetNumComponents returns the number of color components of the underlying
|
||
// colorspace device.
|
||
func (_afce *PdfColorspaceSpecialPattern )GetNumComponents ()int {return _afce .UnderlyingCS .GetNumComponents ();};
|
||
|
||
// ReplacePage replaces the original page to a new page.
|
||
func (_gbgbd *PdfAppender )ReplacePage (pageNum int ,page *PdfPage ){_aged :=pageNum -1;for _fdbdc :=range _gbgbd ._fdef {if _fdbdc ==_aged {_dcbg :=page .Duplicate ();_begee (_dcbg );_gbgbd ._fdef [_fdbdc ]=_dcbg ;};};};
|
||
|
||
// NewPdfFontFromPdfObject loads a PdfFont from the dictionary `fontObj`. If there is a problem an
|
||
// error is returned.
|
||
func NewPdfFontFromPdfObject (fontObj _ce .PdfObject )(*PdfFont ,error ){return _efef (fontObj ,true )};
|
||
|
||
// GetAsShadingPattern returns a shading pattern. Check with IsShading() prior to using this.
|
||
func (_acdcg *PdfPattern )GetAsShadingPattern ()*PdfShadingPattern {return _acdcg ._gdge .(*PdfShadingPattern );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_adecbb *PdfSignature )ToPdfObject ()_ce .PdfObject {_cfbca :=_adecbb ._aefg ;var _baaaef *_ce .PdfObjectDictionary ;if _bcda ,_gdbfc :=_cfbca .PdfObject .(*pdfSignDictionary );_gdbfc {_baaaef =_bcda .PdfObjectDictionary ;}else {_baaaef =_cfbca .PdfObject .(*_ce .PdfObjectDictionary );};_baaaef .SetIfNotNil ("\u0054\u0079\u0070\u0065",_adecbb .Type );_baaaef .SetIfNotNil ("\u0046\u0069\u006c\u0074\u0065\u0072",_adecbb .Filter );_baaaef .SetIfNotNil ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r",_adecbb .SubFilter );_baaaef .SetIfNotNil ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_adecbb .ByteRange );_baaaef .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_adecbb .Contents );_baaaef .SetIfNotNil ("\u0043\u0065\u0072\u0074",_adecbb .Cert );_baaaef .SetIfNotNil ("\u004e\u0061\u006d\u0065",_adecbb .Name );_baaaef .SetIfNotNil ("\u0052\u0065\u0061\u0073\u006f\u006e",_adecbb .Reason );_baaaef .SetIfNotNil ("\u004d",_adecbb .M );_baaaef .SetIfNotNil ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e",_adecbb .Reference );_baaaef .SetIfNotNil ("\u0043h\u0061\u006e\u0067\u0065\u0073",_adecbb .Changes );_baaaef .SetIfNotNil ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f",_adecbb .ContactInfo );return _cfbca ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_aefa *PdfColorDeviceCMYK )ToInteger (bits int )[4]uint32 {_bbecf :=_ag .Pow (2,float64 (bits ))-1;return [4]uint32 {uint32 (_bbecf *_aefa .C ()),uint32 (_bbecf *_aefa .M ()),uint32 (_bbecf *_aefa .Y ()),uint32 (_bbecf *_aefa .K ())};};
|
||
|
||
// PdfAnnotationCaret represents Caret annotations.
|
||
// (Section 12.5.6.11).
|
||
type PdfAnnotationCaret struct{*PdfAnnotation ;*PdfAnnotationMarkup ;RD _ce .PdfObject ;Sy _ce .PdfObject ;};
|
||
|
||
// A PdfPattern can represent a Pattern, either a tiling pattern or a shading pattern.
|
||
// Note that all patterns shall be treated as colours; a Pattern colour space shall be established with the CS or cs
|
||
// operator just like other colour spaces, and a particular pattern shall be installed as the current colour with the
|
||
// SCN or scn operator.
|
||
type PdfPattern struct{
|
||
|
||
// Type: Pattern
|
||
PatternType int64 ;_gdge PdfModel ;_efabe _ce .PdfObject ;};func (_gadg *PdfAnnotationMarkup )appendToPdfDictionary (_ecca *_ce .PdfObjectDictionary ){_ecca .SetIfNotNil ("\u0054",_gadg .T );if _gadg .Popup !=nil {_ecca .Set ("\u0050\u006f\u0070u\u0070",_gadg .Popup .ToPdfObject ());};_ecca .SetIfNotNil ("\u0043\u0041",_gadg .CA );_ecca .SetIfNotNil ("\u0052\u0043",_gadg .RC );_ecca .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_gadg .CreationDate );_ecca .SetIfNotNil ("\u0049\u0052\u0054",_gadg .IRT );_ecca .SetIfNotNil ("\u0053\u0075\u0062\u006a",_gadg .Subj );_ecca .SetIfNotNil ("\u0052\u0054",_gadg .RT );_ecca .SetIfNotNil ("\u0049\u0054",_gadg .IT );_ecca .SetIfNotNil ("\u0045\u0078\u0044\u0061\u0074\u0061",_gadg .ExData );};
|
||
|
||
// PdfAnnotationInk represents Ink annotations.
|
||
// (Section 12.5.6.13).
|
||
type PdfAnnotationInk struct{*PdfAnnotation ;*PdfAnnotationMarkup ;InkList _ce .PdfObject ;BS _ce .PdfObject ;};
|
||
|
||
// ImageToRGB returns an error since an image cannot be defined in a pattern colorspace.
|
||
func (_gagf *PdfColorspaceSpecialPattern )ImageToRGB (img Image )(Image ,error ){_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u003a\u0020\u0049\u006d\u0061\u0067\u0065\u0020\u0063\u0061n\u006e\u006f\u0074\u0020\u0062\u0065\u0020\u0073\u0070\u0065\u0063\u0069\u0066i\u0065\u0064\u0020\u0069\u006e\u0020\u0050\u0061\u0074\u0074\u0065\u0072n \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");return img ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0066\u006f\u0072\u0020\u0069m\u0061\u0067\u0065\u0020\u0028p\u0061\u0074t\u0065\u0072\u006e\u0029");};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_fbegd *PdfShadingType6 )ToPdfObject ()_ce .PdfObject {_fbegd .PdfShading .ToPdfObject ();_bedba ,_aceab :=_fbegd .getShadingDict ();if _aceab !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _fbegd .BitsPerCoordinate !=nil {_bedba .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_fbegd .BitsPerCoordinate );};if _fbegd .BitsPerComponent !=nil {_bedba .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_fbegd .BitsPerComponent );};if _fbegd .BitsPerFlag !=nil {_bedba .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_fbegd .BitsPerFlag );};if _fbegd .Decode !=nil {_bedba .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_fbegd .Decode );};if _fbegd .Function !=nil {if len (_fbegd .Function )==1{_bedba .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fbegd .Function [0].ToPdfObject ());}else {_cedga :=_ce .MakeArray ();for _ ,_ebadc :=range _fbegd .Function {_cedga .Append (_ebadc .ToPdfObject ());};_bedba .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cedga );};};return _fbegd ._efbab ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_db *PdfActionSetOCGState )ToPdfObject ()_ce .PdfObject {_db .PdfAction .ToPdfObject ();_ageg :=_db ._bdf ;_beb :=_ageg .PdfObject .(*_ce .PdfObjectDictionary );_beb .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeSetOCGState )));_beb .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_db .State );_beb .SetIfNotNil ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042",_db .PreserveRB );return _ageg ;};
|
||
|
||
// NewPdfActionSetOCGState returns a new "named" action.
|
||
func NewPdfActionSetOCGState ()*PdfActionSetOCGState {_edg :=NewPdfAction ();_ecd :=&PdfActionSetOCGState {};_ecd .PdfAction =_edg ;_edg .SetContext (_ecd );return _ecd ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_baeda *PdfFunctionType0 )ToPdfObject ()_ce .PdfObject {if _baeda ._dbfgb ==nil {_baeda ._dbfgb =&_ce .PdfObjectStream {};};_edacc :=_ce .MakeDict ();_edacc .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_ce .MakeInteger (0));_acbgc :=&_ce .PdfObjectArray {};for _ ,_dcef :=range _baeda .Domain {_acbgc .Append (_ce .MakeFloat (_dcef ));};_edacc .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_acbgc );_cgdf :=&_ce .PdfObjectArray {};for _ ,_egae :=range _baeda .Range {_cgdf .Append (_ce .MakeFloat (_egae ));};_edacc .Set ("\u0052\u0061\u006eg\u0065",_cgdf );_bfef :=&_ce .PdfObjectArray {};for _ ,_ecba :=range _baeda .Size {_bfef .Append (_ce .MakeInteger (int64 (_ecba )));};_edacc .Set ("\u0053\u0069\u007a\u0065",_bfef );_edacc .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065",_ce .MakeInteger (int64 (_baeda .BitsPerSample )));if _baeda .Order !=1{_edacc .Set ("\u004f\u0072\u0064e\u0072",_ce .MakeInteger (int64 (_baeda .Order )));};_edacc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_baeda ._abaa ))));_baeda ._dbfgb .Stream =_baeda ._abaa ;_baeda ._dbfgb .PdfObjectDictionary =_edacc ;return _baeda ._dbfgb ;};var _fbdc ="";
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dgac *PdfActionJavaScript )ToPdfObject ()_ce .PdfObject {_dgac .PdfAction .ToPdfObject ();_beg :=_dgac ._bdf ;_cbgf :=_beg .PdfObject .(*_ce .PdfObjectDictionary );_cbgf .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeJavaScript )));_cbgf .SetIfNotNil ("\u004a\u0053",_dgac .JS );return _beg ;};
|
||
|
||
// Flags returns the field flags for the field accounting for any inherited flags.
|
||
func (_afdcf *PdfField )Flags ()FieldFlag {var _gfge FieldFlag ;_febfb ,_bccbb :=_afdcf .inherit (func (_cefc *PdfField )bool {if _cefc .Ff !=nil {_gfge =FieldFlag (*_afdcf .Ff );return true ;};return false ;});if _bccbb !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072o\u0072\u0020\u0065\u0076\u0061\u006c\u0075\u0061\u0074\u0069\u006e\u0067\u0020\u0066\u006c\u0061\u0067\u0073\u0020\u0076\u0069\u0061\u0020\u0069\u006e\u0068\u0065\u0072\u0069t\u0061\u006e\u0063\u0065\u003a\u0020\u0025\u0076",_bccbb );};if !_febfb {_ebg .Log .Trace ("N\u006f\u0020\u0066\u0069\u0065\u006cd\u0020\u0066\u006c\u0061\u0067\u0073 \u0066\u006f\u0075\u006e\u0064\u0020\u002d \u0061\u0073\u0073\u0075\u006d\u0065\u0020\u0063\u006c\u0065a\u0072");};return _gfge ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_agd *PdfActionThread )ToPdfObject ()_ce .PdfObject {_agd .PdfAction .ToPdfObject ();_deg :=_agd ._bdf ;_cba :=_deg .PdfObject .(*_ce .PdfObjectDictionary );_cba .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeThread )));if _agd .F !=nil {_cba .Set ("\u0046",_agd .F .ToPdfObject ());};_cba .SetIfNotNil ("\u0044",_agd .D );_cba .SetIfNotNil ("\u0042",_agd .B );return _deg ;};
|
||
|
||
// PdfColorspaceDeviceN represents a DeviceN color space. DeviceN color spaces are similar to Separation color
|
||
// spaces, except they can contain an arbitrary number of color components.
|
||
//
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
type PdfColorspaceDeviceN struct{ColorantNames *_ce .PdfObjectArray ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;Attributes *PdfColorspaceDeviceNAttributes ;_baceb *_ce .PdfIndirectObject ;};
|
||
|
||
// PdfColorDeviceRGB represents a color in DeviceRGB colorspace with R, G, B components, where component is
|
||
// defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorDeviceRGB [3]float64 ;
|
||
|
||
// PdfColorPattern represents a pattern color.
|
||
type PdfColorPattern struct{Color PdfColor ;PatternName _ce .PdfObjectName ;};func (_bbc *PdfReader )newPdfActionSoundFromDict (_agbf *_ce .PdfObjectDictionary )(*PdfActionSound ,error ){return &PdfActionSound {Sound :_agbf .Get ("\u0053\u006f\u0075n\u0064"),Volume :_agbf .Get ("\u0056\u006f\u006c\u0075\u006d\u0065"),Synchronous :_agbf .Get ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073"),Repeat :_agbf .Get ("\u0052\u0065\u0070\u0065\u0061\u0074"),Mix :_agbf .Get ("\u004d\u0069\u0078")},nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ebc *PdfActionGoTo3DView )ToPdfObject ()_ce .PdfObject {_ebc .PdfAction .ToPdfObject ();_adf :=_ebc ._bdf ;_ebe :=_adf .PdfObject .(*_ce .PdfObjectDictionary );_ebe .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeGoTo3DView )));_ebe .SetIfNotNil ("\u0054\u0041",_ebc .TA );_ebe .SetIfNotNil ("\u0056",_ebc .V );return _adf ;};const (BorderStyleSolid BorderStyle =iota ;BorderStyleDashed BorderStyle =iota ;BorderStyleBeveled BorderStyle =iota ;BorderStyleInset BorderStyle =iota ;BorderStyleUnderline BorderStyle =iota ;);
|
||
|
||
// GetColorspaces loads PdfPageResourcesColorspaces from `r.ColorSpace` and returns an error if there
|
||
// is a problem loading. Once loaded, the same object is returned on multiple calls.
|
||
func (_egbeb *PdfPageResources )GetColorspaces ()(*PdfPageResourcesColorspaces ,error ){if _egbeb ._gddae !=nil {return _egbeb ._gddae ,nil ;};if _egbeb .ColorSpace ==nil {return nil ,nil ;};_bebbf ,_gfacf :=_cdba (_egbeb .ColorSpace );if _gfacf !=nil {return nil ,_gfacf ;};_egbeb ._gddae =_bebbf ;return _egbeb ._gddae ,nil ;};
|
||
|
||
// Mask returns the uin32 bitmask for the specific flag.
|
||
func (_gbabf FieldFlag )Mask ()uint32 {return uint32 (_gbabf )};
|
||
|
||
// AddPages adds pages to be appended to the end of the source PDF.
|
||
func (_cfed *PdfAppender )AddPages (pages ...*PdfPage ){for _ ,_cacf :=range pages {_cacf =_cacf .Duplicate ();_begee (_cacf );_cfed ._fdef =append (_cfed ._fdef ,_cacf );};return ;};
|
||
|
||
// IsTerminal returns true for terminal fields, false otherwise.
|
||
// Terminal fields are fields whose descendants are only widget annotations.
|
||
func (_cfeg *PdfField )IsTerminal ()bool {return len (_cfeg .Kids )==0};
|
||
|
||
// PdfActionType represents an action type in PDF (section 12.6.4 p. 417).
|
||
type PdfActionType string ;
|
||
|
||
// NewPdfAnnotationFreeText returns a new free text annotation.
|
||
func NewPdfAnnotationFreeText ()*PdfAnnotationFreeText {_ded :=NewPdfAnnotation ();_bbdd :=&PdfAnnotationFreeText {};_bbdd .PdfAnnotation =_ded ;_bbdd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ded .SetContext (_bbdd );return _bbdd ;};
|
||
|
||
// StringToCharcodeBytes maps the provided string runes to charcode bytes and
|
||
// it returns the resulting slice of bytes, along with the number of runes
|
||
// which could not be converted. If the number of misses is 0, all string runes
|
||
// were successfully converted.
|
||
func (_ceebb *PdfFont )StringToCharcodeBytes (str string )([]byte ,int ){return _ceebb .RunesToCharcodeBytes ([]rune (str ));};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_efae *PdfColorCalRGB )A ()float64 {return float64 (_efae [0])};func (_fdd *PdfReader )newPdfActionGoTo3DViewFromDict (_dfg *_ce .PdfObjectDictionary )(*PdfActionGoTo3DView ,error ){return &PdfActionGoTo3DView {TA :_dfg .Get ("\u0054\u0041"),V :_dfg .Get ("\u0056")},nil ;};func (_bbadd Image )getBase ()_age .ImageBase {return _age .NewImageBase (int (_bbadd .Width ),int (_bbadd .Height ),int (_bbadd .BitsPerComponent ),_bbadd .ColorComponents ,_bbadd .Data ,_bbadd ._fdcac ,_bbadd ._cddaa );};
|
||
|
||
// PdfFieldText represents a text field where user can enter text.
|
||
type PdfFieldText struct{*PdfField ;DA *_ce .PdfObjectString ;Q *_ce .PdfObjectInteger ;DS *_ce .PdfObjectString ;RV _ce .PdfObject ;MaxLen *_ce .PdfObjectInteger ;};
|
||
|
||
// NewPdfAnnotationSquare returns a new square annotation.
|
||
func NewPdfAnnotationSquare ()*PdfAnnotationSquare {_fcde :=NewPdfAnnotation ();_faac :=&PdfAnnotationSquare {};_faac .PdfAnnotation =_fcde ;_faac .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fcde .SetContext (_faac );return _faac ;};func (_ggad *pdfFontSimple )getFontEncoding ()(_gfded string ,_eefd map[_cce .CharCode ]_cce .GlyphName ,_ebcb error ){_gfded ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";if _eceba ,_deeb :=_bcfed [_ggad ._agcagf ];_deeb {_gfded =_eceba ;}else if _ggad .fontFlags ()&_begeb !=0{for _cgfa ,_edbgc :=range _bcfed {if _aga .Contains (_ggad ._agcagf ,_cgfa ){_gfded =_edbgc ;break ;};};};if _ggad .Encoding ==nil {return _gfded ,nil ,nil ;};switch _bbbcd :=_ggad .Encoding .(type ){case *_ce .PdfObjectName :return string (*_bbbcd ),nil ,nil ;case *_ce .PdfObjectDictionary :_efdgd ,_eefde :=_ce .GetName (_bbbcd .Get ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _eefde {_gfded =_efdgd .String ();};if _ebgf :=_bbbcd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073");_ebgf !=nil {_agfcd ,_fdbgb :=_ce .GetArray (_ebgf );if !_fdbgb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0042a\u0064\u0020\u0066on\u0074\u0020\u0065\u006e\u0063\u006fd\u0069\u006e\u0067\u0020\u0064\u0069\u0063\u0074\u003d\u0025\u002b\u0076\u0020\u0044\u0069f\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073=\u0025\u0054",_bbbcd ,_bbbcd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073"));return "",nil ,_ce .ErrTypeError ;};_eefd ,_ebcb =_cce .FromFontDifferences (_agfcd );};return _gfded ,_eefd ,_ebcb ;default:_ebg .Log .Debug ("\u0045\u0052\u0052O\u0052\u003a\u0020\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u006e\u0061\u006d\u0065\u0020\u006f\u0072\u0020\u0064\u0069\u0063t\u0020\u0028\u0025\u0054\u0029\u0020\u0025\u0073",_ggad .Encoding ,_ggad .Encoding );return "",nil ,_ce .ErrTypeError ;};};
|
||
|
||
// NewPdfAnnotationRichMedia returns a new rich media annotation.
|
||
func NewPdfAnnotationRichMedia ()*PdfAnnotationRichMedia {_feb :=NewPdfAnnotation ();_fga :=&PdfAnnotationRichMedia {};_fga .PdfAnnotation =_feb ;_feb .SetContext (_fga );return _fga ;};
|
||
|
||
// ToPdfObject converts the PdfPage to a dictionary within an indirect object container.
|
||
func (_abdfe *PdfPage )ToPdfObject ()_ce .PdfObject {_ebga :=_abdfe ._adcebd ;_abdfe .GetPageDict ();return _ebga ;};
|
||
|
||
// IsCheckbox returns true if the button field represents a checkbox, false otherwise.
|
||
func (_eeeed *PdfFieldButton )IsCheckbox ()bool {return _eeeed .GetType ()==ButtonTypeCheckbox };
|
||
|
||
// NewPdfColorspaceSpecialPattern returns a new pattern color.
|
||
func NewPdfColorspaceSpecialPattern ()*PdfColorspaceSpecialPattern {return &PdfColorspaceSpecialPattern {};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fccc *PdfAnnotationRedact )ToPdfObject ()_ce .PdfObject {_fccc .PdfAnnotation .ToPdfObject ();_dddg :=_fccc ._bda ;_fdbe :=_dddg .PdfObject .(*_ce .PdfObjectDictionary );_fccc .PdfAnnotationMarkup .appendToPdfDictionary (_fdbe );_fdbe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0052\u0065\u0064\u0061\u0063\u0074"));_fdbe .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_fccc .QuadPoints );_fdbe .SetIfNotNil ("\u0049\u0043",_fccc .IC );_fdbe .SetIfNotNil ("\u0052\u004f",_fccc .RO );_fdbe .SetIfNotNil ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074",_fccc .OverlayText );_fdbe .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_fccc .Repeat );_fdbe .SetIfNotNil ("\u0044\u0041",_fccc .DA );_fdbe .SetIfNotNil ("\u0051",_fccc .Q );return _dddg ;};
|
||
|
||
// ImageToRGB converts ICCBased colorspace image to RGB and returns the result.
|
||
func (_ccfb *PdfColorspaceICCBased )ImageToRGB (img Image )(Image ,error ){if _ccfb .Alternate ==nil {_ebg .Log .Debug ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");if _ccfb .N ==1{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042a\u0073\u0065\u0064\u0020\u0063o\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061\u006c\u0074\u0065r\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006e\u0067\u0020\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061y\u0020\u0028\u004e\u003d\u0031\u0029");_ddfa :=NewPdfColorspaceDeviceGray ();return _ddfa .ImageToRGB (img );}else if _ccfb .N ==3{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070a\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067 \u0061\u006c\u0074\u0065\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006eg\u0020\u0044\u0065\u0076\u0069\u0063e\u0052\u0047B\u0020\u0028N\u003d3\u0029");return img ,nil ;}else if _ccfb .N ==4{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042a\u0073\u0065\u0064\u0020\u0063o\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061\u006c\u0074\u0065r\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006e\u0067\u0020\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059K\u0020\u0028\u004e\u003d\u0034\u0029");_gffa :=NewPdfColorspaceDeviceCMYK ();return _gffa .ImageToRGB (img );}else {return img ,_gd .New ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");};};_ebg .Log .Trace ("\u0049\u0043\u0043 \u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0077\u0069\u0074\u0068\u0020\u0061\u006c\u0074\u0065\u0072\u006e\u0061t\u0069\u0076\u0065\u003a\u0020\u0025\u0023\u0076",_ccfb );_deaa ,_afcg :=_ccfb .Alternate .ImageToRGB (img );_ebg .Log .Trace ("I\u0043C\u0020\u0049\u006e\u0070\u0075\u0074\u0020\u0069m\u0061\u0067\u0065\u003a %\u002b\u0076",img );_ebg .Log .Trace ("I\u0043\u0043\u0020\u004fut\u0070u\u0074\u0020\u0069\u006d\u0061g\u0065\u003a\u0020\u0025\u002b\u0076",_deaa );return _deaa ,_afcg ;};
|
||
|
||
// NewPdfFieldSignature returns an initialized signature field.
|
||
func NewPdfFieldSignature (signature *PdfSignature )*PdfFieldSignature {_bebg :=&PdfFieldSignature {};_bebg .PdfField =NewPdfField ();_bebg .PdfField .SetContext (_bebg );_bebg .PdfAnnotationWidget =NewPdfAnnotationWidget ();_bebg .PdfAnnotationWidget .SetContext (_bebg );_bebg .PdfAnnotationWidget ._bda =_bebg .PdfField ._gfeec ;_bebg .T =_ce .MakeString ("");_bebg .F =_ce .MakeInteger (132);_bebg .V =signature ;return _bebg ;};
|
||
|
||
// GetSamples converts the raw byte slice into samples which are stored in a uint32 bit array.
|
||
// Each sample is represented by BitsPerComponent consecutive bits in the raw data.
|
||
// NOTE: The method resamples the image byte data before returning the result and
|
||
// this could lead to high memory usage, especially on large images. It should
|
||
// be avoided, when possible. It is recommended to access the Data field of the
|
||
// image directly or use the ColorAt method to extract individual pixels.
|
||
func (_adcec *Image )GetSamples ()[]uint32 {_beefa :=_ac .ResampleBytes (_adcec .Data ,int (_adcec .BitsPerComponent ));if _adcec .BitsPerComponent < 8{_beefa =_adcec .samplesTrimPadding (_beefa );};_ecge :=int (_adcec .Width )*int (_adcec .Height )*_adcec .ColorComponents ;if len (_beefa )< _ecge {_ebg .Log .Debug ("\u0045r\u0072\u006fr\u003a\u0020\u0054o\u006f\u0020\u0066\u0065\u0077\u0020\u0073a\u006d\u0070\u006c\u0065\u0073\u0020(\u0067\u006f\u0074\u0020\u0025\u0064\u002c\u0020\u0065\u0078\u0070e\u0063\u0074\u0069\u006e\u0067\u0020\u0025\u0064\u0029",len (_beefa ),_ecge );return _beefa ;}else if len (_beefa )> _ecge {_ebg .Log .Debug ("\u0045r\u0072\u006fr\u003a\u0020\u0054o\u006f\u0020\u006d\u0061\u006e\u0079\u0020s\u0061\u006d\u0070\u006c\u0065\u0073 \u0028\u0067\u006f\u0074\u0020\u0025\u0064\u002c\u0020\u0065\u0078p\u0065\u0063\u0074\u0069\u006e\u0067\u0020\u0025\u0064",len (_beefa ),_ecge );_beefa =_beefa [:_ecge ];};return _beefa ;};
|
||
|
||
// PdfShadingType1 is a Function-based shading.
|
||
type PdfShadingType1 struct{*PdfShading ;Domain *_ce .PdfObjectArray ;Matrix *_ce .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_egcfa *PdfColorCalRGB )ToInteger (bits int )[3]uint32 {_cdab :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_cdab *_egcfa .A ()),uint32 (_cdab *_egcfa .B ()),uint32 (_cdab *_egcfa .C ())};};
|
||
|
||
// PdfFunctionType2 defines an exponential interpolation of one input value and n
|
||
// output values:
|
||
// f(x) = y_0, ..., y_(n-1)
|
||
// y_j = C0_j + x^N * (C1_j - C0_j); for 0 <= j < n
|
||
// When N=1 ; linear interpolation between C0 and C1.
|
||
type PdfFunctionType2 struct{Domain []float64 ;Range []float64 ;C0 []float64 ;C1 []float64 ;N float64 ;_gfefa *_ce .PdfIndirectObject ;};func _gaadf (_bgbg []rune ,_fcga map[rune ]int ,_gcggg map[rune ]_cc .GID )*_ce .PdfObjectArray {_cfdae :=&_ce .PdfObjectArray {};for _effd :=0;_effd < len (_bgbg );{_ecebc :=_fcga [_bgbg [_effd ]];_edcg :=_effd ;for _geegc :=_effd +1;_geegc < len (_bgbg );_geegc ++{_cefeg :=_fcga [_bgbg [_geegc ]];if _ecebc ==_cefeg {_edcg =_geegc ;}else {break ;};};_gbcg :=_gcggg [_bgbg [_effd ]];_fggg :=_gcggg [_bgbg [_edcg ]];_cfdae .Append (_ce .MakeInteger (int64 (_gbcg )));_cfdae .Append (_ce .MakeInteger (int64 (_fggg )));_cfdae .Append (_ce .MakeInteger (int64 (_ecebc )));_effd =_edcg +1;};return _cfdae ;};
|
||
|
||
// NewPdfAnnotationWidget returns an initialized annotation widget.
|
||
func NewPdfAnnotationWidget ()*PdfAnnotationWidget {_fddf :=NewPdfAnnotation ();_edgc :=&PdfAnnotationWidget {};_edgc .PdfAnnotation =_fddf ;_fddf .SetContext (_edgc );return _edgc ;};
|
||
|
||
// NewPdfActionTrans returns a new "trans" action.
|
||
func NewPdfActionTrans ()*PdfActionTrans {_aeb :=NewPdfAction ();_fd :=&PdfActionTrans {};_fd .PdfAction =_aeb ;_aeb .SetContext (_fd );return _fd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggcg *PdfAnnotationInk )ToPdfObject ()_ce .PdfObject {_ggcg .PdfAnnotation .ToPdfObject ();_cfdg :=_ggcg ._bda ;_ddbb :=_cfdg .PdfObject .(*_ce .PdfObjectDictionary );_ggcg .PdfAnnotationMarkup .appendToPdfDictionary (_ddbb );_ddbb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0049\u006e\u006b"));_ddbb .SetIfNotNil ("\u0049n\u006b\u004c\u0069\u0073\u0074",_ggcg .InkList );_ddbb .SetIfNotNil ("\u0042\u0053",_ggcg .BS );return _cfdg ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a grayscale device.
|
||
func (_gcda *PdfColorspaceDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// ToImage converts an object to an Image which can be transformed or saved out.
|
||
// The image data is decoded and the Image returned.
|
||
func (_bdee *XObjectImage )ToImage ()(*Image ,error ){_eecad :=&Image {};if _bdee .Height ==nil {return nil ,_gd .New ("\u0068e\u0069\u0067\u0068\u0074\u0020\u0061\u0074\u0074\u0072\u0069\u0062u\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_eecad .Height =*_bdee .Height ;if _bdee .Width ==nil {return nil ,_gd .New ("\u0077\u0069\u0064th\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_eecad .Width =*_bdee .Width ;if _bdee .BitsPerComponent ==nil {return nil ,_gd .New ("\u0062\u0069\u0074\u0073\u0020\u0070\u0065\u0072\u0020\u0063\u006fm\u0070\u006f\u006e\u0065\u006e\u0074\u0020\u006d\u0069\u0073s\u0069\u006e\u0067");};_eecad .BitsPerComponent =*_bdee .BitsPerComponent ;_eecad .ColorComponents =_bdee .ColorSpace .GetNumComponents ();_bdee ._gfag .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_ce .MakeInteger (int64 (_eecad .ColorComponents )));_eacdc ,_bbdbg :=_ce .DecodeStream (_bdee ._gfag );if _bbdbg !=nil {return nil ,_bbdbg ;};_eecad .Data =_eacdc ;if _bdee .Decode !=nil {_edgfa ,_faegf :=_bdee .Decode .(*_ce .PdfObjectArray );if !_faegf {_ebg .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020D\u0065\u0063\u006f\u0064\u0065 \u006f\u0062\u006a\u0065\u0063\u0074");return nil ,_gd .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065");};_cbgee ,_aaac :=_edgfa .ToFloat64Array ();if _aaac !=nil {return nil ,_aaac ;};_eecad ._cddaa =_cbgee ;};return _eecad ,nil ;};func (_adea *PdfReader )newPdfAnnotationWatermarkFromDict (_gbea *_ce .PdfObjectDictionary )(*PdfAnnotationWatermark ,error ){_aad :=PdfAnnotationWatermark {};_aad .FixedPrint =_gbea .Get ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074");return &_aad ,nil ;};
|
||
|
||
// ButtonType represents the subtype of a button field, can be one of:
|
||
// - Checkbox (ButtonTypeCheckbox)
|
||
// - PushButton (ButtonTypePushButton)
|
||
// - RadioButton (ButtonTypeRadioButton)
|
||
type ButtonType int ;
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline destination.
|
||
func (_deffg OutlineDest )ToPdfObject ()_ce .PdfObject {if (_deffg .PageObj ==nil &&_deffg .Page < 0)||_deffg .Mode ==""{return _ce .MakeNull ();};_cdeff :=_ce .MakeArray ();if _deffg .PageObj !=nil {_cdeff .Append (_deffg .PageObj );}else {_cdeff .Append (_ce .MakeInteger (_deffg .Page ));};_cdeff .Append (_ce .MakeName (_deffg .Mode ));switch _deffg .Mode {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":_cdeff .Append (_ce .MakeFloat (_deffg .Y ));case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":_cdeff .Append (_ce .MakeFloat (_deffg .X ));case "\u0058\u0059\u005a":_cdeff .Append (_ce .MakeFloat (_deffg .X ));_cdeff .Append (_ce .MakeFloat (_deffg .Y ));_cdeff .Append (_ce .MakeFloat (_deffg .Zoom ));default:_cdeff .Set (1,_ce .MakeName ("\u0046\u0069\u0074"));};return _cdeff ;};
|
||
|
||
// NewPdfActionRendition returns a new "rendition" action.
|
||
func NewPdfActionRendition ()*PdfActionRendition {_cd :=NewPdfAction ();_be :=&PdfActionRendition {};_be .PdfAction =_cd ;_cd .SetContext (_be );return _be ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dfa *PdfAnnotationPolygon )ToPdfObject ()_ce .PdfObject {_dfa .PdfAnnotation .ToPdfObject ();_adfc :=_dfa ._bda ;_ggc :=_adfc .PdfObject .(*_ce .PdfObjectDictionary );_dfa .PdfAnnotationMarkup .appendToPdfDictionary (_ggc );_ggc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0050o\u006c\u0079\u0067\u006f\u006e"));_ggc .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_dfa .Vertices );_ggc .SetIfNotNil ("\u004c\u0045",_dfa .LE );_ggc .SetIfNotNil ("\u0042\u0053",_dfa .BS );_ggc .SetIfNotNil ("\u0049\u0043",_dfa .IC );_ggc .SetIfNotNil ("\u0042\u0045",_dfa .BE );_ggc .SetIfNotNil ("\u0049\u0054",_dfa .IT );_ggc .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_dfa .Measure );return _adfc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_dada *PdfFunctionType4 )ToPdfObject ()_ce .PdfObject {_ggbd :=_dada ._agefg ;if _ggbd ==nil {_dada ._agefg =&_ce .PdfObjectStream {};_ggbd =_dada ._agefg ;};_cfec :=_ce .MakeDict ();_cfec .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_ce .MakeInteger (4));_gacb :=&_ce .PdfObjectArray {};for _ ,_bgbdd :=range _dada .Domain {_gacb .Append (_ce .MakeFloat (_bgbdd ));};_cfec .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_gacb );_fgda :=&_ce .PdfObjectArray {};for _ ,_dgfcc :=range _dada .Range {_fgda .Append (_ce .MakeFloat (_dgfcc ));};_cfec .Set ("\u0052\u0061\u006eg\u0065",_fgda );if _dada ._fdaf ==nil &&_dada .Program !=nil {_dada ._fdaf =[]byte (_dada .Program .String ());};_cfec .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_dada ._fdaf ))));_ggbd .Stream =_dada ._fdaf ;_ggbd .PdfObjectDictionary =_cfec ;return _ggbd ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bcgeg *PdfPageResourcesColorspaces )ToPdfObject ()_ce .PdfObject {_abedg :=_ce .MakeDict ();for _ ,_dafcb :=range _bcgeg .Names {_abedg .Set (_ce .PdfObjectName (_dafcb ),_bcgeg .Colorspaces [_dafcb ].ToPdfObject ());};if _bcgeg ._facbb !=nil {_bcgeg ._facbb .PdfObject =_abedg ;return _bcgeg ._facbb ;};return _abedg ;};
|
||
|
||
// SetPdfKeywords sets the Keywords attribute of the output PDF.
|
||
func SetPdfKeywords (keywords string ){_fbdc =keywords };
|
||
|
||
// PdfOutline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
type PdfOutline struct{PdfOutlineTreeNode ;Parent *PdfOutlineTreeNode ;Count *int64 ;_cdgg *_ce .PdfIndirectObject ;};
|
||
|
||
// PdfFilespec represents a file specification which can either refer to an external or embedded file.
|
||
type PdfFilespec struct{Type _ce .PdfObject ;FS _ce .PdfObject ;F _ce .PdfObject ;UF _ce .PdfObject ;DOS _ce .PdfObject ;Mac _ce .PdfObject ;Unix _ce .PdfObject ;ID _ce .PdfObject ;V _ce .PdfObject ;EF _ce .PdfObject ;RF _ce .PdfObject ;Desc _ce .PdfObject ;CI _ce .PdfObject ;_ddfgf _ce .PdfObject ;};func _accg ()*modelManager {_cgcced :=modelManager {};_cgcced ._cfgag =map[PdfModel ]_ce .PdfObject {};_cgcced ._efgef =map[_ce .PdfObject ]PdfModel {};return &_cgcced ;};func (_abdd *fontFile )parseASCIIPart (_eegb []byte )error {if len (_eegb )< 2||string (_eegb [:2])!="\u0025\u0021"{return _gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0074a\u0072\u0074\u0020\u006f\u0066\u0020\u0041S\u0043\u0049\u0049\u0020\u0073\u0065\u0067\u006d\u0065\u006e\u0074");};_bgcc ,_dbdcb ,_ecbf :=_dbcf (_eegb );if _ecbf !=nil {return _ecbf ;};_aeda :=_abeda (_bgcc );_abdd ._fdac =_aeda ["\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065"];if _abdd ._fdac ==""{_ebg .Log .Debug ("\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0020\u0068a\u0073\u0020\u006e\u006f\u0020\u002f\u0046\u006f\u006e\u0074N\u0061\u006d\u0065");};if _dbdcb !=""{_faab ,_ffgg :=_fbbeg (_dbdcb );if _ffgg !=nil {return _ffgg ;};_agbbf ,_ffgg :=_cce .NewCustomSimpleTextEncoder (_faab ,nil );if _ffgg !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004fR\u0020\u003a\u0055\u004e\u004b\u004e\u004f\u0057\u004e\u0020G\u004cY\u0050\u0048\u003a\u0020\u0065\u0072\u0072=\u0025\u0076",_ffgg );return nil ;};_abdd ._fbabb =_agbbf ;};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eea *PdfAnnotationPopup )ToPdfObject ()_ce .PdfObject {_eea .PdfAnnotation .ToPdfObject ();_gaga :=_eea ._bda ;_gadf :=_gaga .PdfObject .(*_ce .PdfObjectDictionary );_gadf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0050\u006f\u0070u\u0070"));_gadf .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_eea .Parent );_gadf .SetIfNotNil ("\u004f\u0070\u0065\u006e",_eea .Open );return _gaga ;};
|
||
|
||
// B returns the value of the blue component of the color.
|
||
func (_bfea *PdfColorDeviceRGB )B ()float64 {return float64 (_bfea [2])};func _edbbd (_daacd *fontCommon )*pdfCIDFontType2 {return &pdfCIDFontType2 {fontCommon :*_daacd }};
|
||
|
||
// PdfColorspaceLab is a L*, a*, b* 3 component colorspace.
|
||
type PdfColorspaceLab struct{WhitePoint []float64 ;BlackPoint []float64 ;Range []float64 ;_afdc *_ce .PdfIndirectObject ;};func _efeaf (_dgbc *_age .ImageBase )(_gegf Image ){_gegf .Width =int64 (_dgbc .Width );_gegf .Height =int64 (_dgbc .Height );_gegf .BitsPerComponent =int64 (_dgbc .BitsPerComponent );_gegf .ColorComponents =_dgbc .ColorComponents ;_gegf .Data =_dgbc .Data ;_gegf ._cddaa =_dgbc .Decode ;_gegf ._fdcac =_dgbc .Alpha ;return _gegf ;};
|
||
|
||
// GetOutlinesFlattened returns a flattened list of tree nodes and titles.
|
||
// NOTE: for most use cases, it is recommended to use the high-level GetOutlines
|
||
// method instead, which also provides information regarding the destination
|
||
// of the outline items.
|
||
func (_aded *PdfReader )GetOutlinesFlattened ()([]*PdfOutlineTreeNode ,[]string ,error ){var _gdgda []*PdfOutlineTreeNode ;var _acbcg []string ;var _eedb func (*PdfOutlineTreeNode ,*[]*PdfOutlineTreeNode ,*[]string ,int );_eedb =func (_fbcac *PdfOutlineTreeNode ,_dfaa *[]*PdfOutlineTreeNode ,_ddgdd *[]string ,_dege int ){if _fbcac ==nil {return ;};if _fbcac ._edggc ==nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020M\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006e\u006fd\u0065\u002e\u0063o\u006et\u0065\u0078\u0074");return ;};_aefbd ,_decgd :=_fbcac ._edggc .(*PdfOutlineItem );if _decgd {*_dfaa =append (*_dfaa ,&_aefbd .PdfOutlineTreeNode );_bcfba :=_aga .Repeat ("\u0020",_dege *2)+_aefbd .Title .Decoded ();*_ddgdd =append (*_ddgdd ,_bcfba );};if _fbcac .First !=nil {_dbdgd :=_aga .Repeat ("\u0020",_dege *2)+"\u002b";*_ddgdd =append (*_ddgdd ,_dbdgd );_eedb (_fbcac .First ,_dfaa ,_ddgdd ,_dege +1);};if _decgd &&_aefbd .Next !=nil {_eedb (_aefbd .Next ,_dfaa ,_ddgdd ,_dege );};};_eedb (_aded ._feebe ,&_gdgda ,&_acbcg ,0);return _gdgda ,_acbcg ,nil ;};func _baeca (_geef *PdfField ,_bgafa _ce .PdfObject )error {switch _geef .GetContext ().(type ){case *PdfFieldText :switch _adbecb :=_bgafa .(type ){case *_ce .PdfObjectName :_cgcdb :=_adbecb ;_ebg .Log .Debug ("\u0055\u006e\u0065\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u003a\u0020\u0047\u006f\u0074 \u0056\u0020\u0061\u0073\u0020\u006e\u0061\u006d\u0065\u0020\u002d\u003e\u0020c\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0074\u006f s\u0074\u0072\u0069\u006e\u0067\u0020\u0027\u0025\u0073\u0027",_cgcdb .String ());_geef .V =_ce .MakeEncodedString (_adbecb .String (),true );case *_ce .PdfObjectString :_geef .V =_ce .MakeEncodedString (_adbecb .String (),true );default:_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0055\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0074\u0065\u0078\u0074\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0056\u0020\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0054\u0020\u0028\u0025\u0023\u0076\u0029",_adbecb ,_adbecb );};case *PdfFieldButton :switch _bgafa .(type ){case *_ce .PdfObjectName :if len (_bgafa .String ())> 0{_geef .V =_bgafa ;_fbbbc (_geef ,_bgafa );};case *_ce .PdfObjectString :if len (_bgafa .String ())> 0{_geef .V =_ce .MakeName (_bgafa .String ());_fbbbc (_geef ,_geef .V );};default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u004e\u0045\u0058P\u0045\u0043\u0054\u0045\u0044\u0020\u0025\u0073\u0020\u002d>\u0020\u0025\u0076",_geef .PartialName (),_bgafa );_geef .V =_bgafa ;};case *PdfFieldChoice :switch _bgafa .(type ){case *_ce .PdfObjectName :if len (_bgafa .String ())> 0{_geef .V =_ce .MakeString (_bgafa .String ());_fbbbc (_geef ,_bgafa );};case *_ce .PdfObjectString :if len (_bgafa .String ())> 0{_geef .V =_bgafa ;_fbbbc (_geef ,_ce .MakeName (_bgafa .String ()));};default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u004e\u0045\u0058P\u0045\u0043\u0054\u0045\u0044\u0020\u0025\u0073\u0020\u002d>\u0020\u0025\u0076",_geef .PartialName (),_bgafa );_geef .V =_bgafa ;};case *PdfFieldSignature :_ebg .Log .Debug ("\u0054\u004f\u0044\u004f\u003a \u0053\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0061\u0070\u0070e\u0061\u0072\u0061\u006e\u0063\u0065\u0020\u006e\u006f\u0074\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0079\u0065\u0074\u003a\u0020\u0025\u0073\u002f\u0025v",_geef .PartialName (),_bgafa );};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cceg *PdfActionSound )ToPdfObject ()_ce .PdfObject {_cceg .PdfAction .ToPdfObject ();_bce :=_cceg ._bdf ;_gfg :=_bce .PdfObject .(*_ce .PdfObjectDictionary );_gfg .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeSound )));_gfg .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_cceg .Sound );_gfg .SetIfNotNil ("\u0056\u006f\u006c\u0075\u006d\u0065",_cceg .Volume );_gfg .SetIfNotNil ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073",_cceg .Synchronous );_gfg .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_cceg .Repeat );_gfg .SetIfNotNil ("\u004d\u0069\u0078",_cceg .Mix );return _bce ;};func _agfcge (_facg *_ce .PdfObjectDictionary )(*PdfShadingType7 ,error ){_fbdf :=PdfShadingType7 {};_bfgca :=_facg .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _bfgca ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064 \u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065\u0072C\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065");return nil ,ErrRequiredAttributeMissing ;};_cdfe ,_egecc :=_bfgca .(*_ce .PdfObjectInteger );if !_egecc {_ebg .Log .Debug ("\u0042\u0069\u0074\u0073\u0050e\u0072\u0043\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_bfgca );return nil ,_ce .ErrTypeError ;};_fbdf .BitsPerCoordinate =_cdfe ;_bfgca =_facg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _bfgca ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064\u0020a\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073in\u0067\u003a\u0020B\u0069\u0074s\u0050\u0065\u0072\u0043\u006f\u006dp\u006f\u006ee\u006e\u0074");return nil ,ErrRequiredAttributeMissing ;};_cdfe ,_egecc =_bfgca .(*_ce .PdfObjectInteger );if !_egecc {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065r \u0028\u0067\u006ft\u0020%\u0054\u0029",_bfgca );return nil ,_ce .ErrTypeError ;};_fbdf .BitsPerComponent =_cdfe ;_bfgca =_facg .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _bfgca ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065r\u0046\u006c\u0061\u0067");return nil ,ErrRequiredAttributeMissing ;};_cdfe ,_egecc =_bfgca .(*_ce .PdfObjectInteger );if !_egecc {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072F\u006c\u0061\u0067\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074e\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025T\u0029",_bfgca );return nil ,_ce .ErrTypeError ;};_fbdf .BitsPerComponent =_cdfe ;_bfgca =_facg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _bfgca ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071ui\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069b\u0075t\u0065 \u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0044\u0065\u0063\u006f\u0064\u0065");return nil ,ErrRequiredAttributeMissing ;};_aabgb ,_egecc :=_bfgca .(*_ce .PdfObjectArray );if !_egecc {_ebg .Log .Debug ("\u0044\u0065\u0063\u006fd\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_bfgca );return nil ,_ce .ErrTypeError ;};_fbdf .Decode =_aabgb ;if _dcee :=_facg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_dcee !=nil {_fbdf .Function =[]PdfFunction {};if _dgfbb ,_ceag :=_dcee .(*_ce .PdfObjectArray );_ceag {for _ ,_eeedg :=range _dgfbb .Elements (){_dagebb ,_ggegf :=_edddda (_eeedg );if _ggegf !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_ggegf );return nil ,_ggegf ;};_fbdf .Function =append (_fbdf .Function ,_dagebb );};}else {_ddfgg ,_cgcag :=_edddda (_dcee );if _cgcag !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_cgcag );return nil ,_cgcag ;};_fbdf .Function =append (_fbdf .Function ,_ddfgg );};};return &_fbdf ,nil ;};
|
||
|
||
// SetEncoder sets the encoding for the underlying font.
|
||
// TODO(peterwilliams97): Change function signature to SetEncoder(encoder *textencoding.simpleEncoder).
|
||
// TODO(gunnsth): Makes sense if SetEncoder is removed from the interface fonts.Font as proposed in PR #260.
|
||
func (_bedfa *pdfFontSimple )SetEncoder (encoder _cce .TextEncoder ){_bedfa ._bged =encoder };
|
||
|
||
// PdfFunctionType4 is a Postscript calculator functions.
|
||
type PdfFunctionType4 struct{Domain []float64 ;Range []float64 ;Program *_ef .PSProgram ;_dfca *_ef .PSExecutor ;_fdaf []byte ;_agefg *_ce .PdfObjectStream ;};func (_dfggg SignatureValidationResult )String ()string {var _dcfc _f .Buffer ;_dcfc .WriteString (_c .Sprintf ("\u004ea\u006d\u0065\u003a\u0020\u0025\u0073\n",_dfggg .Name ));if _dfggg .Date ._ddacdb > 0{_dcfc .WriteString (_c .Sprintf ("\u0044a\u0074\u0065\u003a\u0020\u0025\u0073\n",_dfggg .Date .ToGoTime ().String ()));}else {_dcfc .WriteString ("\u0044\u0061\u0074\u0065 n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_dfggg .Reason )> 0{_dcfc .WriteString (_c .Sprintf ("R\u0065\u0061\u0073\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_dfggg .Reason ));}else {_dcfc .WriteString ("N\u006f \u0072\u0065\u0061\u0073\u006f\u006e\u0020\u0073p\u0065\u0063\u0069\u0066ie\u0064\u000a");};if len (_dfggg .Location )> 0{_dcfc .WriteString (_c .Sprintf ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_dfggg .Location ));}else {_dcfc .WriteString ("\u004c\u006f\u0063at\u0069\u006f\u006e\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_dfggg .ContactInfo )> 0{_dcfc .WriteString (_c .Sprintf ("\u0043\u006f\u006e\u0074\u0061\u0063\u0074\u0020\u0049\u006e\u0066\u006f:\u0020\u0025\u0073\u000a",_dfggg .ContactInfo ));}else {_dcfc .WriteString ("C\u006f\u006e\u0074\u0061\u0063\u0074 \u0069\u006e\u0066\u006f\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063i\u0066i\u0065\u0064\u000a");};_dcfc .WriteString (_c .Sprintf ("F\u0069\u0065\u006c\u0064\u0073\u003a\u0020\u0025\u0064\u000a",len (_dfggg .Fields )));if _dfggg .IsSigned {_dcfc .WriteString ("S\u0069\u0067\u006e\u0065\u0064\u003a \u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u0020i\u0073\u0020\u0073i\u0067n\u0065\u0064\u000a");}else {_dcfc .WriteString ("\u0053\u0069\u0067\u006eed\u003a\u0020\u004e\u006f\u0074\u0020\u0073\u0069\u0067\u006e\u0065\u0064\u000a");};if _dfggg .IsVerified {_dcfc .WriteString ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072e\u0020\u0076\u0061\u006c\u0069\u0064\u0061t\u0069\u006f\u006e\u003a\u0020\u0049\u0073\u0020\u0076\u0061\u006c\u0069\u0064\u000a");}else {_dcfc .WriteString ("\u0053\u0069\u0067\u006e\u0061\u0074u\u0072\u0065\u0020\u0076\u0061\u006c\u0069\u0064\u0061\u0074\u0069\u006f\u006e:\u0020\u0049\u0073\u0020\u0069\u006e\u0076a\u006c\u0069\u0064\u000a");};if _dfggg .IsTrusted {_dcfc .WriteString ("\u0054\u0072\u0075\u0073\u0074\u0065\u0064\u003a\u0020\u0043\u0065\u0072\u0074\u0069\u0066i\u0063a\u0074\u0065\u0020\u0069\u0073\u0020\u0074\u0072\u0075\u0073\u0074\u0065\u0064\u000a");}else {_dcfc .WriteString ("\u0054\u0072\u0075s\u0074\u0065\u0064\u003a \u0055\u006e\u0074\u0072\u0075\u0073\u0074e\u0064\u0020\u0063\u0065\u0072\u0074\u0069\u0066\u0069\u0063\u0061\u0074\u0065\u000a");};if !_dfggg .GeneralizedTime .IsZero (){_dcfc .WriteString (_c .Sprintf ("G\u0065n\u0065\u0072\u0061\u006c\u0069\u007a\u0065\u0064T\u0069\u006d\u0065\u003a %\u0073\u000a",_dfggg .GeneralizedTime .String ()));};return _dcfc .String ();};func (_fcdff *PdfAppender )replaceObject (_fcbd ,_fdcg _ce .PdfObject ){switch _aggb :=_fcbd .(type ){case *_ce .PdfIndirectObject :_fcdff ._daea [_fdcg ]=_aggb .ObjectNumber ;case *_ce .PdfObjectStream :_fcdff ._daea [_fdcg ]=_aggb .ObjectNumber ;};};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element between 0 and 1.
|
||
func (_dfcd *PdfColorspaceCalGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gaed :=vals [0];if _gaed < 0.0||_gaed > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bgaf :=NewPdfColorCalGray (_gaed );return _bgaf ,nil ;};var _ pdfFont =(*pdfCIDFontType0 )(nil );
|
||
|
||
// PdfColorspace interface defines the common methods of a PDF colorspace.
|
||
// The colorspace defines the data storage format for each color and color representation.
|
||
//
|
||
// Device based colorspace, specified by name
|
||
// - /DeviceGray
|
||
// - /DeviceRGB
|
||
// - /DeviceCMYK
|
||
//
|
||
// CIE based colorspace specified by [name, dictionary]
|
||
// - [/CalGray dict]
|
||
// - [/CalRGB dict]
|
||
// - [/Lab dict]
|
||
// - [/ICCBased dict]
|
||
//
|
||
// Special colorspaces
|
||
// - /Pattern
|
||
// - /Indexed
|
||
// - /Separation
|
||
// - /DeviceN
|
||
//
|
||
// Work is in progress to support all colorspaces. At the moment ICCBased color spaces fall back to the alternate
|
||
// colorspace which works OK in most cases. For full color support, will need fully featured ICC support.
|
||
type PdfColorspace interface{
|
||
|
||
// String returns the PdfColorspace's name.
|
||
String ()string ;
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
ImageToRGB (Image )(Image ,error );
|
||
|
||
// ColorToRGB converts a single color in a given PdfColorspace to an RGB color.
|
||
ColorToRGB (_daec PdfColor )(PdfColor ,error );
|
||
|
||
// GetNumComponents returns the number of components in the PdfColorspace.
|
||
GetNumComponents ()int ;
|
||
|
||
// ToPdfObject returns a PdfObject representation of the PdfColorspace.
|
||
ToPdfObject ()_ce .PdfObject ;
|
||
|
||
// ColorFromPdfObjects returns a PdfColor in the given PdfColorspace from an array of PdfObject where each
|
||
// PdfObject represents a numeric value.
|
||
ColorFromPdfObjects (_cdg []_ce .PdfObject )(PdfColor ,error );
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components for a given PdfColorspace.
|
||
ColorFromFloats (_eecee []float64 )(PdfColor ,error );
|
||
|
||
// DecodeArray returns the Decode array for the PdfColorSpace, i.e. the range of each component.
|
||
DecodeArray ()[]float64 ;};
|
||
|
||
// NewPdfAnnotationSquiggly returns a new text squiggly annotation.
|
||
func NewPdfAnnotationSquiggly ()*PdfAnnotationSquiggly {_ccb :=NewPdfAnnotation ();_dac :=&PdfAnnotationSquiggly {};_dac .PdfAnnotation =_ccb ;_dac .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ccb .SetContext (_dac );return _dac ;};
|
||
|
||
// GetContext returns the PdfField context which is the more specific field data type, e.g. PdfFieldButton
|
||
// for a button field.
|
||
func (_adbc *PdfField )GetContext ()PdfModel {return _adbc ._eedcb };
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (3 for rgb).
|
||
func (_dfdg *PdfColorspaceDeviceRGB )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cbdg ,_ccf :=_ce .GetNumbersAsFloat (objects );if _ccf !=nil {return nil ,_ccf ;};return _dfdg .ColorFromFloats (_cbdg );};func _fgeee ()string {return _ebg .Version };
|
||
|
||
// FieldFilterFunc represents a PDF field filtering function. If the function
|
||
// returns true, the PDF field is kept, otherwise it is discarded.
|
||
type FieldFilterFunc func (*PdfField )bool ;
|
||
|
||
// PartialName returns the partial name of the field.
|
||
func (_fgcd *PdfField )PartialName ()string {_bagbd :="";if _fgcd .T !=nil {_bagbd =_fgcd .T .Decoded ();}else {_ebg .Log .Debug ("\u0046\u0069el\u0064\u0020\u006di\u0073\u0073\u0069\u006eg T\u0020fi\u0065\u006c\u0064\u0020\u0028\u0069\u006eco\u006d\u0070\u0061\u0074\u0069\u0062\u006ce\u0029");};return _bagbd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fea *PdfAnnotationPolyLine )ToPdfObject ()_ce .PdfObject {_fea .PdfAnnotation .ToPdfObject ();_aaea :=_fea ._bda ;_abae :=_aaea .PdfObject .(*_ce .PdfObjectDictionary );_fea .PdfAnnotationMarkup .appendToPdfDictionary (_abae );_abae .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065"));_abae .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_fea .Vertices );_abae .SetIfNotNil ("\u004c\u0045",_fea .LE );_abae .SetIfNotNil ("\u0042\u0053",_fea .BS );_abae .SetIfNotNil ("\u0049\u0043",_fea .IC );_abae .SetIfNotNil ("\u0042\u0045",_fea .BE );_abae .SetIfNotNil ("\u0049\u0054",_fea .IT );_abae .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_fea .Measure );return _aaea ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbdf *PdfAnnotationSquiggly )ToPdfObject ()_ce .PdfObject {_cbdf .PdfAnnotation .ToPdfObject ();_bfaf :=_cbdf ._bda ;_adbfd :=_bfaf .PdfObject .(*_ce .PdfObjectDictionary );_cbdf .PdfAnnotationMarkup .appendToPdfDictionary (_adbfd );_adbfd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079"));_adbfd .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_cbdf .QuadPoints );return _bfaf ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_bfbc *PdfColorspaceLab )ToPdfObject ()_ce .PdfObject {_gca :=_ce .MakeArray ();_gca .Append (_ce .MakeName ("\u004c\u0061\u0062"));_bede :=_ce .MakeDict ();if _bfbc .WhitePoint !=nil {_fdgf :=_ce .MakeArray (_ce .MakeFloat (_bfbc .WhitePoint [0]),_ce .MakeFloat (_bfbc .WhitePoint [1]),_ce .MakeFloat (_bfbc .WhitePoint [2]));_bede .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_fdgf );}else {_ebg .Log .Error ("\u004c\u0061\u0062: \u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0057h\u0069t\u0065P\u006fi\u006e\u0074\u0020\u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029");};if _bfbc .BlackPoint !=nil {_fdea :=_ce .MakeArray (_ce .MakeFloat (_bfbc .BlackPoint [0]),_ce .MakeFloat (_bfbc .BlackPoint [1]),_ce .MakeFloat (_bfbc .BlackPoint [2]));_bede .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_fdea );};if _bfbc .Range !=nil {_eedg :=_ce .MakeArray (_ce .MakeFloat (_bfbc .Range [0]),_ce .MakeFloat (_bfbc .Range [1]),_ce .MakeFloat (_bfbc .Range [2]),_ce .MakeFloat (_bfbc .Range [3]));_bede .Set ("\u0052\u0061\u006eg\u0065",_eedg );};_gca .Append (_bede );if _bfbc ._afdc !=nil {_bfbc ._afdc .PdfObject =_gca ;return _bfbc ._afdc ;};return _gca ;};
|
||
|
||
// ToPdfOutlineItem returns a low level PdfOutlineItem object,
|
||
// based on the current instance.
|
||
func (_ggcgd *OutlineItem )ToPdfOutlineItem ()(*PdfOutlineItem ,int64 ){_adbce :=NewPdfOutlineItem ();_adbce .Title =_ce .MakeEncodedString (_ggcgd .Title ,true );_adbce .Dest =_ggcgd .Dest .ToPdfObject ();var _gdgdd []*PdfOutlineItem ;var _gbeee int64 ;var _cabag *PdfOutlineItem ;for _ ,_ffeca :=range _ggcgd .Entries {_dfab ,_bagbg :=_ffeca .ToPdfOutlineItem ();_dfab .Parent =&_adbce .PdfOutlineTreeNode ;if _cabag !=nil {_cabag .Next =&_dfab .PdfOutlineTreeNode ;_dfab .Prev =&_cabag .PdfOutlineTreeNode ;};_gdgdd =append (_gdgdd ,_dfab );_gbeee +=_bagbg ;_cabag =_dfab ;};_gcac :=len (_gdgdd );_gbeee +=int64 (_gcac );if _gcac > 0{_adbce .First =&_gdgdd [0].PdfOutlineTreeNode ;_adbce .Last =&_gdgdd [_gcac -1].PdfOutlineTreeNode ;_adbce .Count =&_gbeee ;};return _adbce ,_gbeee ;};
|
||
|
||
// PdfActionURI represents an URI action.
|
||
type PdfActionURI struct{*PdfAction ;URI _ce .PdfObject ;IsMap _ce .PdfObject ;};
|
||
|
||
// ImageToRGB converts Lab colorspace image to RGB and returns the result.
|
||
func (_dbcg *PdfColorspaceLab )ImageToRGB (img Image )(Image ,error ){_dcdc :=func (_egee float64 )float64 {if _egee >=6.0/29{return _egee *_egee *_egee ;};return 108.0/841*(_egee -4/29);};_dgcb :=img ._cddaa ;if len (_dgcb )!=6{_ebg .Log .Trace ("\u0049\u006d\u0061\u0067\u0065\u0020\u002d\u0020\u004c\u0061\u0062\u0020\u0044e\u0063\u006f\u0064\u0065\u0020\u0072\u0061\u006e\u0067e\u0020\u0021\u003d\u0020\u0036\u002e\u002e\u002e\u0020\u0075\u0073\u0065\u0020\u005b0\u0020\u0031\u0030\u0030\u0020\u0061\u006d\u0069\u006e\u0020\u0061\u006d\u0061\u0078\u0020\u0062\u006d\u0069\u006e\u0020\u0062\u006d\u0061\u0078\u005d\u0020\u0064\u0065\u0066\u0061u\u006c\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065 \u0061\u0072r\u0061\u0079");_dgcb =_dbcg .DecodeArray ();};_ecae :=_ac .NewReader (img .getBase ());_cbga :=_age .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,img ._fdcac ,img ._cddaa );_eabg :=_ac .NewWriter (_cbga );_cbcfe :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_cdaa :=make ([]uint32 ,3);var (_fdfb error ;Ls ,As ,Bs ,L ,M ,N ,X ,Y ,Z ,_gcae ,_egbd ,_bcga float64 ;);for {_fdfb =_ecae .ReadSamples (_cdaa );if _fdfb ==_cg .EOF {break ;}else if _fdfb !=nil {return img ,_fdfb ;};Ls =float64 (_cdaa [0])/_cbcfe ;As =float64 (_cdaa [1])/_cbcfe ;Bs =float64 (_cdaa [2])/_cbcfe ;Ls =_age .LinearInterpolate (Ls ,0.0,1.0,_dgcb [0],_dgcb [1]);As =_age .LinearInterpolate (As ,0.0,1.0,_dgcb [2],_dgcb [3]);Bs =_age .LinearInterpolate (Bs ,0.0,1.0,_dgcb [4],_dgcb [5]);L =(Ls +16)/116+As /500;M =(Ls +16)/116;N =(Ls +16)/116-Bs /200;X =_dbcg .WhitePoint [0]*_dcdc (L );Y =_dbcg .WhitePoint [1]*_dcdc (M );Z =_dbcg .WhitePoint [2]*_dcdc (N );_gcae =3.240479*X +-1.537150*Y +-0.498535*Z ;_egbd =-0.969256*X +1.875992*Y +0.041556*Z ;_bcga =0.055648*X +-0.204043*Y +1.057311*Z ;_gcae =_ag .Min (_ag .Max (_gcae ,0),1.0);_egbd =_ag .Min (_ag .Max (_egbd ,0),1.0);_bcga =_ag .Min (_ag .Max (_bcga ,0),1.0);_cdaa [0]=uint32 (_gcae *_cbcfe );_cdaa [1]=uint32 (_egbd *_cbcfe );_cdaa [2]=uint32 (_bcga *_cbcfe );if _fdfb =_eabg .WriteSamples (_cdaa );_fdfb !=nil {return img ,_fdfb ;};};return _efeaf (&_cbga ),nil ;};
|
||
|
||
// GetAlphabet returns a map of the runes in `text` and their frequencies.
|
||
func GetAlphabet (text string )map[rune ]int {_ddbcb :=map[rune ]int {};for _ ,_baaf :=range text {_ddbcb [_baaf ]++;};return _ddbcb ;};func (_deadg *pdfFontType0 )getFontDescriptor ()*PdfFontDescriptor {if _deadg ._adae ==nil &&_deadg .DescendantFont !=nil {return _deadg .DescendantFont .FontDescriptor ();};return _deadg ._adae ;};
|
||
|
||
// NewPdfColorDeviceCMYK returns a new CMYK32 color.
|
||
func NewPdfColorDeviceCMYK (c ,m ,y ,k float64 )*PdfColorDeviceCMYK {_egca :=PdfColorDeviceCMYK {c ,m ,y ,k };return &_egca ;};
|
||
|
||
// PdfAnnotationSound represents Sound annotations.
|
||
// (Section 12.5.6.16).
|
||
type PdfAnnotationSound struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Sound _ce .PdfObject ;Name _ce .PdfObject ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a CalRGB device.
|
||
func (_dgcg *PdfColorspaceCalRGB )GetNumComponents ()int {return 3};
|
||
|
||
// String returns a string describing the font descriptor.
|
||
func (_afgff *PdfFontDescriptor )String ()string {var _ecdc []string ;if _afgff .FontName !=nil {_ecdc =append (_ecdc ,_afgff .FontName .String ());};if _afgff .FontFamily !=nil {_ecdc =append (_ecdc ,_afgff .FontFamily .String ());};if _afgff .fontFile !=nil {_ecdc =append (_ecdc ,_afgff .fontFile .String ());};if _afgff ._ggefa !=nil {_ecdc =append (_ecdc ,_afgff ._ggefa .String ());};_ecdc =append (_ecdc ,_c .Sprintf ("\u0046\u006f\u006et\u0046\u0069\u006c\u0065\u0033\u003d\u0025\u0074",_afgff .FontFile3 !=nil ));return _c .Sprintf ("\u0046\u004f\u004e\u0054_D\u0045\u0053\u0043\u0052\u0049\u0050\u0054\u004f\u0052\u007b\u0025\u0073\u007d",_aga .Join (_ecdc ,"\u002c\u0020"));};
|
||
|
||
// GetContentStream returns the pattern cell's content stream
|
||
func (_aageg *PdfTilingPattern )GetContentStream ()([]byte ,error ){_deafb ,_ ,_cddc :=_aageg .GetContentStreamWithEncoder ();return _deafb ,_cddc ;};
|
||
|
||
// Hasher is the interface that wraps the basic Write method.
|
||
type Hasher interface{Write (_fbgfd []byte )(_fgfaf int ,_dfgc error );};func _fgdf (_bbbfc _ce .PdfObject )(*PdfColorspaceICCBased ,error ){_edeb :=&PdfColorspaceICCBased {};if _dbgac ,_bbab :=_bbbfc .(*_ce .PdfIndirectObject );_bbab {_edeb ._cecc =_dbgac ;};_bbbfc =_ce .TraceToDirectObject (_bbbfc );_ccfga ,_ffca :=_bbbfc .(*_ce .PdfObjectArray );if !_ffca {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _ccfga .Len ()!=2{return nil ,_c .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020c\u006f\u006c\u006fr\u0073p\u0061\u0063\u0065");};_bbbfc =_ce .TraceToDirectObject (_ccfga .Get (0));_adce ,_ffca :=_bbbfc .(*_ce .PdfObjectName );if !_ffca {return nil ,_c .Errorf ("\u0049\u0043\u0043B\u0061\u0073\u0065\u0064 \u006e\u0061\u006d\u0065\u0020\u006e\u006ft\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};if *_adce !="\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"{return nil ,_c .Errorf ("\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0049\u0043\u0043\u0042a\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073p\u0061\u0063\u0065");};_bbbfc =_ccfga .Get (1);_cdf ,_ffca :=_ce .GetStream (_bbbfc );if !_ffca {_ebg .Log .Error ("I\u0043\u0043\u0042\u0061\u0073\u0065d\u0020\u006e\u006f\u0074\u0020\u0070o\u0069\u006e\u0074\u0069\u006e\u0067\u0020t\u006f\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u003a\u0020%\u0054",_bbbfc );return nil ,_c .Errorf ("\u0049\u0043\u0043Ba\u0073\u0065\u0064\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_dgbf :=_cdf .PdfObjectDictionary ;_cadf ,_ffca :=_dgbf .Get ("\u004e").(*_ce .PdfObjectInteger );if !_ffca {return nil ,_c .Errorf ("I\u0043\u0043\u0042\u0061\u0073\u0065d\u0020\u006d\u0069\u0073\u0073\u0069n\u0067\u0020\u004e\u0020\u0066\u0072\u006fm\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0064\u0069c\u0074");};if *_cadf !=1&&*_cadf !=3&&*_cadf !=4{return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061s\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065 \u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u006e\u006f\u0074\u0020\u0031\u002c\u0033\u002c\u0034\u0029");};_edeb .N =int (*_cadf );if _dgdd :=_dgbf .Get ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e");_dgdd !=nil {_fefd ,_dfbe :=NewPdfColorspaceFromPdfObject (_dgdd );if _dfbe !=nil {return nil ,_dfbe ;};_edeb .Alternate =_fefd ;};if _bggd :=_dgbf .Get ("\u0052\u0061\u006eg\u0065");_bggd !=nil {_bggd =_ce .TraceToDirectObject (_bggd );_eabbf ,_fbccc :=_bggd .(*_ce .PdfObjectArray );if !_fbccc {return nil ,_c .Errorf ("I\u0043\u0043\u0042\u0061\u0073\u0065d\u0020\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0061\u006e \u0061r\u0072\u0061\u0079");};if _eabbf .Len ()!=2*_edeb .N {return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020\u0052\u0061\u006e\u0067e\u0020\u0077\u0072\u006f\u006e\u0067 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0065\u006c\u0065m\u0065\u006e\u0074\u0073");};_daff ,_fed :=_eabbf .GetAsFloat64Slice ();if _fed !=nil {return nil ,_fed ;};_edeb .Range =_daff ;}else {_edeb .Range =make ([]float64 ,2*_edeb .N );for _baffe :=0;_baffe < _edeb .N ;_baffe ++{_edeb .Range [2*_baffe ]=0.0;_edeb .Range [2*_baffe +1]=1.0;};};if _edded :=_dgbf .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_edded !=nil {_dddc ,_efde :=_edded .(*_ce .PdfObjectStream );if !_efde {return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020\u004de\u0074\u0061\u0064\u0061\u0074\u0061\u0020n\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d");};_edeb .Metadata =_dddc ;};_efe ,_begab :=_ce .DecodeStream (_cdf );if _begab !=nil {return nil ,_begab ;};_edeb .Data =_efe ;_edeb ._bddg =_cdf ;return _edeb ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for CalGray).
|
||
func (_gbeda *PdfColorCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline.
|
||
func (_gfgcc *Outline )ToPdfObject ()_ce .PdfObject {return _gfgcc .ToPdfOutline ().ToPdfObject ()};
|
||
|
||
// PdfColorspaceSpecialIndexed is an indexed color space is a lookup table, where the input element
|
||
// is an index to the lookup table and the output is a color defined in the lookup table in the Base
|
||
// colorspace.
|
||
// [/Indexed base hival lookup]
|
||
type PdfColorspaceSpecialIndexed struct{Base PdfColorspace ;HiVal int ;Lookup _ce .PdfObject ;_agff []byte ;_deeae *_ce .PdfIndirectObject ;};
|
||
|
||
// PdfActionRendition represents a Rendition action.
|
||
type PdfActionRendition struct{*PdfAction ;R _ce .PdfObject ;AN _ce .PdfObject ;OP _ce .PdfObject ;JS _ce .PdfObject ;};
|
||
|
||
// GetXObjectByName returns the XObject with the specified keyName and the object type.
|
||
func (_gbdda *PdfPageResources )GetXObjectByName (keyName _ce .PdfObjectName )(*_ce .PdfObjectStream ,XObjectType ){if _gbdda .XObject ==nil {return nil ,XObjectTypeUndefined ;};_edgcd ,_ddfcb :=_ce .TraceToDirectObject (_gbdda .XObject ).(*_ce .PdfObjectDictionary );if !_ddfcb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u006e\u006f\u0074\u0020a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0021\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_ce .TraceToDirectObject (_gbdda .XObject ));return nil ,XObjectTypeUndefined ;};if _dgebf :=_edgcd .Get (keyName );_dgebf !=nil {_bggb ,_bbedb :=_ce .GetStream (_dgebf );if !_bbedb {_ebg .Log .Debug ("X\u004f\u0062\u006a\u0065\u0063\u0074 \u006e\u006f\u0074\u0020\u0070\u006fi\u006e\u0074\u0069\u006e\u0067\u0020\u0074o\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020%\u0054",_dgebf );return nil ,XObjectTypeUndefined ;};_abcag :=_bggb .PdfObjectDictionary ;_afffe ,_bbedb :=_ce .TraceToDirectObject (_abcag .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065")).(*_ce .PdfObjectName );if !_bbedb {_ebg .Log .Debug ("\u0058\u004fbj\u0065\u0063\u0074 \u0053\u0075\u0062\u0074ype\u0020no\u0074\u0020\u0061\u0020\u004e\u0061\u006de,\u0020\u0064\u0069\u0063\u0074\u003a\u0020%\u0073",_abcag .String ());return nil ,XObjectTypeUndefined ;};if *_afffe =="\u0049\u006d\u0061g\u0065"{return _bggb ,XObjectTypeImage ;}else if *_afffe =="\u0046\u006f\u0072\u006d"{return _bggb ,XObjectTypeForm ;}else if *_afffe =="\u0050\u0053"{return _bggb ,XObjectTypePS ;}else {_ebg .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0053\u0075b\u0074\u0079\u0070\u0065\u0020\u006e\u006ft\u0020\u006b\u006e\u006f\u0077\u006e\u0020\u0028\u0025\u0073\u0029",*_afffe );return nil ,XObjectTypeUndefined ;};}else {return nil ,XObjectTypeUndefined ;};};
|
||
|
||
// PdfFieldButton represents a button field which includes push buttons, checkboxes, and radio buttons.
|
||
type PdfFieldButton struct{*PdfField ;Opt *_ce .PdfObjectArray ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gbed *PdfAnnotationHighlight )ToPdfObject ()_ce .PdfObject {_gbed .PdfAnnotation .ToPdfObject ();_cda :=_gbed ._bda ;_dbcd :=_cda .PdfObject .(*_ce .PdfObjectDictionary );_gbed .PdfAnnotationMarkup .appendToPdfDictionary (_dbcd );_dbcd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t"));_dbcd .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_gbed .QuadPoints );return _cda ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_daaa *PdfAnnotationTrapNet )ToPdfObject ()_ce .PdfObject {_daaa .PdfAnnotation .ToPdfObject ();_afg :=_daaa ._bda ;_dbed :=_afg .PdfObject .(*_ce .PdfObjectDictionary );_dbed .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0054r\u0061\u0070\u004e\u0065\u0074"));return _afg ;};
|
||
|
||
// RemovePage removes a page by number.
|
||
func (_gdgd *PdfAppender )RemovePage (pageNum int ){_dbgg :=pageNum -1;_gdgd ._fdef =append (_gdgd ._fdef [0:_dbgg ],_gdgd ._fdef [pageNum :]...);};
|
||
|
||
// Add appends an outline item as a child of the current outline item.
|
||
func (_dbada *OutlineItem )Add (item *OutlineItem ){_dbada .Entries =append (_dbada .Entries ,item )};func (_fcfgb *PdfReader )newPdfFieldSignatureFromDict (_dfbc *_ce .PdfObjectDictionary )(*PdfFieldSignature ,error ){_bfcc :=&PdfFieldSignature {};_acgb ,_dddd :=_ce .GetIndirect (_dfbc .Get ("\u0056"));if _dddd {var _adgd error ;_bfcc .V ,_adgd =_fcfgb .newPdfSignatureFromIndirect (_acgb );if _adgd !=nil {return nil ,_adgd ;};};_bfcc .Lock ,_ =_ce .GetIndirect (_dfbc .Get ("\u004c\u006f\u0063\u006b"));_bfcc .SV ,_ =_ce .GetIndirect (_dfbc .Get ("\u0053\u0056"));return _bfcc ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bcgd *PdfColorspaceDeviceGray )ToPdfObject ()_ce .PdfObject {return _ce .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079");};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_geedgg *PdfShadingType7 )ToPdfObject ()_ce .PdfObject {_geedgg .PdfShading .ToPdfObject ();_bfedc ,_dabc :=_geedgg .getShadingDict ();if _dabc !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _geedgg .BitsPerCoordinate !=nil {_bfedc .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_geedgg .BitsPerCoordinate );};if _geedgg .BitsPerComponent !=nil {_bfedc .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_geedgg .BitsPerComponent );};if _geedgg .BitsPerFlag !=nil {_bfedc .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_geedgg .BitsPerFlag );};if _geedgg .Decode !=nil {_bfedc .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_geedgg .Decode );};if _geedgg .Function !=nil {if len (_geedgg .Function )==1{_bfedc .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_geedgg .Function [0].ToPdfObject ());}else {_cbgfc :=_ce .MakeArray ();for _ ,_dfadf :=range _geedgg .Function {_cbgfc .Append (_dfadf .ToPdfObject ());};_bfedc .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cbgfc );};};return _geedgg ._efbab ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 4 for a CMYK32 device.
|
||
func (_gbdd *PdfColorspaceDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// GetContainingPdfObject returns the container of the resources object (indirect object).
|
||
func (_cdaeg *PdfPageResources )GetContainingPdfObject ()_ce .PdfObject {return _cdaeg ._eebf };func (_dae *PdfReader )newPdfActionJavaScriptFromDict (_dbd *_ce .PdfObjectDictionary )(*PdfActionJavaScript ,error ){return &PdfActionJavaScript {JS :_dbd .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// String implements interface PdfObject.
|
||
func (_agc *PdfAction )String ()string {_cb ,_fce :=_agc .ToPdfObject ().(*_ce .PdfIndirectObject );if _fce {return _c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_agc ._cga ,_cb .PdfObject .String ());};return "";};
|
||
|
||
// NewPdfOutline returns an initialized PdfOutline.
|
||
func NewPdfOutline ()*PdfOutline {_afedee :=&PdfOutline {_cdgg :_ce .MakeIndirectObject (_ce .MakeDict ())};_afedee ._edggc =_afedee ;return _afedee ;};
|
||
|
||
// GetCharMetrics returns the character metrics for the specified character code. A bool flag is
|
||
// returned to indicate whether or not the entry was found in the glyph to charcode mapping.
|
||
// How it works:
|
||
// 1) Return a value the /Widths array (charWidths) if there is one.
|
||
// 2) If the font has the same name as a standard 14 font then return width=250.
|
||
// 3) Otherwise return no match and let the caller substitute a default.
|
||
func (_eabga pdfFontSimple )GetCharMetrics (code _cce .CharCode )(_cc .CharMetrics ,bool ){if _fegf ,_cgeaed :=_eabga ._bgdcb [code ];_cgeaed {return _cc .CharMetrics {Wx :_fegf },true ;};if _cc .IsStdFont (_cc .StdFontName (_eabga ._agcagf )){return _cc .CharMetrics {Wx :250},true ;};return _cc .CharMetrics {},false ;};
|
||
|
||
// PdfOutlineTreeNode contains common fields used by the outline and outline
|
||
// item objects.
|
||
type PdfOutlineTreeNode struct{_edggc interface{};First *PdfOutlineTreeNode ;Last *PdfOutlineTreeNode ;};
|
||
|
||
// NewPdfColorspaceCalRGB returns a new CalRGB colorspace object.
|
||
func NewPdfColorspaceCalRGB ()*PdfColorspaceCalRGB {_ecfeb :=&PdfColorspaceCalRGB {};_ecfeb .BlackPoint =[]float64 {0.0,0.0,0.0};_ecfeb .Gamma =[]float64 {1.0,1.0,1.0};_ecfeb .Matrix =[]float64 {1,0,0,0,1,0,0,0,1};return _ecfeb ;};func (_geebc *PdfReader )newPdfOutlineItemFromIndirectObject (_bacga *_ce .PdfIndirectObject )(*PdfOutlineItem ,error ){_aggea ,_cgbag :=_bacga .PdfObject .(*_ce .PdfObjectDictionary );if !_cgbag {return nil ,_c .Errorf ("\u006f\u0075\u0074l\u0069\u006e\u0065\u0020o\u0062\u006a\u0065\u0063\u0074\u0020\u006eo\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_ebbg :=NewPdfOutlineItem ();_afegc :=_aggea .Get ("\u0054\u0069\u0074l\u0065");if _afegc ==nil {return nil ,_c .Errorf ("\u006d\u0069\u0073s\u0069\u006e\u0067\u0020\u0054\u0069\u0074\u006c\u0065\u0020\u0066\u0072\u006f\u006d\u0020\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0020\u0049\u0074\u0065\u006d\u0020\u0028r\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029");};_ffbee ,_gbbb :=_ce .GetString (_afegc );if !_gbbb {return nil ,_c .Errorf ("\u0074\u0069\u0074le\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0054\u0029",_afegc );};_ebbg .Title =_ffbee ;if _bcccb :=_aggea .Get ("\u0043\u006f\u0075n\u0074");_bcccb !=nil {_deac ,_gegc :=_bcccb .(*_ce .PdfObjectInteger );if !_gegc {return nil ,_c .Errorf ("\u0063o\u0075\u006e\u0074\u0020n\u006f\u0074\u0020\u0061\u006e \u0069n\u0074e\u0067\u0065\u0072\u0020\u0028\u0025\u0054)",_bcccb );};_gadfc :=int64 (*_deac );_ebbg .Count =&_gadfc ;};if _efcaf :=_aggea .Get ("\u0044\u0065\u0073\u0074");_efcaf !=nil {_ebbg .Dest =_ce .ResolveReference (_efcaf );if !_geebc ._ebegg {_dcba :=_geebc .traverseObjectData (_ebbg .Dest );if _dcba !=nil {return nil ,_dcba ;};};};if _acccf :=_aggea .Get ("\u0041");_acccf !=nil {_ebbg .A =_ce .ResolveReference (_acccf );if !_geebc ._ebegg {_bgde :=_geebc .traverseObjectData (_ebbg .A );if _bgde !=nil {return nil ,_bgde ;};};};if _afgdf :=_aggea .Get ("\u0053\u0045");_afgdf !=nil {_ebbg .SE =nil ;};if _cedeg :=_aggea .Get ("\u0043");_cedeg !=nil {_ebbg .C =_ce .ResolveReference (_cedeg );};if _fdagc :=_aggea .Get ("\u0046");_fdagc !=nil {_ebbg .F =_ce .ResolveReference (_fdagc );};return _ebbg ,nil ;};func (_gdaa *PdfReader )newPdfAnnotationPopupFromDict (_decg *_ce .PdfObjectDictionary )(*PdfAnnotationPopup ,error ){_agadd :=PdfAnnotationPopup {};_agadd .Parent =_decg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_agadd .Open =_decg .Get ("\u004f\u0070\u0065\u006e");return &_agadd ,nil ;};
|
||
|
||
// PdfFont represents an underlying font structure which can be of type:
|
||
// - Type0
|
||
// - Type1
|
||
// - TrueType
|
||
// etc.
|
||
type PdfFont struct{_decac pdfFont };func (_fgag *pdfFontType0 )subsetRegistered ()error {_cdae ,_fcae :=_fgag .DescendantFont ._decac .(*pdfCIDFontType2 );if !_fcae {_ebg .Log .Debug ("\u0046\u006fnt\u0020\u006e\u006ft\u0020\u0073\u0075\u0070por\u0074ed\u0020\u0066\u006f\u0072\u0020\u0073\u0075bs\u0065\u0074\u0074\u0069\u006e\u0067\u0020%\u0054",_fgag .DescendantFont );return nil ;};if _cdae ==nil {return nil ;};if _cdae ._adae ==nil {_ebg .Log .Debug ("\u004d\u0069\u0073si\u006e\u0067\u0020\u0066\u006f\u006e\u0074\u0020\u0064\u0065\u0073\u0063\u0072\u0069\u0070\u0074\u006f\u0072");return nil ;};if _fgag ._gedcf ==nil {_ebg .Log .Debug ("\u004e\u006f\u0020e\u006e\u0063\u006f\u0064e\u0072\u0020\u002d\u0020\u0073\u0075\u0062s\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0069\u0067\u006e\u006f\u0072\u0065\u0064");return nil ;};_aeaf ,_fcae :=_ce .GetStream (_cdae ._adae .FontFile2 );if !_fcae {_ebg .Log .Debug ("\u0045\u006d\u0062\u0065\u0064\u0064\u0065\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u006f\u0062\u006a\u0065c\u0074\u0020\u006e\u006f\u0074\u0020\u0066o\u0075\u006e\u0064\u0020\u002d\u002d\u0020\u0041\u0042\u004f\u0052T\u0020\u0073\u0075\u0062\u0073\u0065\u0074\u0074\u0069\u006e\u0067");return _gd .New ("\u0066\u006f\u006e\u0074fi\u006c\u0065\u0032\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");};_fbba ,_adca :=_ce .DecodeStream (_aeaf );if _adca !=nil {_ebg .Log .Debug ("\u0044\u0065c\u006f\u0064\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_adca );return _adca ;};_acea ,_adca :=_af .Parse (_f .NewReader (_fbba ));if _adca !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0025\u0064\u0020\u0062\u0079\u0074\u0065\u0020f\u006f\u006e\u0074",len (_aeaf .Stream ));return _adca ;};var _deccf []rune ;var _geba *_af .Font ;switch _egdc :=_fgag ._gedcf .(type ){case *_cce .TrueTypeFontEncoder :_deccf =_egdc .RegisteredRunes ();_geba ,_adca =_acea .SubsetKeepRunes (_deccf );if _adca !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_adca );return _adca ;};_egdc .SubsetRegistered ();case *_cce .IdentityEncoder :_deccf =_egdc .RegisteredRunes ();_abedf :=make ([]_af .GlyphIndex ,len (_deccf ));for _bebbb ,_afgda :=range _deccf {_abedf [_bebbb ]=_af .GlyphIndex (_afgda );};_geba ,_adca =_acea .SubsetKeepIndices (_abedf );if _adca !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_adca );return _adca ;};case _cce .SimpleEncoder :_gbgfc :=_egdc .Charcodes ();for _ ,_gdece :=range _gbgfc {_gdaf ,_befb :=_egdc .CharcodeToRune (_gdece );if !_befb {_ebg .Log .Debug ("\u0045\u0052\u0052O\u0052\u003a\u0020\u0075\u006e\u0061\u0062\u006c\u0065\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065\u0020\u0074\u006f \u0072\u0075\u006e\u0065\u003a\u0020\u0025\u0064",_gdece );continue ;};_deccf =append (_deccf ,_gdaf );};default:return _c .Errorf ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0065\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020s\u0075\u0062\u0073\u0065\u0074t\u0069\u006eg\u003a\u0020\u0025\u0054",_fgag ._gedcf );};var _aegc _f .Buffer ;_adca =_geba .Write (&_aegc );if _adca !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_adca );return _adca ;};if _fgag ._fefb !=nil {_cecee :=make (map[_fa .CharCode ]rune ,len (_deccf ));for _ ,_bfcb :=range _deccf {_fcace ,_egeffb :=_fgag ._gedcf .RuneToCharcode (_bfcb );if !_egeffb {continue ;};_cecee [_fa .CharCode (_fcace )]=_bfcb ;};_fgag ._fefb =_fa .NewToUnicodeCMap (_cecee );};_aeaf ,_adca =_ce .MakeStream (_aegc .Bytes (),_ce .NewFlateEncoder ());if _adca !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_adca );return _adca ;};_aeaf .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_ce .MakeInteger (int64 (_aegc .Len ())));if _gfdda ,_cagd :=_ce .GetStream (_cdae ._adae .FontFile2 );_cagd {*_gfdda =*_aeaf ;}else {_cdae ._adae .FontFile2 =_aeaf ;};_dedc :=_abab ();if len (_fgag ._agcagf )> 0{_fgag ._agcagf =_eada (_fgag ._agcagf ,_dedc );};if len (_cdae ._agcagf )> 0{_cdae ._agcagf =_eada (_cdae ._agcagf ,_dedc );};if len (_fgag ._effed )> 0{_fgag ._effed =_eada (_fgag ._effed ,_dedc );};if _cdae ._adae !=nil {_gaegb ,_dbbgc :=_ce .GetName (_cdae ._adae .FontName );if _dbbgc &&len (_gaegb .String ())> 0{_cedc :=_eada (_gaegb .String (),_dedc );_cdae ._adae .FontName =_ce .MakeName (_cedc );};};return nil ;};
|
||
|
||
// SetContentStream sets the pattern cell's content stream.
|
||
func (_dedg *PdfTilingPattern )SetContentStream (content []byte ,encoder _ce .StreamEncoder )error {_fgdd ,_fcbeda :=_dedg ._efabe .(*_ce .PdfObjectStream );if !_fcbeda {_ebg .Log .Debug ("\u0054\u0069l\u0069\u006e\u0067\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_dedg ._efabe );return _ce .ErrTypeError ;};if encoder ==nil {encoder =_ce .NewRawEncoder ();};_egcd :=_fgdd .PdfObjectDictionary ;_bgcbb :=encoder .MakeStreamDict ();_egcd .Merge (_bgcbb );_adgca ,_ecega :=encoder .EncodeBytes (content );if _ecega !=nil {return _ecega ;};_egcd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_adgca ))));_fgdd .Stream =[]byte (_adgca );return nil ;};func (_dabd *pdfFontType0 )baseFields ()*fontCommon {return &_dabd .fontCommon };
|
||
|
||
// PdfColorspaceCalGray represents CalGray color space.
|
||
type PdfColorspaceCalGray struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma float64 ;_bcbf *_ce .PdfIndirectObject ;};func (_cgccg *pdfFontType0 )bytesToCharcodes (_acbc []byte )([]_cce .CharCode ,bool ){if _cgccg ._fgbdd ==nil {return nil ,false ;};_cfedg ,_cabaa :=_cgccg ._fgbdd .BytesToCharcodes (_acbc );if !_cabaa {return nil ,false ;};_cecef :=make ([]_cce .CharCode ,len (_cfedg ));for _fgbe ,_geccc :=range _cfedg {_cecef [_fgbe ]=_cce .CharCode (_geccc );};return _cecef ,true ;};func (_dbac *PdfReader )loadStructure ()error {if _dbac ._dbfe .GetCrypter ()!=nil &&!_dbac ._dbfe .IsAuthenticated (){return _c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_dggf :=_dbac ._dbfe .GetTrailer ();if _dggf ==nil {return _c .Errorf ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_defd ,_aggcg :=_dggf .Get ("\u0052\u006f\u006f\u0074").(*_ce .PdfObjectReference );if !_aggcg {return _c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0052\u006f\u006ft\u0020\u0028\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u003a \u0025\u0073\u0029",_dggf );};_cdecf ,_eddae :=_dbac ._dbfe .LookupByReference (*_defd );if _eddae !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u0020\u0074\u006f\u0020\u0072\u0065\u0061\u0064\u0020\u0072\u006f\u006f\u0074\u0020\u0065\u006c\u0065\u006d\u0065\u006e\u0074\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_eddae );return _eddae ;};_bfcfg ,_aggcg :=_cdecf .(*_ce .PdfIndirectObject );if !_aggcg {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0028\u0072\u006f\u006f\u0074\u0020\u0025\u0071\u0029\u0020\u0028\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u0020\u0025\u0073\u0029",_cdecf ,*_dggf );return _gd .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_geefc ,_aggcg :=(*_bfcfg ).PdfObject .(*_ce .PdfObjectDictionary );if !_aggcg {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020I\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0063\u0061t\u0061\u006c\u006fg\u0020(\u0025\u0073\u0029",_bfcfg .PdfObject );return _gd .New ("\u0069n\u0076a\u006c\u0069\u0064\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_ebg .Log .Trace ("C\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_geefc );_egbed ,_aggcg :=_geefc .Get ("\u0050\u0061\u0067e\u0073").(*_ce .PdfObjectReference );if !_aggcg {return _gd .New ("\u0070\u0061\u0067\u0065\u0073\u0020\u0069\u006e\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020b\u0065\u0020\u0061\u0020\u0072e\u0066\u0065r\u0065\u006e\u0063\u0065");};_cbcgb ,_eddae :=_dbac ._dbfe .LookupByReference (*_egbed );if _eddae !=nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020F\u0061\u0069\u006c\u0065\u0064\u0020\u0074\u006f\u0020r\u0065\u0061\u0064 \u0070a\u0067\u0065\u0073");return _eddae ;};_bgbfg ,_aggcg :=_cbcgb .(*_ce .PdfIndirectObject );if !_aggcg {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020P\u0061\u0067\u0065\u0073\u0020\u006f\u0062\u006a\u0065c\u0074\u0020\u0069n\u0076a\u006c\u0069\u0064");_ebg .Log .Debug ("\u006f\u0070\u003a\u0020\u0025\u0070",_bgbfg );return _gd .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_cgdbd ,_aggcg :=_bgbfg .PdfObject .(*_ce .PdfObjectDictionary );if !_aggcg {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0050\u0061\u0067\u0065\u0073\u0020\u006f\u0062j\u0065c\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0025\u0073\u0029",_bgbfg );return _gd .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_dcgaf ,_aggcg :=_ce .GetInt (_cgdbd .Get ("\u0043\u006f\u0075n\u0074"));if !_aggcg {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0050\u0061\u0067\u0065\u0073\u0020\u0063\u006f\u0075\u006e\u0074\u0020\u006fb\u006a\u0065\u0063\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return _gd .New ("\u0070\u0061\u0067\u0065s \u0063\u006f\u0075\u006e\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};if _ ,_aggcg =_ce .GetName (_cgdbd .Get ("\u0054\u0079\u0070\u0065"));!_aggcg {_ebg .Log .Debug ("\u0050\u0061\u0067\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020T\u0079\u0070\u0065\u0020\u0066\u0069\u0065\u006cd\u0020n\u006f\u0074\u0020\u0073\u0065\u0074\u002e\u0020\u0053\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0054\u0079p\u0065\u0020\u0074\u006f\u0020\u0050\u0061\u0067\u0065\u0073\u002e");_cgdbd .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0050\u0061\u0067e\u0073"));};_dbac ._ccbac =_defd ;_dbac ._gaadd =_geefc ;_dbac ._gdfcbg =_cgdbd ;_dbac ._acfe =_bgbfg ;_dbac ._bbfa =int (*_dcgaf );_dbac ._gggg =[]*_ce .PdfIndirectObject {};_becag :=map[_ce .PdfObject ]struct{}{};_eddae =_dbac .buildPageList (_bgbfg ,nil ,_becag );if _eddae !=nil {return _eddae ;};_ebg .Log .Trace ("\u002d\u002d\u002d");_ebg .Log .Trace ("\u0054\u004f\u0043");_ebg .Log .Trace ("\u0050\u0061\u0067e\u0073");_ebg .Log .Trace ("\u0025\u0064\u003a\u0020\u0025\u0073",len (_dbac ._gggg ),_dbac ._gggg );_dbac ._feebe ,_eddae =_dbac .loadOutlines ();if _eddae !=nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u0020\u0074\u006f\u0020\u0062\u0075i\u006c\u0064\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065 t\u0072\u0065\u0065 \u0028%\u0073\u0029",_eddae );return _eddae ;};_dbac .AcroForm ,_eddae =_dbac .loadForms ();if _eddae !=nil {return _eddae ;};return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the outline tree node.
|
||
func (_aeee *PdfOutlineTreeNode )ToPdfObject ()_ce .PdfObject {return _aeee .GetContext ().ToPdfObject ()};
|
||
|
||
// ToPdfObject converts PdfAcroForm to a PdfObject, i.e. an indirect object containing the
|
||
// AcroForm dictionary.
|
||
func (_ddda *PdfAcroForm )ToPdfObject ()_ce .PdfObject {_cedgd :=_ddda ._adfcd ;_debbbc :=_cedgd .PdfObject .(*_ce .PdfObjectDictionary );if _ddda .Fields !=nil {_caafg :=_ce .PdfObjectArray {};for _ ,_fcfa :=range *_ddda .Fields {_ffbf :=_fcfa .GetContext ();if _ffbf !=nil {_caafg .Append (_ffbf .ToPdfObject ());}else {_caafg .Append (_fcfa .ToPdfObject ());};};_debbbc .Set ("\u0046\u0069\u0065\u006c\u0064\u0073",&_caafg );};if _ddda .NeedAppearances !=nil {_debbbc .Set ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073",_ddda .NeedAppearances );};if _ddda .SigFlags !=nil {_debbbc .Set ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073",_ddda .SigFlags );};if _ddda .CO !=nil {_debbbc .Set ("\u0043\u004f",_ddda .CO );};if _ddda .DR !=nil {_debbbc .Set ("\u0044\u0052",_ddda .DR .ToPdfObject ());};if _ddda .DA !=nil {_debbbc .Set ("\u0044\u0041",_ddda .DA );};if _ddda .Q !=nil {_debbbc .Set ("\u0051",_ddda .Q );};if _ddda .XFA !=nil {_debbbc .Set ("\u0058\u0046\u0041",_ddda .XFA );};return _cedgd ;};
|
||
|
||
// NewXObjectImage returns a new XObjectImage.
|
||
func NewXObjectImage ()*XObjectImage {_edadg :=&XObjectImage {};_bggcc :=&_ce .PdfObjectStream {};_bggcc .PdfObjectDictionary =_ce .MakeDict ();_edadg ._gfag =_bggcc ;return _edadg ;};func _cbge (_gddc *_ce .PdfObjectDictionary )(*PdfFieldButton ,error ){_dbfgc :=&PdfFieldButton {};_dbfgc .Opt ,_ =_ce .GetArray (_gddc .Get ("\u004f\u0070\u0074"));return _dbfgc ,nil ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_cfceb pdfCIDFontType0 )GetCharMetrics (code _cce .CharCode )(_cc .CharMetrics ,bool ){_egfbc :=_cfceb ._ccff ;if _dabe ,_aagf :=_cfceb ._fcfd [code ];_aagf {_egfbc =_dabe ;};return _cc .CharMetrics {Wx :_egfbc },true ;};
|
||
|
||
// PdfAnnotationTrapNet represents TrapNet annotations.
|
||
// (Section 12.5.6.21).
|
||
type PdfAnnotationTrapNet struct{*PdfAnnotation };func _fbbe (_befee *_ce .PdfObjectDictionary ,_gaegba *fontCommon ,_dcaeg _cce .TextEncoder )(*pdfFontSimple ,error ){_gddcc :=_bbafg (_gaegba );_gddcc ._edbbe =_dcaeg ;if _dcaeg ==nil {_eccdf :=_befee .Get ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r");if _eccdf ==nil {_eccdf =_ce .MakeInteger (0);};_gddcc .FirstChar =_eccdf ;_dccc ,_fbff :=_ce .GetIntVal (_eccdf );if !_fbff {_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u0046i\u0072s\u0074C\u0068\u0061\u0072\u0020\u0074\u0079\u0070\u0065\u0020\u0028\u0025\u0054\u0029",_eccdf );return nil ,_ce .ErrTypeError ;};_fbab :=_cce .CharCode (_dccc );_eccdf =_befee .Get ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072");if _eccdf ==nil {_eccdf =_ce .MakeInteger (255);};_gddcc .LastChar =_eccdf ;_dccc ,_fbff =_ce .GetIntVal (_eccdf );if !_fbff {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004c\u0061\u0073\u0074\u0043h\u0061\u0072\u0020\u0074\u0079\u0070\u0065 \u0028\u0025\u0054\u0029",_eccdf );return nil ,_ce .ErrTypeError ;};_ebcdc :=_cce .CharCode (_dccc );_gddcc ._bgdcb =make (map[_cce .CharCode ]float64 );_eccdf =_befee .Get ("\u0057\u0069\u0064\u0074\u0068\u0073");if _eccdf !=nil {_gddcc .Widths =_eccdf ;_aacb ,_dbabf :=_ce .GetArray (_eccdf );if !_dbabf {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020W\u0069\u0064t\u0068\u0073\u0020\u0061\u0074\u0074\u0072\u0069b\u0075\u0074\u0065\u0020\u0021\u003d\u0020\u0061\u0072\u0072\u0061\u0079 \u0028\u0025\u0054\u0029",_eccdf );return nil ,_ce .ErrTypeError ;};_eedeg ,_aeedg :=_aacb .ToFloat64Array ();if _aeedg !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0077\u0069d\u0074\u0068\u0073\u0020\u0074\u006f\u0020a\u0072\u0072\u0061\u0079");return nil ,_aeedg ;};if len (_eedeg )!=int (_ebcdc -_fbab +1){_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0074\u0068s\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u0021\u003d\u0020\u0025\u0064 \u0028\u0025\u0064\u0029",_ebcdc -_fbab +1,len (_eedeg ));return nil ,_ce .ErrRangeError ;};for _bfda ,_fged :=range _eedeg {_gddcc ._bgdcb [_fbab +_cce .CharCode (_bfda )]=_fged ;};};};_gddcc .Encoding =_ce .TraceToDirectObject (_befee .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));return _gddcc ,nil ;};
|
||
|
||
// PdfColorspaceSpecialPattern is a Pattern colorspace.
|
||
// Can be defined either as /Pattern or with an underlying colorspace [/Pattern cs].
|
||
type PdfColorspaceSpecialPattern struct{UnderlyingCS PdfColorspace ;_edbdd *_ce .PdfIndirectObject ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline item (indirect object).
|
||
func (_fdaca *PdfOutlineItem )GetContainingPdfObject ()_ce .PdfObject {return _fdaca ._cfgdb };func (_efba *PdfReader )loadAction (_cgfb _ce .PdfObject )(*PdfAction ,error ){if _abe ,_cbcf :=_ce .GetIndirect (_cgfb );_cbcf {_aea ,_dbda :=_efba .newPdfActionFromIndirectObject (_abe );if _dbda !=nil {return nil ,_dbda ;};return _aea ,nil ;}else if !_ce .IsNullObject (_cgfb ){return nil ,_gd .New ("\u0061\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0070\u006f\u0069\u006e\u0074 \u0074\u006f\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};return nil ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gbgb *PdfAnnotationStamp )ToPdfObject ()_ce .PdfObject {_gbgb .PdfAnnotation .ToPdfObject ();_fgac :=_gbgb ._bda ;_bafc :=_fgac .PdfObject .(*_ce .PdfObjectDictionary );_gbgb .PdfAnnotationMarkup .appendToPdfDictionary (_bafc );_bafc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053\u0074\u0061m\u0070"));_bafc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_gbgb .Name );return _fgac ;};func _cgbc (_afad *_ce .PdfObjectDictionary )(*PdfShadingType6 ,error ){_fggdbf :=PdfShadingType6 {};_fegcg :=_afad .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fegcg ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064 \u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065\u0072C\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065");return nil ,ErrRequiredAttributeMissing ;};_fadf ,_bcada :=_fegcg .(*_ce .PdfObjectInteger );if !_bcada {_ebg .Log .Debug ("\u0042\u0069\u0074\u0073\u0050e\u0072\u0043\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_fegcg );return nil ,_ce .ErrTypeError ;};_fggdbf .BitsPerCoordinate =_fadf ;_fegcg =_afad .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fegcg ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064\u0020a\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073in\u0067\u003a\u0020B\u0069\u0074s\u0050\u0065\u0072\u0043\u006f\u006dp\u006f\u006ee\u006e\u0074");return nil ,ErrRequiredAttributeMissing ;};_fadf ,_bcada =_fegcg .(*_ce .PdfObjectInteger );if !_bcada {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065r \u0028\u0067\u006ft\u0020%\u0054\u0029",_fegcg );return nil ,_ce .ErrTypeError ;};_fggdbf .BitsPerComponent =_fadf ;_fegcg =_afad .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fegcg ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065r\u0046\u006c\u0061\u0067");return nil ,ErrRequiredAttributeMissing ;};_fadf ,_bcada =_fegcg .(*_ce .PdfObjectInteger );if !_bcada {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072F\u006c\u0061\u0067\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074e\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025T\u0029",_fegcg );return nil ,_ce .ErrTypeError ;};_fggdbf .BitsPerComponent =_fadf ;_fegcg =_afad .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fegcg ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071ui\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069b\u0075t\u0065 \u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0044\u0065\u0063\u006f\u0064\u0065");return nil ,ErrRequiredAttributeMissing ;};_dfegg ,_bcada :=_fegcg .(*_ce .PdfObjectArray );if !_bcada {_ebg .Log .Debug ("\u0044\u0065\u0063\u006fd\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_fegcg );return nil ,_ce .ErrTypeError ;};_fggdbf .Decode =_dfegg ;if _eega :=_afad .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_eega !=nil {_fggdbf .Function =[]PdfFunction {};if _dcdee ,_cbccc :=_eega .(*_ce .PdfObjectArray );_cbccc {for _ ,_aaada :=range _dcdee .Elements (){_bgagb ,_fecea :=_edddda (_aaada );if _fecea !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_fecea );return nil ,_fecea ;};_fggdbf .Function =append (_fggdbf .Function ,_bgagb );};}else {_bdacb ,_bcdfd :=_edddda (_eega );if _bcdfd !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_bcdfd );return nil ,_bcdfd ;};_fggdbf .Function =append (_fggdbf .Function ,_bdacb );};};return &_fggdbf ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a CalGray device.
|
||
func (_gggag *PdfColorspaceCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// GetContext returns a reference to the subpattern entry: either PdfTilingPattern or PdfShadingPattern.
|
||
func (_cdbaa *PdfPattern )GetContext ()PdfModel {return _cdbaa ._gdge };
|
||
|
||
// ToGoImage converts the unidoc Image to a golang Image structure.
|
||
func (_bccf *Image )ToGoImage ()(_eg .Image ,error ){_ebg .Log .Trace ("\u0043\u006f\u006e\u0076er\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0067\u006f\u0020\u0069\u006d\u0061g\u0065");_bacb ,_cffbbg :=_age .NewImage (int (_bccf .Width ),int (_bccf .Height ),int (_bccf .BitsPerComponent ),_bccf .ColorComponents ,_bccf .Data ,_bccf ._fdcac ,_bccf ._cddaa );if _cffbbg !=nil {return nil ,_cffbbg ;};return _bacb ,nil ;};
|
||
|
||
// NewOutlineDest returns a new outline destination which can be used
|
||
// with outline items.
|
||
func NewOutlineDest (page int64 ,x ,y float64 )OutlineDest {return OutlineDest {Page :page ,Mode :"\u0058\u0059\u005a",X :x ,Y :y };};func (_fbbea *PdfAcroForm )signatureFields ()[]*PdfFieldSignature {var _edfb []*PdfFieldSignature ;for _ ,_aaddg :=range _fbbea .AllFields (){switch _dagb :=_aaddg .GetContext ().(type ){case *PdfFieldSignature :_eefeeb :=_dagb ;_edfb =append (_edfb ,_eefeeb );};};return _edfb ;};
|
||
|
||
// ColorToRGB converts a color in Separation colorspace to RGB colorspace.
|
||
func (_fcab *PdfColorspaceSpecialSeparation )ColorToRGB (color PdfColor )(PdfColor ,error ){if _fcab .AlternateSpace ==nil {return nil ,_gd .New ("\u0061\u006c\u0074\u0065\u0072\u006e\u0061\u0074\u0065\u0020c\u006f\u006c\u006f\u0072\u0073\u0070\u0061c\u0065\u0020\u0075\u006e\u0064\u0065\u0066\u0069\u006e\u0065\u0064");};return _fcab .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// SignatureHandler interface defines the common functionality for PDF signature handlers, which
|
||
// need to be capable of validating digital signatures and signing PDF documents.
|
||
type SignatureHandler interface{IsApplicable (_gbgfff *PdfSignature )bool ;Validate (_aedae *PdfSignature ,_eacd Hasher )(SignatureValidationResult ,error );
|
||
|
||
// InitSignature sets the PdfSignature parameters.
|
||
InitSignature (*PdfSignature )error ;NewDigest (_ebbb *PdfSignature )(Hasher ,error );Sign (_cdcd *PdfSignature ,_ggeab Hasher )error ;};
|
||
|
||
// GetNumComponents returns the number of color components (4 for CMYK32).
|
||
func (_gfgg *PdfColorDeviceCMYK )GetNumComponents ()int {return 4};func _cdba (_abdga _ce .PdfObject )(*PdfPageResourcesColorspaces ,error ){_ddedc :=&PdfPageResourcesColorspaces {};if _ffede ,_ebfb :=_abdga .(*_ce .PdfIndirectObject );_ebfb {_ddedc ._facbb =_ffede ;_abdga =_ffede .PdfObject ;};_cgfbg ,_agdc :=_ce .GetDict (_abdga );if !_agdc {return nil ,_gd .New ("\u0043\u0053\u0020at\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_ddedc .Names =[]string {};_ddedc .Colorspaces =map[string ]PdfColorspace {};for _ ,_bfcf :=range _cgfbg .Keys (){_dfbac :=_cgfbg .Get (_bfcf );_ddedc .Names =append (_ddedc .Names ,string (_bfcf ));_feca ,_eabda :=NewPdfColorspaceFromPdfObject (_dfbac );if _eabda !=nil {return nil ,_eabda ;};_ddedc .Colorspaces [string (_bfcf )]=_feca ;};return _ddedc ,nil ;};
|
||
|
||
// SetContext sets the sub pattern (context). Either PdfTilingPattern or PdfShadingPattern.
|
||
func (_feffg *PdfPattern )SetContext (ctx PdfModel ){_feffg ._gdge =ctx };
|
||
|
||
// PdfAnnotationRichMedia represents Rich Media annotations.
|
||
type PdfAnnotationRichMedia struct{*PdfAnnotation ;RichMediaSettings _ce .PdfObject ;RichMediaContent _ce .PdfObject ;};
|
||
|
||
// PdfPageResources is a Page resources model.
|
||
// Implements PdfModel.
|
||
type PdfPageResources struct{ExtGState _ce .PdfObject ;ColorSpace _ce .PdfObject ;Pattern _ce .PdfObject ;Shading _ce .PdfObject ;XObject _ce .PdfObject ;Font _ce .PdfObject ;ProcSet _ce .PdfObject ;Properties _ce .PdfObject ;_eebf *_ce .PdfObjectDictionary ;_gddae *PdfPageResourcesColorspaces ;};func (_eadf *PdfReader )newPdfAnnotationTextFromDict (_fdadf *_ce .PdfObjectDictionary )(*PdfAnnotationText ,error ){_eefg :=PdfAnnotationText {};_dab ,_edde :=_eadf .newPdfAnnotationMarkupFromDict (_fdadf );if _edde !=nil {return nil ,_edde ;};_eefg .PdfAnnotationMarkup =_dab ;_eefg .Open =_fdadf .Get ("\u004f\u0070\u0065\u006e");_eefg .Name =_fdadf .Get ("\u004e\u0061\u006d\u0065");_eefg .State =_fdadf .Get ("\u0053\u0074\u0061t\u0065");_eefg .StateModel =_fdadf .Get ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c");return &_eefg ,nil ;};type pdfFontSimple struct{fontCommon ;_dagd *_ce .PdfIndirectObject ;_bgdcb map[_cce .CharCode ]float64 ;_bged _cce .TextEncoder ;_edbbe _cce .TextEncoder ;_cdgc *PdfFontDescriptor ;
|
||
|
||
// Encoding is subject to limitations that are described in 9.6.6, "Character Encoding".
|
||
// BaseFont is derived differently.
|
||
FirstChar _ce .PdfObject ;LastChar _ce .PdfObject ;Widths _ce .PdfObject ;Encoding _ce .PdfObject ;_eegg map[rune ]_cc .CharMetrics ;};
|
||
|
||
// NewPdfActionGoTo returns a new "go to" action.
|
||
func NewPdfActionGoTo ()*PdfActionGoTo {_fcd :=NewPdfAction ();_bb :=&PdfActionGoTo {};_bb .PdfAction =_fcd ;_fcd .SetContext (_bb );return _bb ;};
|
||
|
||
// PdfActionGoToE represents a GoToE action.
|
||
type PdfActionGoToE struct{*PdfAction ;F *PdfFilespec ;D _ce .PdfObject ;NewWindow _ce .PdfObject ;T _ce .PdfObject ;};
|
||
|
||
// ColorToRGB converts a CalGray color to an RGB color.
|
||
func (_eead *PdfColorspaceCalGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_gef ,_deba :=color .(*PdfColorCalGray );if !_deba {_ebg .Log .Debug ("\u0049n\u0070\u0075\u0074\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u006eo\u0074\u0020\u0063\u0061\u006c\u0020\u0067\u0072\u0061\u0079");return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};ANorm :=_gef .Val ();X :=_eead .WhitePoint [0]*_ag .Pow (ANorm ,_eead .Gamma );Y :=_eead .WhitePoint [1]*_ag .Pow (ANorm ,_eead .Gamma );Z :=_eead .WhitePoint [2]*_ag .Pow (ANorm ,_eead .Gamma );_agec :=3.240479*X +-1.537150*Y +-0.498535*Z ;_eaf :=-0.969256*X +1.875992*Y +0.041556*Z ;_abda :=0.055648*X +-0.204043*Y +1.057311*Z ;_agec =_ag .Min (_ag .Max (_agec ,0),1.0);_eaf =_ag .Min (_ag .Max (_eaf ,0),1.0);_abda =_ag .Min (_ag .Max (_abda ,0),1.0);return NewPdfColorDeviceRGB (_agec ,_eaf ,_abda ),nil ;};
|
||
|
||
// ColorToRGB converts a CMYK32 color to an RGB color.
|
||
func (_dbbe *PdfColorspaceDeviceCMYK )ColorToRGB (color PdfColor )(PdfColor ,error ){_gcfe ,_dgbde :=color .(*PdfColorDeviceCMYK );if !_dgbde {_ebg .Log .Debug ("I\u006e\u0070\u0075\u0074\u0020\u0063o\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0064e\u0076\u0069\u0063e\u0020c\u006d\u0079\u006b");return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_face :=_gcfe .C ();_bbege :=_gcfe .M ();_abag :=_gcfe .Y ();_dfe :=_gcfe .K ();_face =_face *(1-_dfe )+_dfe ;_bbege =_bbege *(1-_dfe )+_dfe ;_abag =_abag *(1-_dfe )+_dfe ;_effb :=1-_face ;_ffgc :=1-_bbege ;_fagd :=1-_abag ;return NewPdfColorDeviceRGB (_effb ,_ffgc ,_fagd ),nil ;};
|
||
|
||
// PdfFunctionType0 uses a sequence of sample values (contained in a stream) to provide an approximation
|
||
// for functions whose domains and ranges are bounded. The samples are organized as an m-dimensional
|
||
// table in which each entry has n components
|
||
type PdfFunctionType0 struct{Domain []float64 ;Range []float64 ;NumInputs int ;NumOutputs int ;Size []int ;BitsPerSample int ;Order int ;Encode []float64 ;Decode []float64 ;_abaa []byte ;_aaccb []uint32 ;_dbfgb *_ce .PdfObjectStream ;};
|
||
|
||
// Y returns the value of the yellow component of the color.
|
||
func (_adccb *PdfColorDeviceCMYK )Y ()float64 {return float64 (_adccb [2])};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_gdbfg *PdfColorLab )A ()float64 {return float64 (_gdbfg [1])};
|
||
|
||
// Field returns the parent form field of the widget annotation, if one exists.
|
||
// NOTE: the method returns nil if the parent form field has not been parsed.
|
||
func (_gaa *PdfAnnotationWidget )Field ()*PdfField {return _gaa ._dgg };
|
||
|
||
// NewPdfOutlineTree returns an initialized PdfOutline tree.
|
||
func NewPdfOutlineTree ()*PdfOutline {_feeg :=NewPdfOutline ();_feeg ._edggc =&_feeg ;return _feeg };func (_cabab *PdfReader )newPdfAnnotationWidgetFromDict (_bfae *_ce .PdfObjectDictionary )(*PdfAnnotationWidget ,error ){_dfde :=PdfAnnotationWidget {};_dfde .H =_bfae .Get ("\u0048");_dfde .MK =_bfae .Get ("\u004d\u004b");_dfde .A =_bfae .Get ("\u0041");_dfde .AA =_bfae .Get ("\u0041\u0041");_dfde .BS =_bfae .Get ("\u0042\u0053");_dfde .Parent =_bfae .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");return &_dfde ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline tree node (indirect object).
|
||
func (_gffeg *PdfOutlineTreeNode )GetContainingPdfObject ()_ce .PdfObject {return _gffeg .GetContext ().GetContainingPdfObject ();};func _aggff (_ggfge _ce .PdfObject )(*PdfShading ,error ){_bbddc :=&PdfShading {};var _gcgef *_ce .PdfObjectDictionary ;if _cgfbe ,_aecd :=_ce .GetIndirect (_ggfge );_aecd {_bbddc ._efbab =_cgfbe ;_ccabc ,_aeea :=_cgfbe .PdfObject .(*_ce .PdfObjectDictionary );if !_aeea {_ebg .Log .Debug ("\u004f\u0062\u006a\u0065c\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069c\u0074i\u006f\u006e\u0061\u0072\u0079\u0020\u0074y\u0070\u0065");return nil ,_ce .ErrTypeError ;};_gcgef =_ccabc ;}else if _aggfff ,_dgede :=_ce .GetStream (_ggfge );_dgede {_bbddc ._efbab =_aggfff ;_gcgef =_aggfff .PdfObjectDictionary ;}else if _bfbcc ,_agaaed :=_ce .GetDict (_ggfge );_agaaed {_bbddc ._efbab =_bfbcc ;_gcgef =_bfbcc ;}else {_ebg .Log .Debug ("O\u0062\u006a\u0065\u0063\u0074\u0020t\u0079\u0070\u0065\u0020\u0075\u006e\u0065\u0078\u0070e\u0063\u0074\u0065d\u0020(\u0025\u0054\u0029",_ggfge );return nil ,_ce .ErrTypeError ;};if _gcgef ==nil {_ebg .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_gd .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_ggfge =_gcgef .Get ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _ggfge ==nil {_ebg .Log .Debug ("\u0052\u0065q\u0075\u0069\u0072\u0065\u0064\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020\u0074\u0079\u0070\u0065\u0020\u006d\u0069\u0073si\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_ggfge =_ce .TraceToDirectObject (_ggfge );_cgdac ,_fggc :=_ggfge .(*_ce .PdfObjectInteger );if !_fggc {_ebg .Log .Debug ("\u0049\u006e\u0076al\u0069\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066o\u0072 \u0073h\u0061d\u0069\u006e\u0067\u0020\u0074\u0079\u0070\u0065\u0020\u0028\u0025\u0054\u0029",_ggfge );return nil ,_ce .ErrTypeError ;};if *_cgdac < 1||*_cgdac > 7{_ebg .Log .Debug ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020\u0074\u0079\u0070\u0065\u002c\u0020\u006e\u006ft\u0020\u0031\u002d\u0037\u0020(\u0067\u006ft\u0020\u0025\u0064\u0029",*_cgdac );return nil ,_ce .ErrTypeError ;};_bbddc .ShadingType =_cgdac ;_ggfge =_gcgef .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");if _ggfge ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071\u0075\u0069\u0072e\u0064\u0020\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065\u0020e\u006e\u0074\u0072\u0079\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gceda ,_fcaeb :=NewPdfColorspaceFromPdfObject (_ggfge );if _fcaeb !=nil {_ebg .Log .Debug ("\u0046\u0061i\u006c\u0065\u0064\u0020\u006c\u006f\u0061\u0064\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065: \u0025\u0076",_fcaeb );return nil ,_fcaeb ;};_bbddc .ColorSpace =_gceda ;_ggfge =_gcgef .Get ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064");if _ggfge !=nil {_ggfge =_ce .TraceToDirectObject (_ggfge );_gcab ,_bcfge :=_ggfge .(*_ce .PdfObjectArray );if !_bcfge {_ebg .Log .Debug ("\u0042\u0061\u0063\u006b\u0067r\u006f\u0075\u006e\u0064\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u0020\u0062\u0079\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_ggfge );return nil ,_ce .ErrTypeError ;};_bbddc .Background =_gcab ;};_ggfge =_gcgef .Get ("\u0042\u0042\u006f\u0078");if _ggfge !=nil {_ggfge =_ce .TraceToDirectObject (_ggfge );_bccdf ,_dfega :=_ggfge .(*_ce .PdfObjectArray );if !_dfega {_ebg .Log .Debug ("\u0042\u0061\u0063\u006b\u0067r\u006f\u0075\u006e\u0064\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u0020\u0062\u0079\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_ggfge );return nil ,_ce .ErrTypeError ;};_egaf ,_deeea :=NewPdfRectangle (*_bccdf );if _deeea !=nil {_ebg .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_deeea );return nil ,_deeea ;};_bbddc .BBox =_egaf ;};_ggfge =_gcgef .Get ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s");if _ggfge !=nil {_ggfge =_ce .TraceToDirectObject (_ggfge );_bdffa ,_befd :=_ggfge .(*_ce .PdfObjectBool );if !_befd {_ebg .Log .Debug ("A\u006e\u0074\u0069\u0041\u006c\u0069\u0061\u0073\u0020i\u006e\u0076\u0061\u006c\u0069\u0064\u0020ty\u0070\u0065\u002c\u0020s\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020bo\u006f\u006c \u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_ggfge );return nil ,_ce .ErrTypeError ;};_bbddc .AntiAlias =_bdffa ;};switch *_cgdac {case 1:_bcgef ,_fegaa :=_adgaa (_gcgef );if _fegaa !=nil {return nil ,_fegaa ;};_bcgef .PdfShading =_bbddc ;_bbddc ._aadde =_bcgef ;return _bbddc ,nil ;case 2:_feegg ,_efcd :=_gbfga (_gcgef );if _efcd !=nil {return nil ,_efcd ;};_feegg .PdfShading =_bbddc ;_bbddc ._aadde =_feegg ;return _bbddc ,nil ;case 3:_babbe ,_agfbe :=_ggfb (_gcgef );if _agfbe !=nil {return nil ,_agfbe ;};_babbe .PdfShading =_bbddc ;_bbddc ._aadde =_babbe ;return _bbddc ,nil ;case 4:_gfdbc ,_bdafg :=_dfbae (_gcgef );if _bdafg !=nil {return nil ,_bdafg ;};_gfdbc .PdfShading =_bbddc ;_bbddc ._aadde =_gfdbc ;return _bbddc ,nil ;case 5:_cdeea ,_fgcdc :=_aagbd (_gcgef );if _fgcdc !=nil {return nil ,_fgcdc ;};_cdeea .PdfShading =_bbddc ;_bbddc ._aadde =_cdeea ;return _bbddc ,nil ;case 6:_ceae ,_dgcce :=_cgbc (_gcgef );if _dgcce !=nil {return nil ,_dgcce ;};_ceae .PdfShading =_bbddc ;_bbddc ._aadde =_ceae ;return _bbddc ,nil ;case 7:_fefdf ,_daed :=_agfcge (_gcgef );if _daed !=nil {return nil ,_daed ;};_fefdf .PdfShading =_bbddc ;_bbddc ._aadde =_fefdf ;return _bbddc ,nil ;};return nil ,_gd .New ("u\u006ek\u006e\u006f\u0077\u006e\u0020\u0073\u0068\u0061d\u0069\u006e\u0067\u0020ty\u0070\u0065");};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gcegd *PdfColorDeviceGray )ToInteger (bits int )uint32 {_fgc :=_ag .Pow (2,float64 (bits ))-1;return uint32 (_fgc *_gcegd .Val ());};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_caf *PdfActionGoToE )ToPdfObject ()_ce .PdfObject {_caf .PdfAction .ToPdfObject ();_fgd :=_caf ._bdf ;_gba :=_fgd .PdfObject .(*_ce .PdfObjectDictionary );_gba .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeGoToE )));if _caf .F !=nil {_gba .Set ("\u0046",_caf .F .ToPdfObject ());};_gba .SetIfNotNil ("\u0044",_caf .D );_gba .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_caf .NewWindow );_gba .SetIfNotNil ("\u0054",_caf .T );return _fgd ;};
|
||
|
||
// OutlineItem represents a PDF outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type OutlineItem struct{Title string `json:"title"`;Dest OutlineDest `json:"dest"`;Entries []*OutlineItem `json:"entries,omitempty"`;};
|
||
|
||
// PdfAnnotationHighlight represents Highlight annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationHighlight struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _ce .PdfObject ;};func (_afe *PdfReader )newPdfActionTransFromDict (_agaf *_ce .PdfObjectDictionary )(*PdfActionTrans ,error ){return &PdfActionTrans {Trans :_agaf .Get ("\u0054\u0072\u0061n\u0073")},nil ;};
|
||
|
||
// GetExtGState gets the ExtGState specified by keyName. Returns a bool
|
||
// indicating whether it was found or not.
|
||
func (_ccdga *PdfPageResources )GetExtGState (keyName _ce .PdfObjectName )(_ce .PdfObject ,bool ){if _ccdga .ExtGState ==nil {return nil ,false ;};_dccece ,_bcedc :=_ce .TraceToDirectObject (_ccdga .ExtGState ).(*_ce .PdfObjectDictionary );if !_bcedc {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0049n\u0076\u0061\u006c\u0069\u0064 \u0045\u0078\u0074\u0047\u0053\u0074\u0061\u0074\u0065\u0020\u0065\u006e\u0074\u0072\u0079\u0020\u002d\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_ccdga .ExtGState );return nil ,false ;};if _bfcfa :=_dccece .Get (keyName );_bfcfa !=nil {return _bfcfa ,true ;};return nil ,false ;};
|
||
|
||
// PdfShadingType6 is a Coons patch mesh.
|
||
type PdfShadingType6 struct{*PdfShading ;BitsPerCoordinate *_ce .PdfObjectInteger ;BitsPerComponent *_ce .PdfObjectInteger ;BitsPerFlag *_ce .PdfObjectInteger ;Decode *_ce .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// NewPdfActionJavaScript returns a new "javaScript" action.
|
||
func NewPdfActionJavaScript ()*PdfActionJavaScript {_dgb :=NewPdfAction ();_gdd :=&PdfActionJavaScript {};_gdd .PdfAction =_dgb ;_dgb .SetContext (_gdd );return _gdd ;};func (_bggf *PdfReader )newPdfActionThreadFromDict (_egaa *_ce .PdfObjectDictionary )(*PdfActionThread ,error ){_cab ,_gce :=_cbc (_egaa .Get ("\u0046"));if _gce !=nil {return nil ,_gce ;};return &PdfActionThread {D :_egaa .Get ("\u0044"),B :_egaa .Get ("\u0042"),F :_cab },nil ;};var _ebgad _a .Time ;
|
||
|
||
// ColorAt returns the color of the image pixel specified by the x and y coordinates.
|
||
func (_gfdgf *Image )ColorAt (x ,y int )(_aa .Color ,error ){_fdaac :=_age .BytesPerLine (int (_gfdgf .Width ),int (_gfdgf .BitsPerComponent ),_gfdgf .ColorComponents );switch _gfdgf .ColorComponents {case 1:return _age .ColorAtGrayscale (x ,y ,int (_gfdgf .BitsPerComponent ),_fdaac ,_gfdgf .Data ,_gfdgf ._cddaa );case 3:return _age .ColorAtNRGBA (x ,y ,int (_gfdgf .Width ),_fdaac ,int (_gfdgf .BitsPerComponent ),_gfdgf .Data ,_gfdgf ._fdcac ,_gfdgf ._cddaa );case 4:return _age .ColorAtCMYK (x ,y ,int (_gfdgf .Width ),_gfdgf .Data ,_gfdgf ._cddaa );};_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064 i\u006da\u0067\u0065\u002e\u0020\u0025\u0064\u0020\u0063\u006f\u006d\u0070\u006fn\u0065\u006e\u0074\u0073\u002c\u0020\u0025\u0064\u0020\u0062\u0069\u0074\u0073\u0020\u0070\u0065\u0072 \u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_gfdgf .ColorComponents ,_gfdgf .BitsPerComponent );return nil ,_gd .New ("\u0075\u006e\u0073\u0075p\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0069\u006d\u0061g\u0065 \u0063\u006f\u006c\u006f\u0072\u0073\u0070a\u0063\u0065");};
|
||
|
||
// ColorToRGB converts a ICCBased color to an RGB color.
|
||
func (_cbdb *PdfColorspaceICCBased )ColorToRGB (color PdfColor )(PdfColor ,error ){if _cbdb .Alternate ==nil {_ebg .Log .Debug ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");if _cbdb .N ==1{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042a\u0073\u0065\u0064\u0020\u0063o\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061\u006c\u0074\u0065r\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006e\u0067\u0020\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061y\u0020\u0028\u004e\u003d\u0031\u0029");_afeb :=NewPdfColorspaceDeviceGray ();return _afeb .ColorToRGB (color );}else if _cbdb .N ==3{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070a\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067 \u0061\u006c\u0074\u0065\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006eg\u0020\u0044\u0065\u0076\u0069\u0063e\u0052\u0047B\u0020\u0028N\u003d3\u0029");return color ,nil ;}else if _cbdb .N ==4{_ebg .Log .Debug ("\u0049\u0043\u0043\u0020\u0042a\u0073\u0065\u0064\u0020\u0063o\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061\u006c\u0074\u0065r\u006e\u0061\u0074\u0069\u0076\u0065\u0020\u002d\u0020\u0075\u0073\u0069\u006e\u0067\u0020\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059K\u0020\u0028\u004e\u003d\u0034\u0029");_debbd :=NewPdfColorspaceDeviceCMYK ();return _debbd .ColorToRGB (color );}else {return nil ,_gd .New ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");};};_ebg .Log .Trace ("\u0049\u0043\u0043 \u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0077\u0069\u0074\u0068\u0020\u0061\u006c\u0074\u0065\u0072\u006e\u0061t\u0069\u0076\u0065\u003a\u0020\u0025\u0023\u0076",_cbdb );return _cbdb .Alternate .ColorToRGB (color );};func (_cedb *PdfReader )newPdfFieldFromIndirectObject (_fgaca *_ce .PdfIndirectObject ,_bcfef *PdfField )(*PdfField ,error ){if _fffa ,_dbdff :=_cedb ._cbdfb .GetModelFromPrimitive (_fgaca ).(*PdfField );_dbdff {return _fffa ,nil ;};_bece ,_ecce :=_ce .GetDict (_fgaca );if !_ecce {return nil ,_c .Errorf ("\u0050\u0064f\u0046\u0069\u0065\u006c\u0064 \u0069\u006e\u0064\u0069\u0072e\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_afcf :=NewPdfField ();_afcf ._gfeec =_fgaca ;_afcf ._gfeec .PdfObject =_bece ;_bbccd :=false ;if _dbaa ,_geea :=_ce .GetName (_bece .Get ("\u0046\u0054"));_geea {_afcf .FT =_dbaa ;_bbccd =true ;};_afcf ._fdbf =&_bbccd ;_afcf .T ,_ =_bece .Get ("\u0054").(*_ce .PdfObjectString );_afcf .TU ,_ =_bece .Get ("\u0054\u0055").(*_ce .PdfObjectString );_afcf .TM ,_ =_bece .Get ("\u0054\u004d").(*_ce .PdfObjectString );_afcf .Ff ,_ =_bece .Get ("\u0046\u0066").(*_ce .PdfObjectInteger );_afcf .V =_bece .Get ("\u0056");_afcf .DV =_bece .Get ("\u0044\u0056");_afcf .AA =_bece .Get ("\u0041\u0041");if _afcf .FT !=nil {switch *_afcf .FT {case "\u0054\u0078":_cgcb ,_geae :=_fdcgd (_bece );if _geae !=nil {return nil ,_geae ;};_cgcb .PdfField =_afcf ;_afcf ._eedcb =_cgcb ;case "\u0043\u0068":_gcfcc ,_ccfec :=_dgec (_bece );if _ccfec !=nil {return nil ,_ccfec ;};_gcfcc .PdfField =_afcf ;_afcf ._eedcb =_gcfcc ;case "\u0042\u0074\u006e":_cafe ,_gceb :=_cbge (_bece );if _gceb !=nil {return nil ,_gceb ;};_cafe .PdfField =_afcf ;_afcf ._eedcb =_cafe ;case "\u0053\u0069\u0067":_efaf ,_gfde :=_cedb .newPdfFieldSignatureFromDict (_bece );if _gfde !=nil {return nil ,_gfde ;};_efaf .PdfField =_afcf ;_afcf ._eedcb =_efaf ;default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0073\u0075\u0070\u0070\u006f\u0072t\u0065d\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0025\u0073",*_afcf .FT );return nil ,_gd .New ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079p\u0065");};};if _bcfef !=nil {_afcf .Parent =_bcfef ;};_afcf .Annotations =[]*PdfAnnotationWidget {};if _adbd ,_accef :=_ce .GetName (_bece .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_accef {if *_adbd =="\u0057\u0069\u0064\u0067\u0065\u0074"{_ffad ,_gbge :=_cedb .newPdfAnnotationFromIndirectObject (_fgaca );if _gbge !=nil {return nil ,_gbge ;};_ecedc ,_acceb :=_ffad .GetContext ().(*PdfAnnotationWidget );if !_acceb {return nil ,_gd .New ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0067e\u0074 \u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006fn");};_ecedc ._dgg =_afcf ;_ecedc .Parent =_afcf ._gfeec ;_afcf .Annotations =append (_afcf .Annotations ,_ecedc );return _afcf ,nil ;};};if _agcf ,_bdaf :=_ce .GetArray (_bece .Get ("\u004b\u0069\u0064\u0073"));_bdaf {_afcf .Kids =[]*PdfField {};for _ ,_efeg :=range _agcf .Elements (){_fbdg ,_feefg :=_ce .GetIndirect (_efeg );if !_feefg {_ccfa ,_gaaea :=_ce .GetStream (_efeg );if _gaaea &&_ccfa .PdfObjectDictionary !=nil {_eacae ,_eabd :=_ce .GetNameVal (_ccfa .Get ("\u0054\u0079\u0070\u0065"));if _eabd &&_eacae =="\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061"{_ebg .Log .Debug ("E\u0052RO\u0052:\u0020f\u006f\u0072\u006d\u0020\u0066i\u0065\u006c\u0064 \u004b\u0069\u0064\u0073\u0020a\u0072\u0072\u0061y\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0073\u0020\u0069n\u0076\u0061\u006cid \u004d\u0065\u0074\u0061\u0064\u0061t\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u002e\u0020\u0053\u006bi\u0070p\u0069\u006e\u0067\u002e");continue ;};};return nil ,_gd .New ("n\u006f\u0074\u0020\u0061\u006e\u0020i\u006e\u0064\u0069\u0072\u0065\u0063t\u0020\u006f\u0062\u006a\u0065\u0063\u0074 \u0028\u0066\u006f\u0072\u006d\u0020\u0066\u0069\u0065\u006cd\u0029");};_cadge ,_efce :=_ce .GetDict (_fbdg );if !_efce {return nil ,ErrTypeCheck ;};_ ,_gbgbda :=_ce .GetName (_cadge .Get ("\u0046\u0054"));if _afed ,_cggfc :=_ce .GetName (_cadge .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_cggfc &&!_gbgbda &&*_afed =="\u0057\u0069\u0064\u0067\u0065\u0074"{_efdga ,_ebafg :=_cedb .newPdfAnnotationFromIndirectObject (_fbdg );if _ebafg !=nil {_ebg .Log .Debug ("\u0045r\u0072\u006fr\u0020\u006c\u006fa\u0064\u0069\u006e\u0067\u0020\u0077\u0069d\u0067\u0065\u0074\u0020\u0061\u006en\u006f\u0074\u0061\u0074\u0069\u006f\u006e\u0020\u0066\u006f\u0072 \u0066\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u0076",_ebafg );return nil ,_ebafg ;};_eeec ,_gcaf :=_efdga ._aff .(*PdfAnnotationWidget );if !_gcaf {return nil ,ErrTypeCheck ;};_eeec ._dgg =_afcf ;_afcf .Annotations =append (_afcf .Annotations ,_eeec );}else {_aacga ,_gffge :=_cedb .newPdfFieldFromIndirectObject (_fbdg ,_afcf );if _gffge !=nil {_ebg .Log .Debug ("\u0045\u0072r\u006f\u0072\u0020\u006c\u006f\u0061\u0064\u0069\u006e\u0067\u0020\u0063\u0068\u0069\u006c\u0064\u0020\u0066\u0069\u0065\u006c\u0064: \u0025\u0076",_gffge );return nil ,_gffge ;};_afcf .Kids =append (_afcf .Kids ,_aacga );};};};return _afcf ,nil ;};
|
||
|
||
// NewPdfActionSubmitForm returns a new "submit form" action.
|
||
func NewPdfActionSubmitForm ()*PdfActionSubmitForm {_bba :=NewPdfAction ();_ae :=&PdfActionSubmitForm {};_ae .PdfAction =_bba ;_bba .SetContext (_ae );return _ae ;};
|
||
|
||
// NewPdfColorspaceDeviceGray returns a new grayscale colorspace.
|
||
func NewPdfColorspaceDeviceGray ()*PdfColorspaceDeviceGray {return &PdfColorspaceDeviceGray {}};
|
||
|
||
// PdfShading represents a shading dictionary. There are 7 types of shading,
|
||
// indicatedby the shading type variable:
|
||
// 1: Function-based shading.
|
||
// 2: Axial shading.
|
||
// 3: Radial shading.
|
||
// 4: Free-form Gouraud-shaded triangle mesh.
|
||
// 5: Lattice-form Gouraud-shaded triangle mesh.
|
||
// 6: Coons patch mesh.
|
||
// 7: Tensor-product patch mesh.
|
||
// types 4-7 are contained in a stream object, where the dictionary is given by the stream dictionary.
|
||
type PdfShading struct{ShadingType *_ce .PdfObjectInteger ;ColorSpace PdfColorspace ;Background *_ce .PdfObjectArray ;BBox *PdfRectangle ;AntiAlias *_ce .PdfObjectBool ;_aadde PdfModel ;_efbab _ce .PdfObject ;};
|
||
|
||
// GetModelFromPrimitive returns the model corresponding to the `primitive` PdfObject.
|
||
func (_bgafd *modelManager )GetModelFromPrimitive (primitive _ce .PdfObject )PdfModel {model ,_gbgbde :=_bgafd ._efgef [primitive ];if !_gbgbde {return nil ;};return model ;};
|
||
|
||
// SetLocation sets the `Location` field of the signature.
|
||
func (_ceabeb *PdfSignature )SetLocation (location string ){_ceabeb .Location =_ce .MakeString (location );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_afef *PdfAnnotationStrikeOut )ToPdfObject ()_ce .PdfObject {_afef .PdfAnnotation .ToPdfObject ();_ccdf :=_afef ._bda ;_decd :=_ccdf .PdfObject .(*_ce .PdfObjectDictionary );_afef .PdfAnnotationMarkup .appendToPdfDictionary (_decd );_decd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t"));_decd .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_afef .QuadPoints );return _ccdf ;};
|
||
|
||
// DecodeArray returns the range of color component values in the ICCBased colorspace.
|
||
func (_abaf *PdfColorspaceICCBased )DecodeArray ()[]float64 {return _abaf .Range };
|
||
|
||
// ToPdfObject converts the PdfFont object to its PDF representation.
|
||
func (_fdag *PdfFont )ToPdfObject ()_ce .PdfObject {if _fdag ._decac ==nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0066\u006f\u006e\u0074 \u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0069\u0073 \u006e\u0069\u006c");return _ce .MakeNull ();};return _fdag ._decac .ToPdfObject ();};
|
||
|
||
// GetEncryptionMethod returns a descriptive information string about the encryption method used.
|
||
func (_beceb *PdfReader )GetEncryptionMethod ()string {_cedbf :=_beceb ._dbfe .GetCrypter ();return _cedbf .String ();};func _ecgb (_ebfgb _ce .PdfObject )(string ,error ){_ebfgb =_ce .TraceToDirectObject (_ebfgb );switch _dfgd :=_ebfgb .(type ){case *_ce .PdfObjectString :return _dfgd .Str (),nil ;case *_ce .PdfObjectStream :_aabc ,_ebdeb :=_ce .DecodeStream (_dfgd );if _ebdeb !=nil {return "",_ebdeb ;};return string (_aabc ),nil ;};return "",_c .Errorf ("\u0069\u006e\u0076\u0061\u006ci\u0064\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u0020\u0073\u0074\u0072e\u0061\u006d\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0068\u006f\u006c\u0064\u0065\u0072\u0020\u0028\u0025\u0054\u0029",_ebfgb );};
|
||
|
||
// NewPdfActionGoToE returns a new "go to embedded" action.
|
||
func NewPdfActionGoToE ()*PdfActionGoToE {_agaa :=NewPdfAction ();_cec :=&PdfActionGoToE {};_cec .PdfAction =_agaa ;_agaa .SetContext (_cec );return _cec ;};
|
||
|
||
// GetRuneMetrics returns the char metrics for a rune.
|
||
// TODO(peterwilliams97) There is nothing callers can do if no CharMetrics are found so we might as
|
||
// well give them 0 width. There is no need for the bool return.
|
||
func (_dfbcd *PdfFont )GetRuneMetrics (r rune )(CharMetrics ,bool ){_eggfa :=_dfbcd .actualFont ();if _eggfa ==nil {_ebg .Log .Debug ("ER\u0052\u004fR\u003a\u0020\u0047\u0065\u0074\u0047\u006c\u0079\u0070h\u0043\u0068\u0061\u0072\u004d\u0065\u0074\u0072\u0069\u0063\u0073\u0020\u004e\u006f\u0074\u0020\u0069\u006d\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020f\u006fr\u0020\u0066\u006f\u006e\u0074\u0020\u0074\u0079p\u0065=\u0025\u0023T",_dfbcd ._decac );return _cc .CharMetrics {},false ;};if _bdab ,_dadg :=_eggfa .GetRuneMetrics (r );_dadg {return _bdab ,true ;};if _bgfbc ,_ffcb :=_dfbcd .GetFontDescriptor ();_ffcb ==nil &&_bgfbc !=nil {return _cc .CharMetrics {Wx :_bgfbc ._gcfg },true ;};_ebg .Log .Debug ("\u0047\u0065\u0074\u0047\u006c\u0079\u0070h\u0043\u0068\u0061r\u004d\u0065\u0074\u0072i\u0063\u0073\u003a\u0020\u004e\u006f\u0020\u006d\u0065\u0074\u0072\u0069\u0063\u0073\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_dfbcd );return _cc .CharMetrics {},false ;};
|
||
|
||
// CharcodesToUnicode converts the character codes `charcodes` to a slice of runes.
|
||
// How it works:
|
||
// 1) Use the ToUnicode CMap if there is one.
|
||
// 2) Use the underlying font's encoding.
|
||
func (_dafdg *PdfFont )CharcodesToUnicode (charcodes []_cce .CharCode )[]rune {_gfac ,_ ,_ :=_dafdg .CharcodesToUnicodeWithStats (charcodes );return _gfac ;};
|
||
|
||
// SetAction sets the PDF action for the annotation link.
|
||
func (_bcd *PdfAnnotationLink )SetAction (action *PdfAction ){_bcd ._eddb =action ;if action ==nil {_bcd .A =nil ;};};func _begee (_gcegg *PdfPage ){_bdabe :=_ea .GetLicenseKey ();if _bdabe !=nil &&_bdabe .IsLicensed (){return ;};_agbag :=_ce .PdfObjectName ("\u0055\u0046\u0031");if !_gcegg .Resources .HasFontByName (_agbag ){_gcegg .Resources .SetFontByName (_agbag ,DefaultFont ().ToPdfObject ());};var _abagd []string ;_abagd =append (_abagd ,"\u0071");_abagd =append (_abagd ,"\u0042\u0054");_abagd =append (_abagd ,_c .Sprintf ("\u002f%\u0073\u0020\u0031\u0034\u0020\u0054f",_agbag .String ()));_abagd =append (_abagd ,"\u0031\u0020\u0030\u0020\u0030\u0020\u0072\u0067");_abagd =append (_abagd ,"\u0031\u0030\u0020\u0031\u0030\u0020\u0054\u0064");_adcgg :="\u0055\u006e\u006c\u0069\u0063\u0065\u006e\u0073\u0065\u0064\u0020\u0055\u006e\u0069\u0044o\u0063\u0020\u002d\u0020\u0047\u0065\u0074\u0020\u0061\u0020\u006c\u0069\u0063e\u006e\u0073\u0065\u0020\u006f\u006e\u0020\u0068\u0074\u0074\u0070\u0073:/\u002f\u0075\u006e\u0069\u0064\u006f\u0063\u002e\u0069\u006f";_abagd =append (_abagd ,_c .Sprintf ("\u0028%\u0073\u0029\u0020\u0054\u006a",_adcgg ));_abagd =append (_abagd ,"\u0045\u0054");_abagd =append (_abagd ,"\u0051");_fddcb :=_aga .Join (_abagd ,"\u000a");_gcegg .AddContentStreamByString (_fddcb );_gcegg .ToPdfObject ();};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_cdebe *PdfFunctionType3 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_ebg .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return nil ,_gd .New ("\u006e\u006f\u0074\u0020im\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0079\u0065\u0074");};
|
||
|
||
// NewXObjectImageFromImage creates a new XObject Image from an image object
|
||
// with default options. If encoder is nil, uses raw encoding (none).
|
||
func NewXObjectImageFromImage (img *Image ,cs PdfColorspace ,encoder _ce .StreamEncoder )(*XObjectImage ,error ){_dfbdd :=NewXObjectImage ();return UpdateXObjectImageFromImage (_dfbdd ,img ,cs ,encoder );};
|
||
|
||
// PdfActionSound represents a sound action.
|
||
type PdfActionSound struct{*PdfAction ;Sound _ce .PdfObject ;Volume _ce .PdfObject ;Synchronous _ce .PdfObject ;Repeat _ce .PdfObject ;Mix _ce .PdfObject ;};
|
||
|
||
// K returns the value of the key component of the color.
|
||
func (_abdeb *PdfColorDeviceCMYK )K ()float64 {return float64 (_abdeb [3])};
|
||
|
||
// PdfAnnotationText represents Text annotations.
|
||
// (Section 12.5.6.4 p. 402).
|
||
type PdfAnnotationText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Open _ce .PdfObject ;Name _ce .PdfObject ;State _ce .PdfObject ;StateModel _ce .PdfObject ;};func (_feaf *Image )samplesTrimPadding (_cgbbe []uint32 )[]uint32 {_eccc :=_feaf .ColorComponents *int (_feaf .Width )*int (_feaf .Height );if len (_cgbbe )==_eccc {return _cgbbe ;};_cbcab :=make ([]uint32 ,_eccc );_bbag :=int (_feaf .Width )*_feaf .ColorComponents ;var _dgegb ,_bbbfce ,_gfbc ,_agdag int ;_babcbc :=_age .BytesPerLine (int (_feaf .Width ),int (_feaf .BitsPerComponent ),_feaf .ColorComponents );for _dgegb =0;_dgegb < int (_feaf .Height );_dgegb ++{_bbbfce =_dgegb *int (_feaf .Width );_gfbc =_dgegb *_babcbc ;for _agdag =0;_agdag < _bbag ;_agdag ++{_cbcab [_bbbfce +_agdag ]=_cgbbe [_gfbc +_agdag ];};};return _cbcab ;};func (_efgb *PdfColorspaceLab )String ()string {return "\u004c\u0061\u0062"};
|
||
|
||
// PdfAnnotationPolyLine represents PolyLine annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolyLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _ce .PdfObject ;LE _ce .PdfObject ;BS _ce .PdfObject ;IC _ce .PdfObject ;BE _ce .PdfObject ;IT _ce .PdfObject ;Measure _ce .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bbde *PdfAnnotationWidget )ToPdfObject ()_ce .PdfObject {_bbde .PdfAnnotation .ToPdfObject ();_ceca :=_bbde ._bda ;_fdca :=_ceca .PdfObject .(*_ce .PdfObjectDictionary );if _bbde ._abdg {return _ceca ;};_bbde ._abdg =true ;_fdca .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0057\u0069\u0064\u0067\u0065\u0074"));_fdca .SetIfNotNil ("\u0048",_bbde .H );_fdca .SetIfNotNil ("\u004d\u004b",_bbde .MK );_fdca .SetIfNotNil ("\u0041",_bbde .A );_fdca .SetIfNotNil ("\u0041\u0041",_bbde .AA );_fdca .SetIfNotNil ("\u0042\u0053",_bbde .BS );_fdce :=_bbde .Parent ;if _bbde ._dgg !=nil {if _bbde ._dgg ._gfeec ==_bbde ._bda {_bbde ._dgg .ToPdfObject ();};_fdce =_bbde ._dgg .GetContainingPdfObject ();};if _fdce !=_ceca {_fdca .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_fdce );};_bbde ._abdg =false ;return _ceca ;};func (_cedcd *PdfWriter )writeObject (_cdbae int ,_aebbg _ce .PdfObject ){_ebg .Log .Trace ("\u0057\u0072\u0069\u0074\u0065\u0020\u006f\u0062\u006a \u0023\u0025\u0064\u000a",_cdbae );if _dbaba ,_ffga :=_aebbg .(*_ce .PdfIndirectObject );_ffga {_cedcd ._fdadg [_cdbae ]=crossReference {Type :1,Offset :_cedcd ._agfff ,Generation :_dbaba .GenerationNumber };_dbcef :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cdbae );if _adfddb ,_adacb :=_dbaba .PdfObject .(*pdfSignDictionary );_adacb {_adfddb ._gfeca =_cedcd ._agfff +int64 (len (_dbcef ));};if _dbaba .PdfObject ==nil {_ebg .Log .Debug ("E\u0072\u0072\u006fr\u003a\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0027\u0073\u0020\u0050\u0064\u0066\u004f\u0062j\u0065\u0063\u0074 \u0073\u0068\u006f\u0075\u006c\u0064\u0020\u006e\u0065\u0076\u0065\u0072\u0020b\u0065\u0020\u006e\u0069l\u0020\u002d\u0020\u0073e\u0074\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0050\u0064\u0066\u004f\u0062\u006a\u0065\u0063t\u004e\u0075\u006c\u006c");_dbaba .PdfObject =_ce .MakeNull ();};_dbcef +=_dbaba .PdfObject .WriteString ();_dbcef +="\u000a\u0065\u006e\u0064\u006f\u0062\u006a\u000a";_cedcd .writeString (_dbcef );return ;};if _dbgag ,_gdedb :=_aebbg .(*_ce .PdfObjectStream );_gdedb {_cedcd ._fdadg [_cdbae ]=crossReference {Type :1,Offset :_cedcd ._agfff ,Generation :_dbgag .GenerationNumber };_ebgfc :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cdbae );_ebgfc +=_dbgag .PdfObjectDictionary .WriteString ();_ebgfc +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_cedcd .writeString (_ebgfc );_cedcd .writeBytes (_dbgag .Stream );_cedcd .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};if _ecebgf ,_afggc :=_aebbg .(*_ce .PdfObjectStreams );_afggc {_cedcd ._fdadg [_cdbae ]=crossReference {Type :1,Offset :_cedcd ._agfff ,Generation :_ecebgf .GenerationNumber };_ceccd :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cdbae );var _edgcb []string ;var _bdgde string ;var _eeaa int64 ;for _feae ,_gbdc :=range _ecebgf .Elements (){_dbggc ,_dffeeg :=_gbdc .(*_ce .PdfIndirectObject );if !_dffeeg {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0073\u0074\u0072\u0065am\u0073 \u004e\u0020\u0025\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006es\u0020\u006e\u006f\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u0070\u0064\u0066 \u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0025\u0076",_cdbae ,_gbdc );continue ;};_becfe :=_dbggc .PdfObject .WriteString ()+"\u0020";_bdgde =_bdgde +_becfe ;_edgcb =append (_edgcb ,_c .Sprintf ("\u0025\u0064\u0020%\u0064",_dbggc .ObjectNumber ,_eeaa ));_cedcd ._fdadg [int (_dbggc .ObjectNumber )]=crossReference {Type :2,ObjectNumber :_cdbae ,Index :_feae };_eeaa =_eeaa +int64 (len ([]byte (_becfe )));};_abgf :=_aga .Join (_edgcb ,"\u0020")+"\u0020";_gcbae :=_ce .NewFlateEncoder ();_aeeec :=_gcbae .MakeStreamDict ();_aeeec .Set (_ce .PdfObjectName ("\u0054\u0079\u0070\u0065"),_ce .MakeName ("\u004f\u0062\u006a\u0053\u0074\u006d"));_gccge :=int64 (_ecebgf .Len ());_aeeec .Set (_ce .PdfObjectName ("\u004e"),_ce .MakeInteger (_gccge ));_dbacg :=int64 (len (_abgf ));_aeeec .Set (_ce .PdfObjectName ("\u0046\u0069\u0072s\u0074"),_ce .MakeInteger (_dbacg ));_adcef ,_ :=_gcbae .EncodeBytes ([]byte (_abgf +_bdgde ));_gdag :=int64 (len (_adcef ));_aeeec .Set (_ce .PdfObjectName ("\u004c\u0065\u006e\u0067\u0074\u0068"),_ce .MakeInteger (_gdag ));_ceccd +=_aeeec .WriteString ();_ceccd +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_cedcd .writeString (_ceccd );_cedcd .writeBytes (_adcef );_cedcd .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};_cedcd .writeString (_aebbg .WriteString ());};
|
||
|
||
// GetDescent returns the Descent of the font `descriptor`.
|
||
func (_eccd *PdfFontDescriptor )GetDescent ()(float64 ,error ){return _ce .GetNumberAsFloat (_eccd .Descent );};func _ebba (_eadb _ce .PdfObject )(map[_cce .CharCode ]float64 ,error ){if _eadb ==nil {return nil ,nil ;};_bdad ,_gdeb :=_ce .GetArray (_eadb );if !_gdeb {return nil ,nil ;};_bfeag :=map[_cce .CharCode ]float64 {};_efaec :=_bdad .Len ();for _ddggc :=0;_ddggc < _efaec -1;_ddggc ++{_gdfd :=_ce .TraceToDirectObject (_bdad .Get (_ddggc ));_cgafb ,_gfggd :=_ce .GetIntVal (_gdfd );if !_gfggd {return nil ,_c .Errorf ("\u0042a\u0064\u0020\u0066\u006fn\u0074\u0020\u0057\u0020\u006fb\u006a0\u003a \u0069\u003d\u0025\u0064\u0020\u0025\u0023v",_ddggc ,_gdfd );};_ddggc ++;if _ddggc > _efaec -1{return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020a\u0072\u0072\u0061\u0079\u003a\u0020\u0061\u0072\u0072\u0032=\u0025\u002b\u0076",_bdad );};_adbeb :=_ce .TraceToDirectObject (_bdad .Get (_ddggc ));switch _adbeb .(type ){case *_ce .PdfObjectArray :_ffcbe ,_ :=_ce .GetArray (_adbeb );if _fgdfg ,_ggaab :=_ffcbe .ToFloat64Array ();_ggaab ==nil {for _cage :=0;_cage < len (_fgdfg );_cage ++{_bfeag [_cce .CharCode (_cgafb +_cage )]=_fgdfg [_cage ];};}else {return nil ,_c .Errorf ("\u0042\u0061\u0064 \u0066\u006f\u006e\u0074 \u0057\u0020\u0061\u0072\u0072\u0061\u0079 \u006f\u0062\u006a\u0031\u003a\u0020\u0069\u003d\u0025\u0064\u0020\u0025\u0023\u0076",_ddggc ,_adbeb );};case *_ce .PdfObjectInteger :_cebcf ,_gcba :=_ce .GetIntVal (_adbeb );if !_gcba {return nil ,_c .Errorf ("\u0042\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020\u0069\u006e\u0074\u0020\u006f\u0062\u006a\u0031\u003a\u0020\u0069\u003d\u0025\u0064 %\u0023\u0076",_ddggc ,_adbeb );};_ddggc ++;if _ddggc > _efaec -1{return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020a\u0072\u0072\u0061\u0079\u003a\u0020\u0061\u0072\u0072\u0032=\u0025\u002b\u0076",_bdad );};_eebc :=_bdad .Get (_ddggc );_bdeg ,_gcefb :=_ce .GetNumberAsFloat (_eebc );if _gcefb !=nil {return nil ,_c .Errorf ("\u0042\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020\u0069\u006e\u0074\u0020\u006f\u0062\u006a\u0032\u003a\u0020\u0069\u003d\u0025\u0064 %\u0023\u0076",_ddggc ,_eebc );};for _gffcgc :=_cgafb ;_gffcgc <=_cebcf ;_gffcgc ++{_bfeag [_cce .CharCode (_gffcgc )]=_bdeg ;};default:return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057 \u006f\u0062\u006a\u0031\u0020\u0074\u0079p\u0065\u003a\u0020\u0069\u003d\u0025\u0064\u0020\u0025\u0023\u0076",_ddggc ,_adbeb );};};return _bfeag ,nil ;};var _dbff =_ed .MustCompile ("\u005b\\\u006e\u005c\u0072\u005d\u002b");func (_cgaf *PdfReader )newPdfAnnotationFromIndirectObject (_agcg *_ce .PdfIndirectObject )(*PdfAnnotation ,error ){_gag ,_gaac :=_agcg .PdfObject .(*_ce .PdfObjectDictionary );if !_gaac {return nil ,_c .Errorf ("\u0061\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u006e\u006ft\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020a \u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};if model :=_cgaf ._cbdfb .GetModelFromPrimitive (_gag );model !=nil {_ddfc ,_cbd :=model .(*PdfAnnotation );if !_cbd {return nil ,_c .Errorf ("\u0063\u0061\u0063\u0068\u0065\u0064 \u006d\u006f\u0064\u0065\u006c\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0050D\u0046\u0020\u0061\u006e\u006e\u006f\u0074a\u0074\u0069\u006f\u006e");};return _ddfc ,nil ;};_gaag :=&PdfAnnotation {};_gaag ._bda =_agcg ;_cgaf ._cbdfb .Register (_gag ,_gaag );if _cefga :=_gag .Get ("\u0054\u0079\u0070\u0065");_cefga !=nil {_efa ,_ecde :=_cefga .(*_ce .PdfObjectName );if !_ecde {_ebg .Log .Trace ("\u0049\u006e\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u0021\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u006f\u0066\u0020\u0054\u0079\u0070\u0065\u0020\u0028\u0025\u0054\u0029\u0020\u002d\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u004e\u0061m\u0065",_cefga );}else {if *_efa !="\u0041\u006e\u006eo\u0074"{_ebg .Log .Trace ("\u0055\u006e\u0073\u0075\u0073\u0070\u0065\u0063\u0074\u0065d\u0020\u0054\u0079\u0070\u0065\u0020\u0021=\u0020\u0041\u006e\u006e\u006f\u0074\u0020\u0028\u0025\u0073\u0029",*_efa );};};};if _bbcd :=_gag .Get ("\u0052\u0065\u0063\u0074");_bbcd !=nil {_gaag .Rect =_bbcd ;};if _aed :=_gag .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_aed !=nil {_gaag .Contents =_aed ;};if _dcbc :=_gag .Get ("\u0050");_dcbc !=nil {_gaag .P =_dcbc ;};if _bea :=_gag .Get ("\u004e\u004d");_bea !=nil {_gaag .NM =_bea ;};if _fee :=_gag .Get ("\u004d");_fee !=nil {_gaag .M =_fee ;};if _dcbce :=_gag .Get ("\u0046");_dcbce !=nil {_gaag .F =_dcbce ;};if _deee :=_gag .Get ("\u0041\u0050");_deee !=nil {_gaag .AP =_deee ;};if _acff :=_gag .Get ("\u0041\u0053");_acff !=nil {_gaag .AS =_acff ;};if _gad :=_gag .Get ("\u0042\u006f\u0072\u0064\u0065\u0072");_gad !=nil {_gaag .Border =_gad ;};if _fad :=_gag .Get ("\u0043");_fad !=nil {_gaag .C =_fad ;};if _gagc :=_gag .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_gagc !=nil {_gaag .StructParent =_gagc ;};if _adgc :=_gag .Get ("\u004f\u0043");_adgc !=nil {_gaag .OC =_adgc ;};_gdf :=_gag .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");if _gdf ==nil {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u0049\u004e\u0047:\u0020\u0043\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079 \u0069s\u0073\u0075\u0065\u0020\u002d\u0020a\u006e\u006e\u006f\u0074\u0061\u0074\u0069o\u006e\u0020\u0053\u0075\u0062\u0074\u0079\u0070\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u002d\u0020\u0061\u0073\u0073u\u006d\u0069\u006e\u0067\u0020\u006e\u006f\u0020\u0073\u0075\u0062\u0074\u0079p\u0065");_gaag ._aff =nil ;return _gaag ,nil ;};_eca ,_add :=_gdf .(*_ce .PdfObjectName );if !_add {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0053\u0075\u0062ty\u0070\u0065\u0020\u006fb\u006a\u0065\u0063\u0074\u0020\u0074\u0079\u0070\u0065 !\u003d\u0020n\u0061\u006d\u0065\u0020\u0028\u0025\u0054\u0029",_gdf );return nil ,_c .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0075\u0062\u0074\u0079\u0070\u0065\u0020\u006f\u0062\u006ae\u0063\u0074\u0020\u0074\u0079\u0070\u0065\u0020\u0021\u003d n\u0061\u006d\u0065 \u0028%\u0054\u0029",_gdf );};switch *_eca {case "\u0054\u0065\u0078\u0074":_fdae ,_debb :=_cgaf .newPdfAnnotationTextFromDict (_gag );if _debb !=nil {return nil ,_debb ;};_fdae .PdfAnnotation =_gaag ;_gaag ._aff =_fdae ;return _gaag ,nil ;case "\u004c\u0069\u006e\u006b":_gbd ,_afeg :=_cgaf .newPdfAnnotationLinkFromDict (_gag );if _afeg !=nil {return nil ,_afeg ;};_gbd .PdfAnnotation =_gaag ;_gaag ._aff =_gbd ;return _gaag ,nil ;case "\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074":_egfb ,_acfc :=_cgaf .newPdfAnnotationFreeTextFromDict (_gag );if _acfc !=nil {return nil ,_acfc ;};_egfb .PdfAnnotation =_gaag ;_gaag ._aff =_egfb ;return _gaag ,nil ;case "\u004c\u0069\u006e\u0065":_ebfa ,_bace :=_cgaf .newPdfAnnotationLineFromDict (_gag );if _bace !=nil {return nil ,_bace ;};_ebfa .PdfAnnotation =_gaag ;_gaag ._aff =_ebfa ;_ebg .Log .Trace ("\u004c\u0049\u004e\u0045\u0020\u0041N\u004e\u004f\u0054\u0041\u0054\u0049\u004f\u004e\u003a\u0020\u0061\u006e\u006eo\u0074\u0020\u0028\u0025\u0054\u0029\u003a \u0025\u002b\u0076\u000a",_gaag ,_gaag );_ebg .Log .Trace ("\u004c\u0049\u004eE\u0020\u0041\u004e\u004eO\u0054\u0041\u0054\u0049\u004f\u004e\u003a \u0063\u0074\u0078\u0020\u0028\u0025\u0054\u0029\u003a\u0020\u0025\u002b\u0076\u000a",_ebfa ,_ebfa );_ebg .Log .Trace ("\u004c\u0049\u004e\u0045\u0020\u0041\u004e\u004e\u004f\u0054\u0041\u0054\u0049\u004f\u004e\u0020\u004d\u0061\u0072\u006b\u0075\u0070\u003a\u0020c\u0074\u0078\u0020\u0028\u0025T\u0029\u003a \u0025\u002b\u0076\u000a",_ebfa .PdfAnnotationMarkup ,_ebfa .PdfAnnotationMarkup );return _gaag ,nil ;case "\u0053\u0071\u0075\u0061\u0072\u0065":_efd ,_bgag :=_cgaf .newPdfAnnotationSquareFromDict (_gag );if _bgag !=nil {return nil ,_bgag ;};_efd .PdfAnnotation =_gaag ;_gaag ._aff =_efd ;return _gaag ,nil ;case "\u0043\u0069\u0072\u0063\u006c\u0065":_bfd ,_adag :=_cgaf .newPdfAnnotationCircleFromDict (_gag );if _adag !=nil {return nil ,_adag ;};_bfd .PdfAnnotation =_gaag ;_gaag ._aff =_bfd ;return _gaag ,nil ;case "\u0050o\u006c\u0079\u0067\u006f\u006e":_dacb ,_ceaf :=_cgaf .newPdfAnnotationPolygonFromDict (_gag );if _ceaf !=nil {return nil ,_ceaf ;};_dacb .PdfAnnotation =_gaag ;_gaag ._aff =_dacb ;return _gaag ,nil ;case "\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065":_dbgd ,_gbg :=_cgaf .newPdfAnnotationPolyLineFromDict (_gag );if _gbg !=nil {return nil ,_gbg ;};_dbgd .PdfAnnotation =_gaag ;_gaag ._aff =_dbgd ;return _gaag ,nil ;case "\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t":_ecfg ,_abg :=_cgaf .newPdfAnnotationHighlightFromDict (_gag );if _abg !=nil {return nil ,_abg ;};_ecfg .PdfAnnotation =_gaag ;_gaag ._aff =_ecfg ;return _gaag ,nil ;case "\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee":_gec ,_efg :=_cgaf .newPdfAnnotationUnderlineFromDict (_gag );if _efg !=nil {return nil ,_efg ;};_gec .PdfAnnotation =_gaag ;_gaag ._aff =_gec ;return _gaag ,nil ;case "\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079":_ceb ,_dag :=_cgaf .newPdfAnnotationSquigglyFromDict (_gag );if _dag !=nil {return nil ,_dag ;};_ceb .PdfAnnotation =_gaag ;_gaag ._aff =_ceb ;return _gaag ,nil ;case "\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t":_bgea ,_gdgb :=_cgaf .newPdfAnnotationStrikeOut (_gag );if _gdgb !=nil {return nil ,_gdgb ;};_bgea .PdfAnnotation =_gaag ;_gaag ._aff =_bgea ;return _gaag ,nil ;case "\u0043\u0061\u0072e\u0074":_ecg ,_cdd :=_cgaf .newPdfAnnotationCaretFromDict (_gag );if _cdd !=nil {return nil ,_cdd ;};_ecg .PdfAnnotation =_gaag ;_gaag ._aff =_ecg ;return _gaag ,nil ;case "\u0053\u0074\u0061m\u0070":_ebb ,_bgf :=_cgaf .newPdfAnnotationStampFromDict (_gag );if _bgf !=nil {return nil ,_bgf ;};_ebb .PdfAnnotation =_gaag ;_gaag ._aff =_ebb ;return _gaag ,nil ;case "\u0049\u006e\u006b":_gbdb ,_bfa :=_cgaf .newPdfAnnotationInkFromDict (_gag );if _bfa !=nil {return nil ,_bfa ;};_gbdb .PdfAnnotation =_gaag ;_gaag ._aff =_gbdb ;return _gaag ,nil ;case "\u0050\u006f\u0070u\u0070":_agee ,_gbda :=_cgaf .newPdfAnnotationPopupFromDict (_gag );if _gbda !=nil {return nil ,_gbda ;};_agee .PdfAnnotation =_gaag ;_gaag ._aff =_agee ;return _gaag ,nil ;case "\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074":_bbda ,_eed :=_cgaf .newPdfAnnotationFileAttachmentFromDict (_gag );if _eed !=nil {return nil ,_eed ;};_bbda .PdfAnnotation =_gaag ;_gaag ._aff =_bbda ;return _gaag ,nil ;case "\u0053\u006f\u0075n\u0064":_dgc ,_cgb :=_cgaf .newPdfAnnotationSoundFromDict (_gag );if _cgb !=nil {return nil ,_cgb ;};_dgc .PdfAnnotation =_gaag ;_gaag ._aff =_dgc ;return _gaag ,nil ;case "\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a":_bbg ,_bgbf :=_cgaf .newPdfAnnotationRichMediaFromDict (_gag );if _bgbf !=nil {return nil ,_bgbf ;};_bbg .PdfAnnotation =_gaag ;_gaag ._aff =_bbg ;return _gaag ,nil ;case "\u004d\u006f\u0076i\u0065":_gda ,_begg :=_cgaf .newPdfAnnotationMovieFromDict (_gag );if _begg !=nil {return nil ,_begg ;};_gda .PdfAnnotation =_gaag ;_gaag ._aff =_gda ;return _gaag ,nil ;case "\u0053\u0063\u0072\u0065\u0065\u006e":_fadc ,_dcgb :=_cgaf .newPdfAnnotationScreenFromDict (_gag );if _dcgb !=nil {return nil ,_dcgb ;};_fadc .PdfAnnotation =_gaag ;_gaag ._aff =_fadc ;return _gaag ,nil ;case "\u0057\u0069\u0064\u0067\u0065\u0074":_adc ,_effc :=_cgaf .newPdfAnnotationWidgetFromDict (_gag );if _effc !=nil {return nil ,_effc ;};_adc .PdfAnnotation =_gaag ;_gaag ._aff =_adc ;return _gaag ,nil ;case "P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b":_gcc ,_bab :=_cgaf .newPdfAnnotationPrinterMarkFromDict (_gag );if _bab !=nil {return nil ,_bab ;};_gcc .PdfAnnotation =_gaag ;_gaag ._aff =_gcc ;return _gaag ,nil ;case "\u0054r\u0061\u0070\u004e\u0065\u0074":_fdad ,_eaea :=_cgaf .newPdfAnnotationTrapNetFromDict (_gag );if _eaea !=nil {return nil ,_eaea ;};_fdad .PdfAnnotation =_gaag ;_gaag ._aff =_fdad ;return _gaag ,nil ;case "\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k":_bcee ,_gfdd :=_cgaf .newPdfAnnotationWatermarkFromDict (_gag );if _gfdd !=nil {return nil ,_gfdd ;};_bcee .PdfAnnotation =_gaag ;_gaag ._aff =_bcee ;return _gaag ,nil ;case "\u0033\u0044":_agda ,_bfc :=_cgaf .newPdfAnnotation3DFromDict (_gag );if _bfc !=nil {return nil ,_bfc ;};_agda .PdfAnnotation =_gaag ;_gaag ._aff =_agda ;return _gaag ,nil ;case "\u0050\u0072\u006f\u006a\u0065\u0063\u0074\u0069\u006f\u006e":_bcb ,_gbef :=_cgaf .newPdfAnnotationProjectionFromDict (_gag );if _gbef !=nil {return nil ,_gbef ;};_bcb .PdfAnnotation =_gaag ;_gaag ._aff =_bcb ;return _gaag ,nil ;case "\u0052\u0065\u0064\u0061\u0063\u0074":_gde ,_bfb :=_cgaf .newPdfAnnotationRedactFromDict (_gag );if _bfb !=nil {return nil ,_bfb ;};_gde .PdfAnnotation =_gaag ;_gaag ._aff =_gde ;return _gaag ,nil ;};_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u0067\u006e\u006f\u0072\u0069\u006e\u0067\u0020\u0075\u006e\u006b\u006e\u006f\u0077\u006e\u0020a\u006e\u006e\u006f\u0074\u0061t\u0069\u006fn\u003a\u0020\u0025\u0073",*_eca );return nil ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three elements representing the
|
||
// L (range 0-100), A (range -100-100) and B (range -100-100) components of
|
||
// the color.
|
||
func (_eeeb *PdfColorspaceLab )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_adafb :=vals [0];if _adafb < 0.0||_adafb > 100.0{_ebg .Log .Debug ("\u004c\u0020\u006f\u0075\u0074\u0020\u006f\u0066\u0020\u0072\u0061\u006e\u0067e\u0020\u0028\u0067\u006f\u0074\u0020%\u0076\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030-\u0031\u0030\u0030\u0029",_adafb );return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdgbd :=vals [1];_egbg :=float64 (-100);_fcee :=float64 (100);if len (_eeeb .Range )> 1{_egbg =_eeeb .Range [0];_fcee =_eeeb .Range [1];};if _bdgbd < _egbg ||_bdgbd > _fcee {_ebg .Log .Debug ("\u0041\u0020\u006f\u0075\u0074\u0020\u006f\u0066\u0020\u0072\u0061\u006e\u0067e\u0020\u0028\u0067\u006f\u0074\u0020%\u0076\u003b\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0025\u0076\u0020\u0074o\u0020\u0025\u0076\u0029",_bdgbd ,_egbg ,_fcee );return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gea :=vals [2];_bgeag :=float64 (-100);_cccf :=float64 (100);if len (_eeeb .Range )> 3{_bgeag =_eeeb .Range [2];_cccf =_eeeb .Range [3];};if _gea < _bgeag ||_gea > _cccf {_ebg .Log .Debug ("\u0062\u0020\u006f\u0075\u0074\u0020\u006f\u0066\u0020\u0072\u0061\u006e\u0067e\u0020\u0028\u0067\u006f\u0074\u0020%\u0076\u003b\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0025\u0076\u0020\u0074o\u0020\u0025\u0076\u0029",_gea ,_bgeag ,_cccf );return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fbga :=NewPdfColorLab (_adafb ,_bdgbd ,_gea );return _fbga ,nil ;};func _eeafc (_bdffd *_ce .PdfObjectArray )(float64 ,error ){_gebeg ,_fbfegc :=_bdffd .ToFloat64Array ();if _fbfegc !=nil {_ebg .Log .Debug ("\u0042\u0061\u0064\u0020\u004d\u0061\u0074\u0074\u0065\u0020\u0061\u0072\u0072\u0061\u0079:\u0020m\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_bdffd ,_fbfegc );};switch len (_gebeg ){case 1:return _gebeg [0],nil ;case 3:_dgbac :=PdfColorspaceDeviceRGB {};_egeed ,_cfedba :=_dgbac .ColorFromFloats (_gebeg );if _cfedba !=nil {return 0.0,_cfedba ;};return _egeed .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;case 4:_bdgaa :=PdfColorspaceDeviceCMYK {};_bccaf ,_gaccf :=_bdgaa .ColorFromFloats (_gebeg );if _gaccf !=nil {return 0.0,_gaccf ;};_cbege ,_gaccf :=_bdgaa .ColorToRGB (_bccaf .(*PdfColorDeviceCMYK ));if _gaccf !=nil {return 0.0,_gaccf ;};return _cbege .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;};_fbfegc =_gd .New ("\u0062a\u0064 \u004d\u0061\u0074\u0074\u0065\u0020\u0063\u006f\u006c\u006f\u0072");_ebg .Log .Error ("\u0074\u006f\u0047ra\u0079\u003a\u0020\u006d\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_bdffd ,_fbfegc );return 0.0,_fbfegc ;};
|
||
|
||
// NewCompositePdfFontFromTTF loads a composite TTF font. Composite fonts can
|
||
// be used to represent unicode fonts which can have multi-byte character codes, representing a wide
|
||
// range of values. They are often used for symbolic languages, including Chinese, Japanese and Korean.
|
||
// It is represented by a Type0 Font with an underlying CIDFontType2 and an Identity-H encoding map.
|
||
// TODO: May be extended in the future to support a larger variety of CMaps and vertical fonts.
|
||
// NOTE: For simple fonts, use NewPdfFontFromTTF.
|
||
func NewCompositePdfFontFromTTF (r _cg .ReadSeeker )(*PdfFont ,error ){_fgfd ,_befe :=_dd .ReadAll (r );if _befe !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065 \u0074\u006f\u0020\u0072\u0065\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074s\u003a\u0020\u0025\u0076",_befe );return nil ,_befe ;};_acad ,_befe :=_cc .TtfParse (_f .NewReader (_fgfd ));if _befe !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0077\u0068\u0069\u006c\u0065\u0020\u006c\u006f\u0061\u0064\u0069\u006e\u0067 \u0074\u0074\u0066\u0020\u0066\u006f\u006et\u003a\u0020\u0025\u0076",_befe );return nil ,_befe ;};_daece :=&pdfCIDFontType2 {fontCommon :fontCommon {_dbbag :"\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"},CIDToGIDMap :_ce .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079")};_cbfb :=make ([]rune ,0,len (_acad .Chars ));for _ddeec :=range _acad .Chars {_cbfb =append (_cbfb ,rune (_ddeec ));};_ba .Slice (_cbfb ,func (_ffeg ,_cbfa int )bool {return _cbfb [_ffeg ]< _cbfb [_cbfa ]});_cgeae :=1000.0/float64 (_acad .UnitsPerEm );if len (_acad .Widths )<=0{return nil ,_gd .New ("\u0045\u0052\u0052O\u0052\u003a\u0020\u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0072\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065 \u0028\u0057\u0069\u0064\u0074\u0068\u0073\u0029");};_aeafb :=_cgeae *float64 (_acad .Widths [0]);_ffcce :=make (map[rune ]int );for _ ,_fffc :=range _cbfb {_gfegd :=_acad .Chars [_fffc ];_dgbfb :=_cgeae *float64 (_acad .Widths [_gfegd ]);_ffcce [_fffc ]=int (_dgbfb );};_daece ._fabd =_ffcce ;_daece .DW =_ce .MakeInteger (int64 (_aeafb ));_eeadd :=_gaadf (_cbfb ,_ffcce ,_acad .Chars );_daece .W =_ce .MakeIndirectObject (_eeadd );_ccfc :=_ce .MakeDict ();_ccfc .Set ("\u004f\u0072\u0064\u0065\u0072\u0069\u006e\u0067",_ce .MakeString ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079"));_ccfc .Set ("\u0052\u0065\u0067\u0069\u0073\u0074\u0072\u0079",_ce .MakeString ("\u0041\u0064\u006fb\u0065"));_ccfc .Set ("\u0053\u0075\u0070\u0070\u006c\u0065\u006d\u0065\u006e\u0074",_ce .MakeInteger (0));_daece .CIDSystemInfo =_ccfc ;_dbafb :=&PdfFontDescriptor {FontName :_ce .MakeName (_acad .PostScriptName ),Ascent :_ce .MakeFloat (_cgeae *float64 (_acad .TypoAscender )),Descent :_ce .MakeFloat (_cgeae *float64 (_acad .TypoDescender )),CapHeight :_ce .MakeFloat (_cgeae *float64 (_acad .CapHeight )),FontBBox :_ce .MakeArrayFromFloats ([]float64 {_cgeae *float64 (_acad .Xmin ),_cgeae *float64 (_acad .Ymin ),_cgeae *float64 (_acad .Xmax ),_cgeae *float64 (_acad .Ymax )}),ItalicAngle :_ce .MakeFloat (float64 (_acad .ItalicAngle )),MissingWidth :_ce .MakeFloat (_cgeae *float64 (_acad .Widths [0]))};_ffdf ,_befe :=_ce .MakeStream (_fgfd ,_ce .NewFlateEncoder ());if _befe !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065\u0020\u0074o\u0020m\u0061\u006b\u0065\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u003a\u0020\u0025\u0076",_befe );return nil ,_befe ;};_ffdf .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_ce .MakeInteger (int64 (len (_fgfd ))));_dbafb .FontFile2 =_ffdf ;if _acad .Bold {_dbafb .StemV =_ce .MakeInteger (120);}else {_dbafb .StemV =_ce .MakeInteger (70);};_ccbed :=_begeb ;if _acad .IsFixedPitch {_ccbed |=_fgae ;};if _acad .ItalicAngle !=0{_ccbed |=_cccc ;};_dbafb .Flags =_ce .MakeInteger (int64 (_ccbed ));_daece ._agcagf =_acad .PostScriptName ;_daece ._adae =_dbafb ;_dfgg :=pdfFontType0 {fontCommon :fontCommon {_dbbag :"\u0054\u0079\u0070e\u0030",_agcagf :_acad .PostScriptName },DescendantFont :&PdfFont {_decac :_daece },Encoding :_ce .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"),_gedcf :_acad .NewEncoder ()};if len (_acad .Chars )> 0{_dadd :=make (map[_fa .CharCode ]rune ,len (_acad .Chars ));for _gged ,_afdge :=range _acad .Chars {_egfc :=_fa .CharCode (_afdge );if _deab ,_aacfd :=_dadd [_egfc ];!_aacfd ||(_aacfd &&_deab > _gged ){_dadd [_egfc ]=_gged ;};};_dfgg ._fefb =_fa .NewToUnicodeCMap (_dadd );};_dcfdc :=PdfFont {_decac :&_dfgg };return &_dcfdc ,nil ;};func (_bffag *PdfReader )buildPageList (_fcfdg *_ce .PdfIndirectObject ,_ggbfd *_ce .PdfIndirectObject ,_cbafg map[_ce .PdfObject ]struct{})error {if _fcfdg ==nil {return nil ;};if _ ,_deaag :=_cbafg [_fcfdg ];_deaag {_ebg .Log .Debug ("\u0043\u0079\u0063l\u0069\u0063\u0020\u0072e\u0063\u0075\u0072\u0073\u0069\u006f\u006e,\u0020\u0073\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u0020\u0028\u0025\u0076\u0029",_fcfdg .ObjectNumber );return nil ;};_cbafg [_fcfdg ]=struct{}{};_ggbdd ,_ceegb :=_fcfdg .PdfObject .(*_ce .PdfObjectDictionary );if !_ceegb {return _gd .New ("n\u006f\u0064\u0065\u0020no\u0074 \u0061\u0020\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");};_dedgg ,_ceegb :=(*_ggbdd ).Get ("\u0054\u0079\u0070\u0065").(*_ce .PdfObjectName );if !_ceegb {if _ggbdd .Get ("\u004b\u0069\u0064\u0073")==nil {return _gd .New ("\u006e\u006f\u0064\u0065 \u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0054\u0079p\u0065 \u0028\u0052\u0065\u0071\u0075\u0069\u0072e\u0064\u0029");};_ebg .Log .Debug ("ER\u0052\u004fR\u003a\u0020\u006e\u006f\u0064\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067\u0020\u0054\u0079\u0070\u0065\u002c\u0020\u0062\u0075\u0074\u0020\u0068\u0061\u0073\u0020\u004b\u0069\u0064\u0073\u002e\u0020\u0041\u0073\u0073u\u006di\u006e\u0067\u0020\u0050\u0061\u0067\u0065\u0073 \u006eo\u0064\u0065.");_dedgg =_ce .MakeName ("\u0050\u0061\u0067e\u0073");_ggbdd .Set ("\u0054\u0079\u0070\u0065",_dedgg );};_ebg .Log .Trace ("\u0062\u0075\u0069\u006c\u0064\u0050a\u0067\u0065\u004c\u0069\u0073\u0074\u0020\u006e\u006f\u0064\u0065\u0020\u0074y\u0070\u0065\u003a\u0020\u0025\u0073\u0020(\u0025\u002b\u0076\u0029",*_dedgg ,_fcfdg );if *_dedgg =="\u0050\u0061\u0067\u0065"{_edae ,_gbeba :=_bffag .newPdfPageFromDict (_ggbdd );if _gbeba !=nil {return _gbeba ;};_edae .setContainer (_fcfdg );if _ggbfd !=nil {_ggbdd .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ggbfd );};_bffag ._gggg =append (_bffag ._gggg ,_fcfdg );_bffag .PageList =append (_bffag .PageList ,_edae );return nil ;};if *_dedgg !="\u0050\u0061\u0067e\u0073"{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0054\u0061\u0062\u006c\u0065\u0020\u006f\u0066\u0020\u0063\u006fnt\u0065n\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067 \u006e\u006f\u006e\u0020\u0050\u0061\u0067\u0065\u002f\u0050\u0061\u0067\u0065\u0073\u0020\u006f\u0062j\u0065\u0063\u0074\u0021\u0020\u0028\u0025\u0073\u0029",_dedgg );return _gd .New ("\u0074\u0061\u0062\u006c\u0065\u0020o\u0066\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067 \u006e\u006f\u006e\u0020\u0050\u0061\u0067\u0065\u002f\u0050\u0061\u0067\u0065\u0073 \u006fb\u006a\u0065\u0063\u0074");};if _ggbfd !=nil {_ggbdd .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ggbfd );};if !_bffag ._ebegg {_aafa :=_bffag .traverseObjectData (_fcfdg );if _aafa !=nil {return _aafa ;};};_ecfc ,_cfbbd :=_bffag ._dbfe .Resolve (_ggbdd .Get ("\u004b\u0069\u0064\u0073"));if _cfbbd !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0046\u0061\u0069\u006c\u0065\u0064\u0020\u006c\u006f\u0061\u0064\u0069\u006eg\u0020\u004b\u0069\u0064\u0073\u0020\u006fb\u006a\u0065\u0063\u0074");return _cfbbd ;};var _gcbbb *_ce .PdfObjectArray ;_gcbbb ,_ceegb =_ecfc .(*_ce .PdfObjectArray );if !_ceegb {_eaae ,_abfgb :=_ecfc .(*_ce .PdfIndirectObject );if !_abfgb {return _gd .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_gcbbb ,_ceegb =_eaae .PdfObject .(*_ce .PdfObjectArray );if !_ceegb {return _gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u0069\u006ed\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006ae\u0063\u0074");};};_ebg .Log .Trace ("\u004b\u0069\u0064\u0073\u003a\u0020\u0025\u0073",_gcbbb );for _edcca ,_aecg :=range _gcbbb .Elements (){_fedc ,_begae :=_ce .GetIndirect (_aecg );if !_begae {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0050\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074 \u006f\u0062\u006a\u0065\u0063t\u0020\u002d \u0028\u0025\u0073\u0029",_fedc );return _gd .New ("\u0070a\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_gcbbb .Set (_edcca ,_fedc );_cfbbd =_bffag .buildPageList (_fedc ,_fcfdg ,_cbafg );if _cfbbd !=nil {return _cfbbd ;};};return nil ;};var _babd ="";func (_bge *PdfReader )newPdfActionSubmitFormFromDict (_dbc *_ce .PdfObjectDictionary )(*PdfActionSubmitForm ,error ){_cgff ,_ddg :=_cbc (_dbc .Get ("\u0046"));if _ddg !=nil {return nil ,_ddg ;};return &PdfActionSubmitForm {F :_cgff ,Fields :_dbc .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_dbc .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// NewPdfColorspaceFromPdfObject loads a PdfColorspace from a PdfObject. Returns an error if there is
|
||
// a failure in loading.
|
||
func NewPdfColorspaceFromPdfObject (obj _ce .PdfObject )(PdfColorspace ,error ){var _adbag *_ce .PdfIndirectObject ;var _bbfce *_ce .PdfObjectName ;var _dbgaf *_ce .PdfObjectArray ;if _gccc ,_faagd :=obj .(*_ce .PdfIndirectObject );_faagd {_adbag =_gccc ;};obj =_ce .TraceToDirectObject (obj );switch _gcgcb :=obj .(type ){case *_ce .PdfObjectArray :_dbgaf =_gcgcb ;case *_ce .PdfObjectName :_bbfce =_gcgcb ;};if _bbfce !=nil {switch *_bbfce {case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":return NewPdfColorspaceDeviceGray (),nil ;case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":return NewPdfColorspaceDeviceRGB (),nil ;case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":return NewPdfColorspaceDeviceCMYK (),nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return NewPdfColorspaceSpecialPattern (),nil ;default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004fR\u003a\u0020\u0055\u006e\u006b\u006e\u006f\u0077\u006e\u0020c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065 \u0025\u0073",*_bbfce );return nil ,_dage ;};};if _dbgaf !=nil &&_dbgaf .Len ()> 0{var _fegd _ce .PdfObject =_adbag ;if _adbag ==nil {_fegd =_dbgaf ;};if _dcagb ,_afbf :=_ce .GetName (_dbgaf .Get (0));_afbf {switch _dcagb .String (){case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":if _dbgaf .Len ()==1{return NewPdfColorspaceDeviceGray (),nil ;};case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":if _dbgaf .Len ()==1{return NewPdfColorspaceDeviceRGB (),nil ;};case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _dbgaf .Len ()==1{return NewPdfColorspaceDeviceCMYK (),nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079":return _cbcc (_fegd );case "\u0043\u0061\u006c\u0052\u0047\u0042":return _ccfg (_fegd );case "\u004c\u0061\u0062":return _eccga (_fegd );case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064":return _fgdf (_fegd );case "\u0050a\u0074\u0074\u0065\u0072\u006e":return _dbce (_fegd );case "\u0049n\u0064\u0065\u0078\u0065\u0064":return _egbdb (_fegd );case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e":return _cfcg (_fegd );case "\u0044e\u0076\u0069\u0063\u0065\u004e":return _eafb (_fegd );default:_ebg .Log .Debug ("A\u0072\u0072\u0061\u0079\u0020\u0077i\u0074\u0068\u0020\u0069\u006e\u0076\u0061\u006c\u0069d\u0020\u006e\u0061m\u0065:\u0020\u0025\u0073",*_dcagb );};};};_ebg .Log .Debug ("\u0050\u0044\u0046\u0020\u0046i\u006c\u0065\u0020\u0045\u0072\u0072\u006f\u0072\u003a\u0020\u0043\u006f\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",obj .String ());return nil ,ErrTypeCheck ;};
|
||
|
||
// ToPdfObject returns the PdfFontDescriptor as a PDF dictionary inside an indirect object.
|
||
func (_fbfda *PdfFontDescriptor )ToPdfObject ()_ce .PdfObject {_dfdae :=_ce .MakeDict ();if _fbfda ._ddbce ==nil {_fbfda ._ddbce =&_ce .PdfIndirectObject {};};_fbfda ._ddbce .PdfObject =_dfdae ;_dfdae .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"));if _fbfda .FontName !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_fbfda .FontName );};if _fbfda .FontFamily !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079",_fbfda .FontFamily );};if _fbfda .FontStretch !=nil {_dfdae .Set ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068",_fbfda .FontStretch );};if _fbfda .FontWeight !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074",_fbfda .FontWeight );};if _fbfda .Flags !=nil {_dfdae .Set ("\u0046\u006c\u0061g\u0073",_fbfda .Flags );};if _fbfda .FontBBox !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078",_fbfda .FontBBox );};if _fbfda .ItalicAngle !=nil {_dfdae .Set ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065",_fbfda .ItalicAngle );};if _fbfda .Ascent !=nil {_dfdae .Set ("\u0041\u0073\u0063\u0065\u006e\u0074",_fbfda .Ascent );};if _fbfda .Descent !=nil {_dfdae .Set ("\u0044e\u0073\u0063\u0065\u006e\u0074",_fbfda .Descent );};if _fbfda .Leading !=nil {_dfdae .Set ("\u004ce\u0061\u0064\u0069\u006e\u0067",_fbfda .Leading );};if _fbfda .CapHeight !=nil {_dfdae .Set ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t",_fbfda .CapHeight );};if _fbfda .XHeight !=nil {_dfdae .Set ("\u0058H\u0065\u0069\u0067\u0068\u0074",_fbfda .XHeight );};if _fbfda .StemV !=nil {_dfdae .Set ("\u0053\u0074\u0065m\u0056",_fbfda .StemV );};if _fbfda .StemH !=nil {_dfdae .Set ("\u0053\u0074\u0065m\u0048",_fbfda .StemH );};if _fbfda .AvgWidth !=nil {_dfdae .Set ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068",_fbfda .AvgWidth );};if _fbfda .MaxWidth !=nil {_dfdae .Set ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068",_fbfda .MaxWidth );};if _fbfda .MissingWidth !=nil {_dfdae .Set ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068",_fbfda .MissingWidth );};if _fbfda .FontFile !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065",_fbfda .FontFile );};if _fbfda .FontFile2 !=nil {_dfdae .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652",_fbfda .FontFile2 );};if _fbfda .FontFile3 !=nil {_dfdae .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653",_fbfda .FontFile3 );};if _fbfda .CharSet !=nil {_dfdae .Set ("\u0043h\u0061\u0072\u0053\u0065\u0074",_fbfda .CharSet );};if _fbfda .Style !=nil {_dfdae .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_fbfda .FontName );};if _fbfda .Lang !=nil {_dfdae .Set ("\u004c\u0061\u006e\u0067",_fbfda .Lang );};if _fbfda .FD !=nil {_dfdae .Set ("\u0046\u0044",_fbfda .FD );};if _fbfda .CIDSet !=nil {_dfdae .Set ("\u0043\u0049\u0044\u0053\u0065\u0074",_fbfda .CIDSet );};return _fbfda ._ddbce ;};
|
||
|
||
// PdfAnnotationRedact represents Redact annotations.
|
||
// (Section 12.5.6.23).
|
||
type PdfAnnotationRedact struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _ce .PdfObject ;IC _ce .PdfObject ;RO _ce .PdfObject ;OverlayText _ce .PdfObject ;Repeat _ce .PdfObject ;DA _ce .PdfObject ;Q _ce .PdfObject ;};
|
||
|
||
// NewPdfColorCalRGB returns a new CalRBG color.
|
||
func NewPdfColorCalRGB (a ,b ,c float64 )*PdfColorCalRGB {_edfd :=PdfColorCalRGB {a ,b ,c };return &_edfd ;};
|
||
|
||
// FlattenFields flattens the form fields and annotations for the PDF loaded in `pdf` and makes
|
||
// non-editable.
|
||
// Looks up all widget annotations corresponding to form fields and flattens them by drawing the content
|
||
// through the content stream rather than annotations.
|
||
// References to flattened annotations will be removed from Page Annots array. For fields the AcroForm entry
|
||
// will be emptied.
|
||
// When `allannots` is true, all annotations will be flattened. Keep false if want to keep non-form related
|
||
// annotations intact.
|
||
// When `appgen` is not nil, it will be used to generate appearance streams for the field annotations.
|
||
func (_bacf *PdfReader )FlattenFields (allannots bool ,appgen FieldAppearanceGenerator )error {return _bacf .flattenFieldsWithOpts (allannots ,appgen ,nil );};
|
||
|
||
// SetName sets the `Name` field of the signature.
|
||
func (_gdafb *PdfSignature )SetName (name string ){_gdafb .Name =_ce .MakeString (name )};func _dbce (_eagea _ce .PdfObject )(*PdfColorspaceSpecialPattern ,error ){_ebg .Log .Trace ("\u004e\u0065\u0077\u0020\u0050\u0061\u0074\u0074\u0065\u0072n\u0020\u0043\u0053\u0020\u0066\u0072\u006fm\u0020\u006f\u0062\u006a\u003a\u0020\u0025\u0073\u0020\u0025\u0054",_eagea .String (),_eagea );_daecd :=NewPdfColorspaceSpecialPattern ();if _dacea ,_agdd :=_eagea .(*_ce .PdfIndirectObject );_agdd {_daecd ._edbdd =_dacea ;};_eagea =_ce .TraceToDirectObject (_eagea );if _agbac ,_dbfb :=_eagea .(*_ce .PdfObjectName );_dbfb {if *_agbac !="\u0050a\u0074\u0074\u0065\u0072\u006e"{return nil ,_c .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};return _daecd ,nil ;};_bdfbg ,_gfadd :=_eagea .(*_ce .PdfObjectArray );if !_gfadd {_ebg .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061t\u0074\u0065\u0072\u006e\u0020\u0043\u0053 \u004f\u0062\u006a\u0065\u0063\u0074\u003a\u0020\u0025\u0023\u0076",_eagea );return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0050\u0061\u0074\u0074e\u0072n\u0020C\u0053\u0020\u006f\u0062\u006a\u0065\u0063t");};if _bdfbg .Len ()!=1&&_bdfbg .Len ()!=2{_ebg .Log .Error ("\u0049\u006ev\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079\u003a %\u0023\u0076",_bdfbg );return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065r\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079");};_eagea =_bdfbg .Get (0);if _gbdaf ,_fegc :=_eagea .(*_ce .PdfObjectName );_fegc {if *_gbdaf !="\u0050a\u0074\u0074\u0065\u0072\u006e"{_ebg .Log .Error ("\u0049\u006e\u0076al\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065\u0072n\u0020C\u0053 \u0061r\u0072\u0061\u0079\u0020\u006e\u0061\u006d\u0065\u003a\u0020\u0025\u0023\u0076",_gbdaf );return nil ,_c .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};};if _bdfbg .Len ()> 1{_eagea =_bdfbg .Get (1);_eagea =_ce .TraceToDirectObject (_eagea );_adff ,_cfcdg :=NewPdfColorspaceFromPdfObject (_eagea );if _cfcdg !=nil {return nil ,_cfcdg ;};_daecd .UnderlyingCS =_adff ;};_ebg .Log .Trace ("R\u0065\u0074\u0075\u0072\u006e\u0069\u006e\u0067\u0020\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0077i\u0074\u0068\u0020\u0075\u006e\u0064\u0065\u0072\u006c\u0079in\u0067\u0020\u0063s\u003a \u0025\u0054",_daecd .UnderlyingCS );return _daecd ,nil ;};
|
||
|
||
// PdfColorspaceICCBased format [/ICCBased stream]
|
||
//
|
||
// The stream shall contain the ICC profile.
|
||
// A conforming reader shall support ICC.1:2004:10 as required by PDF 1.7, which will enable it
|
||
// to properly render all embedded ICC profiles regardless of the PDF version
|
||
//
|
||
// In the current implementation, we rely on the alternative colormap provided.
|
||
type PdfColorspaceICCBased struct{N int ;Alternate PdfColorspace ;
|
||
|
||
// If omitted ICC not supported: then use DeviceGray,
|
||
// DeviceRGB or DeviceCMYK for N=1,3,4 respectively.
|
||
Range []float64 ;Metadata *_ce .PdfObjectStream ;Data []byte ;_cecc *_ce .PdfIndirectObject ;_bddg *_ce .PdfObjectStream ;};func (_cfb *PdfReader )newPdfAnnotationFileAttachmentFromDict (_ddbc *_ce .PdfObjectDictionary )(*PdfAnnotationFileAttachment ,error ){_gfff :=PdfAnnotationFileAttachment {};_aeg ,_fgbgd :=_cfb .newPdfAnnotationMarkupFromDict (_ddbc );if _fgbgd !=nil {return nil ,_fgbgd ;};_gfff .PdfAnnotationMarkup =_aeg ;_gfff .FS =_ddbc .Get ("\u0046\u0053");_gfff .Name =_ddbc .Get ("\u004e\u0061\u006d\u0065");return &_gfff ,nil ;};
|
||
|
||
// ToPdfObject sets the common field elements.
|
||
// Note: Call the more field context's ToPdfObject to set both the generic and
|
||
// non-generic information.
|
||
func (_cccbf *PdfField )ToPdfObject ()_ce .PdfObject {_beae :=_cccbf ._gfeec ;_bada :=_beae .PdfObject .(*_ce .PdfObjectDictionary );_bgadb :=_ce .MakeArray ();for _ ,_gab :=range _cccbf .Kids {_bgadb .Append (_gab .ToPdfObject ());};for _ ,_gbff :=range _cccbf .Annotations {if _gbff ._bda !=_cccbf ._gfeec {_bgadb .Append (_gbff .GetContext ().ToPdfObject ());};};if _cccbf .Parent !=nil {_bada .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_cccbf .Parent .GetContainingPdfObject ());};if _bgadb .Len ()> 0{_bada .Set ("\u004b\u0069\u0064\u0073",_bgadb );};_bada .SetIfNotNil ("\u0046\u0054",_cccbf .FT );_bada .SetIfNotNil ("\u0054",_cccbf .T );_bada .SetIfNotNil ("\u0054\u0055",_cccbf .TU );_bada .SetIfNotNil ("\u0054\u004d",_cccbf .TM );_bada .SetIfNotNil ("\u0046\u0066",_cccbf .Ff );_bada .SetIfNotNil ("\u0056",_cccbf .V );_bada .SetIfNotNil ("\u0044\u0056",_cccbf .DV );_bada .SetIfNotNil ("\u0041\u0041",_cccbf .AA );return _beae ;};
|
||
|
||
// PdfAnnotationSquiggly represents Squiggly annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationSquiggly struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _ce .PdfObject ;};
|
||
|
||
// NewXObjectImageFromStream builds the image xobject from a stream object.
|
||
// An image dictionary is the dictionary portion of a stream object representing an image XObject.
|
||
func NewXObjectImageFromStream (stream *_ce .PdfObjectStream )(*XObjectImage ,error ){_febff :=&XObjectImage {};_febff ._gfag =stream ;_eeaddd :=*(stream .PdfObjectDictionary );_cdefg ,_aedcb :=_ce .NewEncoderFromStream (stream );if _aedcb !=nil {return nil ,_aedcb ;};_febff .Filter =_cdefg ;if _deaed :=_ce .TraceToDirectObject (_eeaddd .Get ("\u0057\u0069\u0064t\u0068"));_deaed !=nil {_aedcg ,_ebda :=_deaed .(*_ce .PdfObjectInteger );if !_ebda {return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0069\u006d\u0061g\u0065\u0020\u0077\u0069\u0064\u0074\u0068\u0020\u006f\u0062j\u0065\u0063\u0074");};_bbba :=int64 (*_aedcg );_febff .Width =&_bbba ;}else {return nil ,_gd .New ("\u0077\u0069\u0064\u0074\u0068\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _bfgbb :=_ce .TraceToDirectObject (_eeaddd .Get ("\u0048\u0065\u0069\u0067\u0068\u0074"));_bfgbb !=nil {_bdcea ,_dbfge :=_bfgbb .(*_ce .PdfObjectInteger );if !_dbfge {return nil ,_gd .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_fdaag :=int64 (*_bdcea );_febff .Height =&_fdaag ;}else {return nil ,_gd .New ("\u0068\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};if _cdgcf :=_ce .TraceToDirectObject (_eeaddd .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065"));_cdgcf !=nil {_caceg ,_fgcda :=NewPdfColorspaceFromPdfObject (_cdgcf );if _fgcda !=nil {return nil ,_fgcda ;};_febff .ColorSpace =_caceg ;}else {_ebg .Log .Debug ("\u0058\u004f\u0062\u006a\u0065\u0063t\u0020\u0049\u006d\u0061\u0067e\u0020\u0063\u006f\u006c\u006f\u0072s\u0070\u0061\u0063\u0065\u0020n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064 \u002d\u0020\u0061\u0073\u0073\u0075\u006d\u0069\u006e\u0067\u0020\u0031\u0020\u0063\u006fl\u006f\u0072\u0020\u0063\u006f\u006d\u0070\u006fn\u0065\u006e\u0074");_febff .ColorSpace =NewPdfColorspaceDeviceGray ();};if _afaba :=_ce .TraceToDirectObject (_eeaddd .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"));_afaba !=nil {_gaabgc ,_dffeb :=_afaba .(*_ce .PdfObjectInteger );if !_dffeb {return nil ,_gd .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_geaag :=int64 (*_gaabgc );_febff .BitsPerComponent =&_geaag ;};_febff .Intent =_eeaddd .Get ("\u0049\u006e\u0074\u0065\u006e\u0074");_febff .ImageMask =_eeaddd .Get ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k");_febff .Mask =_eeaddd .Get ("\u004d\u0061\u0073\u006b");_febff .Decode =_eeaddd .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");_febff .Interpolate =_eeaddd .Get ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065");_febff .Alternatives =_eeaddd .Get ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073");_febff .SMask =_eeaddd .Get ("\u0053\u004d\u0061s\u006b");_febff .SMaskInData =_eeaddd .Get ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061");_febff .Matte =_eeaddd .Get ("\u004d\u0061\u0074t\u0065");_febff .Name =_eeaddd .Get ("\u004e\u0061\u006d\u0065");_febff .StructParent =_eeaddd .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_febff .ID =_eeaddd .Get ("\u0049\u0044");_febff .OPI =_eeaddd .Get ("\u004f\u0050\u0049");_febff .Metadata =_eeaddd .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_febff .OC =_eeaddd .Get ("\u004f\u0043");_febff .Stream =stream .Stream ;return _febff ,nil ;};const (FieldFlagClear FieldFlag =0;FieldFlagReadOnly FieldFlag =1;FieldFlagRequired FieldFlag =(1<<1);FieldFlagNoExport FieldFlag =(2<<1);FieldFlagNoToggleToOff FieldFlag =(1<<14);FieldFlagRadio FieldFlag =(1<<15);FieldFlagPushbutton FieldFlag =(1<<16);FieldFlagRadiosInUnision FieldFlag =(1<<25);FieldFlagMultiline FieldFlag =(1<<12);FieldFlagPassword FieldFlag =(1<<13);FieldFlagFileSelect FieldFlag =(1<<20);FieldFlagDoNotScroll FieldFlag =(1<<23);FieldFlagComb FieldFlag =(1<<24);FieldFlagRichText FieldFlag =(1<<25);FieldFlagDoNotSpellCheck FieldFlag =(1<<22);FieldFlagCombo FieldFlag =(1<<17);FieldFlagEdit FieldFlag =(1<<18);FieldFlagSort FieldFlag =(1<<19);FieldFlagMultiSelect FieldFlag =(1<<21);FieldFlagCommitOnSelChange FieldFlag =(1<<26););type crossReference struct{Type int ;
|
||
|
||
// Type 1
|
||
Offset int64 ;Generation int64 ;
|
||
|
||
// Type 2
|
||
ObjectNumber int ;Index int ;};
|
||
|
||
// ImageHandler interface implements common image loading and processing tasks.
|
||
// Implementing as an interface allows for the possibility to use non-standard libraries for faster
|
||
// loading and processing of images.
|
||
type ImageHandler interface{
|
||
|
||
// Read any image type and load into a new Image object.
|
||
Read (_ccdad _cg .Reader )(*Image ,error );
|
||
|
||
// NewImageFromGoImage loads a NRGBA32 unidoc Image from a standard Go image structure.
|
||
NewImageFromGoImage (_cgdd _eg .Image )(*Image ,error );
|
||
|
||
// NewGrayImageFromGoImage loads a grayscale unidoc Image from a standard Go image structure.
|
||
NewGrayImageFromGoImage (_eefa _eg .Image )(*Image ,error );
|
||
|
||
// Compress an image.
|
||
Compress (_aceg *Image ,_daga int64 )(*Image ,error );};func (_ddca *PdfFilespec )getDict ()*_ce .PdfObjectDictionary {if _cfbb ,_dede :=_ddca ._ddfgf .(*_ce .PdfIndirectObject );_dede {_edda ,_cfggg :=_cfbb .PdfObject .(*_ce .PdfObjectDictionary );if !_cfggg {return nil ;};return _edda ;}else if _fefff ,_ebgd :=_ddca ._ddfgf .(*_ce .PdfObjectDictionary );_ebgd {return _fefff ;}else {_ebg .Log .Debug ("\u0054\u0072\u0079\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020F\u0069\u006c\u0065\u0073\u0070\u0065\u0063\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0066\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064 \u006f\u0062\u006a\u0065\u0063\u0074 \u0074\u0079p\u0065\u0020(\u0025T\u0029",_ddca ._ddfgf );return nil ;};};
|
||
|
||
// PdfFontDescriptor specifies metrics and other attributes of a font and can refer to a FontFile
|
||
// for embedded fonts.
|
||
// 9.8 Font Descriptors (page 281)
|
||
type PdfFontDescriptor struct{FontName _ce .PdfObject ;FontFamily _ce .PdfObject ;FontStretch _ce .PdfObject ;FontWeight _ce .PdfObject ;Flags _ce .PdfObject ;FontBBox _ce .PdfObject ;ItalicAngle _ce .PdfObject ;Ascent _ce .PdfObject ;Descent _ce .PdfObject ;Leading _ce .PdfObject ;CapHeight _ce .PdfObject ;XHeight _ce .PdfObject ;StemV _ce .PdfObject ;StemH _ce .PdfObject ;AvgWidth _ce .PdfObject ;MaxWidth _ce .PdfObject ;MissingWidth _ce .PdfObject ;FontFile _ce .PdfObject ;FontFile2 _ce .PdfObject ;FontFile3 _ce .PdfObject ;CharSet _ce .PdfObject ;_fcfce int ;_gcfg float64 ;*fontFile ;_ggefa *_cc .TtfType ;
|
||
|
||
// Additional entries for CIDFonts
|
||
Style _ce .PdfObject ;Lang _ce .PdfObject ;FD _ce .PdfObject ;CIDSet _ce .PdfObject ;_ddbce *_ce .PdfIndirectObject ;};func (_eefee *pdfFontSimple )updateStandard14Font (){_bccd ,_faee :=_eefee .Encoder ().(_cce .SimpleEncoder );if !_faee {_ebg .Log .Error ("\u0057\u0072\u006f\u006e\u0067\u0020\u0065\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u0074y\u0070e\u003a\u0020\u0025\u0054\u002e\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073\u002e",_eefee .Encoder (),_eefee );return ;};_gcbg :=_bccd .Charcodes ();_eefee ._bgdcb =make (map[_cce .CharCode ]float64 ,len (_gcbg ));for _ ,_ccdeb :=range _gcbg {_dbdfd ,_ :=_bccd .CharcodeToRune (_ccdeb );_eefee ._bgdcb [_ccdeb ]=_eefee ._eegg [_dbdfd ].Wx ;};};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_cbcb *PdfFunctionType2 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_ebg .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ebcc :=[]float64 {0.0};if _cbcb .C0 !=nil {_ebcc =_cbcb .C0 ;};_aade :=[]float64 {1.0};if _cbcb .C1 !=nil {_aade =_cbcb .C1 ;};var _fgfdf []float64 ;for _ecdeg :=0;_ecdeg < len (_ebcc );_ecdeg ++{_fcfag :=_ebcc [_ecdeg ]+_ag .Pow (x [0],_cbcb .N )*(_aade [_ecdeg ]-_ebcc [_ecdeg ]);_fgfdf =append (_fgfdf ,_fcfag );};return _fgfdf ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name stream]
|
||
func (_beacfg *PdfColorspaceICCBased )ToPdfObject ()_ce .PdfObject {_edgbe :=&_ce .PdfObjectArray {};_edgbe .Append (_ce .MakeName ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"));var _begef *_ce .PdfObjectStream ;if _beacfg ._bddg !=nil {_begef =_beacfg ._bddg ;}else {_begef =&_ce .PdfObjectStream {};};_dbcdf :=_ce .MakeDict ();_dbcdf .Set ("\u004e",_ce .MakeInteger (int64 (_beacfg .N )));if _beacfg .Alternate !=nil {_dbcdf .Set ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e",_beacfg .Alternate .ToPdfObject ());};if _beacfg .Metadata !=nil {_dbcdf .Set ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_beacfg .Metadata );};if _beacfg .Range !=nil {var _cgge []_ce .PdfObject ;for _ ,_efag :=range _beacfg .Range {_cgge =append (_cgge ,_ce .MakeFloat (_efag ));};_dbcdf .Set ("\u0052\u0061\u006eg\u0065",_ce .MakeArray (_cgge ...));};_dbcdf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_beacfg .Data ))));_begef .Stream =_beacfg .Data ;_begef .PdfObjectDictionary =_dbcdf ;_edgbe .Append (_begef );if _beacfg ._cecc !=nil {_beacfg ._cecc .PdfObject =_edgbe ;return _beacfg ._cecc ;};return _edgbe ;};func _edbea (_adaff *_ce .PdfObjectDictionary ,_gaba *fontCommon )(*pdfFontType0 ,error ){_efee ,_fbcag :=_ce .GetArray (_adaff .Get ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073"));if !_fbcag {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049n\u0076\u0061\u006cid\u0020\u0044\u0065\u0073\u0063\u0065n\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073\u0020\u002d\u0020\u006e\u006f\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079 \u0025\u0073",_gaba );return nil ,_ce .ErrRangeError ;};if _efee .Len ()!=1{_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0041\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u0021\u003d\u0020\u0031\u0020(%\u0064\u0029",_efee .Len ());return nil ,_ce .ErrRangeError ;};_cgded ,_fgbed :=_efef (_efee .Get (0),false );if _fgbed !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0046a\u0069\u006c\u0065d \u006c\u006f\u0061\u0064\u0069\u006eg\u0020\u0064\u0065\u0073\u0063\u0065\u006e\u0064\u0061\u006e\u0074\u0020\u0066\u006f\u006et\u003a\u0020\u0065\u0072\u0072\u003d\u0025\u0076 \u0025\u0073",_fgbed ,_gaba );return nil ,_fgbed ;};_edfdg :=_gfadb (_gaba );_edfdg .DescendantFont =_cgded ;_ccgda ,_fbcag :=_ce .GetNameVal (_adaff .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _fbcag {if _ccgda =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"||_ccgda =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0056"{_edfdg ._gedcf =_cce .NewIdentityTextEncoder (_ccgda );}else if _fa .IsPredefinedCMap (_ccgda ){_edfdg ._fgbdd ,_fgbed =_fa .LoadPredefinedCMap (_ccgda );if _fgbed !=nil {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064 \u006e\u006f\u0074\u0020l\u006f\u0061\u0064\u0020\u0070\u0072\u0065\u0064\u0065\u0066\u0069\u006e\u0065\u0064\u0020\u0043\u004d\u0061\u0070\u0020\u0025\u0073\u003a\u0020\u0025\u0076",_ccgda ,_fgbed );};}else {_ebg .Log .Debug ("\u0055\u006e\u0068\u0061\u006e\u0064\u006c\u0065\u0064\u0020\u0063\u006da\u0070\u0020\u0025\u0071",_ccgda );};};if _egedff :=_cgded .baseFields ()._fefb ;_egedff !=nil {if _fadg :=_egedff .Name ();_fadg =="\u0041d\u006fb\u0065\u002d\u0043\u004e\u0053\u0031\u002d\u0055\u0043\u0053\u0032"||_fadg =="\u0041\u0064\u006f\u0062\u0065\u002d\u0047\u0042\u0031-\u0055\u0043\u0053\u0032"||_fadg =="\u0041\u0064\u006f\u0062\u0065\u002d\u004a\u0061\u0070\u0061\u006e\u0031-\u0055\u0043\u0053\u0032"||_fadg =="\u0041\u0064\u006f\u0062\u0065\u002d\u004b\u006f\u0072\u0065\u0061\u0031-\u0055\u0043\u0053\u0032"{_edfdg ._gedcf =_cce .NewCMapEncoder (_ccgda ,_edfdg ._fgbdd ,_egedff );};};return _edfdg ,nil ;};
|
||
|
||
// SetImage updates XObject Image with new image data.
|
||
func (_gafb *XObjectImage )SetImage (img *Image ,cs PdfColorspace )error {_gafb .Filter .UpdateParams (img .GetParamsDict ());_eedag ,_eaebc :=_gafb .Filter .EncodeBytes (img .Data );if _eaebc !=nil {return _eaebc ;};_gafb .Stream =_eedag ;_accf :=img .Width ;_gafb .Width =&_accf ;_dgdaf :=img .Height ;_gafb .Height =&_dgdaf ;_gceab :=img .BitsPerComponent ;_gafb .BitsPerComponent =&_gceab ;if cs ==nil {if img .ColorComponents ==1{_gafb .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_gafb .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_gafb .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return _gd .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_gafb .ColorSpace =cs ;};return nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the image object (indirect object).
|
||
func (_bfecg *XObjectImage )GetContainingPdfObject ()_ce .PdfObject {return _bfecg ._gfag };
|
||
|
||
// PdfColorspaceDeviceNAttributes contains additional information about the components of colour space that
|
||
// conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform parameters,
|
||
// and may instead use a custom blending algorithms, along with other information provided in the attributes
|
||
// dictionary if present.
|
||
type PdfColorspaceDeviceNAttributes struct{Subtype *_ce .PdfObjectName ;Colorants _ce .PdfObject ;Process _ce .PdfObject ;MixingHints _ce .PdfObject ;_gac *_ce .PdfIndirectObject ;};
|
||
|
||
// Register registers (caches) a model to primitive object relationship.
|
||
func (_cedf *modelManager )Register (primitive _ce .PdfObject ,model PdfModel ){_cedf ._cfgag [model ]=primitive ;_cedf ._efgef [primitive ]=model ;};func _eccga (_cace _ce .PdfObject )(*PdfColorspaceLab ,error ){_eeee :=NewPdfColorspaceLab ();if _efgbg ,_ebce :=_cace .(*_ce .PdfIndirectObject );_ebce {_eeee ._afdc =_efgbg ;};_cace =_ce .TraceToDirectObject (_cace );_abdff ,_ddbe :=_cace .(*_ce .PdfObjectArray );if !_ddbe {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _abdff .Len ()!=2{return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_cace =_ce .TraceToDirectObject (_abdff .Get (0));_debc ,_ddbe :=_cace .(*_ce .PdfObjectName );if !_ddbe {return nil ,_c .Errorf ("\u006c\u0061\u0062\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006ft\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062j\u0065\u0063\u0074");};if *_debc !="\u004c\u0061\u0062"{return nil ,_c .Errorf ("n\u006ft\u0020\u0061\u0020\u004c\u0061\u0062\u0020\u0063o\u006c\u006f\u0072\u0073pa\u0063\u0065");};_cace =_ce .TraceToDirectObject (_abdff .Get (1));_ccdg ,_ddbe :=_cace .(*_ce .PdfObjectDictionary );if !_ddbe {return nil ,_c .Errorf ("c\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020or\u0020\u0069\u006ev\u0061l\u0069\u0064");};_cace =_ccdg .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_cace =_ce .TraceToDirectObject (_cace );_bagb ,_ddbe :=_cace .(*_ce .PdfObjectArray );if !_ddbe {return nil ,_c .Errorf ("\u004c\u0061\u0062\u0020In\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069n\u0074");};if _bagb .Len ()!=3{return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074\u0020\u0061rr\u0061\u0079");};_dddb ,_eddgb :=_bagb .GetAsFloat64Slice ();if _eddgb !=nil {return nil ,_eddgb ;};_eeee .WhitePoint =_dddb ;_cace =_ccdg .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _cace !=nil {_cace =_ce .TraceToDirectObject (_cace );_gafd ,_fcdeg :=_cace .(*_ce .PdfObjectArray );if !_fcdeg {return nil ,_c .Errorf ("\u004c\u0061\u0062: \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");};if _gafd .Len ()!=3{return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074\u0020\u0061rr\u0061\u0079");};_fcgb ,_cbccb :=_gafd .GetAsFloat64Slice ();if _cbccb !=nil {return nil ,_cbccb ;};_eeee .BlackPoint =_fcgb ;};_cace =_ccdg .Get ("\u0052\u0061\u006eg\u0065");if _cace !=nil {_cace =_ce .TraceToDirectObject (_cace );_bfgb ,_facd :=_cace .(*_ce .PdfObjectArray );if !_facd {_ebg .Log .Error ("\u0052\u0061n\u0067\u0065\u0020t\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");return nil ,_c .Errorf ("\u004ca\u0062:\u0020\u0054\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bfgb .Len ()!=4{_ebg .Log .Error ("\u0052\u0061\u006e\u0067\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020e\u0072\u0072\u006f\u0072");return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0052a\u006e\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_cdeed ,_dgca :=_bfgb .GetAsFloat64Slice ();if _dgca !=nil {return nil ,_dgca ;};_eeee .Range =_cdeed ;};return _eeee ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bffb *PdfColorspaceSpecialPattern )ToPdfObject ()_ce .PdfObject {if _bffb .UnderlyingCS ==nil {return _ce .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e");};_ecded :=_ce .MakeArray (_ce .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_ecded .Append (_bffb .UnderlyingCS .ToPdfObject ());if _bffb ._edbdd !=nil {_bffb ._edbdd .PdfObject =_ecded ;return _bffb ._edbdd ;};return _ecded ;};
|
||
|
||
// PdfColorDeviceGray represents a grayscale color value that shall be represented by a single number in the
|
||
// range 0.0 to 1.0 where 0.0 corresponds to black and 1.0 to white.
|
||
type PdfColorDeviceGray float64 ;
|
||
|
||
// PdfAnnotation represents an annotation in PDF (section 12.5 p. 389).
|
||
type PdfAnnotation struct{_aff PdfModel ;Rect _ce .PdfObject ;Contents _ce .PdfObject ;P _ce .PdfObject ;NM _ce .PdfObject ;M _ce .PdfObject ;F _ce .PdfObject ;AP _ce .PdfObject ;AS _ce .PdfObject ;Border _ce .PdfObject ;C _ce .PdfObject ;StructParent _ce .PdfObject ;OC _ce .PdfObject ;_bda *_ce .PdfIndirectObject ;};func (_adbf *PdfReader )newPdfAnnotationFreeTextFromDict (_bbgb *_ce .PdfObjectDictionary )(*PdfAnnotationFreeText ,error ){_adgg :=PdfAnnotationFreeText {};_adcf ,_abea :=_adbf .newPdfAnnotationMarkupFromDict (_bbgb );if _abea !=nil {return nil ,_abea ;};_adgg .PdfAnnotationMarkup =_adcf ;_adgg .DA =_bbgb .Get ("\u0044\u0041");_adgg .Q =_bbgb .Get ("\u0051");_adgg .RC =_bbgb .Get ("\u0052\u0043");_adgg .DS =_bbgb .Get ("\u0044\u0053");_adgg .CL =_bbgb .Get ("\u0043\u004c");_adgg .IT =_bbgb .Get ("\u0049\u0054");_adgg .BE =_bbgb .Get ("\u0042\u0045");_adgg .RD =_bbgb .Get ("\u0052\u0044");_adgg .BS =_bbgb .Get ("\u0042\u0053");_adgg .LE =_bbgb .Get ("\u004c\u0045");return &_adgg ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element between 0 and 1.
|
||
func (_fcgf *PdfColorspaceDeviceGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bege :=vals [0];if _bege < 0.0||_bege > 1.0{_ebg .Log .Debug ("\u0049\u006eco\u006d\u0070\u0061t\u0069\u0062\u0069\u006city\u003a R\u0061\u006e\u0067\u0065\u0020\u006f\u0075ts\u0069\u0064\u0065\u0020\u005b\u0030\u002c1\u005d");};if _bege < 0.0{_bege =0.0;}else if _bege > 1.0{_bege =1.0;};return NewPdfColorDeviceGray (_bege ),nil ;};
|
||
|
||
// ColorToRGB converts an Indexed color to an RGB color.
|
||
func (_ggfe *PdfColorspaceSpecialIndexed )ColorToRGB (color PdfColor )(PdfColor ,error ){if _ggfe .Base ==nil {return nil ,_gd .New ("\u0069\u006e\u0064\u0065\u0078\u0065d\u0020\u0062\u0061\u0073\u0065\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070a\u0063\u0065\u0020\u0075\u006e\u0064\u0065f\u0069\u006e\u0065\u0064");};return _ggfe .Base .ColorToRGB (color );};
|
||
|
||
// IsPush returns true if the button field represents a push button, false otherwise.
|
||
func (_eaeb *PdfFieldButton )IsPush ()bool {return _eaeb .GetType ()==ButtonTypePush };
|
||
|
||
// HasColorspaceByName checks if the colorspace with the specified name exists in the page resources.
|
||
func (_fbcbg *PdfPageResources )HasColorspaceByName (keyName _ce .PdfObjectName )bool {_aebc ,_fdabg :=_fbcbg .GetColorspaces ();if _fdabg !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0072\u0061\u0063\u0065: \u0025\u0076",_fdabg );return false ;};if _aebc ==nil {return false ;};_ ,_bbagg :=_aebc .Colorspaces [string (keyName )];return _bbagg ;};
|
||
|
||
// GetOutlineTree returns the outline tree.
|
||
func (_fffcb *PdfReader )GetOutlineTree ()*PdfOutlineTreeNode {return _fffcb ._feebe };
|
||
|
||
// NewPdfAcroForm returns a new PdfAcroForm with an intialized container (indirect object).
|
||
func NewPdfAcroForm ()*PdfAcroForm {return &PdfAcroForm {Fields :&[]*PdfField {},_adfcd :_ce .MakeIndirectObject (_ce .MakeDict ())};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dace *PdfAnnotationFreeText )ToPdfObject ()_ce .PdfObject {_dace .PdfAnnotation .ToPdfObject ();_cebd :=_dace ._bda ;_fdbd :=_cebd .PdfObject .(*_ce .PdfObjectDictionary );_dace .PdfAnnotationMarkup .appendToPdfDictionary (_fdbd );_fdbd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074"));_fdbd .SetIfNotNil ("\u0044\u0041",_dace .DA );_fdbd .SetIfNotNil ("\u0051",_dace .Q );_fdbd .SetIfNotNil ("\u0052\u0043",_dace .RC );_fdbd .SetIfNotNil ("\u0044\u0053",_dace .DS );_fdbd .SetIfNotNil ("\u0043\u004c",_dace .CL );_fdbd .SetIfNotNil ("\u0049\u0054",_dace .IT );_fdbd .SetIfNotNil ("\u0042\u0045",_dace .BE );_fdbd .SetIfNotNil ("\u0052\u0044",_dace .RD );_fdbd .SetIfNotNil ("\u0042\u0053",_dace .BS );_fdbd .SetIfNotNil ("\u004c\u0045",_dace .LE );return _cebd ;};func (_egeee *PdfReader )lookupPageByObject (_edge _ce .PdfObject )(*PdfPage ,error ){return nil ,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};func (_fgbg *PdfReader )newPdfActionResetFormFromDict (_egf *_ce .PdfObjectDictionary )(*PdfActionResetForm ,error ){return &PdfActionResetForm {Fields :_egf .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_egf .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// SetXObjectFormByName adds the provided XObjectForm to the page resources.
|
||
// The added XObjectForm is identified by the specified name.
|
||
func (_bedc *PdfPageResources )SetXObjectFormByName (keyName _ce .PdfObjectName ,xform *XObjectForm )error {_aeaabf :=xform .ToPdfObject ().(*_ce .PdfObjectStream );_eggbd :=_bedc .SetXObjectByName (keyName ,_aeaabf );return _eggbd ;};
|
||
|
||
// AddWatermarkImage adds a watermark to the page.
|
||
func (_fabg *PdfPage )AddWatermarkImage (ximg *XObjectImage ,opt WatermarkImageOptions )error {_eadgb ,_dcff :=_fabg .GetMediaBox ();if _dcff !=nil {return _dcff ;};_bbfega :=_eadgb .Urx -_eadgb .Llx ;_eedebd :=_eadgb .Ury -_eadgb .Lly ;_gadb :=float64 (*ximg .Width );_fefda :=(float64 (_bbfega )-float64 (_gadb ))/2;if opt .FitToWidth {_gadb =_bbfega ;_fefda =0;};_edfdf :=_eedebd ;_gedfa :=float64 (0);if opt .PreserveAspectRatio {_edfdf =_gadb *float64 (*ximg .Height )/float64 (*ximg .Width );_gedfa =(_eedebd -_edfdf )/2;};if _fabg .Resources ==nil {_fabg .Resources =NewPdfPageResources ();};_caef :=0;_dcgff :=_ce .PdfObjectName (_c .Sprintf ("\u0049\u006d\u0077%\u0064",_caef ));for _fabg .Resources .HasXObjectByName (_dcgff ){_caef ++;_dcgff =_ce .PdfObjectName (_c .Sprintf ("\u0049\u006d\u0077%\u0064",_caef ));};_dcff =_fabg .AddImageResource (_dcgff ,ximg );if _dcff !=nil {return _dcff ;};_caef =0;_fdaeb :=_ce .PdfObjectName (_c .Sprintf ("\u0047\u0053\u0025\u0064",_caef ));for _fabg .HasExtGState (_fdaeb ){_caef ++;_fdaeb =_ce .PdfObjectName (_c .Sprintf ("\u0047\u0053\u0025\u0064",_caef ));};_ecgeg :=_ce .MakeDict ();_ecgeg .Set ("\u0042\u004d",_ce .MakeName ("\u004e\u006f\u0072\u006d\u0061\u006c"));_ecgeg .Set ("\u0043\u0041",_ce .MakeFloat (opt .Alpha ));_ecgeg .Set ("\u0063\u0061",_ce .MakeFloat (opt .Alpha ));_dcff =_fabg .AddExtGState (_fdaeb ,_ecgeg );if _dcff !=nil {return _dcff ;};_baafg :=_c .Sprintf ("\u0071\u000a"+"\u002f%\u0073\u0020\u0067\u0073\u000a"+"%\u002e\u0030\u0066\u0020\u0030\u00200\u0020\u0025\u002e\u0030\u0066\u0020\u0025\u002e\u0034f\u0020\u0025\u002e4\u0066 \u0063\u006d\u000a"+"\u002f%\u0073\u0020\u0044\u006f\u000a"+"\u0051",_fdaeb ,_gadb ,_edfdf ,_fefda ,_gedfa ,_dcgff );_fabg .AddContentStreamByString (_baafg );return nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three elements representing the
|
||
// A, B and C components of the color. The values of the elements should be
|
||
// between 0 and 1.
|
||
func (_bbgg *PdfColorspaceCalRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_acfd :=vals [0];if _acfd < 0.0||_acfd > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eeed :=vals [1];if _eeed < 0.0||_eeed > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eaaa :=vals [2];if _eaaa < 0.0||_eaaa > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dcgbf :=NewPdfColorCalRGB (_acfd ,_eeed ,_eaaa );return _dcgbf ,nil ;};const (_fgae =0x00001;_cfgb =0x00002;_begeb =0x00004;_ffec =0x00008;_gadfa =0x00020;_cccc =0x00040;_dggb =0x10000;_dfff =0x20000;_ffeb =0x40000;);
|
||
|
||
// ToPdfObject converts rectangle to a PDF object.
|
||
func (_gbgd *PdfRectangle )ToPdfObject ()_ce .PdfObject {return _ce .MakeArray (_ce .MakeFloat (_gbgd .Llx ),_ce .MakeFloat (_gbgd .Lly ),_ce .MakeFloat (_gbgd .Urx ),_ce .MakeFloat (_gbgd .Ury ));};func (_dgfc *PdfAppender )addNewObject (_ebbc _ce .PdfObject ){if _ ,_aagc :=_dgfc ._adba [_ebbc ];!_aagc {_dgfc ._fadd =append (_dgfc ._fadd ,_ebbc );_dgfc ._adba [_ebbc ]=struct{}{};};};
|
||
|
||
// GetContainingPdfObject returns the containing object for the PdfField, i.e. an indirect object
|
||
// containing the field dictionary.
|
||
func (_eccad *PdfField )GetContainingPdfObject ()_ce .PdfObject {return _eccad ._gfeec };
|
||
|
||
// GetNumComponents returns the number of input color components, i.e. that are input to the tint transform.
|
||
func (_gdec *PdfColorspaceDeviceN )GetNumComponents ()int {return _gdec .ColorantNames .Len ()};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_aabg *PdfFunctionType3 )ToPdfObject ()_ce .PdfObject {_aaeae :=_ce .MakeDict ();_aaeae .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_ce .MakeInteger (3));_ffgb :=&_ce .PdfObjectArray {};for _ ,_eagc :=range _aabg .Domain {_ffgb .Append (_ce .MakeFloat (_eagc ));};_aaeae .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_ffgb );if _aabg .Range !=nil {_gecag :=&_ce .PdfObjectArray {};for _ ,_dfbfg :=range _aabg .Range {_gecag .Append (_ce .MakeFloat (_dfbfg ));};_aaeae .Set ("\u0052\u0061\u006eg\u0065",_gecag );};if _aabg .Functions !=nil {_bddgb :=&_ce .PdfObjectArray {};for _ ,_fecf :=range _aabg .Functions {_bddgb .Append (_fecf .ToPdfObject ());};_aaeae .Set ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es",_bddgb );};if _aabg .Bounds !=nil {_ebfea :=&_ce .PdfObjectArray {};for _ ,_dbfaa :=range _aabg .Bounds {_ebfea .Append (_ce .MakeFloat (_dbfaa ));};_aaeae .Set ("\u0042\u006f\u0075\u006e\u0064\u0073",_ebfea );};if _aabg .Encode !=nil {_ccgdf :=&_ce .PdfObjectArray {};for _ ,_eeba :=range _aabg .Encode {_ccgdf .Append (_ce .MakeFloat (_eeba ));};_aaeae .Set ("\u0045\u006e\u0063\u006f\u0064\u0065",_ccgdf );};if _aabg ._fbcbe !=nil {_aabg ._fbcbe .PdfObject =_aaeae ;return _aabg ._fbcbe ;};return _aaeae ;};func _eafb (_bfce _ce .PdfObject )(*PdfColorspaceDeviceN ,error ){_fegg :=NewPdfColorspaceDeviceN ();if _bcbb ,_cbace :=_bfce .(*_ce .PdfIndirectObject );_cbace {_fegg ._baceb =_bcbb ;};_bfce =_ce .TraceToDirectObject (_bfce );_geed ,_gbbad :=_bfce .(*_ce .PdfObjectArray );if !_gbbad {return nil ,_c .Errorf ("\u0064\u0065\u0076\u0069\u0063\u0065\u004e\u0020\u0043\u0053\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0062j\u0065\u0063\u0074");};if _geed .Len ()!=4&&_geed .Len ()!=5{return nil ,_c .Errorf ("\u0064\u0065\u0076ic\u0065\u004e\u0020\u0043\u0053\u003a\u0020\u0049\u006ec\u006fr\u0072e\u0063t\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");};_bfce =_geed .Get (0);_geagg ,_gbbad :=_bfce .(*_ce .PdfObjectName );if !_gbbad {return nil ,_c .Errorf ("\u0064\u0065\u0076i\u0063\u0065\u004e\u0020C\u0053\u003a\u0020\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};if *_geagg !="\u0044e\u0076\u0069\u0063\u0065\u004e"{return nil ,_c .Errorf ("\u0064\u0065v\u0069\u0063\u0065\u004e\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020na\u006d\u0065");};_bfce =_geed .Get (1);_bfce =_ce .TraceToDirectObject (_bfce );_gcfc ,_gbbad :=_bfce .(*_ce .PdfObjectArray );if !_gbbad {return nil ,_c .Errorf ("\u0064\u0065\u0076i\u0063\u0065\u004e\u0020C\u0053\u003a\u0020\u0049\u006e\u0076\u0061l\u0069\u0064\u0020\u006e\u0061\u006d\u0065\u0073\u0020\u0061\u0072\u0072\u0061\u0079");};_fegg .ColorantNames =_gcfc ;_bfce =_geed .Get (2);_ccaf ,_ggdad :=NewPdfColorspaceFromPdfObject (_bfce );if _ggdad !=nil {return nil ,_ggdad ;};_fegg .AlternateSpace =_ccaf ;_ccfe ,_ggdad :=_edddda (_geed .Get (3));if _ggdad !=nil {return nil ,_ggdad ;};_fegg .TintTransform =_ccfe ;if _geed .Len ()==5{_ggea ,_fagb :=_fgfc (_geed .Get (4));if _fagb !=nil {return nil ,_fagb ;};_fegg .Attributes =_ggea ;};return _fegg ,nil ;};func (_cgbf *PdfFunctionType0 )processSamples ()error {_ccbef :=_ac .ResampleBytes (_cgbf ._abaa ,_cgbf .BitsPerSample );_cgbf ._aaccb =_ccbef ;return nil ;};func _fgaaf (_aacgfb *XObjectImage )error {if _aacgfb .SMask ==nil {return nil ;};_dgaeg ,_cgggd :=_aacgfb .SMask .(*_ce .PdfObjectStream );if !_cgggd {_ebg .Log .Debug ("\u0053\u004da\u0073\u006b\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u002a\u0050\u0064\u0066\u004f\u0062\u006a\u0065\u0063\u0074\u0053\u0074re\u0061\u006d");return _ce .ErrTypeError ;};_cefggc :=_dgaeg .PdfObjectDictionary ;_gcffaf :=_cefggc .Get ("\u004d\u0061\u0074t\u0065");if _gcffaf ==nil {return nil ;};_bbgeee ,_egacg :=_eeafc (_gcffaf .(*_ce .PdfObjectArray ));if _egacg !=nil {return _egacg ;};_bfcec :=_ce .MakeArrayFromFloats ([]float64 {_bbgeee });_cefggc .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_bfcec );return nil ;};func (_accd *PdfReader )newPdfAnnotationSoundFromDict (_fgfe *_ce .PdfObjectDictionary )(*PdfAnnotationSound ,error ){_bcfb :=PdfAnnotationSound {};_afc ,_fbb :=_accd .newPdfAnnotationMarkupFromDict (_fgfe );if _fbb !=nil {return nil ,_fbb ;};_bcfb .PdfAnnotationMarkup =_afc ;_bcfb .Name =_fgfe .Get ("\u004e\u0061\u006d\u0065");_bcfb .Sound =_fgfe .Get ("\u0053\u006f\u0075n\u0064");return &_bcfb ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the pattern.
|
||
func (_gfgge *PdfPattern )ToPdfObject ()_ce .PdfObject {_acgbg :=_gfgge .getDict ();_acgbg .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_acgbg .Set ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065",_ce .MakeInteger (_gfgge .PatternType ));return _gfgge ._efabe ;};
|
||
|
||
// Image interface is a basic representation of an image used in PDF.
|
||
// The colorspace is not specified, but must be known when handling the image.
|
||
type Image struct{Width int64 ;Height int64 ;BitsPerComponent int64 ;ColorComponents int ;Data []byte ;_fdcac []byte ;_fdga bool ;_cddaa []float64 ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// component PDF objects.
|
||
func (_cgbb *PdfColorspaceICCBased )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if _cgbb .Alternate ==nil {if _cgbb .N ==1{_ddfcg :=NewPdfColorspaceDeviceGray ();return _ddfcg .ColorFromPdfObjects (objects );}else if _cgbb .N ==3{_dgfb :=NewPdfColorspaceDeviceRGB ();return _dgfb .ColorFromPdfObjects (objects );}else if _cgbb .N ==4{_faaf :=NewPdfColorspaceDeviceCMYK ();return _faaf .ColorFromPdfObjects (objects );}else {return nil ,_gd .New ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");};};return _cgbb .Alternate .ColorFromPdfObjects (objects );};
|
||
|
||
// GetMediaBox gets the inheritable media box value, either from the page
|
||
// or a higher up page/pages struct.
|
||
func (_agaag *PdfPage )GetMediaBox ()(*PdfRectangle ,error ){if _agaag .MediaBox !=nil {return _agaag .MediaBox ,nil ;};_faage :=_agaag .Parent ;for _faage !=nil {_beagb ,_dffb :=_ce .GetDict (_faage );if !_dffb {return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069d\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u0020\u006f\u0062\u006a\u0065\u0063t\u0073\u0020\u0064\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079");};if _ggdbc :=_beagb .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_ggdbc !=nil {_beabg ,_fegcad :=_ce .GetArray (_ggdbc );if !_fegcad {return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006d\u0065\u0064\u0069a\u0020\u0062\u006f\u0078");};_bcaab ,_efgbf :=NewPdfRectangle (*_beabg );if _efgbf !=nil {return nil ,_efgbf ;};return _bcaab ,nil ;};_faage =_beagb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,_gd .New ("m\u0065\u0064\u0069\u0061 b\u006fx\u0020\u006e\u006f\u0074\u0020d\u0065\u0066\u0069\u006e\u0065\u0064");};
|
||
|
||
// BytesToCharcodes converts the bytes in a PDF string to character codes.
|
||
func (_eebg *PdfFont )BytesToCharcodes (data []byte )[]_cce .CharCode {_ebg .Log .Trace ("\u0042\u0079\u0074es\u0054\u006f\u0043\u0068\u0061\u0072\u0063\u006f\u0064e\u0073:\u0020d\u0061t\u0061\u003d\u005b\u0025\u0020\u0030\u0032\u0078\u005d\u003d\u0025\u0023\u0071",data ,data );if _ebfd ,_egbc :=_eebg ._decac .(*pdfFontType0 );_egbc &&_ebfd ._fgbdd !=nil {if _cede ,_bdfg :=_ebfd .bytesToCharcodes (data );_bdfg {return _cede ;};};_aage :=make ([]_cce .CharCode ,0,len (data )+len (data )%2);if _eebg .baseFields ().isCIDFont (){if len (data )==1{data =[]byte {0,data [0]};};if len (data )%2!=0{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0050\u0061\u0064\u0064\u0069\u006e\u0067\u0020\u0064\u0061\u0074\u0061\u003d\u0025\u002b\u0076\u0020t\u006f\u0020\u0065\u0076\u0065n\u0020\u006ce\u006e\u0067\u0074\u0068",data );data =append (data ,0);};for _ccba :=0;_ccba < len (data );_ccba +=2{_dfef :=uint16 (data [_ccba ])<<8|uint16 (data [_ccba +1]);_aage =append (_aage ,_cce .CharCode (_dfef ));};}else {for _ ,_gcca :=range data {_aage =append (_aage ,_cce .CharCode (_gcca ));};};return _aage ;};
|
||
|
||
// GetContext returns the action context which contains the specific type-dependent context.
|
||
// The context represents the subaction.
|
||
func (_fc *PdfAction )GetContext ()PdfModel {if _fc ==nil {return nil ;};return _fc ._cga ;};
|
||
|
||
// NewOutlineBookmark returns an initialized PdfOutlineItem for a given bookmark title and page.
|
||
func NewOutlineBookmark (title string ,page *_ce .PdfIndirectObject )*PdfOutlineItem {_dgce :=PdfOutlineItem {};_dgce ._edggc =&_dgce ;_dgce .Title =_ce .MakeString (title );_cbgga :=_ce .MakeArray ();_cbgga .Append (page );_cbgga .Append (_ce .MakeName ("\u0046\u0069\u0074"));_dgce .Dest =_cbgga ;return &_dgce ;};
|
||
|
||
// PdfActionGoToR represents a GoToR action.
|
||
type PdfActionGoToR struct{*PdfAction ;F *PdfFilespec ;D _ce .PdfObject ;NewWindow _ce .PdfObject ;};
|
||
|
||
// PdfFunctionType3 defines stitching of the subdomains of several 1-input functions to produce
|
||
// a single new 1-input function.
|
||
type PdfFunctionType3 struct{Domain []float64 ;Range []float64 ;Functions []PdfFunction ;Bounds []float64 ;Encode []float64 ;_fbcbe *_ce .PdfIndirectObject ;};func (_cdaef *PdfPage )setContainer (_bedfaa *_ce .PdfIndirectObject ){_bedfaa .PdfObject =_cdaef ._dfbdag ;_cdaef ._adcebd =_bedfaa ;};
|
||
|
||
// SetOptimizer sets the optimizer to optimize PDF before writing.
|
||
func (_faff *PdfWriter )SetOptimizer (optimizer Optimizer ){_faff ._dccdc =optimizer };
|
||
|
||
// DefaultImageHandler is the default implementation of the ImageHandler using the standard go library.
|
||
type DefaultImageHandler struct{};
|
||
|
||
// PdfAnnotationWatermark represents Watermark annotations.
|
||
// (Section 12.5.6.22).
|
||
type PdfAnnotationWatermark struct{*PdfAnnotation ;FixedPrint _ce .PdfObject ;};
|
||
|
||
// PdfAnnotationFreeText represents FreeText annotations.
|
||
// (Section 12.5.6.6).
|
||
type PdfAnnotationFreeText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;DA _ce .PdfObject ;Q _ce .PdfObject ;RC _ce .PdfObject ;DS _ce .PdfObject ;CL _ce .PdfObject ;IT _ce .PdfObject ;BE _ce .PdfObject ;RD _ce .PdfObject ;BS _ce .PdfObject ;LE _ce .PdfObject ;};
|
||
|
||
// GetContext returns the annotation context which contains the specific type-dependent context.
|
||
// The context represents the subannotation.
|
||
func (_ede *PdfAnnotation )GetContext ()PdfModel {if _ede ==nil {return nil ;};return _ede ._aff ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_eedc *PdfColorspaceSpecialIndexed )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_faaa ,_bacd :=_ce .GetNumbersAsFloat (objects );if _bacd !=nil {return nil ,_bacd ;};return _eedc .ColorFromFloats (_faaa );};
|
||
|
||
// GetCapHeight returns the CapHeight of the font `descriptor`.
|
||
func (_cebe *PdfFontDescriptor )GetCapHeight ()(float64 ,error ){return _ce .GetNumberAsFloat (_cebe .CapHeight );};const (BorderEffectNoEffect BorderEffect =iota ;BorderEffectCloudy BorderEffect =iota ;);
|
||
|
||
// ConvertToBinary converts current image into binary (bi-level) format.
|
||
// Binary images are composed of single bits per pixel (only black or white).
|
||
// If provided image has more color components, then it would be converted into binary image using
|
||
// histogram auto threshold function.
|
||
func (_cefbb *Image )ConvertToBinary ()error {if _cefbb .ColorComponents ==1&&_cefbb .BitsPerComponent ==1{return nil ;};_aebdgb ,_gbbf :=_cefbb .ToGoImage ();if _gbbf !=nil {return _gbbf ;};_gbeeg ,_gbbf :=_age .MonochromeConverter .Convert (_aebdgb );if _gbbf !=nil {return _gbbf ;};_cefbb .BitsPerComponent =1;_cefbb .ColorComponents =1;_cefbb .Data =_gbeeg .Base ().Data ;return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dgae *PdfAnnotationSound )ToPdfObject ()_ce .PdfObject {_dgae .PdfAnnotation .ToPdfObject ();_edddd :=_dgae ._bda ;_cgd :=_edddd .PdfObject .(*_ce .PdfObjectDictionary );_dgae .PdfAnnotationMarkup .appendToPdfDictionary (_cgd );_cgd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053\u006f\u0075n\u0064"));_cgd .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_dgae .Sound );_cgd .SetIfNotNil ("\u004e\u0061\u006d\u0065",_dgae .Name );return _edddd ;};func (_afdb *PdfReader )newPdfAnnotationTrapNetFromDict (_dacbd *_ce .PdfObjectDictionary )(*PdfAnnotationTrapNet ,error ){_cdcb :=PdfAnnotationTrapNet {};return &_cdcb ,nil ;};
|
||
|
||
// NewPdfAnnotationInk returns a new ink annotation.
|
||
func NewPdfAnnotationInk ()*PdfAnnotationInk {_dgf :=NewPdfAnnotation ();_eagg :=&PdfAnnotationInk {};_eagg .PdfAnnotation =_dgf ;_eagg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dgf .SetContext (_eagg );return _eagg ;};
|
||
|
||
// ToPdfObject converts the pdfFontSimple to its PDF representation for outputting.
|
||
func (_cgefa *pdfFontSimple )ToPdfObject ()_ce .PdfObject {if _cgefa ._dagd ==nil {_cgefa ._dagd =&_ce .PdfIndirectObject {};};_afcb :=_cgefa .baseFields ().asPdfObjectDictionary ("");_cgefa ._dagd .PdfObject =_afcb ;if _cgefa .FirstChar !=nil {_afcb .Set ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r",_cgefa .FirstChar );};if _cgefa .LastChar !=nil {_afcb .Set ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072",_cgefa .LastChar );};if _cgefa .Widths !=nil {_afcb .Set ("\u0057\u0069\u0064\u0074\u0068\u0073",_cgefa .Widths );};if _cgefa .Encoding !=nil {_afcb .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_cgefa .Encoding );}else if _cgefa ._bged !=nil {_gegb :=_cgefa ._bged .ToPdfObject ();if _gegb !=nil {_afcb .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_gegb );};};return _cgefa ._dagd ;};
|
||
|
||
// GetFontDescriptor returns the font descriptor for `font`.
|
||
func (_ffcf PdfFont )GetFontDescriptor ()(*PdfFontDescriptor ,error ){return _ffcf ._decac .getFontDescriptor (),nil ;};
|
||
|
||
// GetOutlines returns a high-level Outline object, based on the outline tree
|
||
// of the reader.
|
||
func (_dgbfff *PdfReader )GetOutlines ()(*Outline ,error ){if _dgbfff ==nil {return nil ,_gd .New ("\u0063\u0061n\u006e\u006f\u0074\u0020c\u0072\u0065a\u0074\u0065\u0020\u006f\u0075\u0074\u006c\u0069n\u0065\u0020\u0066\u0072\u006f\u006d\u0020\u006e\u0069\u006c\u0020\u0072e\u0061\u0064\u0065\u0072");};_ecffd :=_dgbfff .GetOutlineTree ();if _ecffd ==nil {return nil ,_gd .New ("\u0074\u0068\u0065\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u0020\u0072\u0065\u0061\u0064e\u0072\u0020\u0064\u006f\u0065\u0073\u0020n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0061\u006e\u0020o\u0075\u0074\u006c\u0069\u006e\u0065\u0020\u0074\u0072\u0065\u0065");};var _ebgaa func (_efbb *PdfOutlineTreeNode ,_baecc *[]*OutlineItem );_ebgaa =func (_dabeg *PdfOutlineTreeNode ,_bfad *[]*OutlineItem ){if _dabeg ==nil {return ;};if _dabeg ._edggc ==nil {_ebg .Log .Debug ("\u0045\u0052RO\u0052\u003a\u0020m\u0069\u0073\u0073\u0069ng \u006fut\u006c\u0069\u006e\u0065\u0020\u0065\u006etr\u0079\u0020\u0063\u006f\u006e\u0074\u0065x\u0074");return ;};var _bcbg *OutlineItem ;if _bcgac ,_ccbf :=_dabeg ._edggc .(*PdfOutlineItem );_ccbf {_gdecb :=_bcgac .Dest ;if (_gdecb ==nil ||_ce .IsNullObject (_gdecb ))&&_bcgac .A !=nil {if _fddfba ,_cdfc :=_ce .GetDict (_bcgac .A );_cdfc {_gdecb ,_ =_ce .GetArray (_fddfba .Get ("\u0044"));};};var _dfcdc OutlineDest ;if _gdecb !=nil &&!_ce .IsNullObject (_gdecb ){if _gfabe ,_dfffe :=_fegcd (_gdecb ,_dgbfff );_dfffe ==nil {_dfcdc =*_gfabe ;}else {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064 \u006e\u006f\u0074\u0020p\u0061\u0072\u0073\u0065\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0020\u0064\u0065\u0073\u0074\u0020\u0028\u0025\u0076\u0029\u003a\u0020\u0025\u0076",_gdecb ,_dfffe );};};_bcbg =NewOutlineItem (_bcgac .Title .Decoded (),_dfcdc );*_bfad =append (*_bfad ,_bcbg );if _bcgac .Next !=nil {_ebgaa (_bcgac .Next ,_bfad );};};if _dabeg .First !=nil {if _bcbg !=nil {_bfad =&_bcbg .Entries ;};_ebgaa (_dabeg .First ,_bfad );};};_aabd :=NewOutline ();_ebgaa (_ecffd ,&_aabd .Entries );return _aabd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfe *PdfAnnotationRichMedia )ToPdfObject ()_ce .PdfObject {_cfe .PdfAnnotation .ToPdfObject ();_gade :=_cfe ._bda ;_ddbff :=_gade .PdfObject .(*_ce .PdfObjectDictionary );_ddbff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a"));_ddbff .SetIfNotNil ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073",_cfe .RichMediaSettings );_ddbff .SetIfNotNil ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074",_cfe .RichMediaContent );return _gade ;};var _gedg ="";func _gbfga (_bgccd *_ce .PdfObjectDictionary )(*PdfShadingType2 ,error ){_ddcc :=PdfShadingType2 {};_ggcb :=_bgccd .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _ggcb ==nil {_ebg .Log .Debug ("R\u0065\u0071\u0075\u0069\u0072\u0065d\u0020\u0061\u0074\u0074\u0072\u0069b\u0075\u0074\u0065\u0020\u006d\u0069\u0073s\u0069\u006e\u0067\u003a\u0020\u0020\u0043\u006f\u006f\u0072d\u0073");return nil ,ErrRequiredAttributeMissing ;};_ffea ,_bgfbg :=_ggcb .(*_ce .PdfObjectArray );if !_bgfbg {_ebg .Log .Debug ("\u0043\u006f\u006f\u0072d\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_ggcb );return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};if _ffea .Len ()!=4{_ebg .Log .Debug ("\u0043\u006f\u006f\u0072d\u0073\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u006eo\u0074 \u0034\u0020\u0028\u0067\u006f\u0074\u0020%\u0064\u0029",_ffea .Len ());return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");};_ddcc .Coords =_ffea ;if _cacdb :=_bgccd .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_cacdb !=nil {_cacdb =_ce .TraceToDirectObject (_cacdb );_gceag ,_adfb :=_cacdb .(*_ce .PdfObjectArray );if !_adfb {_ebg .Log .Debug ("\u0044\u006f\u006d\u0061i\u006e\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_cacdb );return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ddcc .Domain =_gceag ;};_ggcb =_bgccd .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _ggcb ==nil {_ebg .Log .Debug ("\u0052\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0020\u0046\u0075\u006ec\u0074\u0069\u006f\u006e");return nil ,ErrRequiredAttributeMissing ;};_ddcc .Function =[]PdfFunction {};if _aabe ,_agbfe :=_ggcb .(*_ce .PdfObjectArray );_agbfe {for _ ,_egda :=range _aabe .Elements (){_fbafb ,_cafee :=_edddda (_egda );if _cafee !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_cafee );return nil ,_cafee ;};_ddcc .Function =append (_ddcc .Function ,_fbafb );};}else {_bbbfcb ,_decbe :=_edddda (_ggcb );if _decbe !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_decbe );return nil ,_decbe ;};_ddcc .Function =append (_ddcc .Function ,_bbbfcb );};if _egbbbe :=_bgccd .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_egbbbe !=nil {_egbbbe =_ce .TraceToDirectObject (_egbbbe );_dbddf ,_eeccd :=_egbbbe .(*_ce .PdfObjectArray );if !_eeccd {_ebg .Log .Debug ("\u004d\u0061\u0074\u0072i\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_egbbbe );return nil ,_ce .ErrTypeError ;};if _dbddf .Len ()!=2{_ebg .Log .Debug ("\u0045\u0078\u0074\u0065n\u0064\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u006eo\u0074 \u0032\u0020\u0028\u0067\u006f\u0074\u0020%\u0064\u0029",_dbddf .Len ());return nil ,ErrInvalidAttribute ;};_ddcc .Extend =_dbddf ;};return &_ddcc ,nil ;};
|
||
|
||
// PdfActionGoTo3DView represents a GoTo3DView action.
|
||
type PdfActionGoTo3DView struct{*PdfAction ;TA _ce .PdfObject ;V _ce .PdfObject ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three PdfObjectFloat elements representing
|
||
// the L, A and B components of the color.
|
||
func (_gcef *PdfColorspaceLab )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cafda ,_beeg :=_ce .GetNumbersAsFloat (objects );if _beeg !=nil {return nil ,_beeg ;};return _gcef .ColorFromFloats (_cafda );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gbeb *PdfAnnotationWatermark )ToPdfObject ()_ce .PdfObject {_gbeb .PdfAnnotation .ToPdfObject ();_fbad :=_gbeb ._bda ;_abdf :=_fbad .PdfObject .(*_ce .PdfObjectDictionary );_abdf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k"));_abdf .SetIfNotNil ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074",_gbeb .FixedPrint );return _fbad ;};
|
||
|
||
// PdfShadingType2 is an Axial shading.
|
||
type PdfShadingType2 struct{*PdfShading ;Coords *_ce .PdfObjectArray ;Domain *_ce .PdfObjectArray ;Function []PdfFunction ;Extend *_ce .PdfObjectArray ;};
|
||
|
||
// PdfBorderStyle represents a border style dictionary (12.5.4 Border Styles p. 394).
|
||
type PdfBorderStyle struct{W *float64 ;S *BorderStyle ;D *[]int ;_febe _ce .PdfObject ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gadcb pdfFontType0 )Encoder ()_cce .TextEncoder {return _gadcb ._gedcf };
|
||
|
||
// PdfFunction interface represents the common methods of a function in PDF.
|
||
type PdfFunction interface{Evaluate ([]float64 )([]float64 ,error );ToPdfObject ()_ce .PdfObject ;};type pdfCIDFontType0 struct{fontCommon ;_ccge *_ce .PdfIndirectObject ;_gdac _cce .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// (Required) Dictionary that defines the character collection of the CIDFont.
|
||
// See Table 116.
|
||
CIDSystemInfo *_ce .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _ce .PdfObject ;W _ce .PdfObject ;DW2 _ce .PdfObject ;W2 _ce .PdfObject ;_fcfd map[_cce .CharCode ]float64 ;_ccff float64 ;};func _fcgde (_fagf *_ce .PdfObjectDictionary ,_afdg *fontCommon )(*pdfCIDFontType2 ,error ){if _afdg ._dbbag !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_ebg .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0046\u006fn\u0074\u0020\u0053u\u0062\u0054\u0079\u0070\u0065\u0020\u0021\u003d\u0020CI\u0044\u0046\u006fn\u0074\u0054y\u0070\u0065\u0032\u002e\u0020\u0066o\u006e\u0074=\u0025\u0073",_afdg );return nil ,_ce .ErrRangeError ;};_eedeb :=_edbbd (_afdg );_eafg ,_baaeb :=_ce .GetDict (_fagf .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_baaeb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0043I\u0044\u0053\u0079st\u0065\u006d\u0049\u006e\u0066\u006f \u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u002e\u0020\u0066\u006f\u006e\u0074=\u0025\u0073",_afdg );return nil ,ErrRequiredAttributeMissing ;};_eedeb .CIDSystemInfo =_eafg ;_eedeb .DW =_fagf .Get ("\u0044\u0057");_eedeb .W =_fagf .Get ("\u0057");_eedeb .DW2 =_fagf .Get ("\u0044\u0057\u0032");_eedeb .W2 =_fagf .Get ("\u0057\u0032");_eedeb .CIDToGIDMap =_fagf .Get ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070");_eedeb ._badc =1000.0;if _fefg ,_eadd :=_ce .GetNumberAsFloat (_eedeb .DW );_eadd ==nil {_eedeb ._badc =_fefg ;};_fcccf ,_abdebd :=_ebba (_eedeb .W );if _abdebd !=nil {return nil ,_abdebd ;};if _fcccf ==nil {_fcccf =map[_cce .CharCode ]float64 {};};_eedeb ._ggaa =_fcccf ;return _eedeb ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggd *PdfActionLaunch )ToPdfObject ()_ce .PdfObject {_ggd .PdfAction .ToPdfObject ();_da :=_ggd ._bdf ;_daa :=_da .PdfObject .(*_ce .PdfObjectDictionary );_daa .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeLaunch )));if _ggd .F !=nil {_daa .Set ("\u0046",_ggd .F .ToPdfObject ());};_daa .SetIfNotNil ("\u0057\u0069\u006e",_ggd .Win );_daa .SetIfNotNil ("\u004d\u0061\u0063",_ggd .Mac );_daa .SetIfNotNil ("\u0055\u006e\u0069\u0078",_ggd .Unix );_daa .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_ggd .NewWindow );return _da ;};func _fgfg (_addd _cc .StdFont )pdfFontSimple {_adab :=_addd .Descriptor ();return pdfFontSimple {fontCommon :fontCommon {_dbbag :"\u0054\u0079\u0070e\u0031",_agcagf :_addd .Name ()},_eegg :_addd .GetMetricsTable (),_cdgc :&PdfFontDescriptor {FontName :_ce .MakeName (string (_adab .Name )),FontFamily :_ce .MakeName (_adab .Family ),FontWeight :_ce .MakeFloat (float64 (_adab .Weight )),Flags :_ce .MakeInteger (int64 (_adab .Flags )),FontBBox :_ce .MakeArrayFromFloats (_adab .BBox [:]),ItalicAngle :_ce .MakeFloat (_adab .ItalicAngle ),Ascent :_ce .MakeFloat (_adab .Ascent ),Descent :_ce .MakeFloat (_adab .Descent ),CapHeight :_ce .MakeFloat (_adab .CapHeight ),XHeight :_ce .MakeFloat (_adab .XHeight ),StemV :_ce .MakeFloat (_adab .StemV ),StemH :_ce .MakeFloat (_adab .StemH )},_edbbe :_addd .Encoder ()};};func _abab ()string {_cffbb :="\u0051\u0057\u0045\u0052\u0054\u0059\u0055\u0049\u004f\u0050\u0041S\u0044\u0046\u0047\u0048\u004a\u004b\u004c\u005a\u0058\u0043V\u0042\u004e\u004d";var _aggef _f .Buffer ;for _fgeb :=0;_fgeb < 6;_fgeb ++{_aggef .WriteRune (rune (_cffbb [_dg .Intn (len (_cffbb ))]));};return _aggef .String ();};
|
||
|
||
// SetContentStream updates the content stream with specified encoding.
|
||
// If encoding is null, will use the xform.Filter object or Raw encoding if not set.
|
||
func (_ggfc *XObjectForm )SetContentStream (content []byte ,encoder _ce .StreamEncoder )error {_debbbe :=content ;if encoder ==nil {if _ggfc .Filter !=nil {encoder =_ggfc .Filter ;}else {encoder =_ce .NewRawEncoder ();};};_cbeag ,_aead :=encoder .EncodeBytes (_debbbe );if _aead !=nil {return _aead ;};_debbbe =_cbeag ;_ggfc .Stream =_debbbe ;_ggfc .Filter =encoder ;return nil ;};func _dfgaf (_fegbg _ce .PdfObject )(*PdfPattern ,error ){_bgacb :=&PdfPattern {};var _bdbed *_ce .PdfObjectDictionary ;if _eceag ,_bdecg :=_ce .GetIndirect (_fegbg );_bdecg {_bgacb ._efabe =_eceag ;_dfeg ,_aacdf :=_eceag .PdfObject .(*_ce .PdfObjectDictionary );if !_aacdf {_ebg .Log .Debug ("\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006ae\u0063\u0074\u0020\u006e\u006f\u0074\u0020\u0063\u006fn\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020\u0064\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079\u0020\u0028g\u006f\u0074\u0020%\u0054\u0029",_eceag .PdfObject );return nil ,_ce .ErrTypeError ;};_bdbed =_dfeg ;}else if _ggab ,_bbagc :=_ce .GetStream (_fegbg );_bbagc {_bgacb ._efabe =_ggab ;_bdbed =_ggab .PdfObjectDictionary ;}else {_ebg .Log .Debug ("\u0050a\u0074\u0074e\u0072\u006e\u0020\u006eo\u0074\u0020\u0061n\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074 o\u0062\u006a\u0065c\u0074\u0020o\u0072\u0020\u0073\u0074\u0072\u0065a\u006d\u002e \u0025\u0054",_fegbg );return nil ,_ce .ErrTypeError ;};_gggcf :=_bdbed .Get ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065");if _gggcf ==nil {_ebg .Log .Debug ("\u0050\u0064\u0066\u0020\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069n\u0067\u0020\u0050\u0061\u0074t\u0065\u0072n\u0054\u0079\u0070\u0065");return nil ,ErrRequiredAttributeMissing ;};_dbeaf ,_deabb :=_gggcf .(*_ce .PdfObjectInteger );if !_deabb {_ebg .Log .Debug ("\u0050\u0061tt\u0065\u0072\u006e \u0074\u0079\u0070\u0065 no\u0074 a\u006e\u0020\u0069\u006e\u0074\u0065\u0067er\u0020\u0028\u0067\u006f\u0074\u0020\u0025T\u0029",_gggcf );return nil ,_ce .ErrTypeError ;};if *_dbeaf !=1&&*_dbeaf !=2{_ebg .Log .Debug ("\u0050\u0061\u0074\u0074e\u0072\u006e\u0020\u0074\u0079\u0070\u0065\u0020\u0021\u003d \u0031/\u0032\u0020\u0028\u0067\u006f\u0074\u0020%\u0064\u0029",*_dbeaf );return nil ,_ce .ErrRangeError ;};_bgacb .PatternType =int64 (*_dbeaf );switch *_dbeaf {case 1:_dcgc ,_ddfcc :=_cadgg (_bdbed );if _ddfcc !=nil {return nil ,_ddfcc ;};_dcgc .PdfPattern =_bgacb ;_bgacb ._gdge =_dcgc ;return _bgacb ,nil ;case 2:_fbfac ,_cbega :=_dbbge (_bdbed );if _cbega !=nil {return nil ,_cbega ;};_fbfac .PdfPattern =_bgacb ;_bgacb ._gdge =_fbfac ;return _bgacb ,nil ;};return nil ,_gd .New ("\u0075n\u006bn\u006f\u0077\u006e\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e");};func _dcebc (_ffece *_ce .PdfObjectDictionary ,_fede *fontCommon )(*pdfCIDFontType0 ,error ){if _fede ._dbbag !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"{_ebg .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0046\u006fn\u0074\u0020\u0053u\u0062\u0054\u0079\u0070\u0065\u0020\u0021\u003d\u0020CI\u0044\u0046\u006fn\u0074\u0054y\u0070\u0065\u0030\u002e\u0020\u0066o\u006e\u0074=\u0025\u0073",_fede );return nil ,_ce .ErrRangeError ;};_bebf :=_cfabg (_fede );_cgda ,_cgca :=_ce .GetDict (_ffece .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_cgca {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0043I\u0044\u0053\u0079st\u0065\u006d\u0049\u006e\u0066\u006f \u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u002e\u0020\u0066\u006f\u006e\u0074=\u0025\u0073",_fede );return nil ,ErrRequiredAttributeMissing ;};_bebf .CIDSystemInfo =_cgda ;_bebf .DW =_ffece .Get ("\u0044\u0057");_bebf .W =_ffece .Get ("\u0057");_bebf .DW2 =_ffece .Get ("\u0044\u0057\u0032");_bebf .W2 =_ffece .Get ("\u0057\u0032");_bebf ._ccff =1000.0;if _bfdf ,_gcffg :=_ce .GetNumberAsFloat (_bebf .DW );_gcffg ==nil {_bebf ._ccff =_bfdf ;};_eaee ,_cecbg :=_ebba (_bebf .W );if _cecbg !=nil {return nil ,_cecbg ;};if _eaee ==nil {_eaee =map[_cce .CharCode ]float64 {};};_bebf ._fcfd =_eaee ;return _bebf ,nil ;};
|
||
|
||
// XObjectForm (Table 95 in 8.10.2).
|
||
type XObjectForm struct{Filter _ce .StreamEncoder ;FormType _ce .PdfObject ;BBox _ce .PdfObject ;Matrix _ce .PdfObject ;Resources *PdfPageResources ;Group _ce .PdfObject ;Ref _ce .PdfObject ;MetaData _ce .PdfObject ;PieceInfo _ce .PdfObject ;LastModified _ce .PdfObject ;StructParent _ce .PdfObject ;StructParents _ce .PdfObject ;OPI _ce .PdfObject ;OC _ce .PdfObject ;Name _ce .PdfObject ;
|
||
|
||
// Stream data.
|
||
Stream []byte ;_gcaa *_ce .PdfObjectStream ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType2 to a PDF representation.
|
||
func (_bafa *pdfCIDFontType2 )ToPdfObject ()_ce .PdfObject {if _bafa ._adbec ==nil {_bafa ._adbec =&_ce .PdfIndirectObject {};};_gbee :=_bafa .baseFields ().asPdfObjectDictionary ("\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032");_bafa ._adbec .PdfObject =_gbee ;if _bafa .CIDSystemInfo !=nil {_gbee .Set ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f",_bafa .CIDSystemInfo );};if _bafa .DW !=nil {_gbee .Set ("\u0044\u0057",_bafa .DW );};if _bafa .DW2 !=nil {_gbee .Set ("\u0044\u0057\u0032",_bafa .DW2 );};if _bafa .W !=nil {_gbee .Set ("\u0057",_bafa .W );};if _bafa .W2 !=nil {_gbee .Set ("\u0057\u0032",_bafa .W2 );};if _bafa .CIDToGIDMap !=nil {_gbee .Set ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070",_bafa .CIDToGIDMap );};return _bafa ._adbec ;};
|
||
|
||
// PdfAnnotationPrinterMark represents PrinterMark annotations.
|
||
// (Section 12.5.6.20).
|
||
type PdfAnnotationPrinterMark struct{*PdfAnnotation ;MN _ce .PdfObject ;};
|
||
|
||
// NewPdfActionGoToR returns a new "go to remote" action.
|
||
func NewPdfActionGoToR ()*PdfActionGoToR {_gf :=NewPdfAction ();_abc :=&PdfActionGoToR {};_abc .PdfAction =_gf ;_gf .SetContext (_abc );return _abc ;};func (_acef *PdfReader )traverseObjectData (_eaega _ce .PdfObject )error {return _ce .ResolveReferencesDeep (_eaega ,_acef ._acfdf );};func (_fafba *PdfReader )loadOutlines ()(*PdfOutlineTreeNode ,error ){if _fafba ._dbfe .GetCrypter ()!=nil &&!_fafba ._dbfe .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_aabga :=_fafba ._gaadd ;_ggcff :=_aabga .Get ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");if _ggcff ==nil {return nil ,nil ;};_ebg .Log .Trace ("\u002d\u0048\u0061\u0073\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");_edggb :=_ce .ResolveReference (_ggcff );_ebg .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0020\u0072\u006f\u006f\u0074\u003a\u0020\u0025\u0076",_edggb );if _cfbbgg :=_ce .IsNullObject (_edggb );_cfbbgg {_ebg .Log .Trace ("\u004f\u0075\u0074li\u006e\u0065\u0020\u0072\u006f\u006f\u0074\u0020\u0069s\u0020n\u0075l\u006c \u002d\u0020\u006e\u006f\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");return nil ,nil ;};_debdd ,_cded :=_edggb .(*_ce .PdfIndirectObject );if !_cded {if _ ,_afffc :=_ce .GetDict (_edggb );!_afffc {_ebg .Log .Debug ("\u0049\u006e\u0076a\u006c\u0069\u0064\u0020o\u0075\u0074\u006c\u0069\u006e\u0065\u0020r\u006f\u006f\u0074\u0020\u002d\u0020\u0073\u006b\u0069\u0070\u0070\u0069\u006e\u0067");return nil ,nil ;};_ebg .Log .Debug ("\u004f\u0075t\u006c\u0069\u006e\u0065\u0020r\u006f\u006f\u0074\u0020\u0069s\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u002e\u0020\u0053\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");_debdd =_ce .MakeIndirectObject (_edggb );};_bgedbd ,_cded :=_debdd .PdfObject .(*_ce .PdfObjectDictionary );if !_cded {return nil ,_gd .New ("\u006f\u0075\u0074\u006c\u0069n\u0065\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072y");};_ebg .Log .Trace ("O\u0075\u0074\u006c\u0069ne\u0020r\u006f\u006f\u0074\u0020\u0064i\u0063\u0074\u003a\u0020\u0025\u0076",_bgedbd );_babac ,_ ,_aagb :=_fafba .buildOutlineTree (_debdd ,nil ,nil ,nil );if _aagb !=nil {return nil ,_aagb ;};_ebg .Log .Trace ("\u0052\u0065\u0073\u0075\u006c\u0074\u0069\u006e\u0067\u0020\u006fu\u0074\u006c\u0069\u006e\u0065\u0020\u0074\u0072\u0065\u0065:\u0020\u0025\u0076",_babac );return _babac ,nil ;};
|
||
|
||
// PdfActionMovie represents a movie action.
|
||
type PdfActionMovie struct{*PdfAction ;Annotation _ce .PdfObject ;T _ce .PdfObject ;Operation _ce .PdfObject ;};func (_aggc *PdfColorspaceCalRGB )String ()string {return "\u0043\u0061\u006c\u0052\u0047\u0042"};
|
||
|
||
// NewPdfAnnotationTrapNet returns a new trapnet annotation.
|
||
func NewPdfAnnotationTrapNet ()*PdfAnnotationTrapNet {_fbc :=NewPdfAnnotation ();_ebfg :=&PdfAnnotationTrapNet {};_ebfg .PdfAnnotation =_fbc ;_fbc .SetContext (_ebfg );return _ebfg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddf *PdfActionHide )ToPdfObject ()_ce .PdfObject {_ddf .PdfAction .ToPdfObject ();_cbgd :=_ddf ._bdf ;_dga :=_cbgd .PdfObject .(*_ce .PdfObjectDictionary );_dga .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeHide )));_dga .SetIfNotNil ("\u0054",_ddf .T );_dga .SetIfNotNil ("\u0048",_ddf .H );return _cbgd ;};func (_afec *PdfWriter )updateObjectNumbers (){_fdfdb :=_afec .ObjNumOffset ;_ceabb :=0;for _ ,_eacga :=range _afec ._agacd {_caac :=int64 (_ceabb +1+_fdfdb );_eeca :=true ;if _afec ._cfgfc {if _ffag ,_gbbg :=_afec ._dfgaa [_eacga ];_gbbg {_caac =_ffag ;_eeca =false ;};};switch _ebccc :=_eacga .(type ){case *_ce .PdfIndirectObject :_ebccc .ObjectNumber =_caac ;_ebccc .GenerationNumber =0;case *_ce .PdfObjectStream :_ebccc .ObjectNumber =_caac ;_ebccc .GenerationNumber =0;case *_ce .PdfObjectStreams :_ebccc .ObjectNumber =_caac ;_ebccc .GenerationNumber =0;default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0055\u006e\u006b\u006e\u006f\u0077\u006e\u0020\u0074\u0079\u0070\u0065\u0020%\u0054\u0020\u002d\u0020\u0073\u006b\u0069p\u0070\u0069\u006e\u0067",_ebccc );continue ;};if _eeca {_ceabb ++;};};_dfdeg :=func (_accbg _ce .PdfObject )int64 {switch _egdbaa :=_accbg .(type ){case *_ce .PdfIndirectObject :return _egdbaa .ObjectNumber ;case *_ce .PdfObjectStream :return _egdbaa .ObjectNumber ;case *_ce .PdfObjectStreams :return _egdbaa .ObjectNumber ;};return 0;};_ba .SliceStable (_afec ._agacd ,func (_deaga ,_aagge int )bool {return _dfdeg (_afec ._agacd [_deaga ])< _dfdeg (_afec ._agacd [_aagge ])});};
|
||
|
||
// DecodeArray returns the component range values for the Separation colorspace.
|
||
func (_ggbg *PdfColorspaceSpecialSeparation )DecodeArray ()[]float64 {return []float64 {0,1.0}};func _gbdab (_fdcd *PdfPage )map[_ce .PdfObjectName ]_ce .PdfObject {_dcdb :=make (map[_ce .PdfObjectName ]_ce .PdfObject );if _fdcd .Resources ==nil {return _dcdb ;};if _fdcd .Resources .Font !=nil {if _ecfd ,_afbe :=_ce .GetDict (_fdcd .Resources .Font );_afbe {for _ ,_ffe :=range _ecfd .Keys (){_dcdb [_ffe ]=_ecfd .Get (_ffe );};};};if _fdcd .Resources .ExtGState !=nil {if _cced ,_fgba :=_ce .GetDict (_fdcd .Resources .ExtGState );_fgba {for _ ,_eged :=range _cced .Keys (){_dcdb [_eged ]=_cced .Get (_eged );};};};if _fdcd .Resources .XObject !=nil {if _bgcb ,_aaec :=_ce .GetDict (_fdcd .Resources .XObject );_aaec {for _ ,_dfge :=range _bgcb .Keys (){_dcdb [_dfge ]=_bgcb .Get (_dfge );};};};if _fdcd .Resources .Pattern !=nil {if _gfgfd ,_fcff :=_ce .GetDict (_fdcd .Resources .Pattern );_fcff {for _ ,_bgcbc :=range _gfgfd .Keys (){_dcdb [_bgcbc ]=_gfgfd .Get (_bgcbc );};};};if _fdcd .Resources .Shading !=nil {if _bbdf ,_eeae :=_ce .GetDict (_fdcd .Resources .Shading );_eeae {for _ ,_afcd :=range _bbdf .Keys (){_dcdb [_afcd ]=_bbdf .Get (_afcd );};};};if _fdcd .Resources .ProcSet !=nil {if _deea ,_ddgg :=_ce .GetDict (_fdcd .Resources .ProcSet );_ddgg {for _ ,_ffa :=range _deea .Keys (){_dcdb [_ffa ]=_deea .Get (_ffa );};};};if _fdcd .Resources .Properties !=nil {if _agge ,_cadc :=_ce .GetDict (_fdcd .Resources .Properties );_cadc {for _ ,_cff :=range _agge .Keys (){_dcdb [_cff ]=_agge .Get (_cff );};};};return _dcdb ;};
|
||
|
||
// NewStandard14FontMustCompile returns the standard 14 font named `basefont` as a *PdfFont.
|
||
// If `basefont` is one of the 14 Standard14Font values defined above then NewStandard14FontMustCompile
|
||
// is guaranteed to succeed.
|
||
func NewStandard14FontMustCompile (basefont StdFontName )*PdfFont {_fbfd ,_gedd :=NewStandard14Font (basefont );if _gedd !=nil {panic (_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0074\u0061n\u0064\u0061\u0072\u0064\u0031\u0034\u0046\u006f\u006e\u0074 \u0025\u0023\u0071",basefont ));};return _fbfd ;};
|
||
|
||
// Decrypt decrypts the PDF file with a specified password. Also tries to
|
||
// decrypt with an empty password. Returns true if successful,
|
||
// false otherwise.
|
||
func (_daaef *PdfReader )Decrypt (password []byte )(bool ,error ){_cbecd ,_fffb :=_daaef ._dbfe .Decrypt (password );if _fffb !=nil {return false ,_fffb ;};if !_cbecd {return false ,nil ;};_fffb =_daaef .loadStructure ();if _fffb !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0046\u0061\u0069\u006c\u0020\u0074\u006f \u006co\u0061d\u0020s\u0074\u0072\u0075\u0063\u0074\u0075\u0072\u0065\u0020\u0028\u0025\u0073\u0029",_fffb );return false ,_fffb ;};return true ,nil ;};
|
||
|
||
// SubsetRegistered subsets the font to only the glyphs that have been registered by the encoder.
|
||
// NOTE: This only works on fonts that support subsetting. For unsupported fonts this is a no-op, although a debug
|
||
// message is emitted. Currently supported fonts are embedded Truetype CID fonts (type 0).
|
||
// NOTE: Make sure to call this soon before writing (once all needed runes have been registered).
|
||
// If using package creator, use its EnableFontSubsetting method instead.
|
||
func (_eccfa *PdfFont )SubsetRegistered ()error {switch _bggfc :=_eccfa ._decac .(type ){case *pdfFontType0 :_fcbcb :=_bggfc .subsetRegistered ();if _fcbcb !=nil {_ebg .Log .Debug ("\u0053\u0075b\u0073\u0065\u0074 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_fcbcb );return _fcbcb ;};if _bggfc ._caga !=nil {if _bggfc ._gedcf !=nil {_bggfc ._gedcf .ToPdfObject ();};_bggfc .ToPdfObject ();};default:_ebg .Log .Debug ("F\u006f\u006e\u0074\u0020\u0025\u0054 \u0064\u006f\u0065\u0073\u0020\u006eo\u0074\u0020\u0073\u0075\u0070\u0070\u006fr\u0074\u0020\u0073\u0075\u0062\u0073\u0065\u0074\u0074\u0069n\u0067",_bggfc );};return nil ;};
|
||
|
||
// NewPdfAnnotationProjection returns a new projection annotation.
|
||
func NewPdfAnnotationProjection ()*PdfAnnotationProjection {_bgc :=NewPdfAnnotation ();_abdc :=&PdfAnnotationProjection {};_abdc .PdfAnnotation =_bgc ;_abdc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bgc .SetContext (_abdc );return _abdc ;};
|
||
|
||
// DecodeArray returns the component range values for the Indexed colorspace.
|
||
func (_dbfg *PdfColorspaceSpecialIndexed )DecodeArray ()[]float64 {return []float64 {0,float64 (_dbfg .HiVal )};};func (_abca *PdfReader )loadAnnotations (_fafef _ce .PdfObject )([]*PdfAnnotation ,error ){_gefd ,_adgec :=_ce .GetArray (_fafef );if !_adgec {return nil ,_c .Errorf ("\u0041\u006e\u006e\u006fts\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _gbeeeg []*PdfAnnotation ;for _ ,_aggab :=range _gefd .Elements (){_aggab =_ce .ResolveReference (_aggab );if _ ,_bgadba :=_aggab .(*_ce .PdfObjectNull );_bgadba {continue ;};_beff ,_gfddg :=_aggab .(*_ce .PdfObjectDictionary );_bdcd ,_cgcdf :=_aggab .(*_ce .PdfIndirectObject );if _gfddg {_bdcd =&_ce .PdfIndirectObject {};_bdcd .PdfObject =_beff ;}else {if !_cgcdf {return nil ,_c .Errorf ("\u0061\u006eno\u0074\u0061\u0074i\u006f\u006e\u0020\u006eot \u0069n \u0061\u006e\u0020\u0069\u006e\u0064\u0069re\u0063\u0074\u0020\u006f\u0062\u006a\u0065c\u0074");};};_bfeae ,_dcgda :=_abca .newPdfAnnotationFromIndirectObject (_bdcd );if _dcgda !=nil {return nil ,_dcgda ;};switch _daae :=_bfeae .GetContext ().(type ){case *PdfAnnotationWidget :for _ ,_ceac :=range _abca .AcroForm .AllFields (){if _ceac ._gfeec ==_daae .Parent {_daae ._dgg =_ceac ;break ;};};};if _bfeae !=nil {_gbeeeg =append (_gbeeeg ,_bfeae );};};return _gbeeeg ,nil ;};
|
||
|
||
// GetAscent returns the Ascent of the font `descriptor`.
|
||
func (_gbegc *PdfFontDescriptor )GetAscent ()(float64 ,error ){return _ce .GetNumberAsFloat (_gbegc .Ascent );};func (_cdeg *PdfReader )newPdfAnnotationSquigglyFromDict (_efbd *_ce .PdfObjectDictionary )(*PdfAnnotationSquiggly ,error ){_efab :=PdfAnnotationSquiggly {};_efge ,_gee :=_cdeg .newPdfAnnotationMarkupFromDict (_efbd );if _gee !=nil {return nil ,_gee ;};_efab .PdfAnnotationMarkup =_efge ;_efab .QuadPoints =_efbd .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_efab ,nil ;};func (_egea *PdfReader )newPdfSignatureFromIndirect (_bggec *_ce .PdfIndirectObject )(*PdfSignature ,error ){_cbgb ,_dcaegc :=_bggec .PdfObject .(*_ce .PdfObjectDictionary );if !_dcaegc {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0053\u0069\u0067\u006e\u0061\u0074\u0075\u0072e\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072\u0020\u006e\u006ft\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020a \u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");return nil ,ErrTypeCheck ;};if _agffg ,_cdfg :=_egea ._cbdfb .GetModelFromPrimitive (_bggec ).(*PdfSignature );_cdfg {return _agffg ,nil ;};_egece :=&PdfSignature {};_egece ._aefg =_bggec ;_egece .Type ,_ =_ce .GetName (_cbgb .Get ("\u0054\u0079\u0070\u0065"));_egece .Filter ,_dcaegc =_ce .GetName (_cbgb .Get ("\u0046\u0069\u006c\u0074\u0065\u0072"));if !_dcaegc {_ebg .Log .Error ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0053i\u0067\u006e\u0061\u0074\u0075r\u0065\u0020\u0046\u0069\u006c\u0074\u0065\u0072\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrInvalidAttribute ;};_egece .SubFilter ,_ =_ce .GetName (_cbgb .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r"));_egece .Contents ,_dcaegc =_ce .GetString (_cbgb .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073"));if !_dcaegc {_ebg .Log .Error ("\u0045\u0052\u0052\u004f\u0052\u003a \u0053\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0063\u006f\u006et\u0065\u006e\u0074\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrInvalidAttribute ;};_egece .Cert =_cbgb .Get ("\u0043\u0065\u0072\u0074");_egece .ByteRange ,_ =_ce .GetArray (_cbgb .Get ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e"));_egece .Reference ,_ =_ce .GetArray (_cbgb .Get ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e"));_egece .Changes ,_ =_ce .GetArray (_cbgb .Get ("\u0043h\u0061\u006e\u0067\u0065\u0073"));_egece .Name ,_ =_ce .GetString (_cbgb .Get ("\u004e\u0061\u006d\u0065"));_egece .M ,_ =_ce .GetString (_cbgb .Get ("\u004d"));_egece .Location ,_ =_ce .GetString (_cbgb .Get ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"));_egece .Reason ,_ =_ce .GetString (_cbgb .Get ("\u0052\u0065\u0061\u0073\u006f\u006e"));_egece .ContactInfo ,_ =_ce .GetString (_cbgb .Get ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f"));_egece .R ,_ =_ce .GetInt (_cbgb .Get ("\u0052"));_egece .V ,_ =_ce .GetInt (_cbgb .Get ("\u0056"));_egece .PropBuild ,_ =_ce .GetDict (_cbgb .Get ("\u0050\u0072\u006f\u0070\u005f\u0042\u0075\u0069\u006c\u0064"));_egece .PropAuthTime ,_ =_ce .GetInt (_cbgb .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0069\u006d\u0065"));_egece .PropAuthType ,_ =_ce .GetName (_cbgb .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0079\u0070\u0065"));return _egece ,nil ;};func (_ddgba *PdfFont )baseFields ()*fontCommon {if _ddgba ._decac ==nil {_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0062\u0061\u0073\u0065\u0046\u0069\u0065l\u0064s\u002e \u0063o\u006e\u0074\u0065\u0078\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c\u002e");return nil ;};return _ddgba ._decac .baseFields ();};var (ErrRequiredAttributeMissing =_gd .New ("\u0072\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074t\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073s\u0069\u006e\u0067");ErrInvalidAttribute =_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");ErrTypeCheck =_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");_dage =_gd .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");ErrEncrypted =_gd .New ("\u0066\u0069\u006c\u0065\u0020\u006e\u0065\u0065\u0064\u0073\u0020\u0074\u006f\u0020\u0062e\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");ErrNoFont =_gd .New ("\u0066\u006fn\u0074\u0020\u006eo\u0074\u0020\u0064\u0065\u0066\u0069\u006e\u0065\u0064");ErrFontNotSupported =_c .Errorf ("u\u006e\u0073\u0075\u0070po\u0072t\u0065\u0064\u0020\u0066\u006fn\u0074\u0020\u0028\u0025\u0076\u0029",_ce .ErrNotSupported );ErrType1CFontNotSupported =_c .Errorf ("\u0054y\u0070\u00651\u0043\u0020\u0066o\u006e\u0074\u0073\u0020\u0061\u0072\u0065 \u006e\u006f\u0074\u0020\u0063\u0075r\u0072\u0065\u006e\u0074\u006c\u0079\u0020\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020\u0028\u0025\u0076\u0029",_ce .ErrNotSupported );ErrType3FontNotSupported =_c .Errorf ("\u0054y\u0070\u00653\u0020\u0066\u006f\u006et\u0073\u0020\u0061r\u0065\u0020\u006e\u006f\u0074\u0020\u0063\u0075\u0072re\u006e\u0074\u006cy\u0020\u0073u\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0028%\u0076\u0029",_ce .ErrNotSupported );ErrTTCmapNotSupported =_c .Errorf ("\u0075\u006es\u0075\u0070\u0070\u006fr\u0074\u0065d\u0020\u0054\u0072\u0075\u0065\u0054\u0079\u0070e\u0020\u0063\u006d\u0061\u0070\u0020\u0066\u006f\u0072\u006d\u0061\u0074 \u0028\u0025\u0076\u0029",_ce .ErrNotSupported ););
|
||
|
||
// SetPdfCreationDate sets the CreationDate attribute of the output PDF.
|
||
func SetPdfCreationDate (creationDate _a .Time ){_ebgad =creationDate };func _fbbbc (_fgde *PdfField ,_ebcbb _ce .PdfObject ){for _ ,_ecdbd :=range _fgde .Annotations {_ecdbd .AS =_ebcbb ;_ecdbd .ToPdfObject ();};};
|
||
|
||
// Has checks if flag fl is set in flag and returns true if so, false otherwise.
|
||
func (_gfcg FieldFlag )Has (fl FieldFlag )bool {return (_gfcg .Mask ()&fl .Mask ())> 0};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dced *PdfAnnotation3D )ToPdfObject ()_ce .PdfObject {_dced .PdfAnnotation .ToPdfObject ();_dcdf :=_dced ._bda ;_acdc :=_dcdf .PdfObject .(*_ce .PdfObjectDictionary );_acdc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0033\u0044"));_acdc .SetIfNotNil ("\u0033\u0044\u0044",_dced .T3DD );_acdc .SetIfNotNil ("\u0033\u0044\u0056",_dced .T3DV );_acdc .SetIfNotNil ("\u0033\u0044\u0041",_dced .T3DA );_acdc .SetIfNotNil ("\u0033\u0044\u0049",_dced .T3DI );_acdc .SetIfNotNil ("\u0033\u0044\u0042",_dced .T3DB );return _dcdf ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_egaad *PdfAnnotationUnderline )ToPdfObject ()_ce .PdfObject {_egaad .PdfAnnotation .ToPdfObject ();_ddbf :=_egaad ._bda ;_baac :=_ddbf .PdfObject .(*_ce .PdfObjectDictionary );_egaad .PdfAnnotationMarkup .appendToPdfDictionary (_baac );_baac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee"));_baac .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_egaad .QuadPoints );return _ddbf ;};type pdfCIDFontType2 struct{fontCommon ;_adbec *_ce .PdfIndirectObject ;_egbdd _cce .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// Dictionary that defines the character collection of the CIDFont (required).
|
||
// See Table 116.
|
||
CIDSystemInfo *_ce .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _ce .PdfObject ;W _ce .PdfObject ;DW2 _ce .PdfObject ;W2 _ce .PdfObject ;
|
||
|
||
// CIDs to glyph indices mapping (optional).
|
||
CIDToGIDMap _ce .PdfObject ;_ggaa map[_cce .CharCode ]float64 ;_badc float64 ;_fabd map[rune ]int ;};
|
||
|
||
// ValidateSignatures validates digital signatures in the document.
|
||
func (_cebbc *PdfReader )ValidateSignatures (handlers []SignatureHandler )([]SignatureValidationResult ,error ){if _cebbc .AcroForm ==nil {return nil ,nil ;};if _cebbc .AcroForm .Fields ==nil {return nil ,nil ;};type sigFieldPair struct{_edfe *PdfSignature ;_cfgbg *PdfField ;_degc SignatureHandler ;};var _ggecg []*sigFieldPair ;for _ ,_gbafc :=range _cebbc .AcroForm .AllFields (){if _gbafc .V ==nil {continue ;};if _gdfcbb ,_gfggde :=_ce .GetDict (_gbafc .V );_gfggde {if _baccf ,_deeaa :=_ce .GetNameVal (_gdfcbb .Get ("\u0054\u0079\u0070\u0065"));_deeaa &&_baccf =="\u0053\u0069\u0067"{_acga ,_gbdg :=_ce .GetIndirect (_gbafc .V );if !_gbdg {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0053\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0063\u006f\u006et\u0061\u0069\u006e\u0065\u0072\u0020\u0069s\u0020\u006e\u0069\u006c");return nil ,ErrTypeCheck ;};_caeg ,_fcega :=_cebbc .newPdfSignatureFromIndirect (_acga );if _fcega !=nil {return nil ,_fcega ;};var _efegbc SignatureHandler ;for _ ,_cccac :=range handlers {if _cccac .IsApplicable (_caeg ){_efegbc =_cccac ;break ;};};_ggecg =append (_ggecg ,&sigFieldPair {_edfe :_caeg ,_cfgbg :_gbafc ,_degc :_efegbc });};};};var _cafdf []SignatureValidationResult ;for _ ,_dgbfd :=range _ggecg {_afccd :=SignatureValidationResult {IsSigned :true ,Fields :[]*PdfField {_dgbfd ._cfgbg }};if _dgbfd ._degc ==nil {_afccd .Errors =append (_afccd .Errors ,"\u0068a\u006ed\u006c\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0073\u0065\u0074");_cafdf =append (_cafdf ,_afccd );continue ;};_gafdbb ,_gfeea :=_dgbfd ._degc .NewDigest (_dgbfd ._edfe );if _gfeea !=nil {_afccd .Errors =append (_afccd .Errors ,"\u0064\u0069\u0067e\u0073\u0074\u0020\u0065\u0072\u0072\u006f\u0072",_gfeea .Error ());_cafdf =append (_cafdf ,_afccd );continue ;};_baffeb :=_dgbfd ._edfe .ByteRange ;if _baffeb ==nil {_afccd .Errors =append (_afccd .Errors ,"\u0042\u0079\u0074\u0065\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");_cafdf =append (_cafdf ,_afccd );continue ;};for _bebc :=0;_bebc < _baffeb .Len ();_bebc =_bebc +2{_ffddd ,_ :=_ce .GetNumberAsInt64 (_baffeb .Get (_bebc ));_cfaee ,_ :=_ce .GetIntVal (_baffeb .Get (_bebc +1));if _ ,_gcfd :=_cebbc ._dafg .Seek (_ffddd ,_cg .SeekStart );_gcfd !=nil {return nil ,_gcfd ;};_gdabe :=make ([]byte ,_cfaee );if _ ,_gbdga :=_cebbc ._dafg .Read (_gdabe );_gbdga !=nil {return nil ,_gbdga ;};_gafdbb .Write (_gdabe );};_eggec ,_gfeea :=_dgbfd ._degc .Validate (_dgbfd ._edfe ,_gafdbb );if _gfeea !=nil {return nil ,_gfeea ;};_eggec .Name =_dgbfd ._edfe .Name .Decoded ();_eggec .Reason =_dgbfd ._edfe .Reason .Decoded ();if _dgbfd ._edfe .M !=nil {_gfefc ,_cfaa :=NewPdfDate (_dgbfd ._edfe .M .String ());if _cfaa !=nil {_eggec .Errors =append (_eggec .Errors ,_cfaa .Error ());continue ;};_eggec .Date =_gfefc ;};_eggec .ContactInfo =_dgbfd ._edfe .ContactInfo .Decoded ();_eggec .Location =_dgbfd ._edfe .Location .Decoded ();_eggec .Fields =_afccd .Fields ;_cafdf =append (_cafdf ,_eggec );};return _cafdf ,nil ;};
|
||
|
||
// SetPdfCreator sets the Creator attribute of the output PDF.
|
||
func SetPdfCreator (creator string ){_gbaa =creator };func (_egc *PdfReader )newPdfAnnotationLinkFromDict (_gcge *_ce .PdfObjectDictionary )(*PdfAnnotationLink ,error ){_fbca :=PdfAnnotationLink {};_fbca .A =_gcge .Get ("\u0041");_fbca .Dest =_gcge .Get ("\u0044\u0065\u0073\u0074");_fbca .H =_gcge .Get ("\u0048");_fbca .PA =_gcge .Get ("\u0050\u0041");_fbca .QuadPoints =_gcge .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_fbca .BS =_gcge .Get ("\u0042\u0053");return &_fbca ,nil ;};
|
||
|
||
// PdfShadingType5 is a Lattice-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType5 struct{*PdfShading ;BitsPerCoordinate *_ce .PdfObjectInteger ;BitsPerComponent *_ce .PdfObjectInteger ;VerticesPerRow *_ce .PdfObjectInteger ;Decode *_ce .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// NewPdfAnnotationPrinterMark returns a new printermark annotation.
|
||
func NewPdfAnnotationPrinterMark ()*PdfAnnotationPrinterMark {_bacc :=NewPdfAnnotation ();_dgdc :=&PdfAnnotationPrinterMark {};_dgdc .PdfAnnotation =_bacc ;_bacc .SetContext (_dgdc );return _dgdc ;};func _dfbae (_gbegf *_ce .PdfObjectDictionary )(*PdfShadingType4 ,error ){_dbafc :=PdfShadingType4 {};_fbae :=_gbegf .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fbae ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064 \u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065\u0072C\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065");return nil ,ErrRequiredAttributeMissing ;};_ffdd ,_beaf :=_fbae .(*_ce .PdfObjectInteger );if !_beaf {_ebg .Log .Debug ("\u0042\u0069\u0074\u0073\u0050e\u0072\u0043\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_fbae );return nil ,_ce .ErrTypeError ;};_dbafc .BitsPerCoordinate =_ffdd ;_fbae =_gbegf .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fbae ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064\u0020a\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073in\u0067\u003a\u0020B\u0069\u0074s\u0050\u0065\u0072\u0043\u006f\u006dp\u006f\u006ee\u006e\u0074");return nil ,ErrRequiredAttributeMissing ;};_ffdd ,_beaf =_fbae .(*_ce .PdfObjectInteger );if !_beaf {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065r \u0028\u0067\u006ft\u0020%\u0054\u0029",_fbae );return nil ,_ce .ErrTypeError ;};_dbafc .BitsPerComponent =_ffdd ;_fbae =_gbegf .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fbae ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065r\u0046\u006c\u0061\u0067");return nil ,ErrRequiredAttributeMissing ;};_ffdd ,_beaf =_fbae .(*_ce .PdfObjectInteger );if !_beaf {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072F\u006c\u0061\u0067\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074e\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025T\u0029",_fbae );return nil ,_ce .ErrTypeError ;};_dbafc .BitsPerComponent =_ffdd ;_fbae =_gbegf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fbae ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071ui\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069b\u0075t\u0065 \u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0044\u0065\u0063\u006f\u0064\u0065");return nil ,ErrRequiredAttributeMissing ;};_babcd ,_beaf :=_fbae .(*_ce .PdfObjectArray );if !_beaf {_ebg .Log .Debug ("\u0044\u0065\u0063\u006fd\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_fbae );return nil ,_ce .ErrTypeError ;};_dbafc .Decode =_babcd ;_fbae =_gbegf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _fbae ==nil {_ebg .Log .Debug ("\u0052\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0020\u0046\u0075\u006ec\u0074\u0069\u006f\u006e");return nil ,ErrRequiredAttributeMissing ;};_dbafc .Function =[]PdfFunction {};if _bdecd ,_acdaf :=_fbae .(*_ce .PdfObjectArray );_acdaf {for _ ,_eefda :=range _bdecd .Elements (){_gdbec ,_cbgfe :=_edddda (_eefda );if _cbgfe !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_cbgfe );return nil ,_cbgfe ;};_dbafc .Function =append (_dbafc .Function ,_gdbec );};}else {_geaga ,_ebegd :=_edddda (_fbae );if _ebegd !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_ebegd );return nil ,_ebegd ;};_dbafc .Function =append (_dbafc .Function ,_geaga );};return &_dbafc ,nil ;};
|
||
|
||
// IsRadio returns true if the button field represents a radio button, false otherwise.
|
||
func (_dbee *PdfFieldButton )IsRadio ()bool {return _dbee .GetType ()==ButtonTypeRadio };
|
||
|
||
// Items returns all children outline items.
|
||
func (_bfacc *OutlineItem )Items ()[]*OutlineItem {return _bfacc .Entries };
|
||
|
||
// PdfRectangle is a definition of a rectangle.
|
||
type PdfRectangle struct{Llx float64 ;Lly float64 ;Urx float64 ;Ury float64 ;};
|
||
|
||
// GetIndirectObjectByNumber retrieves and returns a specific PdfObject by object number.
|
||
func (_ccccf *PdfReader )GetIndirectObjectByNumber (number int )(_ce .PdfObject ,error ){_gcffe ,_ebeae :=_ccccf ._dbfe .LookupByNumber (number );return _gcffe ,_ebeae ;};
|
||
|
||
// GetPage returns the PdfPage model for the specified page number.
|
||
func (_befa *PdfReader )GetPage (pageNumber int )(*PdfPage ,error ){if _befa ._dbfe .GetCrypter ()!=nil &&!_befa ._dbfe .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006c\u0065\u0020\u006e\u0065\u0065\u0064\u0073\u0020\u0074\u006f\u0020\u0062e\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};if len (_befa ._gggg )< pageNumber {return nil ,_gd .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0070\u0061\u0067\u0065\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u0028\u0070\u0061\u0067\u0065\u0020\u0063\u006f\u0075\u006e\u0074\u0020\u0074o\u006f\u0020\u0073\u0068\u006f\u0072\u0074\u0029");};_fgaf :=pageNumber -1;if _fgaf < 0{return nil ,_c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u006e\u0075\u006d\u0062\u0065r\u0069\u006e\u0067\u0020\u006d\u0075\u0073t\u0020\u0073\u0074\u0061\u0072\u0074\u0020\u0061\u0074\u0020\u0031");};_cddb :=_befa .PageList [_fgaf ];return _cddb ,nil ;};
|
||
|
||
// FlattenFieldsWithOpts flattens the AcroForm fields of the reader using the
|
||
// provided field appearance generator and the specified options. If no options
|
||
// are specified, all form fields are flattened.
|
||
// If a filter function is provided using the opts parameter, only the filtered
|
||
// fields are flattened. Otherwise, all form fields are flattened.
|
||
// At the end of the process, the AcroForm contains all the fields which were
|
||
// not flattened. If all fields are flattened, the reader's AcroForm field
|
||
// is set to nil.
|
||
func (_dcad *PdfReader )FlattenFieldsWithOpts (appgen FieldAppearanceGenerator ,opts *FieldFlattenOpts )error {return _dcad .flattenFieldsWithOpts (false ,appgen ,opts );};
|
||
|
||
// ToPdfObject returns a PdfObject representation of PdfColorspaceDeviceNAttributes as a PdfObjectDictionary directly
|
||
// or indirectly within an indirect object container.
|
||
func (_eebe *PdfColorspaceDeviceNAttributes )ToPdfObject ()_ce .PdfObject {_fdfg :=_ce .MakeDict ();if _eebe .Subtype !=nil {_fdfg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_eebe .Subtype );};_fdfg .SetIfNotNil ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s",_eebe .Colorants );_fdfg .SetIfNotNil ("\u0050r\u006f\u0063\u0065\u0073\u0073",_eebe .Process );_fdfg .SetIfNotNil ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073",_eebe .MixingHints );if _eebe ._gac !=nil {_eebe ._gac .PdfObject =_fdfg ;return _eebe ._gac ;};return _fdfg ;};
|
||
|
||
// Compress is yet to be implemented.
|
||
// Should be able to compress in terms of JPEG quality parameter,
|
||
// and DPI threshold (need to know bounding area dimensions).
|
||
func (_acagf DefaultImageHandler )Compress (input *Image ,quality int64 )(*Image ,error ){return input ,nil ;};var _gbaa ="";func _dbbge (_gdgc *_ce .PdfObjectDictionary )(*PdfShadingPattern ,error ){_affef :=&PdfShadingPattern {};_begac :=_gdgc .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");if _begac ==nil {_ebg .Log .Debug ("\u0053h\u0061d\u0069\u006e\u0067\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_dgeb ,_eeaf :=_aggff (_begac );if _eeaf !=nil {_ebg .Log .Debug ("\u0045r\u0072\u006f\u0072\u0020l\u006f\u0061\u0064\u0069\u006eg\u0020s\u0068a\u0064\u0069\u006e\u0067\u003a\u0020\u0025v",_eeaf );return nil ,_eeaf ;};_affef .Shading =_dgeb ;if _cbcg :=_gdgc .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_cbcg !=nil {_dbcfa ,_efgeff :=_cbcg .(*_ce .PdfObjectArray );if !_efgeff {_ebg .Log .Debug ("\u004d\u0061\u0074\u0072i\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_cbcg );return nil ,_ce .ErrTypeError ;};_affef .Matrix =_dbcfa ;};if _aege :=_gdgc .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_aege !=nil {_affef .ExtGState =_aege ;};return _affef ,nil ;};func (_bdg *PdfReader )newPdfAnnotationScreenFromDict (_fae *_ce .PdfObjectDictionary )(*PdfAnnotationScreen ,error ){_dbf :=PdfAnnotationScreen {};_dbf .T =_fae .Get ("\u0054");_dbf .MK =_fae .Get ("\u004d\u004b");_dbf .A =_fae .Get ("\u0041");_dbf .AA =_fae .Get ("\u0041\u0041");return &_dbf ,nil ;};
|
||
|
||
// PdfAnnotationFileAttachment represents FileAttachment annotations.
|
||
// (Section 12.5.6.15).
|
||
type PdfAnnotationFileAttachment struct{*PdfAnnotation ;*PdfAnnotationMarkup ;FS _ce .PdfObject ;Name _ce .PdfObject ;};
|
||
|
||
// NewPdfColorspaceSpecialIndexed returns a new Indexed color.
|
||
func NewPdfColorspaceSpecialIndexed ()*PdfColorspaceSpecialIndexed {return &PdfColorspaceSpecialIndexed {HiVal :255};};
|
||
|
||
// SetNamedDestinations sets the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_dcdg *PdfWriter )SetNamedDestinations (names _ce .PdfObject )error {if names ==nil {return nil ;};_ebg .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006co\u0067\u0020\u004e\u0061\u006d\u0065\u0073\u002e\u002e\u002e");_dcdg ._ddaae .Set ("\u004e\u0061\u006de\u0073",names );return _dcdg .addObjects (names );};
|
||
|
||
// GetContentStreams returns the content stream as an array of strings.
|
||
func (_egage *PdfPage )GetContentStreams ()([]string ,error ){if _egage .Contents ==nil {return nil ,nil ;};_bdgfg :=_ce .TraceToDirectObject (_egage .Contents );var _eeabee []_ce .PdfObject ;if _acde ,_aadca :=_bdgfg .(*_ce .PdfObjectArray );_aadca {_eeabee =_acde .Elements ();}else {_eeabee =[]_ce .PdfObject {_bdgfg };};var _adfac []string ;for _ ,_bcge :=range _eeabee {_fggdb ,_eagde :=_ecgb (_bcge );if _eagde !=nil {return nil ,_eagde ;};_adfac =append (_adfac ,_fggdb );};return _adfac ,nil ;};var ImageHandling ImageHandler =DefaultImageHandler {};func (_efgec *PdfReader )newPdfAnnotation3DFromDict (_bbf *_ce .PdfObjectDictionary )(*PdfAnnotation3D ,error ){_dded :=PdfAnnotation3D {};_dded .T3DD =_bbf .Get ("\u0033\u0044\u0044");_dded .T3DV =_bbf .Get ("\u0033\u0044\u0056");_dded .T3DA =_bbf .Get ("\u0033\u0044\u0041");_dded .T3DI =_bbf .Get ("\u0033\u0044\u0049");_dded .T3DB =_bbf .Get ("\u0033\u0044\u0042");return &_dded ,nil ;};
|
||
|
||
// XObjectType represents the type of an XObject.
|
||
type XObjectType int ;
|
||
|
||
// GetAnnotations returns the list of page annotations for `page`. If not loaded attempts to load the
|
||
// annotations, otherwise returns the loaded list.
|
||
func (_gggc *PdfPage )GetAnnotations ()([]*PdfAnnotation ,error ){if _gggc ._bdcg !=nil {return _gggc ._bdcg ,nil ;};if _gggc .Annots ==nil {_gggc ._bdcg =[]*PdfAnnotation {};return nil ,nil ;};if _gggc ._fabb ==nil {_gggc ._bdcg =[]*PdfAnnotation {};return nil ,nil ;};_aaage ,_bccg :=_gggc ._fabb .loadAnnotations (_gggc .Annots );if _bccg !=nil {return nil ,_bccg ;};if _aaage ==nil {_gggc ._bdcg =[]*PdfAnnotation {};};_gggc ._bdcg =_aaage ;return _gggc ._bdcg ,nil ;};func (_fcegb fontCommon )asPdfObjectDictionary (_afceb string )*_ce .PdfObjectDictionary {if _afceb !=""&&_fcegb ._dbbag !=""&&_afceb !=_fcegb ._dbbag {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0061\u0073\u0050\u0064\u0066\u004f\u0062\u006a\u0065\u0063\u0074\u0044\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0020O\u0076\u0065\u0072\u0072\u0069\u0064\u0069\u006e\u0067\u0020\u0073\u0075\u0062t\u0079\u0070\u0065\u0020\u0074\u006f \u0025\u0023\u0071 \u0025\u0073",_afceb ,_fcegb );}else if _afceb ==""&&_fcegb ._dbbag ==""{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0061s\u0050\u0064\u0066Ob\u006a\u0065\u0063\u0074\u0044\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006e\u006f\u0020\u0073\u0075\u0062\u0074y\u0070\u0065\u002e\u0020\u0066\u006f\u006e\u0074=\u0025\u0073",_fcegb );}else if _fcegb ._dbbag ==""{_fcegb ._dbbag =_afceb ;};_eede :=_ce .MakeDict ();_eede .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0046\u006f\u006e\u0074"));_eede .Set ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074",_ce .MakeName (_fcegb ._agcagf ));_eede .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName (_fcegb ._dbbag ));if _fcegb ._adae !=nil {_eede .Set ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072",_fcegb ._adae .ToPdfObject ());};if _fcegb ._gbcf !=nil {_eede .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_fcegb ._gbcf );}else if _fcegb ._fefb !=nil {_dfeec ,_dbdg :=_fcegb ._fefb .Stream ();if _dbdg !=nil {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006eo\u0074\u0020\u0067\u0065\u0074\u0020C\u004d\u0061\u0070\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u002e\u0020\u0065r\u0072\u003d\u0025\u0076",_dbdg );}else {_eede .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_dfeec );};};return _eede ;};
|
||
|
||
// IsColored specifies if the pattern is colored.
|
||
func (_bcbc *PdfTilingPattern )IsColored ()bool {if _bcbc .PaintType !=nil &&*_bcbc .PaintType ==1{return true ;};return false ;};func (_ecbg PdfFont )actualFont ()pdfFont {if _ecbg ._decac ==nil {_ebg .Log .Debug ("\u0045\u0052\u0052O\u0052\u003a\u0020\u0061\u0063\u0074\u0075\u0061\u006c\u0046\u006f\u006e\u0074\u002e\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c.\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_ecbg );};return _ecbg ._decac ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bgfd *PdfAnnotationMovie )ToPdfObject ()_ce .PdfObject {_bgfd .PdfAnnotation .ToPdfObject ();_ffd :=_bgfd ._bda ;_cbbb :=_ffd .PdfObject .(*_ce .PdfObjectDictionary );_cbbb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u004d\u006f\u0076i\u0065"));_cbbb .SetIfNotNil ("\u0054",_bgfd .T );_cbbb .SetIfNotNil ("\u004d\u006f\u0076i\u0065",_bgfd .Movie );_cbbb .SetIfNotNil ("\u0041",_bgfd .A );return _ffd ;};func _efef (_abba _ce .PdfObject ,_gfdbe bool )(*PdfFont ,error ){_fgad ,_fcfc ,_bfdc :=_gedc (_abba );if _bfdc !=nil {if _bfdc ==ErrType3FontNotSupported ||_bfdc ==ErrType1CFontNotSupported {_eaba ,_gfdf :=_fbbe (_fgad ,_fcfc ,nil );if _gfdf !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0057h\u0069\u006c\u0065 l\u006f\u0061\u0064\u0069\u006e\u0067 \u0073\u0069\u006d\u0070\u006c\u0065\u0020\u0066\u006f\u006e\u0074\u003a\u0020\u0066\u006fn\u0074\u003d\u0025\u0073\u0020\u0065\u0072\u0072=\u0025\u0076",_fcfc ,_gfdf );return nil ,_bfdc ;};return &PdfFont {_decac :_eaba },_bfdc ;};return nil ,_bfdc ;};_afea :=&PdfFont {};switch _fcfc ._dbbag {case "\u0054\u0079\u0070e\u0030":if !_gfdbe {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u004c\u006f\u0061\u0064\u0069\u006e\u0067\u0020\u0074\u0079\u0070\u00650\u0020\u006e\u006f\u0074\u0020\u0061\u006c\u006c\u006f\u0077\u0065\u0064\u002e\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_fcfc );return nil ,_gd .New ("\u0063\u0079\u0063\u006cic\u0061\u006c\u0020\u0074\u0079\u0070\u0065\u0030\u0020\u006c\u006f\u0061\u0064\u0069n\u0067");};_fdfc ,_dfad :=_edbea (_fgad ,_fcfc );if _dfad !=nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020\u0057\u0068\u0069l\u0065\u0020\u006c\u006f\u0061\u0064\u0069ng\u0020\u0054\u0079\u0070e\u0030\u0020\u0066\u006f\u006e\u0074\u002e\u0020\u0066on\u0074\u003d%\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_fcfc ,_dfad );return nil ,_dfad ;};_afea ._decac =_fdfc ;case "\u0054\u0079\u0070e\u0031","\u0054\u0079\u0070e\u0033","\u004dM\u0054\u0079\u0070\u0065\u0031","\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":var _fcbed *pdfFontSimple ;_debg ,_gfga :=_cc .NewStdFontByName (_cc .StdFontName (_fcfc ._agcagf ));if _gfga {_baed :=_fgfg (_debg );_afea ._decac =&_baed ;_aadd :=_ce .TraceToDirectObject (_baed .ToPdfObject ());_fbgae ,_ebbe ,_fbac :=_gedc (_aadd );if _fbac !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0042\u0061\u0064\u0020\u0053\u0074a\u006e\u0064\u0061\u0072\u0064\u00314\u000a\u0009\u0066\u006f\u006e\u0074\u003d\u0025\u0073\u000a\u0009\u0073\u0074d\u003d\u0025\u002b\u0076",_fcfc ,_baed );return nil ,_fbac ;};for _ ,_dgbdg :=range _fgad .Keys (){_fbgae .Set (_dgbdg ,_fgad .Get (_dgbdg ));};_fcbed ,_fbac =_fbbe (_fbgae ,_ebbe ,_baed ._edbbe );if _fbac !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0042\u0061\u0064\u0020\u0053\u0074a\u006e\u0064\u0061\u0072\u0064\u00314\u000a\u0009\u0066\u006f\u006e\u0074\u003d\u0025\u0073\u000a\u0009\u0073\u0074d\u003d\u0025\u002b\u0076",_fcfc ,_baed );return nil ,_fbac ;};_fcbed ._bgdcb =_baed ._bgdcb ;_fcbed ._eegg =_baed ._eegg ;}else {_fcbed ,_bfdc =_fbbe (_fgad ,_fcfc ,nil );if _bfdc !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0057h\u0069\u006c\u0065 l\u006f\u0061\u0064\u0069\u006e\u0067 \u0073\u0069\u006d\u0070\u006c\u0065\u0020\u0066\u006f\u006e\u0074\u003a\u0020\u0066\u006fn\u0074\u003d\u0025\u0073\u0020\u0065\u0072\u0072=\u0025\u0076",_fcfc ,_bfdc );return nil ,_bfdc ;};};_bfdc =_fcbed .addEncoding ();if _bfdc !=nil {return nil ,_bfdc ;};if _gfga {_fcbed .updateStandard14Font ();};if _gfga &&_fcbed ._bged ==nil &&_fcbed ._edbbe ==nil {_ebg .Log .Error ("\u0073\u0069\u006d\u0070\u006c\u0065\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_fcbed );_ebg .Log .Error ("\u0066n\u0074\u003d\u0025\u002b\u0076",_debg );};if len (_fcbed ._bgdcb )==0{_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u004e\u006f\u0020\u0077\u0069d\u0074h\u0073.\u0020\u0066\u006f\u006e\u0074\u003d\u0025s",_fcbed );};_afea ._decac =_fcbed ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030":_fcabb ,_ecegg :=_dcebc (_fgad ,_fcfc );if _ecegg !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0057\u0068i\u006c\u0065\u0020l\u006f\u0061\u0064\u0069\u006e\u0067\u0020\u0063\u0069d \u0066\u006f\u006et\u0020\u0074y\u0070\u0065\u0030\u0020\u0066\u006fn\u0074\u003a \u0025\u0076",_ecegg );return nil ,_ecegg ;};_afea ._decac =_fcabb ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_cbgfb ,_eadg :=_fcgde (_fgad ,_fcfc );if _eadg !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0057\u0068\u0069l\u0065\u0020\u006co\u0061\u0064\u0069\u006e\u0067\u0020\u0063\u0069\u0064\u0020f\u006f\u006e\u0074\u0020\u0074yp\u0065\u0032\u0020\u0066\u006f\u006e\u0074\u002e\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_fcfc ,_eadg );return nil ,_eadg ;};_afea ._decac =_cbgfb ;default:_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020U\u006e\u0073u\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020f\u006f\u006e\u0074\u0020\u0074\u0079\u0070\u0065\u003a\u0020\u0066\u006fn\u0074\u003d\u0025\u0073",_fcfc );return nil ,_c .Errorf ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0066\u006f\u006e\u0074\u0020\u0074y\u0070\u0065\u003a\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_fcfc );};return _afea ,nil ;};
|
||
|
||
// NewPdfAnnotationPolyLine returns a new polyline annotation.
|
||
func NewPdfAnnotationPolyLine ()*PdfAnnotationPolyLine {_agad :=NewPdfAnnotation ();_bca :=&PdfAnnotationPolyLine {};_bca .PdfAnnotation =_agad ;_bca .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_agad .SetContext (_bca );return _bca ;};
|
||
|
||
// ToOutlineTree returns a low level PdfOutlineTreeNode object, based on
|
||
// the current instance.
|
||
func (_fafg *Outline )ToOutlineTree ()*PdfOutlineTreeNode {return &_fafg .ToPdfOutline ().PdfOutlineTreeNode ;};type modelManager struct{_cfgag map[PdfModel ]_ce .PdfObject ;_efgef map[_ce .PdfObject ]PdfModel ;};
|
||
|
||
// Read reads an image and loads into a new Image object with an RGB
|
||
// colormap and 8 bits per component.
|
||
func (_cdddg DefaultImageHandler )Read (reader _cg .Reader )(*Image ,error ){_bbgc ,_ ,_fbbc :=_eg .Decode (reader );if _fbbc !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072or\u0020\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0073",_fbbc );return nil ,_fbbc ;};return _cdddg .NewImageFromGoImage (_bbgc );};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
// How it works:
|
||
// 1) It calls the GetCharMetrics function for the underlying font, either a simple font or
|
||
// a Type0 font. The underlying font GetCharMetrics() functions do direct charcode ➞ metrics
|
||
// mappings.
|
||
// 2) If the underlying font's GetCharMetrics() doesn't have a CharMetrics for `code` then a
|
||
// a CharMetrics with the FontDescriptor's /MissingWidth is returned.
|
||
// 3) If there is no /MissingWidth then a failure is returned.
|
||
// TODO(peterwilliams97) There is nothing callers can do if no CharMetrics are found so we might as
|
||
// well give them 0 width. There is no need for the bool return.
|
||
// TODO(gunnsth): Reconsider whether needed or if can map via GlyphName.
|
||
func (_gaage *PdfFont )GetCharMetrics (code _cce .CharCode )(CharMetrics ,bool ){var _gcdde _cc .CharMetrics ;switch _bffa :=_gaage ._decac .(type ){case *pdfFontSimple :if _gdce ,_gfefb :=_bffa .GetCharMetrics (code );_gfefb {return _gdce ,_gfefb ;};case *pdfFontType0 :if _ffge ,_bacfd :=_bffa .GetCharMetrics (code );_bacfd {return _ffge ,_bacfd ;};case *pdfCIDFontType0 :if _gdaaee ,_dcga :=_bffa .GetCharMetrics (code );_dcga {return _gdaaee ,_dcga ;};case *pdfCIDFontType2 :if _cffe ,_cead :=_bffa .GetCharMetrics (code );_cead {return _cffe ,_cead ;};default:_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020G\u0065\u0074\u0043h\u0061\u0072\u004de\u0074\u0072i\u0063\u0073\u0020\u006e\u006f\u0074 \u0069mp\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0020\u0074\u0079\u0070\u0065\u003d\u0025\u0054\u002e",_gaage ._decac );return _gcdde ,false ;};if _fdba ,_ccabd :=_gaage .GetFontDescriptor ();_ccabd ==nil &&_fdba !=nil {return _cc .CharMetrics {Wx :_fdba ._gcfg },true ;};_ebg .Log .Debug ("\u0047\u0065\u0074\u0043\u0068\u0061\u0072\u004d\u0065\u0074\u0072\u0069\u0063\u0073\u003a\u0020\u004e\u006f\u0020\u006d\u0065\u0074\u0072\u0069c\u0073\u0020\u0066\u006f\u0072 \u0066\u006fn\u0074\u003d\u0025\u0073",_gaage );return _gcdde ,false ;};
|
||
|
||
// NewPdfActionLaunch returns a new "launch" action.
|
||
func NewPdfActionLaunch ()*PdfActionLaunch {_cf :=NewPdfAction ();_bbe :=&PdfActionLaunch {};_bbe .PdfAction =_cf ;_cf .SetContext (_bbe );return _bbe ;};
|
||
|
||
// PdfAnnotationLink represents Link annotations.
|
||
// (Section 12.5.6.5 p. 403).
|
||
type PdfAnnotationLink struct{*PdfAnnotation ;A _ce .PdfObject ;Dest _ce .PdfObject ;H _ce .PdfObject ;PA _ce .PdfObject ;QuadPoints _ce .PdfObject ;BS _ce .PdfObject ;_eddb *PdfAction ;_bdfc *PdfReader ;};
|
||
|
||
// PdfShadingType3 is a Radial shading.
|
||
type PdfShadingType3 struct{*PdfShading ;Coords *_ce .PdfObjectArray ;Domain *_ce .PdfObjectArray ;Function []PdfFunction ;Extend *_ce .PdfObjectArray ;};
|
||
|
||
// GetPdfName returns the PDF name used to indicate the border style.
|
||
// (Table 166 p. 395).
|
||
func (_eccb *BorderStyle )GetPdfName ()string {switch *_eccb {case BorderStyleSolid :return "\u0053";case BorderStyleDashed :return "\u0044";case BorderStyleBeveled :return "\u0042";case BorderStyleInset :return "\u0049";case BorderStyleUnderline :return "\u0055";};return "";};
|
||
|
||
// SignatureValidationResult defines the response from the signature validation handler.
|
||
type SignatureValidationResult struct{
|
||
|
||
// List of errors when validating the signature.
|
||
Errors []string ;IsSigned bool ;IsVerified bool ;IsTrusted bool ;Fields []*PdfField ;Name string ;Date PdfDate ;Reason string ;Location string ;ContactInfo string ;
|
||
|
||
// GeneralizedTime is the time at which the time-stamp token has been created by the TSA (RFC 3161).
|
||
GeneralizedTime _a .Time ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_bcde *PdfShadingType2 )ToPdfObject ()_ce .PdfObject {_bcde .PdfShading .ToPdfObject ();_dcfgd ,_cecf :=_bcde .getShadingDict ();if _cecf !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _dcfgd ==nil {_ebg .Log .Error ("\u0053\u0068\u0061\u0064in\u0067\u0020\u0064\u0069\u0063\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c");return nil ;};if _bcde .Coords !=nil {_dcfgd .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_bcde .Coords );};if _bcde .Domain !=nil {_dcfgd .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_bcde .Domain );};if _bcde .Function !=nil {if len (_bcde .Function )==1{_dcfgd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_bcde .Function [0].ToPdfObject ());}else {_gdcbb :=_ce .MakeArray ();for _ ,_cafc :=range _bcde .Function {_gdcbb .Append (_cafc .ToPdfObject ());};_dcfgd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gdcbb );};};if _bcde .Extend !=nil {_dcfgd .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_bcde .Extend );};return _bcde ._efbab ;};
|
||
|
||
// NewPdfField returns an initialized PdfField.
|
||
func NewPdfField ()*PdfField {return &PdfField {_gfeec :_ce .MakeIndirectObject (_ce .MakeDict ())}};
|
||
|
||
// ImageToRGB convert 1-component grayscale data to 3-component RGB.
|
||
func (_gdbe *PdfColorspaceDeviceGray )ImageToRGB (img Image )(Image ,error ){if img .ColorComponents !=1{return img ,_gd .New ("\u0074\u0068e \u0070\u0072\u006fv\u0069\u0064\u0065\u0064 im\u0061ge\u0020\u0069\u0073\u0020\u006e\u006f\u0074 g\u0072\u0061\u0079\u0020\u0073\u0063\u0061l\u0065");};_gcb ,_becg :=_age .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._fdcac ,img ._cddaa );if _becg !=nil {return img ,_becg ;};_fggd ,_becg :=_age .NRGBAConverter .Convert (_gcb );if _becg !=nil {return img ,_becg ;};_agac :=_efeaf (_fggd .Base ());_ebg .Log .Trace ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079\u0020\u002d>\u0020\u0052\u0047\u0042");_ebg .Log .Trace ("s\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",img .Data );_ebg .Log .Trace ("\u0052G\u0042 \u0073\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",_agac .Data );_ebg .Log .Trace ("\u0025\u0076\u0020\u002d\u003e\u0020\u0025\u0076",img ,_agac );return _agac ,nil ;};
|
||
|
||
// PdfColorspaceDeviceRGB represents an RGB colorspace.
|
||
type PdfColorspaceDeviceRGB struct{};
|
||
|
||
// NewPdfAnnotationWatermark returns a new watermark annotation.
|
||
func NewPdfAnnotationWatermark ()*PdfAnnotationWatermark {_gcee :=NewPdfAnnotation ();_bbbf :=&PdfAnnotationWatermark {};_bbbf .PdfAnnotation =_gcee ;_gcee .SetContext (_bbbf );return _bbbf ;};func (_cfge *PdfWriter )hasObject (_edee _ce .PdfObject )bool {_ ,_cgffaa :=_cfge ._gdbdce [_edee ];return _cgffaa ;};func (_df *PdfReader )newPdfActionNamedFromDict (_acca *_ce .PdfObjectDictionary )(*PdfActionNamed ,error ){return &PdfActionNamed {N :_acca .Get ("\u004e")},nil ;};
|
||
|
||
// String returns a string that describes `font`.
|
||
func (_dcbb *PdfFont )String ()string {_gadff :="";if _dcbb ._decac .Encoder ()!=nil {_gadff =_dcbb ._decac .Encoder ().String ();};return _c .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0054\u0020\u0025s\u0020\u0025\u0073\u007d",_dcbb ._decac ,_dcbb .baseFields ().coreString (),_gadff );};
|
||
|
||
// PdfActionSetOCGState represents a SetOCGState action.
|
||
type PdfActionSetOCGState struct{*PdfAction ;State _ce .PdfObject ;PreserveRB _ce .PdfObject ;};
|
||
|
||
// GetAsTilingPattern returns a tiling pattern. Check with IsTiling() prior to using this.
|
||
func (_eeeg *PdfPattern )GetAsTilingPattern ()*PdfTilingPattern {return _eeeg ._gdge .(*PdfTilingPattern );};
|
||
|
||
// PdfActionImportData represents a importData action.
|
||
type PdfActionImportData struct{*PdfAction ;F *PdfFilespec ;};
|
||
|
||
// PdfDate represents a date, which is a PDF string of the form:
|
||
// (D:YYYYMMDDHHmmSSOHH'mm)
|
||
type PdfDate struct{_ddacdb int64 ;_aegabg int64 ;_bded int64 ;_deefg int64 ;_gbgg int64 ;_eabcf int64 ;_agbae byte ;_dfgga int64 ;_aabaf int64 ;};func _aefeg (_bffd *[]*PdfField ,_fgfec FieldFilterFunc ,_gbgfe bool )[]*PdfField {if _bffd ==nil {return nil ;};_ceccb :=*_bffd ;if len (*_bffd )==0{return nil ;};_gabb :=_ceccb [:0];if _fgfec ==nil {_fgfec =func (*PdfField )bool {return true };};var _baeg []*PdfField ;for _ ,_gcffa :=range _ceccb {_feee :=_fgfec (_gcffa );if _feee {_baeg =append (_baeg ,_gcffa );if len (_gcffa .Kids )> 0{_baeg =append (_baeg ,_aefeg (&_gcffa .Kids ,_fgfec ,_gbgfe )...);};};if !_gbgfe ||!_feee ||len (_gcffa .Kids )> 0{_gabb =append (_gabb ,_gcffa );};};*_bffd =_gabb ;return _baeg ;};
|
||
|
||
// String returns the name of the colorspace (DeviceN).
|
||
func (_afgd *PdfColorspaceDeviceN )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u004e"};
|
||
|
||
// GetPageDict converts the Page to a PDF object dictionary.
|
||
func (_gefdd *PdfPage )GetPageDict ()*_ce .PdfObjectDictionary {_bgebg :=_gefdd ._dfbdag ;_bgebg .Clear ();_bgebg .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0050\u0061\u0067\u0065"));_bgebg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_gefdd .Parent );if _gefdd .LastModified !=nil {_bgebg .Set ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_gefdd .LastModified .ToPdfObject ());};if _gefdd .Resources !=nil {_bgebg .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_gefdd .Resources .ToPdfObject ());};if _gefdd .CropBox !=nil {_bgebg .Set ("\u0043r\u006f\u0070\u0042\u006f\u0078",_gefdd .CropBox .ToPdfObject ());};if _gefdd .MediaBox !=nil {_bgebg .Set ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078",_gefdd .MediaBox .ToPdfObject ());};if _gefdd .BleedBox !=nil {_bgebg .Set ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078",_gefdd .BleedBox .ToPdfObject ());};if _gefdd .TrimBox !=nil {_bgebg .Set ("\u0054r\u0069\u006d\u0042\u006f\u0078",_gefdd .TrimBox .ToPdfObject ());};if _gefdd .ArtBox !=nil {_bgebg .Set ("\u0041\u0072\u0074\u0042\u006f\u0078",_gefdd .ArtBox .ToPdfObject ());};_bgebg .SetIfNotNil ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f",_gefdd .BoxColorInfo );_bgebg .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_gefdd .Contents );if _gefdd .Rotate !=nil {_bgebg .Set ("\u0052\u006f\u0074\u0061\u0074\u0065",_ce .MakeInteger (*_gefdd .Rotate ));};_bgebg .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_gefdd .Group );_bgebg .SetIfNotNil ("\u0054\u0068\u0075m\u0062",_gefdd .Thumb );_bgebg .SetIfNotNil ("\u0042",_gefdd .B );_bgebg .SetIfNotNil ("\u0044\u0075\u0072",_gefdd .Dur );_bgebg .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_gefdd .Trans );_bgebg .SetIfNotNil ("\u0041\u0041",_gefdd .AA );_bgebg .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_gefdd .Metadata );_bgebg .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_gefdd .PieceInfo );_bgebg .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_gefdd .StructParents );_bgebg .SetIfNotNil ("\u0049\u0044",_gefdd .ID );_bgebg .SetIfNotNil ("\u0050\u005a",_gefdd .PZ );_bgebg .SetIfNotNil ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f",_gefdd .SeparationInfo );_bgebg .SetIfNotNil ("\u0054\u0061\u0062\u0073",_gefdd .Tabs );_bgebg .SetIfNotNil ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064",_gefdd .TemplateInstantiated );_bgebg .SetIfNotNil ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s",_gefdd .PresSteps );_bgebg .SetIfNotNil ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074",_gefdd .UserUnit );_bgebg .SetIfNotNil ("\u0056\u0050",_gefdd .VP );if _gefdd ._bdcg !=nil {_bdfgb :=_ce .MakeArray ();for _ ,_cebgg :=range _gefdd ._bdcg {if _acdcc :=_cebgg .GetContext ();_acdcc !=nil {_bdfgb .Append (_acdcc .ToPdfObject ());}else {_bdfgb .Append (_cebgg .ToPdfObject ());};};if _bdfgb .Len ()> 0{_bgebg .Set ("\u0041\u006e\u006e\u006f\u0074\u0073",_bdfgb );};}else if _gefdd .Annots !=nil {_bgebg .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0073",_gefdd .Annots );};return _bgebg ;};var _bcfed =map[string ]string {"\u0053\u0079\u006d\u0062\u006f\u006c":"\u0053\u0079\u006d\u0062\u006f\u006c\u0045\u006e\u0063o\u0064\u0069\u006e\u0067","\u005a\u0061\u0070f\u0044\u0069\u006e\u0067\u0062\u0061\u0074\u0073":"Z\u0061p\u0066\u0044\u0069\u006e\u0067\u0062\u0061\u0074s\u0045\u006e\u0063\u006fdi\u006e\u0067"};func _fbbeg (_bccc string )(map[_cce .CharCode ]_cce .GlyphName ,error ){_fafac :=_aga .Split (_bccc ,"\u000a");_dbgb :=make (map[_cce .CharCode ]_cce .GlyphName );for _ ,_abaeg :=range _fafac {_bbcfb :=_ddfea .FindStringSubmatch (_abaeg );if _bbcfb ==nil {continue ;};_gagbg ,_aacfe :=_bbcfb [1],_bbcfb [2];_ccgdc ,_fbgf :=_bd .Atoi (_gagbg );if _fbgf !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004fR\u003a\u0020\u0042\u0061\u0064\u0020\u0065\u006e\u0063\u006fd\u0069n\u0067\u0020\u006c\u0069\u006e\u0065\u002e \u0025\u0071",_abaeg );return nil ,_ce .ErrTypeError ;};_dbgb [_cce .CharCode (_ccgdc )]=_cce .GlyphName (_aacfe );};_ebg .Log .Trace ("g\u0065\u0074\u0045\u006e\u0063\u006fd\u0069\u006e\u0067\u0073\u003a\u0020\u006b\u0065\u0079V\u0061\u006c\u0075e\u0073=\u0025\u0023\u0076",_dbgb );return _dbgb ,nil ;};
|
||
|
||
// FullName returns the full name of the field as in rootname.parentname.partialname.
|
||
func (_gecd *PdfField )FullName ()(string ,error ){var _gbfcb _f .Buffer ;if _gecd .T ==nil {return _gbfcb .String (),_gd .New ("\u0066\u0069el\u0064\u0020\u0070a\u0072\u0074\u0069\u0061l n\u0061me\u0020\u0028\u0054\u0029\u0020\u006e\u006ft \u0073\u0070\u0065\u0063\u0069\u0066\u0069e\u0064");};_edaf :=[]string {_gecd .T .Decoded ()};_badg :=map[*PdfField ]bool {};_badg [_gecd ]=true ;_dcgbg :=_gecd .Parent ;for _dcgbg !=nil {if _ ,_efed :=_badg [_dcgbg ];_efed {return _gbfcb .String (),_gd .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};if _dcgbg .T ==nil {return _gbfcb .String (),_gd .New ("\u0066\u0069el\u0064\u0020\u0070a\u0072\u0074\u0069\u0061l n\u0061me\u0020\u0028\u0054\u0029\u0020\u006e\u006ft \u0073\u0070\u0065\u0063\u0069\u0066\u0069e\u0064");};_edaf =append (_edaf ,_dcgbg .T .Decoded ());_badg [_dcgbg ]=true ;_dcgbg =_dcgbg .Parent ;};for _aecce :=len (_edaf )-1;_aecce >=0;_aecce --{_gbfcb .WriteString (_edaf [_aecce ]);if _aecce > 0{_gbfcb .WriteString ("\u002e");};};return _gbfcb .String (),nil ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_bdade *XObjectForm )ToPdfObject ()_ce .PdfObject {_gdacc :=_bdade ._gcaa ;_beaefd :=_gdacc .PdfObjectDictionary ;if _bdade .Filter !=nil {_beaefd =_bdade .Filter .MakeStreamDict ();_gdacc .PdfObjectDictionary =_beaefd ;};_beaefd .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_beaefd .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0046\u006f\u0072\u006d"));_beaefd .SetIfNotNil ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065",_bdade .FormType );_beaefd .SetIfNotNil ("\u0042\u0042\u006f\u0078",_bdade .BBox );_beaefd .SetIfNotNil ("\u004d\u0061\u0074\u0072\u0069\u0078",_bdade .Matrix );if _bdade .Resources !=nil {_beaefd .SetIfNotNil ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_bdade .Resources .ToPdfObject ());};_beaefd .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_bdade .Group );_beaefd .SetIfNotNil ("\u0052\u0065\u0066",_bdade .Ref );_beaefd .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061",_bdade .MetaData );_beaefd .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_bdade .PieceInfo );_beaefd .SetIfNotNil ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_bdade .LastModified );_beaefd .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_bdade .StructParent );_beaefd .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_bdade .StructParents );_beaefd .SetIfNotNil ("\u004f\u0050\u0049",_bdade .OPI );_beaefd .SetIfNotNil ("\u004f\u0043",_bdade .OC );_beaefd .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bdade .Name );_beaefd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_bdade .Stream ))));_gdacc .Stream =_bdade .Stream ;return _gdacc ;};func _ggfb (_fcbec *_ce .PdfObjectDictionary )(*PdfShadingType3 ,error ){_agfd :=PdfShadingType3 {};_gfeeg :=_fcbec .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _gfeeg ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071ui\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069b\u0075t\u0065 \u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0043\u006f\u006f\u0072\u0064\u0073");return nil ,ErrRequiredAttributeMissing ;};_fdaaf ,_fgebc :=_gfeeg .(*_ce .PdfObjectArray );if !_fgebc {_ebg .Log .Debug ("\u0043\u006f\u006f\u0072d\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_gfeeg );return nil ,_ce .ErrTypeError ;};if _fdaaf .Len ()!=6{_ebg .Log .Debug ("\u0043\u006f\u006f\u0072d\u0073\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u006eo\u0074 \u0036\u0020\u0028\u0067\u006f\u0074\u0020%\u0064\u0029",_fdaaf .Len ());return nil ,ErrInvalidAttribute ;};_agfd .Coords =_fdaaf ;if _bgec :=_fcbec .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_bgec !=nil {_bgec =_ce .TraceToDirectObject (_bgec );_bgafac ,_bdag :=_bgec .(*_ce .PdfObjectArray );if !_bdag {_ebg .Log .Debug ("\u0044\u006f\u006d\u0061i\u006e\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_bgec );return nil ,_ce .ErrTypeError ;};_agfd .Domain =_bgafac ;};_gfeeg =_fcbec .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _gfeeg ==nil {_ebg .Log .Debug ("\u0052\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0020\u0046\u0075\u006ec\u0074\u0069\u006f\u006e");return nil ,ErrRequiredAttributeMissing ;};_agfd .Function =[]PdfFunction {};if _feadd ,_eagcg :=_gfeeg .(*_ce .PdfObjectArray );_eagcg {for _ ,_bdba :=range _feadd .Elements (){_fagcf ,_eeea :=_edddda (_bdba );if _eeea !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_eeea );return nil ,_eeea ;};_agfd .Function =append (_agfd .Function ,_fagcf );};}else {_eddbg ,_fccge :=_edddda (_gfeeg );if _fccge !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_fccge );return nil ,_fccge ;};_agfd .Function =append (_agfd .Function ,_eddbg );};if _ffcecf :=_fcbec .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_ffcecf !=nil {_ffcecf =_ce .TraceToDirectObject (_ffcecf );_effda ,_febeg :=_ffcecf .(*_ce .PdfObjectArray );if !_febeg {_ebg .Log .Debug ("\u004d\u0061\u0074\u0072i\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_ffcecf );return nil ,_ce .ErrTypeError ;};if _effda .Len ()!=2{_ebg .Log .Debug ("\u0045\u0078\u0074\u0065n\u0064\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020\u006eo\u0074 \u0032\u0020\u0028\u0067\u006f\u0074\u0020%\u0064\u0029",_effda .Len ());return nil ,ErrInvalidAttribute ;};_agfd .Extend =_effda ;};return &_agfd ,nil ;};var _ pdfFont =(*pdfFontSimple )(nil );
|
||
|
||
// ColorFromFloats returns a new PdfColorDevice based on the input slice of
|
||
// color components. The slice should contain four elements representing the
|
||
// cyan, magenta, yellow and key components of the color. The values of the
|
||
// elements should be between 0 and 1.
|
||
func (_efca *PdfColorspaceDeviceCMYK )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=4{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eedd :=vals [0];if _eedd < 0.0||_eedd > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aacg :=vals [1];if _aacg < 0.0||_aacg > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_deef :=vals [2];if _deef < 0.0||_deef > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aacf :=vals [3];if _aacf < 0.0||_aacf > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gaea :=NewPdfColorDeviceCMYK (_eedd ,_aacg ,_deef ,_aacf );return _gaea ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dcc *PdfActionResetForm )ToPdfObject ()_ce .PdfObject {_dcc .PdfAction .ToPdfObject ();_gdbc :=_dcc ._bdf ;_ecf :=_gdbc .PdfObject .(*_ce .PdfObjectDictionary );_ecf .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeResetForm )));_ecf .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_dcc .Fields );_ecf .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_dcc .Flags );return _gdbc ;};type pdfFontType0 struct{fontCommon ;_caga *_ce .PdfIndirectObject ;_gedcf _cce .TextEncoder ;Encoding _ce .PdfObject ;DescendantFont *PdfFont ;_fgbdd *_fa .CMap ;};func (_aeef *PdfField )inherit (_gcbf func (*PdfField )bool )(bool ,error ){_cbgac :=map[*PdfField ]bool {};_cgef :=false ;_fbgad :=_aeef ;for _fbgad !=nil {if _ ,_gcgg :=_cbgac [_fbgad ];_gcgg {return false ,_gd .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};_begd :=_gcbf (_fbgad );if _begd {_cgef =true ;break ;};_cbgac [_fbgad ]=true ;_fbgad =_fbgad .Parent ;};return _cgef ,nil ;};
|
||
|
||
// OutlineDest represents the destination of an outline item.
|
||
// It holds the page and the position on the page an outline item points to.
|
||
type OutlineDest struct{PageObj *_ce .PdfIndirectObject `json:"-"`;Page int64 `json:"page"`;Mode string `json:"mode"`;X float64 `json:"x"`;Y float64 `json:"y"`;Zoom float64 `json:"zoom"`;};
|
||
|
||
// NewPdfDate returns a new PdfDate object from a PDF date string (see 7.9.4 Dates).
|
||
// format: "D: YYYYMMDDHHmmSSOHH'mm"
|
||
func NewPdfDate (dateStr string )(PdfDate ,error ){_bbfab :=PdfDate {};_bgbdaa :=_ebac .FindAllStringSubmatch (dateStr ,1);if len (_bgbdaa )< 1{return _bbfab ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0064\u0061\u0074\u0065\u0020s\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0073\u0029",dateStr );};if len (_bgbdaa [0])!=10{return _bbfab ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0067\u0065\u0078p\u0020\u0067\u0072\u006f\u0075\u0070 \u006d\u0061\u0074\u0063\u0068\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020!\u003d\u0020\u0031\u0030");};_bbfab ._ddacdb ,_ =_bd .ParseInt (_bgbdaa [0][1],10,32);_bbfab ._aegabg ,_ =_bd .ParseInt (_bgbdaa [0][2],10,32);_bbfab ._bded ,_ =_bd .ParseInt (_bgbdaa [0][3],10,32);_bbfab ._deefg ,_ =_bd .ParseInt (_bgbdaa [0][4],10,32);_bbfab ._gbgg ,_ =_bd .ParseInt (_bgbdaa [0][5],10,32);_bbfab ._eabcf ,_ =_bd .ParseInt (_bgbdaa [0][6],10,32);if len (_bgbdaa [0][7])> 0{_bbfab ._agbae =_bgbdaa [0][7][0];}else {_bbfab ._agbae ='+';};if len (_bgbdaa [0][8])> 0{_bbfab ._dfgga ,_ =_bd .ParseInt (_bgbdaa [0][8],10,32);}else {_bbfab ._dfgga =0;};if len (_bgbdaa [0][9])> 0{_bbfab ._aabaf ,_ =_bd .ParseInt (_bgbdaa [0][9],10,32);}else {_bbfab ._aabaf =0;};return _bbfab ,nil ;};func _abgcc (_aggcb StdFontName )(pdfFontSimple ,error ){_caae ,_efgdf :=_cc .NewStdFontByName (_aggcb );if !_efgdf {return pdfFontSimple {},ErrFontNotSupported ;};_cfab :=_fgfg (_caae );return _cfab ,nil ;};
|
||
|
||
// ReplaceAcroForm replaces the acrobat form. It appends a new form to the Pdf which
|
||
// replaces the original AcroForm.
|
||
func (_dged *PdfAppender )ReplaceAcroForm (acroForm *PdfAcroForm ){if acroForm !=nil {_dged .updateObjectsDeep (acroForm .ToPdfObject (),nil );};_dged ._dba =acroForm ;};func (_febdb *XObjectImage )getParamsDict ()*_ce .PdfObjectDictionary {_cbddf :=_ce .MakeDict ();_cbddf .Set ("\u0057\u0069\u0064t\u0068",_ce .MakeInteger (*_febdb .Width ));_cbddf .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_ce .MakeInteger (*_febdb .Height ));_cbddf .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_ce .MakeInteger (int64 (_febdb .ColorSpace .GetNumComponents ())));_cbddf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ce .MakeInteger (*_febdb .BitsPerComponent ));return _cbddf ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Indexed).
|
||
func (_cbgg *PdfColorspaceSpecialIndexed )GetNumComponents ()int {return 1};func (_gfdc *PdfReader )newPdfActionURIFromDict (_acc *_ce .PdfObjectDictionary )(*PdfActionURI ,error ){return &PdfActionURI {URI :_acc .Get ("\u0055\u0052\u0049"),IsMap :_acc .Get ("\u0049\u0073\u004da\u0070")},nil ;};
|
||
|
||
// NewPdfActionURI returns a new "Uri" action.
|
||
func NewPdfActionURI ()*PdfActionURI {_ega :=NewPdfAction ();_gfa :=&PdfActionURI {};_gfa .PdfAction =_ega ;_ega .SetContext (_gfa );return _gfa ;};
|
||
|
||
// NewImageFromGoImage creates a new NRGBA32 unidoc Image from a golang Image.
|
||
// If `goimg` is grayscale (*goimage.Gray8) then calls NewGrayImageFromGoImage instead.
|
||
func (_addbb DefaultImageHandler )NewImageFromGoImage (goimg _eg .Image )(*Image ,error ){_ffcec ,_fada :=_age .FromGoImage (goimg );if _fada !=nil {return nil ,_fada ;};_eace :=_efeaf (_ffcec .Base ());return &_eace ,nil ;};
|
||
|
||
// GetXObjectImageByName returns the XObjectImage with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_febd *PdfPageResources )GetXObjectImageByName (keyName _ce .PdfObjectName )(*XObjectImage ,error ){_cacd ,_bcba :=_febd .GetXObjectByName (keyName );if _cacd ==nil {return nil ,nil ;};if _bcba !=XObjectTypeImage {return nil ,_gd .New ("\u006e\u006f\u0074 \u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065");};_ddfdf ,_efdf :=NewXObjectImageFromStream (_cacd );if _efdf !=nil {return nil ,_efdf ;};return _ddfdf ,nil ;};
|
||
|
||
// ToPdfObject returns a *PdfIndirectObject containing a *PdfObjectArray representation of the DeviceN colorspace.
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
func (_dcgf *PdfColorspaceDeviceN )ToPdfObject ()_ce .PdfObject {_fcdb :=_ce .MakeArray (_ce .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u004e"));_fcdb .Append (_dcgf .ColorantNames );_fcdb .Append (_dcgf .AlternateSpace .ToPdfObject ());_fcdb .Append (_dcgf .TintTransform .ToPdfObject ());if _dcgf .Attributes !=nil {_fcdb .Append (_dcgf .Attributes .ToPdfObject ());};if _dcgf ._baceb !=nil {_dcgf ._baceb .PdfObject =_fcdb ;return _dcgf ._baceb ;};return _fcdb ;};
|
||
|
||
// Duplicate creates a duplicate page based on the current one and returns it.
|
||
func (_fdbc *PdfPage )Duplicate ()*PdfPage {var _bbgd PdfPage ;_bbgd =*_fdbc ;_bbgd ._dfbdag =_ce .MakeDict ();_bbgd ._adcebd =_ce .MakeIndirectObject (_bbgd ._dfbdag );return &_bbgd ;};func (_bdgfa *pdfFontSimple )getFontDescriptor ()*PdfFontDescriptor {if _dbdgc :=_bdgfa ._adae ;_dbdgc !=nil {return _dbdgc ;};return _bdgfa ._cdgc ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_acda *PdfColorspaceICCBased )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _acda .Alternate ==nil {if _acda .N ==1{_afgf :=NewPdfColorspaceDeviceGray ();return _afgf .ColorFromFloats (vals );}else if _acda .N ==3{_cgee :=NewPdfColorspaceDeviceRGB ();return _cgee .ColorFromFloats (vals );}else if _acda .N ==4{_cece :=NewPdfColorspaceDeviceCMYK ();return _cece .ColorFromFloats (vals );}else {return nil ,_gd .New ("I\u0043\u0043\u0020\u0042\u0061\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0061lt\u0065\u0072\u006ea\u0074i\u0076\u0065");};};return _acda .Alternate .ColorFromFloats (vals );};func (_dadb *PdfReader )newPdfPageFromDict (_afedb *_ce .PdfObjectDictionary )(*PdfPage ,error ){_bddeg :=NewPdfPage ();_bddeg ._dfbdag =_afedb ;_agacc :=*_afedb ;_fadb ,_fgea :=_agacc .Get ("\u0054\u0079\u0070\u0065").(*_ce .PdfObjectName );if !_fgea {return nil ,_gd .New ("\u006d\u0069ss\u0069\u006e\u0067/\u0069\u006e\u0076\u0061lid\u0020Pa\u0067\u0065\u0020\u0064\u0069\u0063\u0074io\u006e\u0061\u0072\u0079\u0020\u0054\u0079p\u0065");};if *_fadb !="\u0050\u0061\u0067\u0065"{return nil ,_gd .New ("\u0070\u0061\u0067\u0065 \u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0054y\u0070\u0065\u0020\u0021\u003d\u0020\u0050a\u0067\u0065");};if _bgcd :=_agacc .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_bgcd !=nil {_bddeg .Parent =_bgcd ;};if _badfb :=_agacc .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_badfb !=nil {_eeda ,_edag :=_ce .GetString (_badfb );if !_edag {return nil ,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u004c\u0061\u0073\u0074\u004d\u006f\u0064\u0069f\u0069\u0065\u0064\u0020\u0021=\u0020\u0073t\u0072\u0069\u006e\u0067");};_cdad ,_daab :=NewPdfDate (_eeda .Str ());if _daab !=nil {return nil ,_daab ;};_bddeg .LastModified =&_cdad ;};if _beec :=_agacc .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_beec !=nil &&!_ce .IsNullObject (_beec ){_aaag ,_edeg :=_ce .GetDict (_beec );if !_edeg {return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063e\u0020d\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_beec );};var _dgbff error ;_bddeg .Resources ,_dgbff =NewPdfPageResourcesFromDict (_aaag );if _dgbff !=nil {return nil ,_dgbff ;};}else {_dagbb ,_ceea :=_bddeg .getParentResources ();if _ceea !=nil {return nil ,_ceea ;};if _dagbb ==nil {_dagbb =NewPdfPageResources ();};_bddeg .Resources =_dagbb ;};if _bgedd :=_agacc .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_bgedd !=nil {_cccdg ,_cggff :=_ce .GetArray (_bgedd );if !_cggff {return nil ,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u004d\u0065\u0064\u0069\u0061\u0042o\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072\u0061\u0079");};var _egbec error ;_bddeg .MediaBox ,_egbec =NewPdfRectangle (*_cccdg );if _egbec !=nil {return nil ,_egbec ;};};if _fggdf :=_agacc .Get ("\u0043r\u006f\u0070\u0042\u006f\u0078");_fggdf !=nil {_beca ,_gdfcf :=_ce .GetArray (_fggdf );if !_gdfcf {return nil ,_gd .New ("\u0070a\u0067\u0065\u0020\u0043r\u006f\u0070\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _debff error ;_bddeg .CropBox ,_debff =NewPdfRectangle (*_beca );if _debff !=nil {return nil ,_debff ;};};if _ddaf :=_agacc .Get ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078");_ddaf !=nil {_dcagd ,_ebff :=_ce .GetArray (_ddaf );if !_ebff {return nil ,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u0042\u006c\u0065\u0065\u0064\u0042o\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072\u0061\u0079");};var _gfbgg error ;_bddeg .BleedBox ,_gfbgg =NewPdfRectangle (*_dcagd );if _gfbgg !=nil {return nil ,_gfbgg ;};};if _befc :=_agacc .Get ("\u0054r\u0069\u006d\u0042\u006f\u0078");_befc !=nil {_ffged ,_daafba :=_ce .GetArray (_befc );if !_daafba {return nil ,_gd .New ("\u0070a\u0067\u0065\u0020\u0054r\u0069\u006d\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _adefe error ;_bddeg .TrimBox ,_adefe =NewPdfRectangle (*_ffged );if _adefe !=nil {return nil ,_adefe ;};};if _ebde :=_agacc .Get ("\u0041\u0072\u0074\u0042\u006f\u0078");_ebde !=nil {_bfacf ,_faceb :=_ce .GetArray (_ebde );if !_faceb {return nil ,_gd .New ("\u0070a\u0067\u0065\u0020\u0041\u0072\u0074\u0042\u006f\u0078\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _ffdg error ;_bddeg .ArtBox ,_ffdg =NewPdfRectangle (*_bfacf );if _ffdg !=nil {return nil ,_ffdg ;};};if _bebba :=_agacc .Get ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f");_bebba !=nil {_bddeg .BoxColorInfo =_bebba ;};if _dgeac :=_agacc .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_dgeac !=nil {_bddeg .Contents =_dgeac ;};if _bdcgd :=_agacc .Get ("\u0052\u006f\u0074\u0061\u0074\u0065");_bdcgd !=nil {_ebdd ,_gaeb :=_ce .GetInt (_bdcgd );if !_gaeb {return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0067e\u0020\u0052\u006f\u0074\u0061\u0074\u0065\u0020\u006f\u0062j\u0065\u0063\u0074");};_eebea :=int64 (*_ebdd );_bddeg .Rotate =&_eebea ;};if _dgbeg :=_agacc .Get ("\u0047\u0072\u006fu\u0070");_dgbeg !=nil {_bddeg .Group =_dgbeg ;};if _daacf :=_agacc .Get ("\u0054\u0068\u0075m\u0062");_daacf !=nil {_bddeg .Thumb =_daacf ;};if _fbbdc :=_agacc .Get ("\u0042");_fbbdc !=nil {_bddeg .B =_fbbdc ;};if _ggeg :=_agacc .Get ("\u0044\u0075\u0072");_ggeg !=nil {_bddeg .Dur =_ggeg ;};if _babff :=_agacc .Get ("\u0054\u0072\u0061n\u0073");_babff !=nil {_bddeg .Trans =_babff ;};if _gdda :=_agacc .Get ("\u0041\u0041");_gdda !=nil {_bddeg .AA =_gdda ;};if _aebe :=_agacc .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_aebe !=nil {_bddeg .Metadata =_aebe ;};if _gebee :=_agacc .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_gebee !=nil {_bddeg .PieceInfo =_gebee ;};if _gaeff :=_agacc .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_gaeff !=nil {_bddeg .StructParents =_gaeff ;};if _bacbe :=_agacc .Get ("\u0049\u0044");_bacbe !=nil {_bddeg .ID =_bacbe ;};if _gfbba :=_agacc .Get ("\u0050\u005a");_gfbba !=nil {_bddeg .PZ =_gfbba ;};if _becc :=_agacc .Get ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f");_becc !=nil {_bddeg .SeparationInfo =_becc ;};if _cedbe :=_agacc .Get ("\u0054\u0061\u0062\u0073");_cedbe !=nil {_bddeg .Tabs =_cedbe ;};if _gfcb :=_agacc .Get ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064");_gfcb !=nil {_bddeg .TemplateInstantiated =_gfcb ;};if _agfb :=_agacc .Get ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s");_agfb !=nil {_bddeg .PresSteps =_agfb ;};if _decdef :=_agacc .Get ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074");_decdef !=nil {_bddeg .UserUnit =_decdef ;};if _cgdag :=_agacc .Get ("\u0056\u0050");_cgdag !=nil {_bddeg .VP =_cgdag ;};if _ceceg :=_agacc .Get ("\u0041\u006e\u006e\u006f\u0074\u0073");_ceceg !=nil {_bddeg .Annots =_ceceg ;};_bddeg ._fabb =_dadb ;return _bddeg ,nil ;};
|
||
|
||
// PdfColorspaceSpecialSeparation is a Separation colorspace.
|
||
// At the moment the colour space is set to a Separation space, the conforming reader shall determine whether the
|
||
// device has an available colorant (e.g. dye) corresponding to the name of the requested space. If so, the conforming
|
||
// reader shall ignore the alternateSpace and tintTransform parameters; subsequent painting operations within the
|
||
// space shall apply the designated colorant directly, according to the tint values supplied.
|
||
//
|
||
// Format: [/Separation name alternateSpace tintTransform]
|
||
type PdfColorspaceSpecialSeparation struct{ColorantName *_ce .PdfObjectName ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;_bedf *_ce .PdfIndirectObject ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_fcdegb *PdfColorspaceSpecialIndexed )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};N :=_fcdegb .Base .GetNumComponents ();_beef :=int (vals [0])*N ;if _beef < 0||(_beef +N -1)>=len (_fcdegb ._agff ){return nil ,_gd .New ("\u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065");};_gaad :=_fcdegb ._agff [_beef :_beef +N ];var _dgaa []float64 ;for _ ,_bgadd :=range _gaad {_dgaa =append (_dgaa ,float64 (_bgadd )/255.0);};_dbdf ,_bbcgb :=_fcdegb .Base .ColorFromFloats (_dgaa );if _bbcgb !=nil {return nil ,_bbcgb ;};return _dbdf ,nil ;};func (_ggbb *PdfReader )loadForms ()(*PdfAcroForm ,error ){if _ggbb ._dbfe .GetCrypter ()!=nil &&!_ggbb ._dbfe .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_bffg :=_ggbb ._gaadd ;_dggcb :=_bffg .Get ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d");if _dggcb ==nil {return nil ,nil ;};_afgdb ,_ :=_ce .GetIndirect (_dggcb );_dggcb =_ce .TraceToDirectObject (_dggcb );if _ce .IsNullObject (_dggcb ){_ebg .Log .Trace ("\u0041\u0063\u0072of\u006f\u0072\u006d\u0020\u0069\u0073\u0020\u0061\u0020n\u0075l\u006c \u006fb\u006a\u0065\u0063\u0074\u0020\u0028\u0065\u006d\u0070\u0074\u0079\u0029\u000a");return nil ,nil ;};_gece ,_fdff :=_ce .GetDict (_dggcb );if !_fdff {_ebg .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069d\u0020\u0041\u0063\u0072\u006fF\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_dggcb );_ebg .Log .Debug ("\u0044\u006f\u0065\u0073 n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0066\u006f\u0072\u006d\u0073");return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0061\u0063\u0072\u006ff\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_dggcb );};_ebg .Log .Trace ("\u0048\u0061\u0073\u0020\u0041\u0063\u0072\u006f\u0020f\u006f\u0072\u006d\u0073");_ebg .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0065\u0020\u0074\u0068\u0065\u0020\u0041\u0063r\u006ff\u006f\u0072\u006d\u0073\u0020\u0073\u0074\u0072\u0075\u0063\u0074\u0075\u0072\u0065");if !_ggbb ._ebegg {_daddf :=_ggbb .traverseObjectData (_gece );if _daddf !=nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0074\u0072a\u0076\u0065\u0072\u0073\u0065\u0020\u0041\u0063\u0072\u006fFo\u0072\u006d\u0073 \u0028%\u0073\u0029",_daddf );return nil ,_daddf ;};};_gebba ,_afcc :=_ggbb .newPdfAcroFormFromDict (_afgdb ,_gece );if _afcc !=nil {return nil ,_afcc ;};return _gebba ,nil ;};
|
||
|
||
// PdfFieldSignature signature field represents digital signatures and optional data for authenticating
|
||
// the name of the signer and verifying document contents.
|
||
type PdfFieldSignature struct{*PdfField ;*PdfAnnotationWidget ;V *PdfSignature ;Lock *_ce .PdfIndirectObject ;SV *_ce .PdfIndirectObject ;};
|
||
|
||
// Encrypt encrypts the output file with a specified user/owner password.
|
||
func (_efaca *PdfWriter )Encrypt (userPass ,ownerPass []byte ,options *EncryptOptions )error {_begdc :=RC4_128bit ;if options !=nil {_begdc =options .Algorithm ;};_dbbdg :=_ab .PermOwner ;if options !=nil {_dbbdg =options .Permissions ;};var _cffed _bc .Filter ;switch _begdc {case RC4_128bit :_cffed =_bc .NewFilterV2 (16);case AES_128bit :_cffed =_bc .NewFilterAESV2 ();case AES_256bit :_cffed =_bc .NewFilterAESV3 ();default:return _c .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020a\u006cg\u006fr\u0069\u0074\u0068\u006d\u003a\u0020\u0025v",options .Algorithm );};_bbcag ,_ccbb ,_gbag :=_ce .PdfCryptNewEncrypt (_cffed ,userPass ,ownerPass ,_dbbdg );if _gbag !=nil {return _gbag ;};_efaca ._ageed =_bbcag ;if _ccbb .Major !=0{_efaca .SetVersion (_ccbb .Major ,_ccbb .Minor );};_efaca ._bbgda =_ccbb .Encrypt ;_efaca ._acgd =_ce .MakeArray (_ce .MakeHexString (_ccbb .ID0 ),_ce .MakeHexString (_ccbb .ID1 ));_defg :=_ce .MakeIndirectObject (_ccbb .Encrypt );_efaca ._gfdaf =_defg ;_efaca .addObject (_defg );return nil ;};
|
||
|
||
// PdfActionHide represents a hide action.
|
||
type PdfActionHide struct{*PdfAction ;T _ce .PdfObject ;H _ce .PdfObject ;};
|
||
|
||
// ImageToRGB converts an image with samples in Separation CS to an image with samples specified in
|
||
// DeviceRGB CS.
|
||
func (_becge *PdfColorspaceSpecialSeparation )ImageToRGB (img Image )(Image ,error ){_geec :=_ac .NewReader (img .getBase ());_gdgga :=_age .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),_becge .AlternateSpace .GetNumComponents (),nil ,img ._fdcac ,nil );_dgfe :=_ac .NewWriter (_gdgga );_gbabgb :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_ebg .Log .Trace ("\u0053\u0065\u0070a\u0072\u0061\u0074\u0069\u006f\u006e\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u0073\u0070\u0061\u0063\u0065\u0020\u002d\u003e\u0020\u0054\u006f\u0052\u0047\u0042\u0020\u0063o\u006e\u0076\u0065\u0072\u0073\u0069\u006f\u006e");_ebg .Log .Trace ("\u0054i\u006et\u0054\u0072\u0061\u006e\u0073f\u006f\u0072m\u003a\u0020\u0025\u002b\u0076",_becge .TintTransform );_cbeg :=_becge .AlternateSpace .DecodeArray ();var (_abdb uint32 ;_eacag error ;);for {_abdb ,_eacag =_geec .ReadSample ();if _eacag ==_cg .EOF {break ;};if _eacag !=nil {return img ,_eacag ;};_cdgf :=float64 (_abdb )/_gbabgb ;_beega ,_feff :=_becge .TintTransform .Evaluate ([]float64 {_cdgf });if _feff !=nil {return img ,_feff ;};for _bef ,_ecage :=range _beega {_efeb :=_age .LinearInterpolate (_ecage ,_cbeg [_bef *2],_cbeg [_bef *2+1],0,1);if _feff =_dgfe .WriteSample (uint32 (_efeb *_gbabgb ));_feff !=nil {return img ,_feff ;};};};return _becge .AlternateSpace .ImageToRGB (_efeaf (&_gdgga ));};
|
||
|
||
// GetAction returns the PDF action for the annotation link.
|
||
func (_decf *PdfAnnotationLink )GetAction ()(*PdfAction ,error ){if _decf ._eddb !=nil {return _decf ._eddb ,nil ;};if _decf .A ==nil {return nil ,nil ;};if _decf ._bdfc ==nil {return nil ,nil ;};_cfga ,_bgbd :=_decf ._bdfc .loadAction (_decf .A );if _bgbd !=nil {return nil ,_bgbd ;};_decf ._eddb =_cfga ;return _decf ._eddb ,nil ;};
|
||
|
||
// AddFont adds a font dictionary to the Font resources.
|
||
func (_cdga *PdfPage )AddFont (name _ce .PdfObjectName ,font _ce .PdfObject )error {if _cdga .Resources ==nil {_cdga .Resources =NewPdfPageResources ();};if _cdga .Resources .Font ==nil {_cdga .Resources .Font =_ce .MakeDict ();};_fgadf ,_dfbec :=_ce .TraceToDirectObject (_cdga .Resources .Font ).(*_ce .PdfObjectDictionary );if !_dfbec {_ebg .Log .Debug ("\u0045\u0078\u0070\u0065\u0063\u0074\u0065\u0064 \u0066\u006f\u006et \u0064\u0069\u0063\u0074\u0069\u006fn\u0061\u0072\u0079\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u003a \u0025\u0076",_ce .TraceToDirectObject (_cdga .Resources .Font ));return _gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fgadf .Set (name ,font );return nil ;};func (_egcf *PdfReader )newPdfAnnotationLineFromDict (_gga *_ce .PdfObjectDictionary )(*PdfAnnotationLine ,error ){_cgc :=PdfAnnotationLine {};_cggf ,_ege :=_egcf .newPdfAnnotationMarkupFromDict (_gga );if _ege !=nil {return nil ,_ege ;};_cgc .PdfAnnotationMarkup =_cggf ;_cgc .L =_gga .Get ("\u004c");_cgc .BS =_gga .Get ("\u0042\u0053");_cgc .LE =_gga .Get ("\u004c\u0045");_cgc .IC =_gga .Get ("\u0049\u0043");_cgc .LL =_gga .Get ("\u004c\u004c");_cgc .LLE =_gga .Get ("\u004c\u004c\u0045");_cgc .Cap =_gga .Get ("\u0043\u0061\u0070");_cgc .IT =_gga .Get ("\u0049\u0054");_cgc .LLO =_gga .Get ("\u004c\u004c\u004f");_cgc .CP =_gga .Get ("\u0043\u0050");_cgc .Measure =_gga .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");_cgc .CO =_gga .Get ("\u0043\u004f");return &_cgc ,nil ;};
|
||
|
||
// Evaluate runs the function. Input is [x1 x2 x3].
|
||
func (_agddf *PdfFunctionType4 )Evaluate (xVec []float64 )([]float64 ,error ){if _agddf ._dfca ==nil {_agddf ._dfca =_ef .NewPSExecutor (_agddf .Program );};var _afdbf []_ef .PSObject ;for _ ,_cebea :=range xVec {_afdbf =append (_afdbf ,_ef .MakeReal (_cebea ));};_dggc ,_afgb :=_agddf ._dfca .Execute (_afdbf );if _afgb !=nil {return nil ,_afgb ;};_fegae ,_afgb :=_ef .PSObjectArrayToFloat64Array (_dggc );if _afgb !=nil {return nil ,_afgb ;};return _fegae ,nil ;};
|
||
|
||
// GetShadingByName gets the shading specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_bfgcd *PdfPageResources )GetShadingByName (keyName _ce .PdfObjectName )(*PdfShading ,bool ){if _bfgcd .Shading ==nil {return nil ,false ;};_bdbc ,_dagc :=_ce .TraceToDirectObject (_bfgcd .Shading ).(*_ce .PdfObjectDictionary );if !_dagc {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0068\u0061d\u0069\u006e\u0067\u0020\u0065\u006e\u0074r\u0079\u0020\u002d\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064i\u0063\u0074\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_bfgcd .Shading );return nil ,false ;};if _dagdd :=_bdbc .Get (keyName );_dagdd !=nil {_fdgaf ,_ebbcc :=_aggff (_dagdd );if _ebbcc !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020f\u0061\u0069l\u0065\u0064\u0020\u0074\u006f\u0020\u006c\u006fa\u0064\u0020\u0070\u0064\u0066\u0020\u0073\u0068\u0061\u0064\u0069\u006eg\u003a\u0020\u0025\u0076",_ebbcc );return nil ,false ;};return _fdgaf ,true ;};return nil ,false ;};
|
||
|
||
// String returns a human readable description of `fontfile`.
|
||
func (_cfgf *fontFile )String ()string {_cebcg :="\u005b\u004e\u006f\u006e\u0065\u005d";if _cfgf ._fbabb !=nil {_cebcg =_cfgf ._fbabb .String ();};return _c .Sprintf ("\u0046O\u004e\u0054\u0046\u0049\u004c\u0045\u007b\u0025\u0023\u0071\u0020e\u006e\u0063\u006f\u0064\u0065\u0072\u003d\u0025\u0073\u007d",_cfgf ._fdac ,_cebcg );};func (_edd *PdfAnnotation )String ()string {_dgbd :="";_bgad ,_baf :=_edd .ToPdfObject ().(*_ce .PdfIndirectObject );if _baf {_dgbd =_c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_edd ._aff ,_bgad .PdfObject .String ());};return _dgbd ;};func (_badb *pdfCIDFontType0 )baseFields ()*fontCommon {return &_badb .fontCommon };func (_fab *PdfReader )newPdfActionHideFromDict (_bdef *_ce .PdfObjectDictionary )(*PdfActionHide ,error ){return &PdfActionHide {T :_bdef .Get ("\u0054"),H :_bdef .Get ("\u0048")},nil ;};
|
||
|
||
// ToPdfObject returns the choice field dictionary within an indirect object (container).
|
||
func (_cgfd *PdfFieldChoice )ToPdfObject ()_ce .PdfObject {_cgfd .PdfField .ToPdfObject ();_acab :=_cgfd ._gfeec ;_cbad :=_acab .PdfObject .(*_ce .PdfObjectDictionary );_cbad .Set ("\u0046\u0054",_ce .MakeName ("\u0043\u0068"));if _cgfd .Opt !=nil {_cbad .Set ("\u004f\u0070\u0074",_cgfd .Opt );};if _cgfd .TI !=nil {_cbad .Set ("\u0054\u0049",_cgfd .TI );};if _cgfd .I !=nil {_cbad .Set ("\u0049",_cgfd .I );};return _acab ;};
|
||
|
||
// C returns the value of the cyan component of the color.
|
||
func (_bfag *PdfColorDeviceCMYK )C ()float64 {return float64 (_bfag [0])};
|
||
|
||
// ImageToRGB converts an image in CMYK32 colorspace to an RGB image.
|
||
func (_bdfa *PdfColorspaceDeviceCMYK )ImageToRGB (img Image )(Image ,error ){_ebg .Log .Trace ("\u0043\u004d\u0059\u004b\u0033\u0032\u0020\u002d\u003e\u0020\u0052\u0047\u0042");_ebg .Log .Trace ("I\u006d\u0061\u0067\u0065\u0020\u0042P\u0043\u003a\u0020\u0025\u0064\u002c \u0043\u006f\u006c\u006f\u0072\u0020\u0063o\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073\u003a\u0020%\u0064",img .BitsPerComponent ,img .ColorComponents );_ebg .Log .Trace ("\u004c\u0065\u006e \u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0064",len (img .Data ));_ebg .Log .Trace ("H\u0065\u0069\u0067\u0068t:\u0020%\u0064\u002c\u0020\u0057\u0069d\u0074\u0068\u003a\u0020\u0025\u0064",img .Height ,img .Width );_egedf ,_ecff :=_age .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._fdcac ,img ._cddaa );if _ecff !=nil {return Image {},_ecff ;};_eee ,_ecff :=_age .NRGBAConverter .Convert (_egedf );if _ecff !=nil {return Image {},_ecff ;};return _efeaf (_eee .Base ()),nil ;};
|
||
|
||
// NewPdfColorspaceDeviceN returns an initialized PdfColorspaceDeviceN.
|
||
func NewPdfColorspaceDeviceN ()*PdfColorspaceDeviceN {_gdfff :=&PdfColorspaceDeviceN {};return _gdfff ;};func (_afb *PdfReader )newPdfAnnotationPrinterMarkFromDict (_fafb *_ce .PdfObjectDictionary )(*PdfAnnotationPrinterMark ,error ){_ccec :=PdfAnnotationPrinterMark {};_ccec .MN =_fafb .Get ("\u004d\u004e");return &_ccec ,nil ;};
|
||
|
||
// SetContext sets the specific fielddata type, e.g. would be PdfFieldButton for a button field.
|
||
func (_cfba *PdfField )SetContext (ctx PdfModel ){_cfba ._eedcb =ctx };
|
||
|
||
// AlphaMapFunc represents a alpha mapping function: byte -> byte. Can be used for
|
||
// thresholding the alpha channel, i.e. setting all alpha values below threshold to transparent.
|
||
type AlphaMapFunc func (_fded byte )byte ;
|
||
|
||
// BorderStyle defines border type, typically used for annotations.
|
||
type BorderStyle int ;
|
||
|
||
// NewPdfAnnotationSound returns a new sound annotation.
|
||
func NewPdfAnnotationSound ()*PdfAnnotationSound {_ccdc :=NewPdfAnnotation ();_ff :=&PdfAnnotationSound {};_ff .PdfAnnotation =_ccdc ;_ff .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ccdc .SetContext (_ff );return _ff ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ace *PdfFilespec )ToPdfObject ()_ce .PdfObject {_bbaa :=_ace .getDict ();_bbaa .Clear ();_bbaa .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"));_bbaa .SetIfNotNil ("\u0046\u0053",_ace .FS );_bbaa .SetIfNotNil ("\u0046",_ace .F );_bbaa .SetIfNotNil ("\u0055\u0046",_ace .UF );_bbaa .SetIfNotNil ("\u0044\u004f\u0053",_ace .DOS );_bbaa .SetIfNotNil ("\u004d\u0061\u0063",_ace .Mac );_bbaa .SetIfNotNil ("\u0055\u006e\u0069\u0078",_ace .Unix );_bbaa .SetIfNotNil ("\u0049\u0044",_ace .ID );_bbaa .SetIfNotNil ("\u0056",_ace .V );_bbaa .SetIfNotNil ("\u0045\u0046",_ace .EF );_bbaa .SetIfNotNil ("\u0052\u0046",_ace .RF );_bbaa .SetIfNotNil ("\u0044\u0065\u0073\u0063",_ace .Desc );_bbaa .SetIfNotNil ("\u0043\u0049",_ace .CI );return _ace ._ddfgf ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element in
|
||
// range 0-1.
|
||
func (_gaaa *PdfColorspaceCalGray )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gcgdd ,_dabfd :=_ce .GetNumbersAsFloat (objects );if _dabfd !=nil {return nil ,_dabfd ;};return _gaaa .ColorFromFloats (_gcgdd );};func (_dfgb *PdfReader )flattenFieldsWithOpts (_cadce bool ,_fcbg FieldAppearanceGenerator ,_ggec *FieldFlattenOpts )error {if _ggec ==nil {_ggec =&FieldFlattenOpts {};};var _ecbb bool ;_gffcg :=map[*PdfAnnotation ]bool {};{var _afegf []*PdfField ;_cgfg :=_dfgb .AcroForm ;if _cgfg !=nil {if _ggec .FilterFunc !=nil {_afegf =_cgfg .filteredFields (_ggec .FilterFunc ,true );_ecbb =_cgfg .Fields !=nil &&len (*_cgfg .Fields )> 0;}else {_afegf =_cgfg .AllFields ();};};for _ ,_fdecg :=range _afegf {for _ ,_bfgf :=range _fdecg .Annotations {_gffcg [_bfgf .PdfAnnotation ]=_fdecg .V !=nil ;if _fcbg !=nil {_gddga ,_efea :=_fcbg .GenerateAppearanceDict (_cgfg ,_fdecg ,_bfgf );if _efea !=nil {return _efea ;};_bfgf .AP =_gddga ;};};};};if _cadce {for _ ,_cceea :=range _dfgb .PageList {_dacd ,_beag :=_cceea .GetAnnotations ();if _beag !=nil {return _beag ;};for _ ,_cgea :=range _dacd {_gffcg [_cgea ]=true ;};};};for _ ,_fafe :=range _dfgb .PageList {var _fbgd []*PdfAnnotation ;if _fcbg !=nil {if _adbfa :=_fcbg .WrapContentStream (_fafe );_adbfa !=nil {return _adbfa ;};};_gaaeb ,_gfdac :=_fafe .GetAnnotations ();if _gfdac !=nil {return _gfdac ;};for _ ,_acfbb :=range _gaaeb {_gcgb ,_fabfe :=_gffcg [_acfbb ];if !_fabfe {_fbgd =append (_fbgd ,_acfbb );continue ;};switch _acfbb .GetContext ().(type ){case *PdfAnnotationPopup :continue ;case *PdfAnnotationLink :continue ;case *PdfAnnotationProjection :continue ;};_cdgd ,_dfea ,_aaadc :=_bdfd (_acfbb );if _aaadc !=nil {if !_gcgb {_ebg .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0077\u0069\u0074h\u006f\u0075\u0074\u0020\u0056\u0020\u002d\u003e\u0020\u0061\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e\u0020\u0077\u0069\u0074h\u006f\u0075t\u0020\u0061p\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0020\u0073\u0074\u0072\u0065am\u0020\u002d\u0020\u0073\u006b\u0069\u0070\u0070\u0069n\u0067\u0020\u006f\u0076\u0065\u0072");continue ;};_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u0020\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e\u0020\u0077\u0069\u0074h\u006f\u0075\u0074\u0020\u0061\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0020\u0073\u0074\u0072\u0065\u0061\u006d,\u0020\u0065\u0072\u0072\u0020\u003a\u0020\u0025\u0076\u0020\u002d\u0020\u0073\u006bi\u0070\u0070\u0069n\u0067\u0020\u006f\u0076\u0065\u0072",_aaadc );continue ;};if _cdgd ==nil {continue ;};_cdge :=_fafe .Resources .GenerateXObjectName ();_fafe .Resources .SetXObjectFormByName (_cdge ,_cdgd );_fceg :=_ag .Min (_dfea .Llx ,_dfea .Urx );_fge :=_ag .Min (_dfea .Lly ,_dfea .Ury );var _aebbd []string ;_aebbd =append (_aebbd ,"\u0071");_aebbd =append (_aebbd ,_c .Sprintf ("\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020%\u002e6\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0063\u006d",1.0,0.0,0.0,1.0,_fceg ,_fge ));_aebbd =append (_aebbd ,_c .Sprintf ("\u002f\u0025\u0073\u0020\u0044\u006f",_cdge .String ()));_aebbd =append (_aebbd ,"\u0051");_abcb :=_aga .Join (_aebbd ,"\u000a");_aaadc =_fafe .AppendContentStream (_abcb );if _aaadc !=nil {return _aaadc ;};if _cdgd .Resources !=nil {_gaab ,_ddbfb :=_ce .GetDict (_cdgd .Resources .Font );if _ddbfb {for _ ,_dfdf :=range _gaab .Keys (){if !_fafe .Resources .HasFontByName (_dfdf ){_fafe .Resources .SetFontByName (_dfdf ,_gaab .Get (_dfdf ));};};};};};if len (_fbgd )> 0{_fafe ._bdcg =_fbgd ;}else {_fafe ._bdcg =[]*PdfAnnotation {};};};if !_ecbb {_dfgb .AcroForm =nil ;};return nil ;};
|
||
|
||
// NewPdfPageResourcesColorspaces returns a new PdfPageResourcesColorspaces object.
|
||
func NewPdfPageResourcesColorspaces ()*PdfPageResourcesColorspaces {_bcff :=&PdfPageResourcesColorspaces {};_bcff .Names =[]string {};_bcff .Colorspaces =map[string ]PdfColorspace {};_bcff ._facbb =&_ce .PdfIndirectObject {};return _bcff ;};
|
||
|
||
// L returns the value of the L component of the color.
|
||
func (_bbdb *PdfColorLab )L ()float64 {return float64 (_bbdb [0])};
|
||
|
||
// PdfColorDeviceCMYK is a CMYK32 color, where each component is defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorDeviceCMYK [4]float64 ;func (_cabe *PdfAppender )updateObjectsDeep (_gdbca _ce .PdfObject ,_abed map[_ce .PdfObject ]struct{}){if _abed ==nil {_abed =map[_ce .PdfObject ]struct{}{};};if _ ,_baff :=_abed [_gdbca ];_baff ||_gdbca ==nil {return ;};_abed [_gdbca ]=struct{}{};_cccd :=_ce .ResolveReferencesDeep (_gdbca ,_cabe ._bceec );if _cccd !=nil {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cccd );};switch _cacg :=_gdbca .(type ){case *_ce .PdfIndirectObject :switch {case _cacg .GetParser ()==_cabe ._aega ._dbfe :return ;case _cacg .GetParser ()==_cabe .Reader ._dbfe :_edgb ,_ :=_cabe ._aega .GetIndirectObjectByNumber (int (_cacg .ObjectNumber ));_cefd ,_effab :=_edgb .(*_ce .PdfIndirectObject );if _effab &&_cefd !=nil {if _cefd .PdfObject !=_cacg .PdfObject &&_cefd .PdfObject .WriteString ()!=_cacg .PdfObject .WriteString (){_cabe .addNewObject (_gdbca );_cabe ._daea [_gdbca ]=_cacg .ObjectNumber ;};};default:_cabe .addNewObject (_gdbca );};_cabe .updateObjectsDeep (_cacg .PdfObject ,_abed );case *_ce .PdfObjectArray :for _ ,_geee :=range _cacg .Elements (){_cabe .updateObjectsDeep (_geee ,_abed );};case *_ce .PdfObjectDictionary :for _ ,_faeg :=range _cacg .Keys (){_cabe .updateObjectsDeep (_cacg .Get (_faeg ),_abed );};case *_ce .PdfObjectStreams :if _cacg .GetParser ()!=_cabe ._aega ._dbfe {for _ ,_abdcf :=range _cacg .Elements (){_cabe .updateObjectsDeep (_abdcf ,_abed );};};case *_ce .PdfObjectStream :switch {case _cacg .GetParser ()==_cabe ._aega ._dbfe :return ;case _cacg .GetParser ()==_cabe .Reader ._dbfe :if _fdg ,_dcec :=_cabe ._aega ._dbfe .LookupByReference (_cacg .PdfObjectReference );_dcec ==nil {var _abce bool ;if _gdff ,_gffe :=_ce .GetStream (_fdg );_gffe &&_f .Equal (_gdff .Stream ,_cacg .Stream ){_abce =true ;};if _becf ,_dceb :=_ce .GetDict (_fdg );_abce &&_dceb {_abce =_becf .WriteString ()==_cacg .PdfObjectDictionary .WriteString ();};if _abce {return ;};};if _cacg .ObjectNumber !=0{_cabe ._daea [_gdbca ]=_cacg .ObjectNumber ;};default:if _ ,_ggcf :=_cabe ._adba [_gdbca ];!_ggcf {_cabe .addNewObject (_gdbca );};};_cabe .updateObjectsDeep (_cacg .PdfObjectDictionary ,_abed );};};
|
||
|
||
// UpdateXObjectImageFromImage creates a new XObject Image from an
|
||
// Image object `img` and default masks from xobjIn.
|
||
// The default masks are overriden if img.hasAlpha
|
||
// If `encoder` is nil, uses raw encoding (none).
|
||
func UpdateXObjectImageFromImage (xobjIn *XObjectImage ,img *Image ,cs PdfColorspace ,encoder _ce .StreamEncoder )(*XObjectImage ,error ){if encoder ==nil {encoder =_ce .NewRawEncoder ();};encoder .UpdateParams (img .GetParamsDict ());_bcebf ,_dfaba :=encoder .EncodeBytes (img .Data );if _dfaba !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_dfaba );return nil ,_dfaba ;};_fdbag :=NewXObjectImage ();_fdfga :=img .Width ;_ggcd :=img .Height ;_fdbag .Width =&_fdfga ;_fdbag .Height =&_ggcd ;_fgge :=img .BitsPerComponent ;_fdbag .BitsPerComponent =&_fgge ;_fdbag .Filter =encoder ;_fdbag .Stream =_bcebf ;if cs ==nil {if img .ColorComponents ==1{_fdbag .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_fdbag .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_fdbag .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return nil ,_gd .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_fdbag .ColorSpace =cs ;};if img ._fdga {_edacdf :=NewXObjectImage ();_edacdf .Filter =encoder ;_dfcac ,_ecgc :=encoder .EncodeBytes (img ._fdcac );if _ecgc !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_ecgc );return nil ,_ecgc ;};_edacdf .Stream =_dfcac ;_edacdf .BitsPerComponent =_fdbag .BitsPerComponent ;_edacdf .Width =&img .Width ;_edacdf .Height =&img .Height ;_edacdf .ColorSpace =NewPdfColorspaceDeviceGray ();_fdbag .SMask =_edacdf .ToPdfObject ();}else {_fdbag .SMask =xobjIn .SMask ;_fdbag .ImageMask =xobjIn .ImageMask ;if _fdbag .ColorSpace .GetNumComponents ()==1{_fgaaf (_fdbag );};};return _fdbag ,nil ;};
|
||
|
||
// PdfReader represents a PDF file reader. It is a frontend to the lower level parsing mechanism and provides
|
||
// a higher level access to work with PDF structure and information, such as the page structure etc.
|
||
type PdfReader struct{_dbfe *_ce .PdfParser ;_ccbac _ce .PdfObject ;_acfe *_ce .PdfIndirectObject ;_gdfcbg *_ce .PdfObjectDictionary ;_gggg []*_ce .PdfIndirectObject ;PageList []*PdfPage ;_bbfa int ;_gaadd *_ce .PdfObjectDictionary ;_feebe *PdfOutlineTreeNode ;AcroForm *PdfAcroForm ;_cbdfb *modelManager ;_ebegg bool ;_acfdf map[_ce .PdfObject ]struct{};_dafg _cg .ReadSeeker ;};
|
||
|
||
// NewGrayImageFromGoImage creates a new grayscale unidoc Image from a golang Image.
|
||
func (_adcaf DefaultImageHandler )NewGrayImageFromGoImage (goimg _eg .Image )(*Image ,error ){_ggdde :=goimg .Bounds ();_egcg :=&Image {Width :int64 (_ggdde .Dx ()),Height :int64 (_ggdde .Dy ()),ColorComponents :1,BitsPerComponent :8};switch _beaae :=goimg .(type ){case *_eg .Gray :if len (_beaae .Pix )!=_ggdde .Dx ()*_ggdde .Dy (){_bgbc ,_gagg :=_age .GrayConverter .Convert (goimg );if _gagg !=nil {return nil ,_gagg ;};_egcg .Data =_bgbc .Pix ();}else {_egcg .Data =_beaae .Pix ;};case *_eg .Gray16 :_egcg .BitsPerComponent =16;if len (_beaae .Pix )!=_ggdde .Dx ()*_ggdde .Dy ()*2{_gcga ,_bbce :=_age .Gray16Converter .Convert (goimg );if _bbce !=nil {return nil ,_bbce ;};_egcg .Data =_gcga .Pix ();}else {_egcg .Data =_beaae .Pix ;};default:_gcede ,_fcdffb :=_age .GrayConverter .Convert (goimg );if _fcdffb !=nil {return nil ,_fcdffb ;};_egcg .Data =_gcede .Pix ();};return _egcg ,nil ;};func _adgaa (_gfbf *_ce .PdfObjectDictionary )(*PdfShadingType1 ,error ){_gcffb :=PdfShadingType1 {};if _adefc :=_gfbf .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_adefc !=nil {_adefc =_ce .TraceToDirectObject (_adefc );_feab ,_gcdc :=_adefc .(*_ce .PdfObjectArray );if !_gcdc {_ebg .Log .Debug ("\u0044\u006f\u006d\u0061i\u006e\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_adefc );return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gcffb .Domain =_feab ;};if _eagdg :=_gfbf .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_eagdg !=nil {_eagdg =_ce .TraceToDirectObject (_eagdg );_cdfbc ,_aebaf :=_eagdg .(*_ce .PdfObjectArray );if !_aebaf {_ebg .Log .Debug ("\u004d\u0061\u0074\u0072i\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_eagdg );return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gcffb .Matrix =_cdfbc ;};_afbfeg :=_gfbf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _afbfeg ==nil {_ebg .Log .Debug ("\u0052\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0020\u0046\u0075\u006ec\u0074\u0069\u006f\u006e");return nil ,ErrRequiredAttributeMissing ;};_gcffb .Function =[]PdfFunction {};if _ccfac ,_abbca :=_afbfeg .(*_ce .PdfObjectArray );_abbca {for _ ,_dgddg :=range _ccfac .Elements (){_dbgab ,_dfag :=_edddda (_dgddg );if _dfag !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_dfag );return nil ,_dfag ;};_gcffb .Function =append (_gcffb .Function ,_dbgab );};}else {_dddaa ,_gbac :=_edddda (_afbfeg );if _gbac !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_gbac );return nil ,_gbac ;};_gcffb .Function =append (_gcffb .Function ,_dddaa );};return &_gcffb ,nil ;};func _dgec (_dacfb *_ce .PdfObjectDictionary )(*PdfFieldChoice ,error ){_bfcd :=&PdfFieldChoice {};_bfcd .Opt ,_ =_ce .GetArray (_dacfb .Get ("\u004f\u0070\u0074"));_bfcd .TI ,_ =_ce .GetInt (_dacfb .Get ("\u0054\u0049"));_bfcd .I ,_ =_ce .GetArray (_dacfb .Get ("\u0049"));return _bfcd ,nil ;};
|
||
|
||
// CharcodesToStrings returns the unicode strings corresponding to `charcodes`.
|
||
// The int returns are the number of strings and the number of unconvereted codes.
|
||
// NOTE: The number of strings returned is equal to the number of charcodes
|
||
func (_becfb *PdfFont )CharcodesToStrings (charcodes []_cce .CharCode )([]string ,int ,int ){_fcfge :=_becfb .baseFields ();_abagb :=make ([]string ,0,len (charcodes ));_gdab :=0;for _ ,_daebe :=range charcodes {if _fcfge ._fefb !=nil {if _fbgb ,_dbaf :=_fcfge ._fefb .CharcodeToUnicode (_fa .CharCode (_daebe ));_dbaf {_abagb =append (_abagb ,_fbgb );continue ;};};_beaee :=_becfb .Encoder ();if _beaee !=nil {if _gccd ,_fgcb :=_beaee .CharcodeToRune (_daebe );_fgcb {_abagb =append (_abagb ,string (_gccd ));continue ;};};_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u004e\u006f\u0020\u0072u\u006e\u0065\u002e\u0020\u0063\u006f\u0064\u0065=\u0030x\u0025\u0030\u0034\u0078\u0020\u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065\u0073\u003d\u005b\u0025\u00200\u0034\u0078\u005d\u0020\u0043\u0049\u0044\u003d\u0025\u0074\u000a"+"\t\u0066\u006f\u006e\u0074=%\u0073\n\u0009\u0065\u006e\u0063\u006fd\u0069\u006e\u0067\u003d\u0025\u0073",_daebe ,charcodes ,_fcfge .isCIDFont (),_becfb ,_beaee );_gdab ++;_abagb =append (_abagb ,_fa .MissingCodeString );};if _gdab !=0{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0043\u006f\u0075\u006c\u0064\u006e\u0027\u0074\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0074\u006f\u0020u\u006e\u0069\u0063\u006f\u0064\u0065\u002e\u0020\u0055\u0073\u0069\u006e\u0067\u0020i\u006ep\u0075\u0074\u002e\u000a"+"\u0009\u006e\u0075\u006d\u0043\u0068\u0061\u0072\u0073\u003d\u0025d\u0020\u006e\u0075\u006d\u004d\u0069\u0073\u0073\u0065\u0073=\u0025\u0064\u000a"+"\u0009\u0066\u006f\u006e\u0074\u003d\u0025\u0073",len (charcodes ),_gdab ,_becfb );};return _abagb ,len (_abagb ),_gdab ;};func (_feaa *fontFile )loadFromSegments (_bcfbe ,_gagag []byte )error {_ebg .Log .Trace ("\u006c\u006f\u0061dF\u0072\u006f\u006d\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u0020\u0025\u0064",len (_bcfbe ),len (_gagag ));_cabad :=_feaa .parseASCIIPart (_bcfbe );if _cabad !=nil {return _cabad ;};_ebg .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_feaa );if len (_gagag )==0{return nil ;};_ebg .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_feaa );return nil ;};
|
||
|
||
// SetImageHandler sets the image handler used by the package.
|
||
func SetImageHandler (imgHandling ImageHandler ){ImageHandling =imgHandling };
|
||
|
||
// GetContainingPdfObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_begca *PdfPage )GetContainingPdfObject ()_ce .PdfObject {return _begca ._adcebd };
|
||
|
||
// PageFromIndirectObject returns the PdfPage and page number for a given indirect object.
|
||
func (_ddba *PdfReader )PageFromIndirectObject (ind *_ce .PdfIndirectObject )(*PdfPage ,int ,error ){if len (_ddba .PageList )!=len (_ddba ._gggg ){return nil ,0,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u006c\u0069\u0073\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};for _ffffg ,_eaaae :=range _ddba ._gggg {if _eaaae ==ind {return _ddba .PageList [_ffffg ],_ffffg +1,nil ;};};return nil ,0,_gd .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// ContentStreamWrapper wraps the Page's contentstream into q ... Q blocks.
|
||
type ContentStreamWrapper interface{WrapContentStream (_cfag *PdfPage )error ;};
|
||
|
||
// ColorToRGB converts a DeviceN color to an RGB color.
|
||
func (_gadge *PdfColorspaceDeviceN )ColorToRGB (color PdfColor )(PdfColor ,error ){if _gadge .AlternateSpace ==nil {return nil ,_gd .New ("\u0044\u0065\u0076\u0069\u0063\u0065N\u0020\u0061\u006c\u0074\u0065\u0072\u006e\u0061\u0074\u0065\u0020\u0073\u0070a\u0063\u0065\u0020\u0075\u006e\u0064\u0065f\u0069\u006e\u0065\u0064");};return _gadge .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// RepairAcroForm attempts to rebuild the AcroForm fields using the widget
|
||
// annotations present in the document pages. Pass nil for the opts parameter
|
||
// in order to use the default options.
|
||
// NOTE: Currently, the opts parameter is declared in order to enable adding
|
||
// future options, but passing nil will always result in the default options
|
||
// being used.
|
||
func (_aabb *PdfReader )RepairAcroForm (opts *AcroFormRepairOptions )error {var _efgbd []*PdfField ;_ecebg :=map[*_ce .PdfIndirectObject ]struct{}{};for _ ,_eeecf :=range _aabb .PageList {_gbcfb ,_gbbff :=_eeecf .GetAnnotations ();if _gbbff !=nil {return _gbbff ;};for _ ,_ggega :=range _gbcfb {var _egecdf *PdfField ;switch _cedeb :=_ggega .GetContext ().(type ){case *PdfAnnotationWidget :if _cedeb ._dgg !=nil {_egecdf =_cedeb ._dgg ;break ;};if _bagcg ,_beaef :=_ce .GetIndirect (_cedeb .Parent );_beaef {_egecdf ,_gbbff =_aabb .newPdfFieldFromIndirectObject (_bagcg ,nil );if _gbbff ==nil {break ;};_ebg .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0070\u0061\u0072s\u0065\u0020\u0066\u006f\u0072\u006d\u0020\u0066\u0069\u0065ld\u0020\u0025\u002bv\u003a \u0025\u0076",_bagcg ,_gbbff );};if _cedeb ._bda !=nil {_egecdf ,_gbbff =_aabb .newPdfFieldFromIndirectObject (_cedeb ._bda ,nil );if _gbbff ==nil {break ;};_ebg .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0070\u0061\u0072s\u0065\u0020\u0066\u006f\u0072\u006d\u0020\u0066\u0069\u0065ld\u0020\u0025\u002bv\u003a \u0025\u0076",_cedeb ._bda ,_gbbff );};};if _egecdf ==nil {continue ;};if _ ,_faba :=_ecebg [_egecdf ._gfeec ];_faba {continue ;};_ecebg [_egecdf ._gfeec ]=struct{}{};_efgbd =append (_efgbd ,_egecdf );};};if len (_efgbd )==0{return nil ;};if _aabb .AcroForm ==nil {_aabb .AcroForm =NewPdfAcroForm ();};_aabb .AcroForm .Fields =&_efgbd ;return nil ;};func _dcaeb (_eeef _ce .PdfObject )(*PdfFunctionType3 ,error ){_dddcd :=&PdfFunctionType3 {};var _geedg *_ce .PdfObjectDictionary ;if _fdgd ,_cgdba :=_eeef .(*_ce .PdfIndirectObject );_cgdba {_gegg ,_cbda :=_fdgd .PdfObject .(*_ce .PdfObjectDictionary );if !_cbda {return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dddcd ._fbcbe =_fdgd ;_geedg =_gegg ;}else if _babe ,_efegf :=_eeef .(*_ce .PdfObjectDictionary );_efegf {_geedg =_babe ;}else {return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fgfcf ,_cbfc :=_ce .TraceToDirectObject (_geedg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_ce .PdfObjectArray );if !_cbfc {_ebg .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if _fgfcf .Len ()!=2{_ebg .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_gd .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_efbg ,_gacg :=_fgfcf .ToFloat64Array ();if _gacg !=nil {return nil ,_gacg ;};_dddcd .Domain =_efbg ;_fgfcf ,_cbfc =_ce .TraceToDirectObject (_geedg .Get ("\u0052\u0061\u006eg\u0065")).(*_ce .PdfObjectArray );if _cbfc {if _fgfcf .Len ()< 0||_fgfcf .Len ()%2!=0{return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_bgagc ,_egbe :=_fgfcf .ToFloat64Array ();if _egbe !=nil {return nil ,_egbe ;};_dddcd .Range =_bgagc ;};_fgfcf ,_cbfc =_ce .TraceToDirectObject (_geedg .Get ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es")).(*_ce .PdfObjectArray );if !_cbfc {_ebg .Log .Error ("\u0046\u0075\u006ect\u0069\u006f\u006e\u0073\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};_dddcd .Functions =[]PdfFunction {};for _ ,_bdaba :=range _fgfcf .Elements (){_ccega ,_dgaaa :=_edddda (_bdaba );if _dgaaa !=nil {return nil ,_dgaaa ;};_dddcd .Functions =append (_dddcd .Functions ,_ccega );};_fgfcf ,_cbfc =_ce .TraceToDirectObject (_geedg .Get ("\u0042\u006f\u0075\u006e\u0064\u0073")).(*_ce .PdfObjectArray );if !_cbfc {_ebg .Log .Error ("B\u006fu\u006e\u0064\u0073\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};_abdag ,_gacg :=_fgfcf .ToFloat64Array ();if _gacg !=nil {return nil ,_gacg ;};_dddcd .Bounds =_abdag ;if len (_dddcd .Bounds )!=len (_dddcd .Functions )-1{_ebg .Log .Error ("B\u006f\u0075\u006e\u0064\u0073\u0020\u0028\u0025\u0064)\u0020\u0061\u006e\u0064\u0020\u006e\u0075m \u0066\u0075\u006e\u0063t\u0069\u006f\u006e\u0073\u0020\u0028\u0025\u0064\u0029 n\u006f\u0074 \u006d\u0061\u0074\u0063\u0068\u0069\u006e\u0067",len (_dddcd .Bounds ),len (_dddcd .Functions ));return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fgfcf ,_cbfc =_ce .TraceToDirectObject (_geedg .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_ce .PdfObjectArray );if !_cbfc {_ebg .Log .Error ("E\u006ec\u006f\u0064\u0065\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};_bgce ,_gacg :=_fgfcf .ToFloat64Array ();if _gacg !=nil {return nil ,_gacg ;};_dddcd .Encode =_bgce ;if len (_dddcd .Encode )!=2*len (_dddcd .Functions ){_ebg .Log .Error ("\u004c\u0065\u006e\u0020\u0065\u006e\u0063\u006f\u0064\u0065\u0020\u0028\u0025\u0064\u0029 \u0061\u006e\u0064\u0020\u006e\u0075\u006d\u0020\u0066\u0075\u006e\u0063\u0074i\u006f\u006e\u0073\u0020\u0028\u0025\u0064\u0029\u0020\u006e\u006f\u0074 m\u0061\u0074\u0063\u0068\u0069\u006e\u0067\u0020\u0075\u0070",len (_dddcd .Encode ),len (_dddcd .Functions ));return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return _dddcd ,nil ;};
|
||
|
||
// NewPdfAnnotationCaret returns a new caret annotation.
|
||
func NewPdfAnnotationCaret ()*PdfAnnotationCaret {_fdb :=NewPdfAnnotation ();_feg :=&PdfAnnotationCaret {};_feg .PdfAnnotation =_fdb ;_feg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fdb .SetContext (_feg );return _feg ;};
|
||
|
||
// ColorFromPdfObjects loads the color from PDF objects.
|
||
// The first objects (if present) represent the color in underlying colorspace. The last one represents
|
||
// the name of the pattern.
|
||
func (_addbg *PdfColorspaceSpecialPattern )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )< 1{return nil ,_gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020o\u0066 \u0070\u0061\u0072\u0061\u006d\u0065\u0074e\u0072\u0073");};_agbef :=&PdfColorPattern {};_dbcde ,_dafd :=objects [len (objects )-1].(*_ce .PdfObjectName );if !_dafd {_ebg .Log .Debug ("\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006ft\u0020a\u0020\u006e\u0061\u006d\u0065\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",objects [len (objects )-1]);return nil ,ErrTypeCheck ;};_agbef .PatternName =*_dbcde ;if len (objects )> 1{_cgec :=objects [0:len (objects )-1];if _addbg .UnderlyingCS ==nil {_ebg .Log .Debug ("P\u0061\u0074t\u0065\u0072\u006e\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u0077\u0069\u0074\u0068\u0020\u0064\u0065\u0066\u0069\u006ee\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006et\u0073\u0020\u0062\u0075\u0074\u0020\u0075\u006e\u0064\u0065\u0072\u006c\u0079i\u006e\u0067\u0020\u0063\u0073\u0020\u006d\u0069\u0073\u0073\u0069n\u0067");return nil ,_gd .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};_gdae ,_gbecc :=_addbg .UnderlyingCS .ColorFromPdfObjects (_cgec );if _gbecc !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0055n\u0061\u0062\u006c\u0065\u0020t\u006f\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u0076\u0069\u0061\u0020\u0075\u006e\u0064\u0065\u0072\u006c\u0079\u0069\u006e\u0067\u0020\u0063\u0073\u003a\u0020\u0025\u0076",_gbecc );return nil ,_gbecc ;};_agbef .Color =_gdae ;};return _agbef ,nil ;};func (_cbaf *PdfReader )newPdfActionMovieFromDict (_efb *_ce .PdfObjectDictionary )(*PdfActionMovie ,error ){return &PdfActionMovie {Annotation :_efb .Get ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e"),T :_efb .Get ("\u0054"),Operation :_efb .Get ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn")},nil ;};
|
||
|
||
// HasExtGState checks whether a font is defined by the specified keyName.
|
||
func (_gaabg *PdfPageResources )HasExtGState (keyName _ce .PdfObjectName )bool {_ ,_gfea :=_gaabg .GetFontByName (keyName );return _gfea ;};func (_gdgdc *PdfReader )newPdfAcroFormFromDict (_cegf *_ce .PdfIndirectObject ,_abeff *_ce .PdfObjectDictionary )(*PdfAcroForm ,error ){_fgcf :=NewPdfAcroForm ();if _cegf !=nil {_fgcf ._adfcd =_cegf ;_cegf .PdfObject =_ce .MakeDict ();};if _ffef :=_abeff .Get ("\u0046\u0069\u0065\u006c\u0064\u0073");_ffef !=nil {_ecdff ,_bdaa :=_ce .GetArray (_ffef );if !_bdaa {return nil ,_c .Errorf ("\u0066i\u0065\u006c\u0064\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e \u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0025\u0054\u0029",_ffef );};var _fbeg []*PdfField ;for _ ,_effaf :=range _ecdff .Elements (){_abfgc ,_dddbe :=_ce .GetIndirect (_effaf );if !_dddbe {if _ ,_cbcd :=_effaf .(*_ce .PdfObjectNull );_cbcd {_ebg .Log .Trace ("\u0053k\u0069\u0070\u0070\u0069\u006e\u0067\u0020\u006f\u0076\u0065\u0072 \u006e\u0075\u006c\u006c\u0020\u0066\u0069\u0065\u006c\u0064");continue ;};_ebg .Log .Debug ("\u0046\u0069\u0065\u006c\u0064 \u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0064 \u0069\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0025\u0054",_effaf );return nil ,_c .Errorf ("\u0066\u0069\u0065l\u0064\u0020\u006e\u006ft\u0020\u0069\u006e\u0020\u0061\u006e\u0020i\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_efegb ,_cefgb :=_gdgdc .newPdfFieldFromIndirectObject (_abfgc ,nil );if _cefgb !=nil {return nil ,_cefgb ;};_ebg .Log .Trace ("\u0041\u0063\u0072\u006fFo\u0072\u006d\u0020\u0046\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u002b\u0076",*_efegb );_fbeg =append (_fbeg ,_efegb );};_fgcf .Fields =&_fbeg ;};if _abbg :=_abeff .Get ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073");_abbg !=nil {_dgedf ,_bbef :=_ce .GetBool (_abbg );if _bbef {_fgcf .NeedAppearances =_dgedf ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u004e\u0065\u0065\u0064\u0041\u0070p\u0065\u0061\u0072\u0061\u006e\u0063e\u0073\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0067\u006ft\u0020\u0025\u0054\u0029",_abbg );};};if _dfgbe :=_abeff .Get ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073");_dfgbe !=nil {_caag ,_dfec :=_ce .GetInt (_dfgbe );if _dfec {_fgcf .SigFlags =_caag ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073 \u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_dfgbe );};};if _eebd :=_abeff .Get ("\u0043\u004f");_eebd !=nil {_fcaee ,_dbae :=_ce .GetArray (_eebd );if _dbae {_fgcf .CO =_fcaee ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0043\u004f\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0067\u006f\u0074 \u0025\u0054\u0029",_eebd );};};if _gabf :=_abeff .Get ("\u0044\u0052");_gabf !=nil {if _ccgfa ,_eagb :=_ce .GetDict (_gabf );_eagb {_ecedg ,_baggd :=NewPdfPageResourcesFromDict (_ccgfa );if _baggd !=nil {_ebg .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0044R\u003a\u0020\u0025\u0076",_baggd );return nil ,_baggd ;};_fgcf .DR =_ecedg ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0044\u0052\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0067\u006f\u0074 \u0025\u0054\u0029",_gabf );};};if _cgfca :=_abeff .Get ("\u0044\u0041");_cgfca !=nil {_bgbb ,_bfddca :=_ce .GetString (_cgfca );if _bfddca {_fgcf .DA =_bgbb ;}else {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0044\u0041\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0067\u006f\u0074 \u0025\u0054\u0029",_cgfca );};};if _edfg :=_abeff .Get ("\u0051");_edfg !=nil {_ecgdg ,_bafcf :=_ce .GetInt (_edfg );if _bafcf {_fgcf .Q =_ecgdg ;}else {_ebg .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0051\u0020\u0069\u006e\u0076a\u006ci\u0064 \u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_edfg );};};if _gacf :=_abeff .Get ("\u0058\u0046\u0041");_gacf !=nil {_fgcf .XFA =_gacf ;};return _fgcf ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_gcff *PdfColorspaceCalRGB )ToPdfObject ()_ce .PdfObject {_eggeb :=&_ce .PdfObjectArray {};_eggeb .Append (_ce .MakeName ("\u0043\u0061\u006c\u0052\u0047\u0042"));_aecf :=_ce .MakeDict ();if _gcff .WhitePoint !=nil {_beba :=_ce .MakeArray (_ce .MakeFloat (_gcff .WhitePoint [0]),_ce .MakeFloat (_gcff .WhitePoint [1]),_ce .MakeFloat (_gcff .WhitePoint [2]));_aecf .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_beba );}else {_ebg .Log .Error ("\u0043\u0061l\u0052\u0047\u0042\u003a \u004d\u0069s\u0073\u0069\u006e\u0067\u0020\u0057\u0068\u0069t\u0065\u0050\u006f\u0069\u006e\u0074\u0020\u0028\u0052\u0065\u0071\u0075i\u0072\u0065\u0064\u0029");};if _gcff .BlackPoint !=nil {_bgba :=_ce .MakeArray (_ce .MakeFloat (_gcff .BlackPoint [0]),_ce .MakeFloat (_gcff .BlackPoint [1]),_ce .MakeFloat (_gcff .BlackPoint [2]));_aecf .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_bgba );};if _gcff .Gamma !=nil {_bdgb :=_ce .MakeArray (_ce .MakeFloat (_gcff .Gamma [0]),_ce .MakeFloat (_gcff .Gamma [1]),_ce .MakeFloat (_gcff .Gamma [2]));_aecf .Set ("\u0047\u0061\u006dm\u0061",_bdgb );};if _gcff .Matrix !=nil {_fdec :=_ce .MakeArray (_ce .MakeFloat (_gcff .Matrix [0]),_ce .MakeFloat (_gcff .Matrix [1]),_ce .MakeFloat (_gcff .Matrix [2]),_ce .MakeFloat (_gcff .Matrix [3]),_ce .MakeFloat (_gcff .Matrix [4]),_ce .MakeFloat (_gcff .Matrix [5]),_ce .MakeFloat (_gcff .Matrix [6]),_ce .MakeFloat (_gcff .Matrix [7]),_ce .MakeFloat (_gcff .Matrix [8]));_aecf .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_fdec );};_eggeb .Append (_aecf );if _gcff ._gcbc !=nil {_gcff ._gcbc .PdfObject =_eggeb ;return _gcff ._gcbc ;};return _eggeb ;};
|
||
|
||
// PdfColorspaceCalRGB stores A, B, C components
|
||
type PdfColorspaceCalRGB struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma []float64 ;Matrix []float64 ;_bbfe *_ce .PdfObjectDictionary ;_gcbc *_ce .PdfIndirectObject ;};
|
||
|
||
// GetNamedDestinations returns the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_bgfgc *PdfReader )GetNamedDestinations ()(_ce .PdfObject ,error ){_gfgef :=_ce .ResolveReference (_bgfgc ._gaadd .Get ("\u004e\u0061\u006de\u0073"));if _gfgef ==nil {return nil ,nil ;};if !_bgfgc ._ebegg {_bdgdf :=_bgfgc .traverseObjectData (_gfgef );if _bdgdf !=nil {return nil ,_bdgdf ;};};return _gfgef ,nil ;};func (_gcggf *Image )resampleLowBits (_fbbaf []uint32 ){_afaa :=_age .BytesPerLine (int (_gcggf .Width ),int (_gcggf .BitsPerComponent ),_gcggf .ColorComponents );_dfcdf :=make ([]byte ,_gcggf .ColorComponents *_afaa *int (_gcggf .Height ));_cafea :=int (_gcggf .BitsPerComponent )*_gcggf .ColorComponents *int (_gcggf .Width );_gdfa :=uint8 (8);var (_becd ,_cgfgf int ;_aedda uint32 ;);for _faabg :=0;_faabg < int (_gcggf .Height );_faabg ++{_cgfgf =_faabg *_afaa ;for _egba :=0;_egba < _cafea ;_egba ++{_aedda =_fbbaf [_becd ];_gdfa -=uint8 (_gcggf .BitsPerComponent );_dfcdf [_cgfgf ]|=byte (_aedda )<<_gdfa ;if _gdfa ==0{_gdfa =8;_cgfgf ++;};_becd ++;};};_gcggf .Data =_dfcdf ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a Lab device.
|
||
func (_dddgb *PdfColorspaceLab )GetNumComponents ()int {return 3};
|
||
|
||
// NewPdfAnnotationRedact returns a new redact annotation.
|
||
func NewPdfAnnotationRedact ()*PdfAnnotationRedact {_gcgc :=NewPdfAnnotation ();_bebb :=&PdfAnnotationRedact {};_bebb .PdfAnnotation =_gcgc ;_bebb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gcgc .SetContext (_bebb );return _bebb ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fcc *PdfActionGoToR )ToPdfObject ()_ce .PdfObject {_fcc .PdfAction .ToPdfObject ();_de :=_fcc ._bdf ;_bfg :=_de .PdfObject .(*_ce .PdfObjectDictionary );_bfg .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeGoToR )));if _fcc .F !=nil {_bfg .Set ("\u0046",_fcc .F .ToPdfObject ());};_bfg .SetIfNotNil ("\u0044",_fcc .D );_bfg .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_fcc .NewWindow );return _de ;};func (_eec *PdfReader )newPdfActionGotoFromDict (_agbg *_ce .PdfObjectDictionary )(*PdfActionGoTo ,error ){return &PdfActionGoTo {D :_agbg .Get ("\u0044")},nil ;};
|
||
|
||
// Set applies flag fl to the flag's bitmask and returns the combined flag.
|
||
func (_ccca FieldFlag )Set (fl FieldFlag )FieldFlag {return FieldFlag (_ccca .Mask ()|fl .Mask ())};
|
||
|
||
// GetSubFilter returns SubFilter value or empty string.
|
||
func (_facge *pdfSignDictionary )GetSubFilter ()string {_gcfgd :=_facge .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r");if _gcfgd ==nil {return "";};if _egdbd ,_dceef :=_ce .GetNameVal (_gcfgd );_dceef {return _egdbd ;};return "";};
|
||
|
||
// PdfOutlineItem represents an outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type PdfOutlineItem struct{PdfOutlineTreeNode ;Title *_ce .PdfObjectString ;Parent *PdfOutlineTreeNode ;Prev *PdfOutlineTreeNode ;Next *PdfOutlineTreeNode ;Count *int64 ;Dest _ce .PdfObject ;A _ce .PdfObject ;SE _ce .PdfObject ;C _ce .PdfObject ;F _ce .PdfObject ;_cfgdb *_ce .PdfIndirectObject ;};
|
||
|
||
// PdfActionNamed represents a named action.
|
||
type PdfActionNamed struct{*PdfAction ;N _ce .PdfObject ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components.
|
||
func (_dgbee *PdfColorspaceDeviceN )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=_dgbee .GetNumComponents (){return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbbge ,_aaa :=_dgbee .TintTransform .Evaluate (vals );if _aaa !=nil {return nil ,_aaa ;};_cfbf ,_aaa :=_dgbee .AlternateSpace .ColorFromFloats (_bbbge );if _aaa !=nil {return nil ,_aaa ;};return _cfbf ,nil ;};
|
||
|
||
// SetVersion sets the PDF version of the output file.
|
||
func (_eggea *PdfWriter )SetVersion (majorVersion ,minorVersion int ){_eggea ._cgbgf =majorVersion ;_eggea ._cacc =minorVersion ;};
|
||
|
||
// PdfSignature represents a PDF signature dictionary and is used for signing via form signature fields.
|
||
// (Section 12.8, Table 252 - Entries in a signature dictionary p. 475 in PDF32000_2008).
|
||
type PdfSignature struct{Handler SignatureHandler ;_aefg *_ce .PdfIndirectObject ;
|
||
|
||
// Type: Sig/DocTimeStamp
|
||
Type *_ce .PdfObjectName ;Filter *_ce .PdfObjectName ;SubFilter *_ce .PdfObjectName ;Contents *_ce .PdfObjectString ;Cert _ce .PdfObject ;ByteRange *_ce .PdfObjectArray ;Reference *_ce .PdfObjectArray ;Changes *_ce .PdfObjectArray ;Name *_ce .PdfObjectString ;M *_ce .PdfObjectString ;Location *_ce .PdfObjectString ;Reason *_ce .PdfObjectString ;ContactInfo *_ce .PdfObjectString ;R *_ce .PdfObjectInteger ;V *_ce .PdfObjectInteger ;PropBuild *_ce .PdfObjectDictionary ;PropAuthTime *_ce .PdfObjectInteger ;PropAuthType *_ce .PdfObjectName ;};
|
||
|
||
// ToPdfObject returns the text field dictionary within an indirect object (container).
|
||
func (_aedd *PdfFieldText )ToPdfObject ()_ce .PdfObject {_aedd .PdfField .ToPdfObject ();_fegdc :=_aedd ._gfeec ;_fcbdc :=_fegdc .PdfObject .(*_ce .PdfObjectDictionary );_fcbdc .Set ("\u0046\u0054",_ce .MakeName ("\u0054\u0078"));if _aedd .DA !=nil {_fcbdc .Set ("\u0044\u0041",_aedd .DA );};if _aedd .Q !=nil {_fcbdc .Set ("\u0051",_aedd .Q );};if _aedd .DS !=nil {_fcbdc .Set ("\u0044\u0053",_aedd .DS );};if _aedd .RV !=nil {_fcbdc .Set ("\u0052\u0056",_aedd .RV );};if _aedd .MaxLen !=nil {_fcbdc .Set ("\u004d\u0061\u0078\u004c\u0065\u006e",_aedd .MaxLen );};return _fegdc ;};
|
||
|
||
// ImageToRGB converts CalRGB colorspace image to RGB and returns the result.
|
||
func (_gede *PdfColorspaceCalRGB )ImageToRGB (img Image )(Image ,error ){_gfcc :=_ac .NewReader (img .getBase ());_cegc :=_age .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_agaae :=_ac .NewWriter (_cegc );_cbedf :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_gbc :=make ([]uint32 ,3);var (_ffbab error ;_ggcge ,_gbdad ,_egd ,_dbgf ,_fccg ,_gddd float64 ;);for {_ffbab =_gfcc .ReadSamples (_gbc );if _ffbab ==_cg .EOF {break ;}else if _ffbab !=nil {return img ,_ffbab ;};_ggcge =float64 (_gbc [0])/_cbedf ;_gbdad =float64 (_gbc [1])/_cbedf ;_egd =float64 (_gbc [2])/_cbedf ;_dbgf =_gede .Matrix [0]*_ag .Pow (_ggcge ,_gede .Gamma [0])+_gede .Matrix [3]*_ag .Pow (_gbdad ,_gede .Gamma [1])+_gede .Matrix [6]*_ag .Pow (_egd ,_gede .Gamma [2]);_fccg =_gede .Matrix [1]*_ag .Pow (_ggcge ,_gede .Gamma [0])+_gede .Matrix [4]*_ag .Pow (_gbdad ,_gede .Gamma [1])+_gede .Matrix [7]*_ag .Pow (_egd ,_gede .Gamma [2]);_gddd =_gede .Matrix [2]*_ag .Pow (_ggcge ,_gede .Gamma [0])+_gede .Matrix [5]*_ag .Pow (_gbdad ,_gede .Gamma [1])+_gede .Matrix [8]*_ag .Pow (_egd ,_gede .Gamma [2]);_ggcge =3.240479*_dbgf +-1.537150*_fccg +-0.498535*_gddd ;_gbdad =-0.969256*_dbgf +1.875992*_fccg +0.041556*_gddd ;_egd =0.055648*_dbgf +-0.204043*_fccg +1.057311*_gddd ;_ggcge =_ag .Min (_ag .Max (_ggcge ,0),1.0);_gbdad =_ag .Min (_ag .Max (_gbdad ,0),1.0);_egd =_ag .Min (_ag .Max (_egd ,0),1.0);_gbc [0]=uint32 (_ggcge *_cbedf );_gbc [1]=uint32 (_gbdad *_cbedf );_gbc [2]=uint32 (_egd *_cbedf );if _ffbab =_agaae .WriteSamples (_gbc );_ffbab !=nil {return img ,_ffbab ;};};return _efeaf (&_cegc ),nil ;};
|
||
|
||
// NewPdfActionNamed returns a new "named" action.
|
||
func NewPdfActionNamed ()*PdfActionNamed {_effe :=NewPdfAction ();_ca :=&PdfActionNamed {};_ca .PdfAction =_effe ;_effe .SetContext (_ca );return _ca ;};
|
||
|
||
// SetXObjectImageByName adds the provided XObjectImage to the page resources.
|
||
// The added XObjectImage is identified by the specified name.
|
||
func (_bcfc *PdfPageResources )SetXObjectImageByName (keyName _ce .PdfObjectName ,ximg *XObjectImage )error {_bbfda :=ximg .ToPdfObject ().(*_ce .PdfObjectStream );_gaccg :=_bcfc .SetXObjectByName (keyName ,_bbfda );return _gaccg ;};
|
||
|
||
// SetAnnotations sets the annotations list.
|
||
func (_agcge *PdfPage )SetAnnotations (annotations []*PdfAnnotation ){_agcge ._bdcg =annotations };
|
||
|
||
// ImageToRGB convert an indexed image to RGB.
|
||
func (_cbccf *PdfColorspaceSpecialIndexed )ImageToRGB (img Image )(Image ,error ){N :=_cbccf .Base .GetNumComponents ();if N < 1{return Image {},_c .Errorf ("\u0062\u0061d \u0062\u0061\u0073e\u0020\u0063\u006f\u006cors\u0070ac\u0065\u0020\u004e\u0075\u006d\u0043\u006fmp\u006f\u006e\u0065\u006e\u0074\u0073\u003d%\u0064",N );};_fefe :=_age .NewImageBase (int (img .Width ),int (img .Height ),8,N ,nil ,img ._fdcac ,img ._cddaa );_cecb :=_ac .NewReader (img .getBase ());_fagg :=_ac .NewWriter (_fefe );var (_bafe uint32 ;_gbfc int ;_bfdb error ;);for {_bafe ,_bfdb =_cecb .ReadSample ();if _bfdb ==_cg .EOF {break ;}else if _bfdb !=nil {return img ,_bfdb ;};_gbfc =int (_bafe );_ebg .Log .Trace ("\u0049\u006ed\u0065\u0078\u0065\u0064\u003a\u0020\u0069\u006e\u0064\u0065\u0078\u003d\u0025\u0064\u0020\u004e\u003d\u0025\u0064\u0020\u006c\u0075t=\u0025\u0064",_gbfc ,N ,len (_cbccf ._agff ));if (_gbfc +1)*N > len (_cbccf ._agff ){_gbfc =len (_cbccf ._agff )/N -1;_ebg .Log .Trace ("C\u006c\u0069\u0070\u0070in\u0067 \u0074\u006f\u0020\u0069\u006ed\u0065\u0078\u003a\u0020\u0025\u0064",_gbfc );if _gbfc < 0{_ebg .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0043a\u006e\u0027\u0074\u0020\u0063\u006c\u0069p\u0020\u0069\u006e\u0064\u0065\u0078.\u0020\u0049\u0073\u0020\u0050\u0044\u0046\u0020\u0066\u0069\u006ce\u0020\u0064\u0061\u006d\u0061\u0067\u0065\u0064\u003f");break ;};};for _gdbg :=_gbfc *N ;_gdbg < (_gbfc +1)*N ;_gdbg ++{if _bfdb =_fagg .WriteSample (uint32 (_cbccf ._agff [_gdbg ]));_bfdb !=nil {return img ,_bfdb ;};};};return _cbccf .Base .ImageToRGB (_efeaf (&_fefe ));};
|
||
|
||
// Write writes the Appender output to io.Writer.
|
||
// It can only be called once and further invocations will result in an error.
|
||
func (_ggdea *PdfAppender )Write (w _cg .Writer )error {if _ggdea ._dgda {return _gd .New ("\u0061\u0070\u0070\u0065\u006e\u0064\u0065\u0072\u0020\u0077\u0072\u0069\u0074e\u0020\u0063\u0061\u006e\u0020\u006fn\u006c\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0076\u006f\u006b\u0065\u0064 \u006f\u006e\u0063\u0065");};_fbbf :=NewPdfWriter ();_cdee ,_dceg :=_ce .GetDict (_fbbf ._eegga );if !_dceg {return _gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0020(\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0029");};_egff ,_dceg :=_cdee .Get ("\u004b\u0069\u0064\u0073").(*_ce .PdfObjectArray );if !_dceg {return _gd .New ("\u0069\u006ev\u0061\u006c\u0069\u0064 \u0050\u0061g\u0065\u0073\u0020\u004b\u0069\u0064\u0073\u0020o\u0062\u006a\u0020\u0028\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072\u0061\u0079\u0029");};_agcag ,_dceg :=_cdee .Get ("\u0043\u006f\u0075n\u0074").(*_ce .PdfObjectInteger );if !_dceg {return _gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064 \u0050\u0061\u0067e\u0073\u0020\u0043\u006fu\u006e\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0028\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0029");};_ddea :=_ggdea ._aega ._dbfe ;_gfeg :=_ddea .GetTrailer ();if _gfeg ==nil {return _gd .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_bdb ,_dceg :=_ce .GetIndirect (_gfeg .Get ("\u0052\u006f\u006f\u0074"));if !_dceg {return _gd .New ("c\u0061\u0074\u0061\u006c\u006f\u0067 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072 \u006e\u006f\u0074 \u0066o\u0075\u006e\u0064");};_debd ,_dceg :=_ce .GetDict (_bdb );if !_dceg {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0028\u0072\u006f\u006f\u0074\u0020\u0025\u0071\u0029\u0020\u0028\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u0020\u0025\u0073\u0029",_bdb ,*_gfeg );return _gd .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};for _ ,_eddg :=range _debd .Keys (){if _fbbf ._ddaae .Get (_eddg )==nil {_ddfg :=_debd .Get (_eddg );_fbbf ._ddaae .Set (_eddg ,_ddfg );};};if _ggdea ._dba !=nil {_fbbf ._ddaae .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_ggdea ._dba .ToPdfObject ());_ggdea .updateObjectsDeep (_ggdea ._dba .ToPdfObject (),nil );};_ggdea .addNewObject (_fbbf ._aagfa );_ggdea .addNewObject (_fbbf ._gedca );_cebc :=false ;if len (_ggdea ._aega .PageList )!=len (_ggdea ._fdef ){_cebc =true ;}else {for _cgag :=range _ggdea ._aega .PageList {switch {case _ggdea ._fdef [_cgag ]==_ggdea ._aega .PageList [_cgag ]:case _ggdea ._fdef [_cgag ]==_ggdea .Reader .PageList [_cgag ]:default:_cebc =true ;};if _cebc {break ;};};};if _cebc {_ggdea .updateObjectsDeep (_fbbf ._eegga ,nil );}else {_ggdea ._gbfa [_fbbf ._eegga ]=struct{}{};};_fbbf ._eegga .ObjectNumber =_ggdea .Reader ._acfe .ObjectNumber ;_ggdea ._daea [_fbbf ._eegga ]=_ggdea .Reader ._acfe .ObjectNumber ;_cdaf :=[]_ce .PdfObjectName {"\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s","\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078","\u0043r\u006f\u0070\u0042\u006f\u0078","\u0052\u006f\u0074\u0061\u0074\u0065"};for _ ,_abgc :=range _ggdea ._fdef {_bbcc :=_abgc .ToPdfObject ();*_agcag =*_agcag +1;if _eccg ,_beab :=_bbcc .(*_ce .PdfIndirectObject );_beab &&_eccg .GetParser ()==_ggdea ._aega ._dbfe {_egff .Append (&_eccg .PdfObjectReference );continue ;};if _acag ,_fdda :=_ce .GetDict (_bbcc );_fdda {_ggb ,_bcaa :=_acag .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_ce .PdfIndirectObject );for _bcaa {_ebg .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_ggb );_cgccb ,_ddc :=_ggb .PdfObject .(*_ce .PdfObjectDictionary );if !_ddc {return _gd .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_gada :=range _cdaf {_ebg .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gada );if _acag .Get (_gada )!=nil {_ebg .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _cege :=_cgccb .Get (_gada );_cege !=nil {_ebg .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gada );_acag .Set (_gada ,_cege );};};_ggb ,_bcaa =_cgccb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_ce .PdfIndirectObject );_ebg .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cgccb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_acag .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fbbf ._eegga );};_ggdea .updateObjectsDeep (_bbcc ,nil );_egff .Append (_bbcc );};if _ ,_abcg :=_ggdea ._cbdd .Seek (0,_cg .SeekStart );_abcg !=nil {return _abcg ;};_gfegc :=make (map[SignatureHandler ]_cg .Writer );_fddd :=_ce .MakeArray ();for _ ,_adcc :=range _ggdea ._fadd {if _ffb ,_bee :=_ce .GetIndirect (_adcc );_bee {if _fbg ,_bcad :=_ffb .PdfObject .(*pdfSignDictionary );_bcad {_gbbd :=*_fbg ._ecbgc ;var _baba error ;_gfegc [_gbbd ],_baba =_gbbd .NewDigest (_fbg ._abdde );if _baba !=nil {return _baba ;};_fddd .Append (_ce .MakeInteger (0xfffff),_ce .MakeInteger (0xfffff));};};};if _fddd .Len ()> 0{_fddd .Append (_ce .MakeInteger (0xfffff),_ce .MakeInteger (0xfffff));};for _ ,_ecdf :=range _ggdea ._fadd {if _bfed ,_fafa :=_ce .GetIndirect (_ecdf );_fafa {if _ceeb ,_efgca :=_bfed .PdfObject .(*pdfSignDictionary );_efgca {_ceeb .Set ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_fddd );};};};_cggg :=len (_gfegc )> 0;var _affb _cg .Reader =_ggdea ._cbdd ;if _cggg {_dfbd :=make ([]_cg .Writer ,0,len (_gfegc ));for _ ,_dbdcc :=range _gfegc {_dfbd =append (_dfbd ,_dbdcc );};_affb =_cg .TeeReader (_ggdea ._cbdd ,_cg .MultiWriter (_dfbd ...));};_bfec ,_cfef :=_cg .Copy (w ,_affb );if _cfef !=nil {return _cfef ;};if len (_ggdea ._fadd )==0{return nil ;};_fbbf ._dabegf =_bfec ;_fbbf .ObjNumOffset =_ggdea ._beacf ;_fbbf ._cfgfc =true ;_fbbf ._bbbca =_ggdea ._bbbg ;_fbbf ._ccdag =_ggdea ._afga ;_fbbf ._cgad =_ggdea ._aeaa ;_fbbf ._cacc =_ggdea ._aega .PdfVersion ().Minor ;_fbbf ._dfgaa =_ggdea ._daea ;_efbcd :=_ggdea ._agbe .GetXrefType ();if _efbcd !=nil {_dcfa :=*_efbcd ==_ce .XrefTypeObjectStream ;_fbbf ._bfge =&_dcfa ;};_fbbf ._gdbdce =map[_ce .PdfObject ]struct{}{};_fbbf ._agacd =[]_ce .PdfObject {};for _ ,_daac :=range _ggdea ._fadd {if _ ,_cafd :=_ggdea ._gbfa [_daac ];_cafd {continue ;};_fbbf .addObject (_daac );};_abfe :=w ;if _cggg {_abfe =_f .NewBuffer (nil );};if _bdefc :=_fbbf .Write (_abfe );_bdefc !=nil {return _bdefc ;};if _cggg {_gdef :=_abfe .(*_f .Buffer ).Bytes ();_cfbg :=_ce .MakeArray ();var _bcfee []*pdfSignDictionary ;var _bff int64 ;for _ ,_bedd :=range _fbbf ._agacd {if _baec ,_cegg :=_ce .GetIndirect (_bedd );_cegg {if _cca ,_geeb :=_baec .PdfObject .(*pdfSignDictionary );_geeb {_bcfee =append (_bcfee ,_cca );_ggdd :=_cca ._gfeca +int64 (_cca ._deeee );_cfbg .Append (_ce .MakeInteger (_bff ),_ce .MakeInteger (_ggdd -_bff ));_bff =_cca ._gfeca +int64 (_cca ._adee );};};};_cfbg .Append (_ce .MakeInteger (_bff ),_ce .MakeInteger (_bfec +int64 (len (_gdef ))-_bff ));_aafc :=[]byte (_cfbg .WriteString ());for _ ,_ebfab :=range _bcfee {_fbee :=int (_ebfab ._gfeca -_bfec );for _cebb :=_ebfab ._cdcf ;_cebb < _ebfab ._bbca ;_cebb ++{_gdef [_fbee +_cebb ]=' ';};_eecd :=_gdef [_fbee +_ebfab ._cdcf :_fbee +_ebfab ._bbca ];copy (_eecd ,_aafc );};var _eddf int ;for _ ,_gcd :=range _bcfee {_aafe :=int (_gcd ._gfeca -_bfec );_ccgg :=_gdef [_eddf :_aafe +_gcd ._deeee ];_fabf :=*_gcd ._ecbgc ;_gfegc [_fabf ].Write (_ccgg );_eddf =_aafe +_gcd ._adee ;};for _ ,_bcag :=range _bcfee {_edbb :=_gdef [_eddf :];_bggc :=*_bcag ._ecbgc ;_gfegc [_bggc ].Write (_edbb );};for _ ,_cae :=range _bcfee {_cbea :=int (_cae ._gfeca -_bfec );_ccee :=*_cae ._ecbgc ;_dbdd :=_gfegc [_ccee ];if _abced :=_ccee .Sign (_cae ._abdde ,_dbdd );_abced !=nil {return _abced ;};_cae ._abdde .ByteRange =_cfbg ;_bbdec :=[]byte (_cae ._abdde .Contents .WriteString ());for _gcf :=_cae ._cdcf ;_gcf < _cae ._bbca ;_gcf ++{_gdef [_cbea +_gcf ]=' ';};for _bbcg :=_cae ._deeee ;_bbcg < _cae ._adee ;_bbcg ++{_gdef [_cbea +_bbcg ]=' ';};_ccdb :=_gdef [_cbea +_cae ._cdcf :_cbea +_cae ._bbca ];copy (_ccdb ,_aafc );_ccdb =_gdef [_cbea +_cae ._deeee :_cbea +_cae ._adee ];copy (_ccdb ,_bbdec );};_abfc :=_f .NewBuffer (_gdef );_ ,_cfef =_cg .Copy (w ,_abfc );if _cfef !=nil {return _cfef ;};};_ggdea ._dgda =true ;return nil ;};func _bbdba (_dfdfg *PdfField )[]*PdfField {_debf :=[]*PdfField {_dfdfg };for _ ,_dabdb :=range _dfdfg .Kids {_debf =append (_debf ,_bbdba (_dabdb )...);};return _debf ;};
|
||
|
||
// SetOCProperties sets the optional content properties.
|
||
func (_ceade *PdfWriter )SetOCProperties (ocProperties _ce .PdfObject )error {_edbfa :=_ceade ._ddaae ;if ocProperties !=nil {_ebg .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u004f\u0043\u0020\u0050\u0072o\u0070\u0065\u0072\u0074\u0069\u0065\u0073\u002e\u002e\u002e");_edbfa .Set ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",ocProperties );return _ceade .addObjects (ocProperties );};return nil ;};
|
||
|
||
// SetColorspaceByName adds the provided colorspace to the page resources.
|
||
func (_abbaf *PdfPageResources )SetColorspaceByName (keyName _ce .PdfObjectName ,cs PdfColorspace )error {_cdfb ,_cagc :=_abbaf .GetColorspaces ();if _cagc !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0072\u0061\u0063\u0065: \u0025\u0076",_cagc );return _cagc ;};if _cdfb ==nil {_cdfb =NewPdfPageResourcesColorspaces ();_abbaf .SetColorSpace (_cdfb );};_cdfb .Set (keyName ,cs );return nil ;};
|
||
|
||
// PdfActionLaunch represents a launch action.
|
||
type PdfActionLaunch struct{*PdfAction ;F *PdfFilespec ;Win _ce .PdfObject ;Mac _ce .PdfObject ;Unix _ce .PdfObject ;NewWindow _ce .PdfObject ;};func (_gdbff *PdfColorspaceSpecialPattern )String ()string {return "\u0050a\u0074\u0074\u0065\u0072\u006e";};
|
||
|
||
// PdfWriter handles outputing PDF content.
|
||
type PdfWriter struct{_gedca *_ce .PdfIndirectObject ;_eegga *_ce .PdfIndirectObject ;_dedf map[_ce .PdfObject ]struct{};_agacd []_ce .PdfObject ;_gdbdce map[_ce .PdfObject ]struct{};_gaedf []*_ce .PdfIndirectObject ;_ffgga *PdfOutlineTreeNode ;_ddaae *_ce .PdfObjectDictionary ;_fdfba []_ce .PdfObject ;_aagfa *_ce .PdfIndirectObject ;_egeaa *_g .Writer ;_agfff int64 ;_cegedc error ;_ageed *_ce .PdfCrypt ;_bbgda *_ce .PdfObjectDictionary ;_gfdaf *_ce .PdfIndirectObject ;_acgd *_ce .PdfObjectArray ;_cgbgf int ;_cacc int ;_bfge *bool ;_ggdc map[_ce .PdfObject ][]*_ce .PdfObjectDictionary ;_cebggd *PdfAcroForm ;_dccdc Optimizer ;_fdadg map[int ]crossReference ;_dabegf int64 ;ObjNumOffset int ;_cfgfc bool ;_bbbca _ce .XrefTable ;_ccdag int64 ;_cgad int64 ;_dfgaa map[_ce .PdfObject ]int64 ;_eebde map[_ce .PdfObject ]struct{};};
|
||
|
||
// NewStandard14FontWithEncoding returns the standard 14 font named `basefont` as a *PdfFont and
|
||
// a TextEncoder that encodes all the runes in `alphabet`, or an error if this is not possible.
|
||
// An error can occur if `basefont` is not one the standard 14 font names.
|
||
func NewStandard14FontWithEncoding (basefont StdFontName ,alphabet map[rune ]int )(*PdfFont ,_cce .SimpleEncoder ,error ){_fdbee ,_egecd :=_abgcc (basefont );if _egecd !=nil {return nil ,nil ,_egecd ;};_caeb ,_bcabd :=_fdbee .Encoder ().(_cce .SimpleEncoder );if !_bcabd {return nil ,nil ,_c .Errorf ("\u006f\u006e\u006c\u0079\u0020s\u0069\u006d\u0070\u006c\u0065\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006eg\u0020\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u002c\u0020\u0067\u006f\u0074\u0020\u0025\u0054",_fdbee .Encoder ());};_fegb :=make (map[rune ]_cce .GlyphName );for _afede :=range alphabet {if _ ,_gbfg :=_caeb .RuneToCharcode (_afede );!_gbfg {_ ,_fdbbg :=_fdbee ._eegg [_afede ];if !_fdbbg {_ebg .Log .Trace ("r\u0075\u006e\u0065\u0020\u0025\u0023x\u003d\u0025\u0071\u0020\u006e\u006f\u0074\u0020\u0069n\u0020\u0074\u0068e\u0020f\u006f\u006e\u0074",_afede ,_afede );continue ;};_bebd ,_fdbbg :=_cce .RuneToGlyph (_afede );if !_fdbbg {_ebg .Log .Debug ("\u006eo\u0020\u0067\u006c\u0079\u0070\u0068\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u0020\u0025\u0023\u0078\u003d\u0025\u0071",_afede ,_afede );continue ;};if len (_fegb )>=255{return nil ,nil ,_gd .New ("\u0074\u006f\u006f\u0020\u006d\u0061\u006e\u0079\u0020\u0063\u0068\u0061\u0072a\u0063\u0074\u0065\u0072\u0073\u0020f\u006f\u0072\u0020\u0073\u0069\u006d\u0070\u006c\u0065\u0020\u0065\u006e\u0063o\u0064\u0069\u006e\u0067");};_fegb [_afede ]=_bebd ;};};var (_ecea []_cce .CharCode ;_aecca []_cce .CharCode ;);for _egag :=_cce .CharCode (1);_egag <=0xff;_egag ++{_babcb ,_fbfb :=_caeb .CharcodeToRune (_egag );if !_fbfb {_ecea =append (_ecea ,_egag );continue ;};if _ ,_fbfb =alphabet [_babcb ];!_fbfb {_aecca =append (_aecca ,_egag );};};_cgcf :=append (_ecea ,_aecca ...);if len (_cgcf )< len (_fegb ){return nil ,nil ,_c .Errorf ("n\u0065\u0065\u0064\u0020\u0074\u006f\u0020\u0065\u006ec\u006f\u0064\u0065\u0020\u0025\u0064\u0020ru\u006e\u0065\u0073\u002c \u0062\u0075\u0074\u0020\u0068\u0061\u0076\u0065\u0020on\u006c\u0079 \u0025\u0064\u0020\u0073\u006c\u006f\u0074\u0073",len (_fegb ),len (_cgcf ));};_decb :=make ([]rune ,0,len (_fegb ));for _ebad :=range _fegb {_decb =append (_decb ,_ebad );};_ba .Slice (_decb ,func (_fagee ,_ebeg int )bool {return _decb [_fagee ]< _decb [_ebeg ]});_baad :=make (map[_cce .CharCode ]_cce .GlyphName ,len (_decb ));for _ ,_abacg :=range _decb {_bcca :=_cgcf [0];_cgcf =_cgcf [1:];_baad [_bcca ]=_fegb [_abacg ];};_caeb =_cce .ApplyDifferences (_caeb ,_baad );_fdbee .SetEncoder (_caeb );return &PdfFont {_decac :&_fdbee },_caeb ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_deff *PdfColorspaceSpecialSeparation )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fcea ,_gbae :=_ce .GetNumbersAsFloat (objects );if _gbae !=nil {return nil ,_gbae ;};return _deff .ColorFromFloats (_fcea );};
|
||
|
||
// Insert adds an outline item as a child of the current outline item,
|
||
// at the specified index.
|
||
func (_aaae *OutlineItem )Insert (index uint ,item *OutlineItem ){_badaf :=uint (len (_aaae .Entries ));if index > _badaf {index =_badaf ;};_aaae .Entries =append (_aaae .Entries [:index ],append ([]*OutlineItem {item },_aaae .Entries [index :]...)...);};
|
||
|
||
// GetNumComponents returns the number of color components.
|
||
func (_fbda *PdfColorspaceICCBased )GetNumComponents ()int {return _fbda .N };func (_faegg *PdfShading )getShadingDict ()(*_ce .PdfObjectDictionary ,error ){_dfbbd :=_faegg ._efbab ;if _egfga ,_fffg :=_dfbbd .(*_ce .PdfIndirectObject );_fffg {_efgde ,_bbgcg :=_egfga .PdfObject .(*_ce .PdfObjectDictionary );if !_bbgcg {return nil ,_ce .ErrTypeError ;};return _efgde ,nil ;}else if _gcafc ,_cbgdg :=_dfbbd .(*_ce .PdfObjectStream );_cbgdg {return _gcafc .PdfObjectDictionary ,nil ;}else if _dgdaaf ,_fabec :=_dfbbd .(*_ce .PdfObjectDictionary );_fabec {return _dgdaaf ,nil ;}else {_ebg .Log .Debug ("U\u006e\u0061\u0062\u006c\u0065\u0020t\u006f\u0020\u0061\u0063\u0063\u0065s\u0073\u0020\u0073\u0068\u0061\u0064\u0069n\u0067\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061r\u0079");return nil ,_ce .ErrTypeError ;};};
|
||
|
||
// ColorToRGB converts a CalRGB color to an RGB color.
|
||
func (_ggdg *PdfColorspaceCalRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_fbcc ,_gfbe :=color .(*PdfColorCalRGB );if !_gfbe {_ebg .Log .Debug ("\u0049\u006e\u0070ut\u0020\u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0063\u0061\u006c\u0020\u0072\u0067\u0062");return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gdbd :=_fbcc .A ();_gbeca :=_fbcc .B ();_eced :=_fbcc .C ();X :=_ggdg .Matrix [0]*_ag .Pow (_gdbd ,_ggdg .Gamma [0])+_ggdg .Matrix [3]*_ag .Pow (_gbeca ,_ggdg .Gamma [1])+_ggdg .Matrix [6]*_ag .Pow (_eced ,_ggdg .Gamma [2]);Y :=_ggdg .Matrix [1]*_ag .Pow (_gdbd ,_ggdg .Gamma [0])+_ggdg .Matrix [4]*_ag .Pow (_gbeca ,_ggdg .Gamma [1])+_ggdg .Matrix [7]*_ag .Pow (_eced ,_ggdg .Gamma [2]);Z :=_ggdg .Matrix [2]*_ag .Pow (_gdbd ,_ggdg .Gamma [0])+_ggdg .Matrix [5]*_ag .Pow (_gbeca ,_ggdg .Gamma [1])+_ggdg .Matrix [8]*_ag .Pow (_eced ,_ggdg .Gamma [2]);_bbac :=3.240479*X +-1.537150*Y +-0.498535*Z ;_adeab :=-0.969256*X +1.875992*Y +0.041556*Z ;_bdec :=0.055648*X +-0.204043*Y +1.057311*Z ;_bbac =_ag .Min (_ag .Max (_bbac ,0),1.0);_adeab =_ag .Min (_ag .Max (_adeab ,0),1.0);_bdec =_ag .Min (_ag .Max (_bdec ,0),1.0);return NewPdfColorDeviceRGB (_bbac ,_adeab ,_bdec ),nil ;};
|
||
|
||
// MergePageWith appends page content to source Pdf file page content.
|
||
func (_egfd *PdfAppender )MergePageWith (pageNum int ,page *PdfPage )error {_ggef :=pageNum -1;var _feef *PdfPage ;for _ecb ,_eeg :=range _egfd ._fdef {if _ecb ==_ggef {_feef =_eeg ;};};if _feef ==nil {return _c .Errorf ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0050\u0061\u0067\u0065\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064\u0020\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0073o\u0075\u0072\u0063\u0065\u0020\u0064o\u0063\u0075\u006de\u006e\u0074",pageNum );};if _feef ._adcebd !=nil &&_feef ._adcebd .GetParser ()==_egfd ._aega ._dbfe {_feef =_feef .Duplicate ();_egfd ._fdef [_ggef ]=_feef ;};page =page .Duplicate ();_begee (page );_dabfb :=_gbdab (_feef );_eggf :=_gbdab (page );_fdf :=make (map[_ce .PdfObjectName ]_ce .PdfObjectName );for _cdcc :=range _eggf {if _ ,_adaf :=_dabfb [_cdcc ];_adaf {for _daaf :=1;true ;_daaf ++{_cfda :=_ce .PdfObjectName (string (_cdcc )+_bd .Itoa (_daaf ));if _ ,_eceg :=_dabfb [_cfda ];!_eceg {_fdf [_cdcc ]=_cfda ;break ;};};};};_dgagf ,_ccde :=page .GetContentStreams ();if _ccde !=nil {return _ccde ;};_bbcf ,_ccde :=_feef .GetContentStreams ();if _ccde !=nil {return _ccde ;};for _agfc ,_ecga :=range _dgagf {for _dfga ,_gecc :=range _fdf {_ecga =_aga .Replace (_ecga ,"\u002f"+string (_dfga ),"\u002f"+string (_gecc ),-1);};_dgagf [_agfc ]=_ecga ;};_bbcf =append (_bbcf ,_dgagf ...);if _ddbbd :=_feef .SetContentStreams (_bbcf ,_ce .NewFlateEncoder ());_ddbbd !=nil {return _ddbbd ;};for _ ,_deag :=range page ._bdcg {_feef ._bdcg =append (_feef ._bdcg ,_deag );};if _feef .Resources ==nil {_feef .Resources =NewPdfPageResources ();};if page .Resources !=nil {_feef .Resources .Font =_egfd .mergeResources (_feef .Resources .Font ,page .Resources .Font ,_fdf );_feef .Resources .XObject =_egfd .mergeResources (_feef .Resources .XObject ,page .Resources .XObject ,_fdf );_feef .Resources .Properties =_egfd .mergeResources (_feef .Resources .Properties ,page .Resources .Properties ,_fdf );if _feef .Resources .ProcSet ==nil {_feef .Resources .ProcSet =page .Resources .ProcSet ;};_feef .Resources .Shading =_egfd .mergeResources (_feef .Resources .Shading ,page .Resources .Shading ,_fdf );_feef .Resources .ExtGState =_egfd .mergeResources (_feef .Resources .ExtGState ,page .Resources .ExtGState ,_fdf );};_decde ,_ccde :=_feef .GetMediaBox ();if _ccde !=nil {return _ccde ;};_bagg ,_ccde :=page .GetMediaBox ();if _ccde !=nil {return _ccde ;};var _gccg bool ;if _decde .Llx > _bagg .Llx {_decde .Llx =_bagg .Llx ;_gccg =true ;};if _decde .Lly > _bagg .Lly {_decde .Lly =_bagg .Lly ;_gccg =true ;};if _decde .Urx < _bagg .Urx {_decde .Urx =_bagg .Urx ;_gccg =true ;};if _decde .Ury < _bagg .Ury {_decde .Ury =_bagg .Ury ;_gccg =true ;};if _gccg {_feef .MediaBox =_decde ;};return nil ;};
|
||
|
||
// ImageToGray returns a new grayscale image based on the passed in RGB image.
|
||
func (_gagd *PdfColorspaceDeviceRGB )ImageToGray (img Image )(Image ,error ){if img .ColorComponents !=3{return img ,_gd .New ("\u0070\u0072\u006f\u0076\u0069\u0064e\u0064\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0069\u0073\u0020\u006e\u006ft\u0020\u0061\u0020\u0044\u0065\u0076\u0069c\u0065\u0052\u0047\u0042");};_bcab ,_adeag :=_age .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._fdcac ,img ._cddaa );if _adeag !=nil {return img ,_adeag ;};_cebg ,_adeag :=_age .GrayConverter .Convert (_bcab );if _adeag !=nil {return img ,_adeag ;};return _efeaf (_cebg .Base ()),nil ;};
|
||
|
||
// SetContext sets the sub action (context).
|
||
func (_ec *PdfAction )SetContext (ctx PdfModel ){_ec ._cga =ctx };func (_eebb *pdfCIDFontType2 )getFontDescriptor ()*PdfFontDescriptor {return _eebb ._adae };
|
||
|
||
// Write writes out the PDF.
|
||
func (_ecee *PdfWriter )Write (writer _cg .Writer )error {_ebg .Log .Trace ("\u0057r\u0069\u0074\u0065\u0028\u0029");_dadgb :=_ea .GetLicenseKey ();if (_dadgb ==nil ||!_dadgb .IsLicensed ())&&!_aggac {_c .Printf ("\u0055\u006e\u006c\u0069\u0063\u0065\u006e\u0073\u0065\u0064\u0020c\u006f\u0070\u0079\u0020\u006f\u0066\u0020\u0055\u006e\u0069P\u0044\u0046\u000a");_c .Println ("-\u0020\u0047\u0065\u0074\u0020\u0061\u0020\u0066\u0072e\u0065\u0020\u0074\u0072\u0069\u0061\u006c l\u0069\u0063\u0065\u006es\u0065\u0020\u006f\u006e\u0020\u0068\u0074\u0074\u0070s:\u002f\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069\u006f");return _gd .New ("\u0075\u006e\u0069\u0070d\u0066\u0020\u006c\u0069\u0063\u0065\u006e\u0073\u0065\u0020c\u006fd\u0065\u0020\u0072\u0065\u0071\u0075\u0069r\u0065\u0064");};if _ecee ._ffgga !=nil {_ebg .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0054\u0072\u0065\u0065\u003a\u0020\u0025\u002b\u0076",_ecee ._ffgga );_aabae :=_ecee ._ffgga .ToPdfObject ();_ebg .Log .Trace ("\u004fu\u0074\u006c\u0069\u006e\u0065\u0073\u003a\u0020\u0025\u002b\u0076 \u0028\u0025\u0054\u002c\u0020\u0070\u003a\u0025\u0070\u0029",_aabae ,_aabae ,_aabae );_ecee ._ddaae .Set ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073",_aabae );_abfd :=_ecee .addObjects (_aabae );if _abfd !=nil {return _abfd ;};};if _ecee ._cebggd !=nil {_ebg .Log .Trace ("\u0057r\u0069t\u0069\u006e\u0067\u0020\u0061c\u0072\u006f \u0066\u006f\u0072\u006d\u0073");_bcbbg :=_ecee ._cebggd .ToPdfObject ();_ebg .Log .Trace ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_bcbbg );_ecee ._ddaae .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_bcbbg );_gbfea :=_ecee .addObjects (_bcbbg );if _gbfea !=nil {return _gbfea ;};};for _dbabad ,_deaee :=range _ecee ._ggdc {if !_ecee .hasObject (_dbabad ){_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u0020\u0050\u0065n\u0064\u0069\u006eg\u0020\u006f\u0062j\u0065\u0063t\u0020\u0025\u002b\u0076\u0020\u0025T\u0020(%\u0070\u0029\u0020\u006e\u0065\u0076\u0065\u0072\u0020\u0061\u0064\u0064\u0065\u0064\u0020\u0066\u006f\u0072\u0020\u0077\u0072\u0069\u0074\u0069\u006e\u0067",_dbabad ,_dbabad ,_dbabad );for _ ,_ebacd :=range _deaee {for _ ,_acaec :=range _ebacd .Keys (){_adcbb :=_ebacd .Get (_acaec );if _adcbb ==_dbabad {_ebg .Log .Debug ("\u0050e\u006e\u0064i\u006e\u0067\u0020\u006fb\u006a\u0065\u0063t\u0020\u0066\u006f\u0075\u006e\u0064\u0021\u0020\u0061nd\u0020\u0072\u0065p\u006c\u0061c\u0065\u0064\u0020\u0077\u0069\u0074h\u0020\u006eu\u006c\u006c");_ebacd .Set (_acaec ,_ce .MakeNull ());break ;};};};};};_ecee ._ddaae .Set ("\u0056e\u0072\u0073\u0069\u006f\u006e",_ce .MakeName (_c .Sprintf ("\u0025\u0064\u002e%\u0064",_ecee ._cgbgf ,_ecee ._cacc )));_ecee .copyObjects ();if _ecee ._dccdc !=nil {var _gfdff error ;_ecee ._agacd ,_gfdff =_ecee ._dccdc .Optimize (_ecee ._agacd );if _gfdff !=nil {return _gfdff ;};_facgc :=make (map[_ce .PdfObject ]struct{},len (_ecee ._agacd ));for _ ,_aaddgg :=range _ecee ._agacd {_facgc [_aaddgg ]=struct{}{};};_ecee ._gdbdce =_facgc ;};_ecee ._agfff =_ecee ._dabegf ;_ecee ._egeaa =_g .NewWriter (writer );_adfbe :=_ecee ._cgbgf > 1||(_ecee ._cgbgf ==1&&_ecee ._cacc > 4);if _ecee ._bfge !=nil {_adfbe =*_ecee ._bfge ;};_bddc :=make (map[_ce .PdfObject ]bool );for _ ,_ffdb :=range _ecee ._agacd {if _cbdad ,_cfcdc :=_ffdb .(*_ce .PdfObjectStreams );_cfcdc {_adfbe =true ;for _ ,_fbbg :=range _cbdad .Elements (){_bddc [_fbbg ]=true ;if _gdad ,_faaaf :=_fbbg .(*_ce .PdfIndirectObject );_faaaf {_bddc [_gdad .PdfObject ]=true ;};};};};if _adfbe &&_ecee ._cgbgf ==1&&_ecee ._cacc < 5{_ecee ._cacc =5;};if _ecee ._cfgfc {_ecee .writeString ("\u000a");}else {_ecee .writeString (_c .Sprintf ("\u0025\u0025\u0050D\u0046\u002d\u0025\u0064\u002e\u0025\u0064\u000a",_ecee ._cgbgf ,_ecee ._cacc ));_ecee .writeString ("\u0025\u00e2\u00e3\u00cf\u00d3\u000a");};_ecee .updateObjectNumbers ();_ebg .Log .Trace ("\u0057\u0072\u0069\u0074\u0069\u006e\u0067\u0020\u0025d\u0020\u006f\u0062\u006a",len (_ecee ._agacd ));_ecee ._fdadg =make (map[int ]crossReference );_ecee ._fdadg [0]=crossReference {Type :0,ObjectNumber :0,Generation :0xFFFF};if _ecee ._bbbca .ObjectMap !=nil {for _bbedf ,_dagebg :=range _ecee ._bbbca .ObjectMap {if _bbedf ==0{continue ;};if _dagebg .XType ==_ce .XrefTypeObjectStream {_gafe :=crossReference {Type :2,ObjectNumber :_dagebg .OsObjNumber ,Index :_dagebg .OsObjIndex };_ecee ._fdadg [_bbedf ]=_gafe ;};if _dagebg .XType ==_ce .XrefTypeTableEntry {_ggacd :=crossReference {Type :1,ObjectNumber :_dagebg .ObjectNumber ,Offset :_dagebg .Offset };_ecee ._fdadg [_bbedf ]=_ggacd ;};};};for _ ,_baccg :=range _ecee ._agacd {if _dbgge :=_bddc [_baccg ];_dbgge {continue ;};_acdb :=int64 (0);switch _ggbbf :=_baccg .(type ){case *_ce .PdfIndirectObject :_acdb =_ggbbf .ObjectNumber ;case *_ce .PdfObjectStream :_acdb =_ggbbf .ObjectNumber ;case *_ce .PdfObjectStreams :_acdb =_ggbbf .ObjectNumber ;default:_ebg .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u0055n\u0073\u0075\u0070\u0070\u006f\u0072\u0074e\u0064\u0020\u0074\u0079\u0070\u0065 \u0069\u006e\u0020\u0077\u0072\u0069\u0074\u0065\u0072\u0020\u006fb\u006a\u0065\u0063\u0074\u0073\u003a\u0020\u0025\u0054",_baccg );return ErrTypeCheck ;};if _ecee ._ageed !=nil &&_baccg !=_ecee ._gfdaf {_efcda :=_ecee ._ageed .Encrypt (_baccg ,int64 (_acdb ),0);if _efcda !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u0020\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0069\u006e\u0067\u0020(%\u0073\u0029",_efcda );return _efcda ;};};_ecee .writeObject (int (_acdb ),_baccg );};_fbagf :=_ecee ._agfff ;var _fddg int ;for _eeceeg :=range _ecee ._fdadg {if _eeceeg > _fddg {_fddg =_eeceeg ;};};if _adfbe {_afag :=_fddg +1;_ecee ._fdadg [_afag ]=crossReference {Type :1,ObjectNumber :_afag ,Offset :_fbagf };_fgdg :=_f .NewBuffer (nil );_fbcg :=_ce .MakeArray ();for _fgfag :=0;_fgfag <=_fddg ;{for ;_fgfag <=_fddg ;_fgfag ++{_affc ,_ddbee :=_ecee ._fdadg [_fgfag ];if _ddbee &&(!_ecee ._cfgfc ||_ecee ._cfgfc &&(_affc .Type ==1&&_affc .Offset >=_ecee ._cgad ||_affc .Type ==0)){break ;};};var _gecdg int ;for _gecdg =_fgfag +1;_gecdg <=_fddg ;_gecdg ++{_fbgfc ,_adbg :=_ecee ._fdadg [_gecdg ];if _adbg &&(!_ecee ._cfgfc ||_ecee ._cfgfc &&(_fbgfc .Type ==1&&_fbgfc .Offset > _ecee ._cgad )){continue ;};break ;};_fbcg .Append (_ce .MakeInteger (int64 (_fgfag )),_ce .MakeInteger (int64 (_gecdg -_fgfag )));for _bgecb :=_fgfag ;_bgecb < _gecdg ;_bgecb ++{_aafbb :=_ecee ._fdadg [_bgecb ];switch _aafbb .Type {case 0:_e .Write (_fgdg ,_e .BigEndian ,byte (0));_e .Write (_fgdg ,_e .BigEndian ,uint32 (0));_e .Write (_fgdg ,_e .BigEndian ,uint16 (0xFFFF));case 1:_e .Write (_fgdg ,_e .BigEndian ,byte (1));_e .Write (_fgdg ,_e .BigEndian ,uint32 (_aafbb .Offset ));_e .Write (_fgdg ,_e .BigEndian ,uint16 (_aafbb .Generation ));case 2:_e .Write (_fgdg ,_e .BigEndian ,byte (2));_e .Write (_fgdg ,_e .BigEndian ,uint32 (_aafbb .ObjectNumber ));_e .Write (_fgdg ,_e .BigEndian ,uint16 (_aafbb .Index ));};};_fgfag =_gecdg +1;};_cbcfg ,_geabb :=_ce .MakeStream (_fgdg .Bytes (),_ce .NewFlateEncoder ());if _geabb !=nil {return _geabb ;};_cbcfg .ObjectNumber =int64 (_afag );_cbcfg .PdfObjectDictionary .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0058\u0052\u0065\u0066"));_cbcfg .PdfObjectDictionary .Set ("\u0057",_ce .MakeArray (_ce .MakeInteger (1),_ce .MakeInteger (4),_ce .MakeInteger (2)));_cbcfg .PdfObjectDictionary .Set ("\u0049\u006e\u0064e\u0078",_fbcg );_cbcfg .PdfObjectDictionary .Set ("\u0053\u0069\u007a\u0065",_ce .MakeInteger (int64 (_afag +1)));_cbcfg .PdfObjectDictionary .Set ("\u0049\u006e\u0066\u006f",_ecee ._aagfa );_cbcfg .PdfObjectDictionary .Set ("\u0052\u006f\u006f\u0074",_ecee ._gedca );if _ecee ._cfgfc &&_ecee ._ccdag > 0{_cbcfg .PdfObjectDictionary .Set ("\u0050\u0072\u0065\u0076",_ce .MakeInteger (_ecee ._ccdag ));};if _ecee ._ageed !=nil {_cbcfg .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_ecee ._gfdaf );_cbcfg .Set ("\u0049\u0044",_ecee ._acgd );_ebg .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_ecee ._acgd );};_ecee .writeObject (int (_cbcfg .ObjectNumber ),_cbcfg );}else {_ecee .writeString ("\u0078\u0072\u0065\u0066\u000d\u000a");for _bfca :=0;_bfca <=_fddg ;{for ;_bfca <=_fddg ;_bfca ++{_bdcf ,_gbagf :=_ecee ._fdadg [_bfca ];if _gbagf &&(!_ecee ._cfgfc ||_ecee ._cfgfc &&(_bdcf .Type ==1&&_bdcf .Offset >=_ecee ._cgad ||_bdcf .Type ==0)){break ;};};var _begcc int ;for _begcc =_bfca +1;_begcc <=_fddg ;_begcc ++{_dbgdbd ,_befac :=_ecee ._fdadg [_begcc ];if _befac &&(!_ecee ._cfgfc ||_ecee ._cfgfc &&(_dbgdbd .Type ==1&&_dbgdbd .Offset > _ecee ._cgad )){continue ;};break ;};_efeafb :=_c .Sprintf ("\u0025d\u0020\u0025\u0064\u000d\u000a",_bfca ,_begcc -_bfca );_ecee .writeString (_efeafb );for _eeeab :=_bfca ;_eeeab < _begcc ;_eeeab ++{_cgbe :=_ecee ._fdadg [_eeeab ];switch _cgbe .Type {case 0:_efeafb =_c .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u0066\u000d\u000a",0,65535);_ecee .writeString (_efeafb );case 1:_efeafb =_c .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u006e\u000d\u000a",_cgbe .Offset ,0);_ecee .writeString (_efeafb );};};_bfca =_begcc +1;};_fefdae :=_ce .MakeDict ();_fefdae .Set ("\u0049\u006e\u0066\u006f",_ecee ._aagfa );_fefdae .Set ("\u0052\u006f\u006f\u0074",_ecee ._gedca );_fefdae .Set ("\u0053\u0069\u007a\u0065",_ce .MakeInteger (int64 (_fddg +1)));if _ecee ._cfgfc &&_ecee ._ccdag > 0{_fefdae .Set ("\u0050\u0072\u0065\u0076",_ce .MakeInteger (_ecee ._ccdag ));};if _ecee ._ageed !=nil {_fefdae .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_ecee ._gfdaf );_fefdae .Set ("\u0049\u0044",_ecee ._acgd );_ebg .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_ecee ._acgd );};_ecee .writeString ("\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u000a");_ecee .writeString (_fefdae .WriteString ());_ecee .writeString ("\u000a");};_bffe :=_c .Sprintf ("\u0073\u0074\u0061\u0072\u0074\u0078\u0072\u0065\u0066\u000a\u0025\u0064\u000a",_fbagf );_ecee .writeString (_bffe );_ecee .writeString ("\u0025\u0025\u0045\u004f\u0046\u000a");if _ecee ._cegedc ==nil {_ecee ._cegedc =_ecee ._egeaa .Flush ();};return _ecee ._cegedc ;};
|
||
|
||
// SetFontByName sets the font specified by keyName to the given object.
|
||
func (_affefd *PdfPageResources )SetFontByName (keyName _ce .PdfObjectName ,obj _ce .PdfObject )error {if _affefd .Font ==nil {_affefd .Font =_ce .MakeDict ();};_afba ,_edccaa :=_ce .TraceToDirectObject (_affefd .Font ).(*_ce .PdfObjectDictionary );if !_edccaa {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006fn\u0061\u0072\u0079\u0021\u0020(\u0067\u006ft\u0020\u0025\u0054\u0029",_ce .TraceToDirectObject (_affefd .Font ));return _ce .ErrTypeError ;};_afba .Set (keyName ,obj );return nil ;};
|
||
|
||
// NewPdfColorspaceSpecialSeparation returns a new separation color.
|
||
func NewPdfColorspaceSpecialSeparation ()*PdfColorspaceSpecialSeparation {_bdgbb :=&PdfColorspaceSpecialSeparation {};return _bdgbb ;};
|
||
|
||
// Val returns the color value.
|
||
func (_dfcc *PdfColorDeviceGray )Val ()float64 {return float64 (*_dfcc )};
|
||
|
||
// NewPdfAnnotationLink returns a new link annotation.
|
||
func NewPdfAnnotationLink ()*PdfAnnotationLink {_bgd :=NewPdfAnnotation ();_aae :=&PdfAnnotationLink {};_aae .PdfAnnotation =_bgd ;_bgd .SetContext (_aae );return _aae ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_caebe *PdfSignature )GetContainingPdfObject ()_ce .PdfObject {return _caebe ._aefg };var _gdaaef ="";
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gbba *PdfColorspaceDeviceCMYK )ToPdfObject ()_ce .PdfObject {return _ce .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b");};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
// Note: Call the sub-annotation's ToPdfObject to set both the generic and non-generic information.
|
||
func (_gaff *PdfAnnotation )ToPdfObject ()_ce .PdfObject {_gcea :=_gaff ._bda ;_bfdd :=_gcea .PdfObject .(*_ce .PdfObjectDictionary );_bfdd .Clear ();_bfdd .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0041\u006e\u006eo\u0074"));_bfdd .SetIfNotNil ("\u0052\u0065\u0063\u0074",_gaff .Rect );_bfdd .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_gaff .Contents );_bfdd .SetIfNotNil ("\u0050",_gaff .P );_bfdd .SetIfNotNil ("\u004e\u004d",_gaff .NM );_bfdd .SetIfNotNil ("\u004d",_gaff .M );_bfdd .SetIfNotNil ("\u0046",_gaff .F );_bfdd .SetIfNotNil ("\u0041\u0050",_gaff .AP );_bfdd .SetIfNotNil ("\u0041\u0053",_gaff .AS );_bfdd .SetIfNotNil ("\u0042\u006f\u0072\u0064\u0065\u0072",_gaff .Border );_bfdd .SetIfNotNil ("\u0043",_gaff .C );_bfdd .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_gaff .StructParent );_bfdd .SetIfNotNil ("\u004f\u0043",_gaff .OC );return _gcea ;};
|
||
|
||
// SetDate sets the `M` field of the signature.
|
||
func (_ceabe *PdfSignature )SetDate (date _a .Time ,format string ){if format ==""{format ="\u0044\u003a\u003200\u0036\u0030\u0031\u0030\u0032\u0031\u0035\u0030\u0034\u0030\u0035\u002d\u0030\u0037\u0027\u0030\u0030\u0027";};_ceabe .M =_ce .MakeString (date .Format (format ));};
|
||
|
||
// PdfColor interface represents a generic color in PDF.
|
||
type PdfColor interface{};
|
||
|
||
// NewPdfActionThread returns a new "thread" action.
|
||
func NewPdfActionThread ()*PdfActionThread {_afd :=NewPdfAction ();_bf :=&PdfActionThread {};_bf .PdfAction =_afd ;_afd .SetContext (_bf );return _bf ;};
|
||
|
||
// SetPatternByName sets a pattern resource specified by keyName.
|
||
func (_cdebc *PdfPageResources )SetPatternByName (keyName _ce .PdfObjectName ,pattern _ce .PdfObject )error {if _cdebc .Pattern ==nil {_cdebc .Pattern =_ce .MakeDict ();};_ebgaac ,_ggfg :=_cdebc .Pattern .(*_ce .PdfObjectDictionary );if !_ggfg {return _ce .ErrTypeError ;};_ebgaac .Set (keyName ,pattern );return nil ;};
|
||
|
||
// NewPdfColorspaceDeviceRGB returns a new RGB colorspace object.
|
||
func NewPdfColorspaceDeviceRGB ()*PdfColorspaceDeviceRGB {return &PdfColorspaceDeviceRGB {}};var _beeab ="";
|
||
|
||
// SetPdfModifiedDate sets the ModDate attribute of the output PDF.
|
||
func SetPdfModifiedDate (modifiedDate _a .Time ){_ebgad =modifiedDate };
|
||
|
||
// NewPdfAnnotationScreen returns a new screen annotation.
|
||
func NewPdfAnnotationScreen ()*PdfAnnotationScreen {_effg :=NewPdfAnnotation ();_cecd :=&PdfAnnotationScreen {};_cecd .PdfAnnotation =_effg ;_effg .SetContext (_cecd );return _cecd ;};
|
||
|
||
// IsTiling specifies if the pattern is a tiling pattern.
|
||
func (_acdf *PdfPattern )IsTiling ()bool {return _acdf .PatternType ==1};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_fdbb *PdfColorspaceSpecialSeparation )ToPdfObject ()_ce .PdfObject {_fegca :=_ce .MakeArray (_ce .MakeName ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"));_fegca .Append (_fdbb .ColorantName );_fegca .Append (_fdbb .AlternateSpace .ToPdfObject ());_fegca .Append (_fdbb .TintTransform .ToPdfObject ());if _fdbb ._bedf !=nil {_fdbb ._bedf .PdfObject =_fegca ;return _fdbb ._bedf ;};return _fegca ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_ffccd *PdfFilespec )GetContainingPdfObject ()_ce .PdfObject {return _ffccd ._ddfgf };
|
||
|
||
// PdfAnnotationWidget represents Widget annotations.
|
||
// Note: Widget annotations are used to display form fields.
|
||
// (Section 12.5.6.19).
|
||
type PdfAnnotationWidget struct{*PdfAnnotation ;H _ce .PdfObject ;MK _ce .PdfObject ;A _ce .PdfObject ;AA _ce .PdfObject ;BS _ce .PdfObject ;Parent _ce .PdfObject ;_dgg *PdfField ;_abdg bool ;};
|
||
|
||
// ToJBIG2Image converts current image to the core.JBIG2Image.
|
||
func (_bgfe *Image )ToJBIG2Image ()(*_ce .JBIG2Image ,error ){_egfac ,_bagac :=_bgfe .ToGoImage ();if _bagac !=nil {return nil ,_bagac ;};return _ce .GoImageToJBIG2 (_egfac ,_ce .JB2ImageAutoThreshold );};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_caff *XObjectImage )ToPdfObject ()_ce .PdfObject {_fddgf :=_caff ._gfag ;_gbfeg :=_fddgf .PdfObjectDictionary ;if _caff .Filter !=nil {_gbfeg =_caff .Filter .MakeStreamDict ();_fddgf .PdfObjectDictionary =_gbfeg ;};_gbfeg .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_gbfeg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0049\u006d\u0061g\u0065"));_gbfeg .Set ("\u0057\u0069\u0064t\u0068",_ce .MakeInteger (*(_caff .Width )));_gbfeg .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_ce .MakeInteger (*(_caff .Height )));if _caff .BitsPerComponent !=nil {_gbfeg .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ce .MakeInteger (*(_caff .BitsPerComponent )));};if _caff .ColorSpace !=nil {_gbfeg .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_caff .ColorSpace .ToPdfObject ());};_gbfeg .SetIfNotNil ("\u0049\u006e\u0074\u0065\u006e\u0074",_caff .Intent );_gbfeg .SetIfNotNil ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k",_caff .ImageMask );_gbfeg .SetIfNotNil ("\u004d\u0061\u0073\u006b",_caff .Mask );_gbfeg .SetIfNotNil ("\u0044\u0065\u0063\u006f\u0064\u0065",_caff .Decode );_gbfeg .SetIfNotNil ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065",_caff .Interpolate );_gbfeg .SetIfNotNil ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073",_caff .Alternatives );_gbfeg .SetIfNotNil ("\u0053\u004d\u0061s\u006b",_caff .SMask );_gbfeg .SetIfNotNil ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061",_caff .SMaskInData );_gbfeg .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_caff .Matte );_gbfeg .SetIfNotNil ("\u004e\u0061\u006d\u0065",_caff .Name );_gbfeg .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_caff .StructParent );_gbfeg .SetIfNotNil ("\u0049\u0044",_caff .ID );_gbfeg .SetIfNotNil ("\u004f\u0050\u0049",_caff .OPI );_gbfeg .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_caff .Metadata );_gbfeg .SetIfNotNil ("\u004f\u0043",_caff .OC );_gbfeg .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_caff .Stream ))));_fddgf .Stream =_caff .Stream ;return _fddgf ;};func _cfabg (_gdaff *fontCommon )*pdfCIDFontType0 {return &pdfCIDFontType0 {fontCommon :*_gdaff }};func _gdafg ()string {return _beeab };
|
||
|
||
// GetNumPages returns the number of pages in the document.
|
||
func (_daef *PdfReader )GetNumPages ()(int ,error ){if _daef ._dbfe .GetCrypter ()!=nil &&!_daef ._dbfe .IsAuthenticated (){return 0,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};return len (_daef ._gggg ),nil ;};
|
||
|
||
// M returns the value of the magenta component of the color.
|
||
func (_cefgg *PdfColorDeviceCMYK )M ()float64 {return float64 (_cefgg [1])};
|
||
|
||
// PdfPageResourcesColorspaces contains the colorspace in the PdfPageResources.
|
||
// Needs to have matching name and colorspace map entry. The Names define the order.
|
||
type PdfPageResourcesColorspaces struct{Names []string ;Colorspaces map[string ]PdfColorspace ;_facbb *_ce .PdfIndirectObject ;};
|
||
|
||
// Width returns the width of `rect`.
|
||
func (_bagf *PdfRectangle )Width ()float64 {return _ag .Abs (_bagf .Urx -_bagf .Llx )};func (_geg *PdfReader )newPdfAnnotationStampFromDict (_addf *_ce .PdfObjectDictionary )(*PdfAnnotationStamp ,error ){_affe :=PdfAnnotationStamp {};_degg ,_cge :=_geg .newPdfAnnotationMarkupFromDict (_addf );if _cge !=nil {return nil ,_cge ;};_affe .PdfAnnotationMarkup =_degg ;_affe .Name =_addf .Get ("\u004e\u0061\u006d\u0065");return &_affe ,nil ;};func _aagbd (_bebdf *_ce .PdfObjectDictionary )(*PdfShadingType5 ,error ){_dgcbg :=PdfShadingType5 {};_bafec :=_bebdf .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _bafec ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064 \u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065\u0020\u006d\u0069\u0073\u0073i\u006e\u0067\u003a\u0020\u0042\u0069\u0074\u0073\u0050\u0065\u0072C\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065");return nil ,ErrRequiredAttributeMissing ;};_bggge ,_aabcc :=_bafec .(*_ce .PdfObjectInteger );if !_aabcc {_ebg .Log .Debug ("\u0042\u0069\u0074\u0073\u0050e\u0072\u0043\u006f\u006f\u0072\u0064\u0069\u006e\u0061\u0074\u0065\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_bafec );return nil ,_ce .ErrTypeError ;};_dgcbg .BitsPerCoordinate =_bggge ;_bafec =_bebdf .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _bafec ==nil {_ebg .Log .Debug ("\u0052e\u0071\u0075i\u0072\u0065\u0064\u0020a\u0074\u0074\u0072i\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073in\u0067\u003a\u0020B\u0069\u0074s\u0050\u0065\u0072\u0043\u006f\u006dp\u006f\u006ee\u006e\u0074");return nil ,ErrRequiredAttributeMissing ;};_bggge ,_aabcc =_bafec .(*_ce .PdfObjectInteger );if !_aabcc {_ebg .Log .Debug ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0020\u006e\u006ft\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065r \u0028\u0067\u006ft\u0020%\u0054\u0029",_bafec );return nil ,_ce .ErrTypeError ;};_dgcbg .BitsPerComponent =_bggge ;_bafec =_bebdf .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077");if _bafec ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071u\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0056\u0065\u0072\u0074\u0069c\u0065\u0073\u0050\u0065\u0072\u0052\u006f\u0077");return nil ,ErrRequiredAttributeMissing ;};_bggge ,_aabcc =_bafec .(*_ce .PdfObjectInteger );if !_aabcc {_ebg .Log .Debug ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050\u0065\u0072\u0052\u006f\u0077\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006et\u0065\u0067\u0065\u0072\u0020(\u0067\u006ft\u0020\u0025\u0054\u0029",_bafec );return nil ,_ce .ErrTypeError ;};_dgcbg .VerticesPerRow =_bggge ;_bafec =_bebdf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _bafec ==nil {_ebg .Log .Debug ("\u0052\u0065\u0071ui\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069b\u0075t\u0065 \u006di\u0073\u0073\u0069\u006e\u0067\u003a\u0020\u0044\u0065\u0063\u006f\u0064\u0065");return nil ,ErrRequiredAttributeMissing ;};_fedg ,_aabcc :=_bafec .(*_ce .PdfObjectArray );if !_aabcc {_ebg .Log .Debug ("\u0044\u0065\u0063\u006fd\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_bafec );return nil ,_ce .ErrTypeError ;};_dgcbg .Decode =_fedg ;if _aeccb :=_bebdf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_aeccb !=nil {_dgcbg .Function =[]PdfFunction {};if _fceed ,_fddc :=_aeccb .(*_ce .PdfObjectArray );_fddc {for _ ,_fcdfg :=range _fceed .Elements (){_gbeea ,_ebdfd :=_edddda (_fcdfg );if _ebdfd !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_ebdfd );return nil ,_ebdfd ;};_dgcbg .Function =append (_dgcbg .Function ,_gbeea );};}else {_aaef ,_eecg :=_edddda (_aeccb );if _eecg !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0070\u0061\u0072\u0073\u0069n\u0067\u0020\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e:\u0020\u0025\u0076",_eecg );return nil ,_eecg ;};_dgcbg .Function =append (_dgcbg .Function ,_aaef );};};return &_dgcbg ,nil ;};
|
||
|
||
// AddOutlineTree adds outlines to a PDF file.
|
||
func (_dfdeb *PdfWriter )AddOutlineTree (outlineTree *PdfOutlineTreeNode ){_dfdeb ._ffgga =outlineTree };
|
||
|
||
// ToPdfObject returns the button field dictionary within an indirect object.
|
||
func (_bggga *PdfFieldButton )ToPdfObject ()_ce .PdfObject {_bggga .PdfField .ToPdfObject ();_eeac :=_bggga ._gfeec ;_cgafe :=_eeac .PdfObject .(*_ce .PdfObjectDictionary );_cgafe .Set ("\u0046\u0054",_ce .MakeName ("\u0042\u0074\u006e"));if _bggga .Opt !=nil {_cgafe .Set ("\u004f\u0070\u0074",_bggga .Opt );};return _eeac ;};
|
||
|
||
// GetContext returns a reference to the subshading entry as represented by PdfShadingType1-7.
|
||
func (_egfe *PdfShading )GetContext ()PdfModel {return _egfe ._aadde };
|
||
|
||
// PdfColorspaceDeviceGray represents a grayscale colorspace.
|
||
type PdfColorspaceDeviceGray struct{};
|
||
|
||
// GetContainingPdfObject returns the container of the shading object (indirect object).
|
||
func (_ecdbf *PdfShading )GetContainingPdfObject ()_ce .PdfObject {return _ecdbf ._efbab };
|
||
|
||
// GetType returns the button field type which returns one of the following
|
||
// - PdfFieldButtonPush for push button fields
|
||
// - PdfFieldButtonCheckbox for checkbox fields
|
||
// - PdfFieldButtonRadio for radio button fields
|
||
func (_agfcg *PdfFieldButton )GetType ()ButtonType {_efagf :=ButtonTypeCheckbox ;if _agfcg .Ff !=nil {if (uint32 (*_agfcg .Ff )&FieldFlagPushbutton .Mask ())> 0{_efagf =ButtonTypePush ;}else if (uint32 (*_agfcg .Ff )&FieldFlagRadio .Mask ())> 0{_efagf =ButtonTypeRadio ;};};return _efagf ;};func (_bfdbg *PdfWriter )copyObject (_bafea _ce .PdfObject ,_bfgfd map[_ce .PdfObject ]_ce .PdfObject ,_aedg map[_ce .PdfObject ]struct{},_fgcfb bool )_ce .PdfObject {_gefce :=!_bfdbg ._cfgfc &&_aedg !=nil ;if _gacae ,_gcfae :=_bfgfd [_bafea ];_gcfae {if _gefce &&!_fgcfb {delete (_aedg ,_bafea );};return _gacae ;};_ggbbc :=_bafea ;switch _eaaaeb :=_bafea .(type ){case *_ce .PdfObjectArray :_cfcef :=_ce .MakeArray ();_ggbbc =_cfcef ;_bfgfd [_bafea ]=_ggbbc ;for _ ,_begdb :=range _eaaaeb .Elements (){_cfcef .Append (_bfdbg .copyObject (_begdb ,_bfgfd ,_aedg ,_fgcfb ));};case *_ce .PdfObjectStreams :_addfa :=&_ce .PdfObjectStreams {PdfObjectReference :_eaaaeb .PdfObjectReference };_ggbbc =_addfa ;_bfgfd [_bafea ]=_ggbbc ;for _ ,_ceaae :=range _eaaaeb .Elements (){_addfa .Append (_bfdbg .copyObject (_ceaae ,_bfgfd ,_aedg ,_fgcfb ));};case *_ce .PdfObjectStream :_agdg :=&_ce .PdfObjectStream {Stream :_eaaaeb .Stream ,PdfObjectReference :_eaaaeb .PdfObjectReference };_ggbbc =_agdg ;_bfgfd [_bafea ]=_ggbbc ;_agdg .PdfObjectDictionary =_bfdbg .copyObject (_eaaaeb .PdfObjectDictionary ,_bfgfd ,_aedg ,_fgcfb ).(*_ce .PdfObjectDictionary );case *_ce .PdfObjectDictionary :var _edacd bool ;if _gefce &&!_fgcfb {if _bafeab ,_ :=_ce .GetNameVal (_eaaaeb .Get ("\u0054\u0079\u0070\u0065"));_bafeab =="\u0050\u0061\u0067\u0065"{_ ,_ddbfg :=_bfdbg ._dedf [_eaaaeb ];_fgcfb =!_ddbfg ;_edacd =_fgcfb ;};};_egbef :=_ce .MakeDict ();_ggbbc =_egbef ;_bfgfd [_bafea ]=_ggbbc ;for _ ,_efgecb :=range _eaaaeb .Keys (){_egbef .Set (_efgecb ,_bfdbg .copyObject (_eaaaeb .Get (_efgecb ),_bfgfd ,_aedg ,_fgcfb ));};if _edacd {_ggbbc =_ce .MakeNull ();_fgcfb =false ;};case *_ce .PdfIndirectObject :_deafa :=&_ce .PdfIndirectObject {PdfObjectReference :_eaaaeb .PdfObjectReference };_ggbbc =_deafa ;_bfgfd [_bafea ]=_ggbbc ;_deafa .PdfObject =_bfdbg .copyObject (_eaaaeb .PdfObject ,_bfgfd ,_aedg ,_fgcfb );case *_ce .PdfObjectString :_baffc :=*_eaaaeb ;_ggbbc =&_baffc ;_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectName :_agcdd :=_ce .PdfObjectName (*_eaaaeb );_ggbbc =&_agcdd ;_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectNull :_ggbbc =_ce .MakeNull ();_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectInteger :_cfcba :=_ce .PdfObjectInteger (*_eaaaeb );_ggbbc =&_cfcba ;_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectReference :_bfdfb :=_ce .PdfObjectReference (*_eaaaeb );_ggbbc =&_bfdfb ;_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectFloat :_bdabg :=_ce .PdfObjectFloat (*_eaaaeb );_ggbbc =&_bdabg ;_bfgfd [_bafea ]=_ggbbc ;case *_ce .PdfObjectBool :_ccbae :=_ce .PdfObjectBool (*_eaaaeb );_ggbbc =&_ccbae ;_bfgfd [_bafea ]=_ggbbc ;case *pdfSignDictionary :_aagca :=&pdfSignDictionary {PdfObjectDictionary :_ce .MakeDict (),_ecbgc :_eaaaeb ._ecbgc ,_abdde :_eaaaeb ._abdde };_ggbbc =_aagca ;_bfgfd [_bafea ]=_ggbbc ;for _ ,_ecbfg :=range _eaaaeb .Keys (){_aagca .Set (_ecbfg ,_bfdbg .copyObject (_eaaaeb .Get (_ecbfg ),_bfgfd ,_aedg ,_fgcfb ));};default:_ebg .Log .Info ("\u0054\u004f\u0044\u004f\u0028\u0061\u0035\u0069\u0029\u003a\u0020\u0069\u006dp\u006c\u0065\u006d\u0065\u006e\u0074 \u0063\u006f\u0070\u0079\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0066\u006fr\u0020\u0025\u002b\u0076",_bafea );};if _gefce &&_fgcfb {_aedg [_bafea ]=struct{}{};};return _ggbbc ;};
|
||
|
||
// ImageToRGB returns the passed in image. Method exists in order to satisfy
|
||
// the PdfColorspace interface.
|
||
func (_fcfg *PdfColorspaceDeviceRGB )ImageToRGB (img Image )(Image ,error ){return img ,nil };
|
||
|
||
// AddAnnotation appends `annot` to the list of page annotations.
|
||
func (_ecbfe *PdfPage )AddAnnotation (annot *PdfAnnotation ){if _ecbfe ._bdcg ==nil {_ecbfe .GetAnnotations ();};_ecbfe ._bdcg =append (_ecbfe ._bdcg ,annot );};
|
||
|
||
// NewPdfColorspaceDeviceCMYK returns a new CMYK32 colorspace object.
|
||
func NewPdfColorspaceDeviceCMYK ()*PdfColorspaceDeviceCMYK {return &PdfColorspaceDeviceCMYK {}};
|
||
|
||
// GetXObjectByName gets XObject by name.
|
||
func (_fccef *PdfPage )GetXObjectByName (name _ce .PdfObjectName )(_ce .PdfObject ,bool ){_dgaac ,_dbfbb :=_fccef .Resources .XObject .(*_ce .PdfObjectDictionary );if !_dbfbb {return nil ,false ;};if _faafc :=_dgaac .Get (name );_faafc !=nil {return _faafc ,true ;};return nil ,false ;};func (_eege fontCommon )coreString ()string {_ebdg :="";if _eege ._adae !=nil {_ebdg =_eege ._adae .String ();};return _c .Sprintf ("\u0025#\u0071\u0020%\u0023\u0071\u0020%\u0071\u0020\u006f\u0062\u006a\u003d\u0025d\u0020\u0054\u006f\u0055\u006e\u0069c\u006f\u0064\u0065\u003d\u0025\u0074\u0020\u0066\u006c\u0061\u0067s\u003d\u0030\u0078\u0025\u0030\u0078\u0020\u0025\u0073",_eege ._dbbag ,_eege ._agcagf ,_eege ._effed ,_eege ._cfae ,_eege ._gbcf !=nil ,_eege .fontFlags (),_ebdg );};func (_ddac *PdfColorspaceDeviceRGB )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B";};
|
||
|
||
// PdfAnnotationScreen represents Screen annotations.
|
||
// (Section 12.5.6.18).
|
||
type PdfAnnotationScreen struct{*PdfAnnotation ;T _ce .PdfObject ;MK _ce .PdfObject ;A _ce .PdfObject ;AA _ce .PdfObject ;};
|
||
|
||
// NewPdfColorspaceICCBased returns a new ICCBased colorspace object.
|
||
func NewPdfColorspaceICCBased (N int )(*PdfColorspaceICCBased ,error ){_ffcg :=&PdfColorspaceICCBased {};if N !=1&&N !=3&&N !=4{return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u0031/\u0033\u002f\u0034\u0029");};_ffcg .N =N ;return _ffcg ,nil ;};
|
||
|
||
// SetReason sets the `Reason` field of the signature.
|
||
func (_fgadb *PdfSignature )SetReason (reason string ){_fgadb .Reason =_ce .MakeString (reason )};
|
||
|
||
// GetContainingPdfObject returns the container of the PdfAcroForm (indirect object).
|
||
func (_dfged *PdfAcroForm )GetContainingPdfObject ()_ce .PdfObject {return _dfged ._adfcd };
|
||
|
||
// NewPdfFontFromTTF loads a TTF font and returns a PdfFont type that can be
|
||
// used in text styling functions.
|
||
// Uses a WinAnsiTextEncoder and loads only character codes 32-255.
|
||
// NOTE: For composite fonts such as used in symbolic languages, use NewCompositePdfFontFromTTF.
|
||
func NewPdfFontFromTTF (r _cg .ReadSeeker )(*PdfFont ,error ){const _geaec =_cce .CharCode (32);const _febed =_cce .CharCode (255);_ddgad ,_ggfea :=_dd .ReadAll (r );if _ggfea !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065 \u0074\u006f\u0020\u0072\u0065\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074s\u003a\u0020\u0025\u0076",_ggfea );return nil ,_ggfea ;};_effea ,_ggfea :=_cc .TtfParse (_f .NewReader (_ddgad ));if _ggfea !=nil {_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020l\u006f\u0061\u0064\u0069\u006e\u0067\u0020\u0054\u0054F\u0020\u0066\u006fn\u0074:\u0020\u0025\u0076",_ggfea );return nil ,_ggfea ;};_cbbbd :=&pdfFontSimple {_bgdcb :make (map[_cce .CharCode ]float64 ),fontCommon :fontCommon {_dbbag :"\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065"}};_cbbbd ._bged =_cce .NewWinAnsiEncoder ();_cbbbd ._agcagf =_effea .PostScriptName ;_cbbbd .FirstChar =_ce .MakeInteger (int64 (_geaec ));_cbbbd .LastChar =_ce .MakeInteger (int64 (_febed ));_cabaag :=1000.0/float64 (_effea .UnitsPerEm );if len (_effea .Widths )<=0{return nil ,_gd .New ("\u0045\u0052\u0052O\u0052\u003a\u0020\u004d\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u0072\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065 \u0028\u0057\u0069\u0064\u0074\u0068\u0073\u0029");};_aafb :=_cabaag *float64 (_effea .Widths [0]);_bdc :=make ([]float64 ,0,_febed -_geaec +1);for _agfaa :=_geaec ;_agfaa <=_febed ;_agfaa ++{_dgcc ,_abbcg :=_cbbbd .Encoder ().CharcodeToRune (_agfaa );if !_abbcg {_ebg .Log .Debug ("\u0052u\u006e\u0065\u0020\u006eo\u0074\u0020\u0066\u006f\u0075n\u0064 \u0028c\u006f\u0064\u0065\u003a\u0020\u0025\u0064)",_agfaa );_bdc =append (_bdc ,_aafb );continue ;};_cgfc ,_gcdeg :=_effea .Chars [_dgcc ];if !_gcdeg {_ebg .Log .Debug ("R\u0075\u006e\u0065\u0020no\u0074 \u0069\u006e\u0020\u0054\u0054F\u0020\u0043\u0068\u0061\u0072\u0073");_bdc =append (_bdc ,_aafb );continue ;};_gfgcd :=_cabaag *float64 (_effea .Widths [_cgfc ]);_bdc =append (_bdc ,_gfgcd );};_cbbbd .Widths =_ce .MakeIndirectObject (_ce .MakeArrayFromFloats (_bdc ));if len (_bdc )< int (_febed -_geaec +1){_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006c\u0065\u006e\u0067t\u0068\u0020\u006f\u0066\u0020\u0077\u0069\u0064\u0074\u0068s,\u0020\u0025\u0064 \u003c \u0025\u0064",len (_bdc ),255-32+1);return nil ,_ce .ErrRangeError ;};for _bafce :=_cce .CharCode (_geaec );_bafce <=_febed ;_bafce ++{_cbbbd ._bgdcb [_bafce ]=_bdc [_bafce -_geaec ];};_cbbbd .Encoding =_ce .MakeName ("\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067");_edac :=&PdfFontDescriptor {};_edac .FontName =_ce .MakeName (_effea .PostScriptName );_edac .Ascent =_ce .MakeFloat (_cabaag *float64 (_effea .TypoAscender ));_edac .Descent =_ce .MakeFloat (_cabaag *float64 (_effea .TypoDescender ));_edac .CapHeight =_ce .MakeFloat (_cabaag *float64 (_effea .CapHeight ));_edac .FontBBox =_ce .MakeArrayFromFloats ([]float64 {_cabaag *float64 (_effea .Xmin ),_cabaag *float64 (_effea .Ymin ),_cabaag *float64 (_effea .Xmax ),_cabaag *float64 (_effea .Ymax )});_edac .ItalicAngle =_ce .MakeFloat (float64 (_effea .ItalicAngle ));_edac .MissingWidth =_ce .MakeFloat (_cabaag *float64 (_effea .Widths [0]));_gbefd ,_ggfea :=_ce .MakeStream (_ddgad ,_ce .NewFlateEncoder ());if _ggfea !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u0061\u0062\u006c\u0065\u0020\u0074o\u0020m\u0061\u006b\u0065\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u003a\u0020\u0025\u0076",_ggfea );return nil ,_ggfea ;};_gbefd .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_ce .MakeInteger (int64 (len (_ddgad ))));_edac .FontFile2 =_gbefd ;if _effea .Bold {_edac .StemV =_ce .MakeInteger (120);}else {_edac .StemV =_ce .MakeInteger (70);};_eaaaf :=_gadfa ;if _effea .IsFixedPitch {_eaaaf |=_fgae ;};if _effea .ItalicAngle !=0{_eaaaf |=_cccc ;};_edac .Flags =_ce .MakeInteger (int64 (_eaaaf ));_cbbbd ._adae =_edac ;_ecfb :=&PdfFont {_decac :_cbbbd };return _ecfb ,nil ;};
|
||
|
||
// AlphaMap performs mapping of alpha data for transformations. Allows custom filtering of alpha data etc.
|
||
func (_eebac *Image )AlphaMap (mapFunc AlphaMapFunc ){for _efegc ,_gaef :=range _eebac ._fdcac {_eebac ._fdcac [_efegc ]=mapFunc (_gaef );};};
|
||
|
||
// BorderEffect represents a border effect (Table 167 p. 395).
|
||
type BorderEffect int ;
|
||
|
||
// GetRuneMetrics returns the character metrics for the rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_cabaab pdfFontSimple )GetRuneMetrics (r rune )(_cc .CharMetrics ,bool ){if _cabaab ._eegg !=nil {_gfdg ,_gdbdc :=_cabaab ._eegg [r ];if _gdbdc {return _gfdg ,true ;};};_daced :=_cabaab .Encoder ();if _daced ==nil {_ebg .Log .Debug ("\u004e\u006f\u0020en\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0073\u003d\u0025\u0073",_cabaab );return _cc .CharMetrics {},false ;};_gfegf ,_cdfa :=_daced .RuneToCharcode (r );if !_cdfa {if r !=' '{_ebg .Log .Trace ("\u004e\u006f\u0020c\u0068\u0061\u0072\u0063o\u0064\u0065\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u003d\u0025\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",r ,_cabaab );};return _cc .CharMetrics {},false ;};_gefec ,_bbbb :=_cabaab .GetCharMetrics (_gfegf );return _gefec ,_bbbb ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline (indirect object).
|
||
func (_ffcfb *PdfOutline )GetContainingPdfObject ()_ce .PdfObject {return _ffcfb ._cdgg };
|
||
|
||
// PdfColorspaceDeviceCMYK represents a CMYK32 colorspace.
|
||
type PdfColorspaceDeviceCMYK struct{};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_baaae *PdfColorLab )B ()float64 {return float64 (_baaae [2])};
|
||
|
||
// AcroFormRepairOptions contains options for rebuilding the AcroForm.
|
||
type AcroFormRepairOptions struct{};
|
||
|
||
// SetFilter sets compression filter. Decodes with current filter sets and
|
||
// encodes the data with the new filter.
|
||
func (_ebeaf *XObjectImage )SetFilter (encoder _ce .StreamEncoder )error {_gbfeag :=_ebeaf .Stream ;_fcgdd ,_fbgdc :=_ebeaf .Filter .DecodeBytes (_gbfeag );if _fbgdc !=nil {return _fbgdc ;};_ebeaf .Filter =encoder ;encoder .UpdateParams (_ebeaf .getParamsDict ());_gbfeag ,_fbgdc =encoder .EncodeBytes (_fcgdd );if _fbgdc !=nil {return _fbgdc ;};_ebeaf .Stream =_gbfeag ;return nil ;};
|
||
|
||
// PdfColorLab represents a color in the L*, a*, b* 3 component colorspace.
|
||
// Each component is defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorLab [3]float64 ;
|
||
|
||
// AllFields returns a flattened list of all fields in the form.
|
||
func (_cdbe *PdfAcroForm )AllFields ()[]*PdfField {if _cdbe ==nil {return nil ;};var _cdgb []*PdfField ;if _cdbe .Fields !=nil {for _ ,_aace :=range *_cdbe .Fields {_cdgb =append (_cdgb ,_bbdba (_aace )...);};};return _cdgb ;};
|
||
|
||
// NewPdfAppender creates a new Pdf appender from a Pdf reader.
|
||
func NewPdfAppender (reader *PdfReader )(*PdfAppender ,error ){_decdb :=&PdfAppender {_cbdd :reader ._dafg ,Reader :reader ,_agbe :reader ._dbfe ,_bceec :reader ._acfdf };if _bbfd ,_ggdb :=_decdb ._cbdd .Seek (0,_cg .SeekEnd );_ggdb !=nil {return nil ,_ggdb ;}else {_decdb ._aeaa =_bbfd ;};if _ ,_cdag :=_decdb ._cbdd .Seek (0,_cg .SeekStart );_cdag !=nil {return nil ,_cdag ;};var _agbfd error ;_decdb ._aega ,_agbfd =NewPdfReader (_decdb ._cbdd );if _agbfd !=nil {return nil ,_agbfd ;};for _ ,_begga :=range _decdb .Reader .GetObjectNums (){if _decdb ._beacf < _begga {_decdb ._beacf =_begga ;};};_decdb ._bbbg =_decdb ._agbe .GetXrefTable ();_decdb ._afga =_decdb ._agbe .GetXrefOffset ();_decdb ._adba =make (map[_ce .PdfObject ]struct{});for _ ,_cbec :=range _decdb ._aega .PageList {_decdb ._fdef =append (_decdb ._fdef ,_cbec );};_decdb ._daea =make (map[_ce .PdfObject ]int64 );_decdb ._gbfa =make (map[_ce .PdfObject ]struct{});_decdb ._dba =_decdb ._aega .AcroForm ;return _decdb ,nil ;};
|
||
|
||
// NewPdfAnnotationCircle returns a new circle annotation.
|
||
func NewPdfAnnotationCircle ()*PdfAnnotationCircle {_eac :=NewPdfAnnotation ();_abf :=&PdfAnnotationCircle {};_abf .PdfAnnotation =_eac ;_abf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eac .SetContext (_abf );return _abf ;};
|
||
|
||
// SetPdfTitle sets the Title attribute of the output PDF.
|
||
func SetPdfTitle (title string ){_babd =title };func (_bdcec *PdfWriter )writeString (_dedaa string ){if _bdcec ._cegedc !=nil {return ;};_edad ,_faaag :=_bdcec ._egeaa .WriteString (_dedaa );_bdcec ._agfff +=int64 (_edad );_bdcec ._cegedc =_faaag ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_bedb *pdfFontSimple )Encoder ()_cce .TextEncoder {if _bedb ._bged !=nil {return _bedb ._bged ;};if _bedb ._edbbe !=nil {return _bedb ._edbbe ;};_aacge ,_ :=_cce .NewSimpleTextEncoder ("\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",nil );return _aacge ;};func (_fabfa *PdfAcroForm )filteredFields (_bcdf FieldFilterFunc ,_ffgcb bool )[]*PdfField {if _fabfa ==nil {return nil ;};return _aefeg (_fabfa .Fields ,_bcdf ,_ffgcb );};
|
||
|
||
// NewPdfAction returns an initialized generic PDF action model.
|
||
func NewPdfAction ()*PdfAction {_fg :=&PdfAction {};_fg ._bdf =_ce .MakeIndirectObject (_ce .MakeDict ());return _fg ;};
|
||
|
||
// NewPdfAnnotationUnderline returns a new text underline annotation.
|
||
func NewPdfAnnotationUnderline ()*PdfAnnotationUnderline {_daeb :=NewPdfAnnotation ();_ggde :=&PdfAnnotationUnderline {};_ggde .PdfAnnotation =_daeb ;_ggde .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_daeb .SetContext (_ggde );return _ggde ;};const (ActionTypeGoTo PdfActionType ="\u0047\u006f\u0054\u006f";ActionTypeGoTo3DView PdfActionType ="\u0047\u006f\u0054\u006f\u0033\u0044\u0056\u0069\u0065\u0077";ActionTypeGoToE PdfActionType ="\u0047\u006f\u0054o\u0045";ActionTypeGoToR PdfActionType ="\u0047\u006f\u0054o\u0052";ActionTypeHide PdfActionType ="\u0048\u0069\u0064\u0065";ActionTypeImportData PdfActionType ="\u0049\u006d\u0070\u006f\u0072\u0074\u0044\u0061\u0074\u0061";ActionTypeJavaScript PdfActionType ="\u004a\u0061\u0076\u0061\u0053\u0063\u0072\u0069\u0070\u0074";ActionTypeLaunch PdfActionType ="\u004c\u0061\u0075\u006e\u0063\u0068";ActionTypeMovie PdfActionType ="\u004d\u006f\u0076i\u0065";ActionTypeNamed PdfActionType ="\u004e\u0061\u006de\u0064";ActionTypeRendition PdfActionType ="\u0052e\u006e\u0064\u0069\u0074\u0069\u006fn";ActionTypeResetForm PdfActionType ="\u0052e\u0073\u0065\u0074\u0046\u006f\u0072m";ActionTypeSetOCGState PdfActionType ="S\u0065\u0074\u004f\u0043\u0047\u0053\u0074\u0061\u0074\u0065";ActionTypeSound PdfActionType ="\u0053\u006f\u0075n\u0064";ActionTypeSubmitForm PdfActionType ="\u0053\u0075\u0062\u006d\u0069\u0074\u0046\u006f\u0072\u006d";ActionTypeThread PdfActionType ="\u0054\u0068\u0072\u0065\u0061\u0064";ActionTypeTrans PdfActionType ="\u0054\u0072\u0061n\u0073";ActionTypeURI PdfActionType ="\u0055\u0052\u0049";);
|
||
|
||
// HasXObjectByName checks if an XObject with a specified keyName is defined.
|
||
func (_gdca *PdfPageResources )HasXObjectByName (keyName _ce .PdfObjectName )bool {_cbfef ,_ :=_gdca .GetXObjectByName (keyName );return _cbfef !=nil ;};
|
||
|
||
// NewOutline returns a new outline instance.
|
||
func NewOutline ()*Outline {return &Outline {}};
|
||
|
||
// PdfAnnotation3D represents 3D annotations.
|
||
// (Section 13.6.2).
|
||
type PdfAnnotation3D struct{*PdfAnnotation ;T3DD _ce .PdfObject ;T3DV _ce .PdfObject ;T3DA _ce .PdfObject ;T3DI _ce .PdfObject ;T3DB _ce .PdfObject ;};
|
||
|
||
// NewPdfAnnotationPolygon returns a new polygon annotation.
|
||
func NewPdfAnnotationPolygon ()*PdfAnnotationPolygon {_ccd :=NewPdfAnnotation ();_eecf :=&PdfAnnotationPolygon {};_eecf .PdfAnnotation =_ccd ;_eecf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ccd .SetContext (_eecf );return _eecf ;};
|
||
|
||
// PdfActionTrans represents a trans action.
|
||
type PdfActionTrans struct{*PdfAction ;Trans _ce .PdfObject ;};func (_ebf *PdfReader )newPdfActionGotoRFromDict (_aca *_ce .PdfObjectDictionary )(*PdfActionGoToR ,error ){_dcce ,_afa :=_cbc (_aca .Get ("\u0046"));if _afa !=nil {return nil ,_afa ;};return &PdfActionGoToR {D :_aca .Get ("\u0044"),NewWindow :_aca .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_dcce },nil ;};func (_ddgb *PdfReader )newPdfAnnotationMarkupFromDict (_edb *_ce .PdfObjectDictionary )(*PdfAnnotationMarkup ,error ){_abac :=&PdfAnnotationMarkup {};if _bcf :=_edb .Get ("\u0054");_bcf !=nil {_abac .T =_bcf ;};if _ecag :=_edb .Get ("\u0050\u006f\u0070u\u0070");_ecag !=nil {_bgeg ,_fdc :=_ecag .(*_ce .PdfIndirectObject );if !_fdc {if _ ,_ecc :=_ecag .(*_ce .PdfObjectNull );!_ecc {return nil ,_gd .New ("p\u006f\u0070\u0075\u0070\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0070\u006f\u0069\u006e\u0074\u0020t\u006f\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072ec\u0074\u0020\u006fb\u006ae\u0063\u0074");};}else {_bfe ,_fgfb :=_ddgb .newPdfAnnotationFromIndirectObject (_bgeg );if _fgfb !=nil {return nil ,_fgfb ;};if _bfe !=nil {_cgffa ,_cee :=_bfe ._aff .(*PdfAnnotationPopup );if !_cee {return nil ,_gd .New ("\u006f\u0062\u006ae\u0063\u0074\u0020\u006e\u006f\u0074\u0020\u0072\u0065\u0066\u0065\u0072\u0072\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0061\u0020\u0070\u006f\u0070\u0075\u0070\u0020\u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e");};_abac .Popup =_cgffa ;};};};if _gfad :=_edb .Get ("\u0043\u0041");_gfad !=nil {_abac .CA =_gfad ;};if _deca :=_edb .Get ("\u0052\u0043");_deca !=nil {_abac .RC =_deca ;};if _eece :=_edb .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065");_eece !=nil {_abac .CreationDate =_eece ;};if _baae :=_edb .Get ("\u0049\u0052\u0054");_baae !=nil {_abac .IRT =_baae ;};if _dfd :=_edb .Get ("\u0053\u0075\u0062\u006a");_dfd !=nil {_abac .Subj =_dfd ;};if _fcbf :=_edb .Get ("\u0052\u0054");_fcbf !=nil {_abac .RT =_fcbf ;};if _fba :=_edb .Get ("\u0049\u0054");_fba !=nil {_abac .IT =_fba ;};if _aaf :=_edb .Get ("\u0045\u0078\u0044\u0061\u0074\u0061");_aaf !=nil {_abac .ExData =_aaf ;};return _abac ,nil ;};
|
||
|
||
// PdfAnnotationUnderline represents Underline annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationUnderline struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _ce .PdfObject ;};
|
||
|
||
// SetContentStreams sets the content streams based on a string array. Will make
|
||
// 1 object stream for each string and reference from the page Contents.
|
||
// Each stream will be encoded using the encoding specified by the StreamEncoder,
|
||
// if empty, will use identity encoding (raw data).
|
||
func (_effad *PdfPage )SetContentStreams (cStreams []string ,encoder _ce .StreamEncoder )error {if len (cStreams )==0{_effad .Contents =nil ;return nil ;};if encoder ==nil {encoder =_ce .NewRawEncoder ();};var _deae []*_ce .PdfObjectStream ;for _ ,_abgd :=range cStreams {_daeg :=&_ce .PdfObjectStream {};_fafed :=encoder .MakeStreamDict ();_ebbd ,_dfcb :=encoder .EncodeBytes ([]byte (_abgd ));if _dfcb !=nil {return _dfcb ;};_fafed .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_ce .MakeInteger (int64 (len (_ebbd ))));_daeg .PdfObjectDictionary =_fafed ;_daeg .Stream =[]byte (_ebbd );_deae =append (_deae ,_daeg );};if len (_deae )==1{_effad .Contents =_deae [0];}else {_cbfe :=_ce .MakeArray ();for _ ,_bgdee :=range _deae {_cbfe .Append (_bgdee );};_effad .Contents =_cbfe ;};return nil ;};var _ pdfFont =(*pdfCIDFontType2 )(nil );
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_aecc *PdfColorDeviceRGB )ToInteger (bits int )[3]uint32 {_ecbd :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_ecbd *_aecc .R ()),uint32 (_ecbd *_aecc .G ()),uint32 (_ecbd *_aecc .B ())};};
|
||
|
||
// EncryptionAlgorithm is used in EncryptOptions to change the default algorithm used to encrypt the document.
|
||
type EncryptionAlgorithm int ;
|
||
|
||
// PdfVersion returns version of the PDF file.
|
||
func (_eabf *PdfReader )PdfVersion ()_ce .Version {return _eabf ._dbfe .PdfVersion ()};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_aaba *PdfShadingType3 )ToPdfObject ()_ce .PdfObject {_aaba .PdfShading .ToPdfObject ();_dfdgb ,_fbabf :=_aaba .getShadingDict ();if _fbabf !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _aaba .Coords !=nil {_dfdgb .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_aaba .Coords );};if _aaba .Domain !=nil {_dfdgb .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_aaba .Domain );};if _aaba .Function !=nil {if len (_aaba .Function )==1{_dfdgb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_aaba .Function [0].ToPdfObject ());}else {_ebddf :=_ce .MakeArray ();for _ ,_eeacg :=range _aaba .Function {_ebddf .Append (_eeacg .ToPdfObject ());};_dfdgb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ebddf );};};if _aaba .Extend !=nil {_dfdgb .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_aaba .Extend );};return _aaba ._efbab ;};
|
||
|
||
// NewPdfColorspaceLab returns a new Lab colorspace object.
|
||
func NewPdfColorspaceLab ()*PdfColorspaceLab {_fddfb :=&PdfColorspaceLab {};_fddfb .BlackPoint =[]float64 {0.0,0.0,0.0};_fddfb .Range =[]float64 {-100,100,-100,100};return _fddfb ;};func (_ga *PdfReader )newPdfActionGotoEFromDict (_bac *_ce .PdfObjectDictionary )(*PdfActionGoToE ,error ){_cdc ,_gbe :=_cbc (_bac .Get ("\u0046"));if _gbe !=nil {return nil ,_gbe ;};return &PdfActionGoToE {D :_bac .Get ("\u0044"),NewWindow :_bac .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),T :_bac .Get ("\u0054"),F :_cdc },nil ;};func (_ecdfg *PdfColorspaceSpecialIndexed )String ()string {return "\u0049n\u0064\u0065\u0078\u0065\u0064";};
|
||
|
||
// PdfActionResetForm represents a resetForm action.
|
||
type PdfActionResetForm struct{*PdfAction ;Fields _ce .PdfObject ;Flags _ce .PdfObject ;};
|
||
|
||
// NewStandard14Font returns the standard 14 font named `basefont` as a *PdfFont, or an error if it
|
||
// `basefont` is not one of the standard 14 font names.
|
||
func NewStandard14Font (basefont StdFontName )(*PdfFont ,error ){_ffdcg ,_cbbc :=_abgcc (basefont );if _cbbc !=nil {return nil ,_cbbc ;};if basefont !=SymbolName &&basefont !=ZapfDingbatsName {_ffdcg ._bged =_cce .NewWinAnsiEncoder ();};return &PdfFont {_decac :&_ffdcg },nil ;};
|
||
|
||
// PdfAnnotationSquare represents Square annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationSquare struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _ce .PdfObject ;IC _ce .PdfObject ;BE _ce .PdfObject ;RD _ce .PdfObject ;};func (_gfc *PdfReader )newPdfAnnotationHighlightFromDict (_fgg *_ce .PdfObjectDictionary )(*PdfAnnotationHighlight ,error ){_fcdf :=PdfAnnotationHighlight {};_cgab ,_bcdc :=_gfc .newPdfAnnotationMarkupFromDict (_fgg );if _bcdc !=nil {return nil ,_bcdc ;};_fcdf .PdfAnnotationMarkup =_cgab ;_fcdf .QuadPoints =_fgg .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_fcdf ,nil ;};
|
||
|
||
// Initialize initializes the PdfSignature.
|
||
func (_adcee *PdfSignature )Initialize ()error {if _adcee .Handler ==nil {return _gd .New ("\u0073\u0069\u0067n\u0061\u0074\u0075\u0072e\u0020\u0068\u0061\u006e\u0064\u006c\u0065r\u0020\u0063\u0061\u006e\u006e\u006f\u0074\u0020\u0062\u0065\u0020\u006e\u0069\u006c");};return _adcee .Handler .InitSignature (_adcee );};type fontFile struct{_fdac string ;_fgfbg string ;_fbabb _cce .SimpleEncoder ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_afbfc *PdfColorCalRGB )B ()float64 {return float64 (_afbfc [1])};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three elements representing the
|
||
// red, green and blue components of the color. The values of the elements
|
||
// should be between 0 and 1.
|
||
func (_fff *PdfColorspaceDeviceRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fggf :=vals [0];if _fggf < 0.0||_fggf > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ccac :=vals [1];if _ccac < 0.0||_ccac > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gfee :=vals [2];if _gfee < 0.0||_gfee > 1.0{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cfgg :=NewPdfColorDeviceRGB (_fggf ,_ccac ,_gfee );return _cfgg ,nil ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_abacge *PdfFunctionType0 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=_abacge .NumInputs {_ebg .Log .Error ("\u004eu\u006d\u0062e\u0072\u0020\u006f\u0066 \u0069\u006e\u0070u\u0074\u0073\u0020\u006e\u006f\u0074\u0020\u006d\u0061tc\u0068\u0069\u006eg\u0020\u0077h\u0061\u0074\u0020\u0069\u0073\u0020n\u0065\u0065d\u0065\u0064");return nil ,_gd .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");};if _abacge ._aaccb ==nil {_bedbe :=_abacge .processSamples ();if _bedbe !=nil {return nil ,_bedbe ;};};_ccgdg :=_abacge .Encode ;if _ccgdg ==nil {_ccgdg =[]float64 {};for _dafcf :=0;_dafcf < len (_abacge .Size );_dafcf ++{_ccgdg =append (_ccgdg ,0);_ccgdg =append (_ccgdg ,float64 (_abacge .Size [_dafcf ]-1));};};_efga :=_abacge .Decode ;if _efga ==nil {_efga =_abacge .Range ;};_bdgga :=make ([]int ,len (x ));for _dddbd :=0;_dddbd < len (x );_dddbd ++{_cbfd :=x [_dddbd ];_feda :=_ag .Min (_ag .Max (_cbfd ,_abacge .Domain [2*_dddbd ]),_abacge .Domain [2*_dddbd +1]);_gded :=_age .LinearInterpolate (_feda ,_abacge .Domain [2*_dddbd ],_abacge .Domain [2*_dddbd +1],_ccgdg [2*_dddbd ],_ccgdg [2*_dddbd +1]);_cegb :=_ag .Min (_ag .Max (_gded ,0),float64 (_abacge .Size [_dddbd ]-1));_fcfed :=int (_ag .Floor (_cegb +0.5));if _fcfed < 0{_fcfed =0;}else if _fcfed > _abacge .Size [_dddbd ]{_fcfed =_abacge .Size [_dddbd ]-1;};_bdgga [_dddbd ]=_fcfed ;};_feffc :=_bdgga [0];for _adgcd :=1;_adgcd < _abacge .NumInputs ;_adgcd ++{_bccde :=_bdgga [_adgcd ];for _bgege :=0;_bgege < _adgcd ;_bgege ++{_bccde *=_abacge .Size [_bgege ];};_feffc +=_bccde ;};_feffc *=_abacge .NumOutputs ;var _efcf []float64 ;for _gega :=0;_gega < _abacge .NumOutputs ;_gega ++{_dfefg :=_feffc +_gega ;if _dfefg >=len (_abacge ._aaccb ){_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a \u006e\u006ft\u0020\u0065\u006eo\u0075\u0067\u0068\u0020\u0069\u006ep\u0075\u0074\u0020sa\u006dp\u006c\u0065\u0073\u0020\u0074\u006f\u0020d\u0065\u0074\u0065\u0072\u006d\u0069\u006e\u0065\u0020\u006f\u0075\u0074\u0070\u0075\u0074\u0020\u0076\u0061lu\u0065\u0073\u002e\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u002e");continue ;};_cgcce :=_abacge ._aaccb [_dfefg ];_cbeb :=_age .LinearInterpolate (float64 (_cgcce ),0,_ag .Pow (2,float64 (_abacge .BitsPerSample )),_efga [2*_gega ],_efga [2*_gega +1]);_ccda :=_ag .Min (_ag .Max (_cbeb ,_abacge .Range [2*_gega ]),_abacge .Range [2*_gega +1]);_efcf =append (_efcf ,_ccda );};return _efcf ,nil ;};func _cbcc (_facf _ce .PdfObject )(*PdfColorspaceCalGray ,error ){_eaa :=NewPdfColorspaceCalGray ();if _agfe ,_cada :=_facf .(*_ce .PdfIndirectObject );_cada {_eaa ._bcbf =_agfe ;};_facf =_ce .TraceToDirectObject (_facf );_dffd ,_gadc :=_facf .(*_ce .PdfObjectArray );if !_gadc {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _dffd .Len ()!=2{return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0043\u0061\u006cG\u0072\u0061\u0079\u0020\u0063\u006f\u006c\u006f\u0072\u0073p\u0061\u0063\u0065");};_facf =_ce .TraceToDirectObject (_dffd .Get (0));_gbbc ,_gadc :=_facf .(*_ce .PdfObjectName );if !_gadc {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061\u0079\u0020\u006e\u0061m\u0065\u0020\u006e\u006f\u0074\u0020\u0061 \u004e\u0061\u006d\u0065\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};if *_gbbc !="\u0043a\u006c\u0047\u0072\u0061\u0079"{return nil ,_c .Errorf ("\u006eo\u0074\u0020\u0061\u0020\u0043\u0061\u006c\u0047\u0072\u0061\u0079 \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_facf =_ce .TraceToDirectObject (_dffd .Get (1));_gcdd ,_gadc :=_facf .(*_ce .PdfObjectDictionary );if !_gadc {return nil ,_c .Errorf ("\u0043\u0061lG\u0072\u0061\u0079 \u0064\u0069\u0063\u0074 no\u0074 a\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u006f\u0062\u006a\u0065c\u0074");};_facf =_gcdd .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_facf =_ce .TraceToDirectObject (_facf );_cfcd ,_gadc :=_facf .(*_ce .PdfObjectArray );if !_gadc {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020W\u0068\u0069\u0074e\u0050o\u0069\u006e\u0074");};if _cfcd .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061y\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069t\u0065\u0050\u006f\u0069\u006e\u0074\u0020a\u0072\u0072\u0061\u0079");};_bddb ,_ddcb :=_cfcd .GetAsFloat64Slice ();if _ddcb !=nil {return nil ,_ddcb ;};_eaa .WhitePoint =_bddb ;_facf =_gcdd .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _facf !=nil {_facf =_ce .TraceToDirectObject (_facf );_cgffg ,_fgcg :=_facf .(*_ce .PdfObjectArray );if !_fgcg {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020B\u006c\u0061\u0063k\u0050o\u0069\u006e\u0074");};if _cgffg .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061y\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061c\u006b\u0050\u006f\u0069\u006e\u0074\u0020a\u0072\u0072\u0061\u0079");};_ffff ,_dfdgf :=_cgffg .GetAsFloat64Slice ();if _dfdgf !=nil {return nil ,_dfdgf ;};_eaa .BlackPoint =_ffff ;};_facf =_gcdd .Get ("\u0047\u0061\u006dm\u0061");if _facf !=nil {_facf =_ce .TraceToDirectObject (_facf );_eba ,_eaeg :=_ce .GetNumberAsFloat (_facf );if _eaeg !=nil {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0067\u0061\u006d\u006d\u0061\u0020\u006e\u006ft\u0020\u0061\u0020n\u0075m\u0062\u0065\u0072");};_eaa .Gamma =_eba ;};return _eaa ,nil ;};
|
||
|
||
// Inspect inspects the object types, subtypes and content in the PDF file returning a map of
|
||
// object type to number of instances of each.
|
||
func (_gdggf *PdfReader )Inspect ()(map[string ]int ,error ){return _gdggf ._dbfe .Inspect ()};
|
||
|
||
// PdfModel is a higher level PDF construct which can be collapsed into a PdfObject.
|
||
// Each PdfModel has an underlying PdfObject and vice versa (one-to-one).
|
||
// Under normal circumstances there should only be one copy of each.
|
||
// Copies can be made, but care must be taken to do it properly.
|
||
type PdfModel interface{ToPdfObject ()_ce .PdfObject ;GetContainingPdfObject ()_ce .PdfObject ;};type fontCommon struct{_agcagf string ;_dbbag string ;_effed string ;_gbcf _ce .PdfObject ;_fefb *_fa .CMap ;_adae *PdfFontDescriptor ;_cfae int64 ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_deb *PdfActionNamed )ToPdfObject ()_ce .PdfObject {_deb .PdfAction .ToPdfObject ();_acg :=_deb ._bdf ;_bbbc :=_acg .PdfObject .(*_ce .PdfObjectDictionary );_bbbc .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeNamed )));_bbbc .SetIfNotNil ("\u004e",_deb .N );return _acg ;};
|
||
|
||
// PdfTilingPattern is a Tiling pattern that consists of repetitions of a pattern cell with defined intervals.
|
||
// It is a type 1 pattern. (PatternType = 1).
|
||
// A tiling pattern is represented by a stream object, where the stream content is
|
||
// a content stream that describes the pattern cell.
|
||
type PdfTilingPattern struct{*PdfPattern ;PaintType *_ce .PdfObjectInteger ;TilingType *_ce .PdfObjectInteger ;BBox *PdfRectangle ;XStep *_ce .PdfObjectFloat ;YStep *_ce .PdfObjectFloat ;Resources *PdfPageResources ;Matrix *_ce .PdfObjectArray ;};
|
||
|
||
// String returns a string representation of the field.
|
||
func (_cbee *PdfField )String ()string {if _beed ,_ggcga :=_cbee .ToPdfObject ().(*_ce .PdfIndirectObject );_ggcga {return _c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_cbee ._eedcb ,_beed .PdfObject .String ());};return "";};
|
||
|
||
// GetObjectNums returns the object numbers of the PDF objects in the file
|
||
// Numbered objects are either indirect objects or stream objects.
|
||
// e.g. objNums := pdfReader.GetObjectNums()
|
||
// The underlying objects can then be accessed with
|
||
// pdfReader.GetIndirectObjectByNumber(objNums[0]) for the first available object.
|
||
func (_edfc *PdfReader )GetObjectNums ()[]int {return _edfc ._dbfe .GetObjectNums ()};
|
||
|
||
// PdfShadingType4 is a Free-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType4 struct{*PdfShading ;BitsPerCoordinate *_ce .PdfObjectInteger ;BitsPerComponent *_ce .PdfObjectInteger ;BitsPerFlag *_ce .PdfObjectInteger ;Decode *_ce .PdfObjectArray ;Function []PdfFunction ;};var _ pdfFont =(*pdfFontType0 )(nil );
|
||
|
||
// NewXObjectFormFromStream builds the Form XObject from a stream object.
|
||
// TODO: Should this be exposed? Consider different access points.
|
||
func NewXObjectFormFromStream (stream *_ce .PdfObjectStream )(*XObjectForm ,error ){_dgege :=&XObjectForm {};_dgege ._gcaa =stream ;_cfbgb :=*(stream .PdfObjectDictionary );_fccfd ,_cadb :=_ce .NewEncoderFromStream (stream );if _cadb !=nil {return nil ,_cadb ;};_dgege .Filter =_fccfd ;if _dgba :=_cfbgb .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_dgba !=nil {_affd ,_defbf :=_dgba .(*_ce .PdfObjectName );if !_defbf {return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if *_affd !="\u0046\u006f\u0072\u006d"{_ebg .Log .Debug ("I\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");return nil ,_gd .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");};};if _fcef :=_cfbgb .Get ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065");_fcef !=nil {_dgege .FormType =_fcef ;};if _fagdd :=_cfbgb .Get ("\u0042\u0042\u006f\u0078");_fagdd !=nil {_dgege .BBox =_fagdd ;};if _fddafe :=_cfbgb .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_fddafe !=nil {_dgege .Matrix =_fddafe ;};if _gcggb :=_cfbgb .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_gcggb !=nil {_gcggb =_ce .TraceToDirectObject (_gcggb );_agde ,_gbfbc :=_gcggb .(*_ce .PdfObjectDictionary );if !_gbfbc {_ebg .Log .Debug ("\u0049\u006e\u0076\u0061\u006ci\u0064\u0020\u0058\u004f\u0062j\u0065c\u0074\u0020\u0046\u006f\u0072\u006d\u0020\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006f\u0062j\u0065\u0063\u0074\u002c\u0020\u0070\u006f\u0069\u006e\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u006e\u006f\u006e\u002d\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");return nil ,_ce .ErrTypeError ;};_edgf ,_fadfg :=NewPdfPageResourcesFromDict (_agde );if _fadfg !=nil {_ebg .Log .Debug ("\u0046\u0061i\u006c\u0065\u0064\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0020\u0072\u0065\u0073\u006f\u0075rc\u0065\u0073");return nil ,_fadfg ;};_dgege .Resources =_edgf ;_ebg .Log .Trace ("\u0046\u006f\u0072\u006d r\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u003a\u0020\u0025\u0023\u0076",_dgege .Resources );};_dgege .Group =_cfbgb .Get ("\u0047\u0072\u006fu\u0070");_dgege .Ref =_cfbgb .Get ("\u0052\u0065\u0066");_dgege .MetaData =_cfbgb .Get ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061");_dgege .PieceInfo =_cfbgb .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_dgege .LastModified =_cfbgb .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_dgege .StructParent =_cfbgb .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_dgege .StructParents =_cfbgb .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_dgege .OPI =_cfbgb .Get ("\u004f\u0050\u0049");_dgege .OC =_cfbgb .Get ("\u004f\u0043");_dgege .Name =_cfbgb .Get ("\u004e\u0061\u006d\u0065");_dgege .Stream =stream .Stream ;return _dgege ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the XObject Form's containing object (indirect object).
|
||
func (_fecfa *XObjectForm )GetContainingPdfObject ()_ce .PdfObject {return _fecfa ._gcaa };
|
||
|
||
// StdFontName represents name of a standard font.
|
||
type StdFontName =_cc .StdFontName ;
|
||
|
||
// NewPdfWriter initializes a new PdfWriter.
|
||
func NewPdfWriter ()PdfWriter {_ffccdc :=PdfWriter {};_ffccdc ._gdbdce =map[_ce .PdfObject ]struct{}{};_ffccdc ._agacd =[]_ce .PdfObject {};_ffccdc ._ggdc =map[_ce .PdfObject ][]*_ce .PdfObjectDictionary {};_ffccdc ._eebde =map[_ce .PdfObject ]struct{}{};_ffccdc ._cgbgf =1;_ffccdc ._cacc =3;_bcdca :=_ce .MakeDict ();_ggadc :=[]struct{_degfd _ce .PdfObjectName ;_deccd string ;}{{"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_gebbf ()},{"\u0043r\u0065\u0061\u0074\u006f\u0072",_ggac ()},{"\u0041\u0075\u0074\u0068\u006f\u0072",_gdafg ()},{"\u0053u\u0062\u006a\u0065\u0063\u0074",_cgefg ()},{"\u0054\u0069\u0074l\u0065",_dgdea ()},{"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_cdbd ()}};for _ ,_cebdb :=range _ggadc {if _cebdb ._deccd !=""{_bcdca .Set (_cebdb ._degfd ,_ce .MakeString (_cebdb ._deccd ));};};if _dadgd :=_edfcg ();!_dadgd .IsZero (){if _fedab ,_cbdee :=NewPdfDateFromTime (_dadgd );_cbdee ==nil {_bcdca .Set ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_fedab .ToPdfObject ());};};if _dcbe :=_ecffe ();!_dcbe .IsZero (){if _bcade ,_fggca :=NewPdfDateFromTime (_dcbe );_fggca ==nil {_bcdca .Set ("\u004do\u0064\u0044\u0061\u0074\u0065",_bcade .ToPdfObject ());};};_fcbeeg :=_ce .PdfIndirectObject {};_fcbeeg .PdfObject =_bcdca ;_ffccdc ._aagfa =&_fcbeeg ;_ffccdc .addObject (&_fcbeeg );_caecd :=_ce .PdfIndirectObject {};_aafec :=_ce .MakeDict ();_aafec .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0043a\u0074\u0061\u006c\u006f\u0067"));_caecd .PdfObject =_aafec ;_ffccdc ._gedca =&_caecd ;_ffccdc .addObject (_ffccdc ._gedca );_fccca :=_ce .PdfIndirectObject {};_bcec :=_ce .MakeDict ();_bcec .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u0050\u0061\u0067e\u0073"));_bdgcf :=_ce .PdfObjectArray {};_bcec .Set ("\u004b\u0069\u0064\u0073",&_bdgcf );_bcec .Set ("\u0043\u006f\u0075n\u0074",_ce .MakeInteger (0));_fccca .PdfObject =_bcec ;_ffccdc ._eegga =&_fccca ;_ffccdc ._dedf =map[_ce .PdfObject ]struct{}{};_ffccdc .addObject (_ffccdc ._eegga );_aafec .Set ("\u0050\u0061\u0067e\u0073",&_fccca );_ffccdc ._ddaae =_aafec ;_ebg .Log .Trace ("\u0043\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0025\u0073",_caecd );return _ffccdc ;};
|
||
|
||
// GenerateXObjectName generates an unused XObject name that can be used for
|
||
// adding new XObjects. Uses format XObj1, XObj2, ...
|
||
func (_gecgd *PdfPageResources )GenerateXObjectName ()_ce .PdfObjectName {_gabe :=1;for {_efage :=_ce .MakeName (_c .Sprintf ("\u0058\u004f\u0062\u006a\u0025\u0064",_gabe ));if !_gecgd .HasXObjectByName (*_efage ){return *_efage ;};_gabe ++;};};
|
||
|
||
// NewPdfAnnotationHighlight returns a new text highlight annotation.
|
||
func NewPdfAnnotationHighlight ()*PdfAnnotationHighlight {_aebd :=NewPdfAnnotation ();_agfg :=&PdfAnnotationHighlight {};_agfg .PdfAnnotation =_aebd ;_agfg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_aebd .SetContext (_agfg );return _agfg ;};func _egbdb (_efdg _ce .PdfObject )(*PdfColorspaceSpecialIndexed ,error ){_dbcda :=NewPdfColorspaceSpecialIndexed ();if _aegfb ,_cbeda :=_efdg .(*_ce .PdfIndirectObject );_cbeda {_dbcda ._deeae =_aegfb ;};_efdg =_ce .TraceToDirectObject (_efdg );_cacbe ,_gaeg :=_efdg .(*_ce .PdfObjectArray );if !_gaeg {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cacbe .Len ()!=4{return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069\u006e\u0076a\u006ci\u0064\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");};_efdg =_cacbe .Get (0);_geag ,_gaeg :=_efdg .(*_ce .PdfObjectName );if !_gaeg {return nil ,_c .Errorf ("\u0069n\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};if *_geag !="\u0049n\u0064\u0065\u0078\u0065\u0064"{return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065xe\u0064\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u006e\u0061m\u0065");};_efdg =_cacbe .Get (1);_ecgf ,_fdab :=DetermineColorspaceNameFromPdfObject (_efdg );if _ecgf =="\u0049n\u0064\u0065\u0078\u0065\u0064"||_ecgf =="\u0050a\u0074\u0074\u0065\u0072\u006e"{_ebg .Log .Debug ("E\u0072\u0072o\u0072\u003a\u0020\u0049\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063e\u0020\u0063\u0061\u006e\u006e\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0049\u006e\u0064e\u0078\u0065\u0064\u002f\u0050\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0043S\u0020\u0061\u0073\u0020\u0062\u0061\u0073\u0065\u0020\u0028\u0025v\u0029",_ecgf );return nil ,_dage ;};_bcgad ,_fdab :=NewPdfColorspaceFromPdfObject (_efdg );if _fdab !=nil {return nil ,_fdab ;};_dbcda .Base =_bcgad ;_efdg =_cacbe .Get (2);_bcgdb ,_fdab :=_ce .GetNumberAsInt64 (_efdg );if _fdab !=nil {return nil ,_fdab ;};if _bcgdb > 255{return nil ,_c .Errorf ("\u0069n\u0064\u0065\u0078\u0065d\u0020\u0043\u0053\u003a\u0020I\u006ev\u0061l\u0069\u0064\u0020\u0068\u0069\u0076\u0061l");};_dbcda .HiVal =int (_bcgdb );_efdg =_cacbe .Get (3);_dbcda .Lookup =_efdg ;_efdg =_ce .TraceToDirectObject (_efdg );var _deage []byte ;if _aefb ,_defc :=_efdg .(*_ce .PdfObjectString );_defc {_deage =_aefb .Bytes ();_ebg .Log .Trace ("\u0049\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0073\u0074r\u0069\u006e\u0067\u0020\u0063\u006f\u006co\u0072\u0020\u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0020\u0064",_deage );}else if _dbcga ,_agafd :=_efdg .(*_ce .PdfObjectStream );_agafd {_ebg .Log .Trace ("\u0049n\u0064e\u0078\u0065\u0064\u0020\u0073t\u0072\u0065a\u006d\u003a\u0020\u0025\u0073",_efdg .String ());_ebg .Log .Trace ("\u0045\u006e\u0063\u006fde\u0064\u0020\u0028\u0025\u0064\u0029\u0020\u003a\u0020\u0025\u0023\u0020\u0078",len (_dbcga .Stream ),_dbcga .Stream );_cedd ,_cacea :=_ce .DecodeStream (_dbcga );if _cacea !=nil {return nil ,_cacea ;};_ebg .Log .Trace ("\u0044e\u0063o\u0064\u0065\u0064\u0020\u0028%\u0064\u0029 \u003a\u0020\u0025\u0020\u0058",len (_cedd ),_cedd );_deage =_cedd ;}else {_ebg .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_efdg );return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0049\u006e\u0076a\u006ci\u0064\u0020\u0074\u0061\u0062\u006c\u0065\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};if len (_deage )< _dbcda .Base .GetNumComponents ()*(_dbcda .HiVal +1){_ebg .Log .Debug ("\u0050\u0044\u0046\u0020\u0049\u006e\u0063o\u006d\u0070\u0061t\u0069\u0062\u0069\u006ci\u0074\u0079\u003a\u0020\u0049\u006e\u0064\u0065\u0078\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0074\u006f\u006f\u0020\u0073\u0068\u006f\u0072\u0074");_ebg .Log .Debug ("\u0046\u0061i\u006c\u002c\u0020\u006c\u0065\u006e\u0028\u0064\u0061\u0074\u0061\u0029\u003a\u0020\u0025\u0064\u002c\u0020\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u002c\u0020\u0068\u0069\u0056\u0061\u006c\u003a\u0020\u0025\u0064",len (_deage ),_dbcda .Base .GetNumComponents (),_dbcda .HiVal );}else {_deage =_deage [:_dbcda .Base .GetNumComponents ()*(_dbcda .HiVal +1)];};_dbcda ._agff =_deage ;return _dbcda ,nil ;};
|
||
|
||
// PdfPage represents a page in a PDF document. (7.7.3.3 - Table 30).
|
||
type PdfPage struct{Parent _ce .PdfObject ;LastModified *PdfDate ;Resources *PdfPageResources ;CropBox *PdfRectangle ;MediaBox *PdfRectangle ;BleedBox *PdfRectangle ;TrimBox *PdfRectangle ;ArtBox *PdfRectangle ;BoxColorInfo _ce .PdfObject ;Contents _ce .PdfObject ;Rotate *int64 ;Group _ce .PdfObject ;Thumb _ce .PdfObject ;B _ce .PdfObject ;Dur _ce .PdfObject ;Trans _ce .PdfObject ;AA _ce .PdfObject ;Metadata _ce .PdfObject ;PieceInfo _ce .PdfObject ;StructParents _ce .PdfObject ;ID _ce .PdfObject ;PZ _ce .PdfObject ;SeparationInfo _ce .PdfObject ;Tabs _ce .PdfObject ;TemplateInstantiated _ce .PdfObject ;PresSteps _ce .PdfObject ;UserUnit _ce .PdfObject ;VP _ce .PdfObject ;Annots _ce .PdfObject ;_bdcg []*PdfAnnotation ;_dfbdag *_ce .PdfObjectDictionary ;_adcebd *_ce .PdfIndirectObject ;_fabb *PdfReader ;};var _aggac =false ;
|
||
|
||
// ToPdfObject returns an indirect object containing the signature field dictionary.
|
||
func (_edbe *PdfFieldSignature )ToPdfObject ()_ce .PdfObject {if _edbe .PdfAnnotationWidget !=nil {_edbe .PdfAnnotationWidget .ToPdfObject ();};_edbe .PdfField .ToPdfObject ();_fgff :=_edbe ._gfeec ;_ddef :=_fgff .PdfObject .(*_ce .PdfObjectDictionary );_ddef .SetIfNotNil ("\u0046\u0054",_ce .MakeName ("\u0053\u0069\u0067"));_ddef .SetIfNotNil ("\u004c\u006f\u0063\u006b",_edbe .Lock );_ddef .SetIfNotNil ("\u0053\u0056",_edbe .SV );if _edbe .V !=nil {_ddef .SetIfNotNil ("\u0056",_edbe .V .ToPdfObject ());};return _fgff ;};
|
||
|
||
// PdfActionJavaScript represents a javaScript action.
|
||
type PdfActionJavaScript struct{*PdfAction ;JS _ce .PdfObject ;};const (ButtonTypeCheckbox ButtonType =iota ;ButtonTypePush ButtonType =iota ;ButtonTypeRadio ButtonType =iota ;);func (_fdbaa *Image )samplesAddPadding (_adecb []uint32 )[]uint32 {_dgde :=_age .BytesPerLine (int (_fdbaa .Width ),int (_fdbaa .BitsPerComponent ),_fdbaa .ColorComponents )*(8/int (_fdbaa .BitsPerComponent ));_fgcde :=_dgde *int (_fdbaa .Height );if len (_adecb )==_fgcde {return _adecb ;};_cbdag :=make ([]uint32 ,_fgcde );_ddgd :=int (_fdbaa .Width )*_fdbaa .ColorComponents ;for _abff :=0;_abff < int (_fdbaa .Height );_abff ++{_aebf :=_abff *int (_fdbaa .Width );_dfbb :=_abff *_dgde ;for _bdce :=0;_bdce < _ddgd ;_bdce ++{_cbdag [_dfbb +_bdce ]=_adecb [_aebf +_bdce ];};};return _cbdag ;};
|
||
|
||
// HasFontByName checks whether a font is defined by the specified keyName.
|
||
func (_dacge *PdfPageResources )HasFontByName (keyName _ce .PdfObjectName )bool {_ ,_ggcfa :=_dacge .GetFontByName (keyName );return _ggcfa ;};
|
||
|
||
// Clear clears flag fl from the flag and returns the resulting flag.
|
||
func (_gfec FieldFlag )Clear (fl FieldFlag )FieldFlag {return FieldFlag (_gfec .Mask ()&^fl .Mask ())};func _bdfd (_dcae *PdfAnnotation )(*XObjectForm ,*PdfRectangle ,error ){_dgad ,_dfcf :=_ce .GetDict (_dcae .AP );if !_dfcf {return nil ,nil ,_gd .New ("f\u0069\u0065\u006c\u0064\u0020\u006di\u0073\u0073\u0069\u006e\u0067\u0020\u0041\u0050\u0020d\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079");};if _dgad ==nil {return nil ,nil ,nil ;};_afdbc ,_dfcf :=_ce .GetArray (_dcae .Rect );if !_dfcf ||_afdbc .Len ()!=4{return nil ,nil ,_gd .New ("\u0072\u0065\u0063t\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_gagb ,_fbcca :=NewPdfRectangle (*_afdbc );if _fbcca !=nil {return nil ,nil ,_fbcca ;};_ddaa :=_ce .TraceToDirectObject (_dgad .Get ("\u004e"));switch _gggb :=_ddaa .(type ){case *_ce .PdfObjectStream :_ffcd :=_gggb ;_gagad ,_bead :=NewXObjectFormFromStream (_ffcd );return _gagad ,_gagb ,_bead ;case *_ce .PdfObjectDictionary :_adbeg :=_gggb ;_adfcc ,_abdac :=_ce .GetName (_dcae .AS );if !_abdac {return nil ,nil ,nil ;};if _adbeg .Get (*_adfcc )==nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0041\u0053\u0020\u0073\u0074\u0061\u0074\u0065\u0020\u006e\u006f\u0074 \u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u0020\u0069\u006e\u0020\u0041\u0050\u0020\u0064\u0069\u0063\u0074\u0020\u002d\u0020\u0069\u0067\u006e\u006f\u0072\u0069\u006eg");return nil ,nil ,nil ;};_dfba ,_abdac :=_ce .GetStream (_adbeg .Get (*_adfcc ));if !_abdac {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0055n\u0061\u0062\u006ce \u0074\u006f\u0020\u0061\u0063\u0063e\u0073\u0073\u0020\u0061\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u0066\u006f\u0072 \u0025\u0076",_adfcc );return nil ,nil ,_gd .New ("\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};_ffbc ,_eefc :=NewXObjectFormFromStream (_dfba );return _ffbc ,_gagb ,_eefc ;};_ebg .Log .Debug ("\u0049\u006e\u0076\u0061li\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066\u006f\u0072\u0020\u004e\u003a\u0020%\u0054",_ddaa );return nil ,nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_afgfe pdfCIDFontType2 )Encoder ()_cce .TextEncoder {return _afgfe ._egbdd };
|
||
|
||
// DefaultFont returns the default font, which is currently the built in Helvetica.
|
||
func DefaultFont ()*PdfFont {_eeebe ,_deaf :=_cc .NewStdFontByName (HelveticaName );if !_deaf {panic ("\u0048\u0065lv\u0065\u0074\u0069c\u0061\u0020\u0073\u0068oul\u0064 a\u006c\u0077\u0061\u0079\u0073\u0020\u0062e \u0061\u0076\u0061\u0069\u006c\u0061\u0062l\u0065");};_dfda :=_fgfg (_eeebe );return &PdfFont {_decac :&_dfda };};func (_bae *PdfReader )newPdfAnnotationInkFromDict (_fag *_ce .PdfObjectDictionary )(*PdfAnnotationInk ,error ){_adef :=PdfAnnotationInk {};_ddga ,_gge :=_bae .newPdfAnnotationMarkupFromDict (_fag );if _gge !=nil {return nil ,_gge ;};_adef .PdfAnnotationMarkup =_ddga ;_adef .InkList =_fag .Get ("\u0049n\u006b\u004c\u0069\u0073\u0074");_adef .BS =_fag .Get ("\u0042\u0053");return &_adef ,nil ;};
|
||
|
||
// NewPdfActionImportData returns a new "import data" action.
|
||
func NewPdfActionImportData ()*PdfActionImportData {_faa :=NewPdfAction ();_bbad :=&PdfActionImportData {};_bbad .PdfAction =_faa ;_faa .SetContext (_bbad );return _bbad ;};
|
||
|
||
// ImageToRGB converts image in CalGray color space to RGB (A, B, C -> X, Y, Z).
|
||
func (_bbed *PdfColorspaceCalGray )ImageToRGB (img Image )(Image ,error ){_baacf :=_ac .NewReader (img .getBase ());_bdgc :=_age .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_dfdb :=_ac .NewWriter (_bdgc );_cdce :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_ecfe :=make ([]uint32 ,3);var (_dbea uint32 ;ANorm ,X ,Y ,Z ,_dacg ,_fbadb ,_cbgda float64 ;_edff error ;);for {_dbea ,_edff =_baacf .ReadSample ();if _edff ==_cg .EOF {break ;}else if _edff !=nil {return img ,_edff ;};ANorm =float64 (_dbea )/_cdce ;X =_bbed .WhitePoint [0]*_ag .Pow (ANorm ,_bbed .Gamma );Y =_bbed .WhitePoint [1]*_ag .Pow (ANorm ,_bbed .Gamma );Z =_bbed .WhitePoint [2]*_ag .Pow (ANorm ,_bbed .Gamma );_dacg =3.240479*X +-1.537150*Y +-0.498535*Z ;_fbadb =-0.969256*X +1.875992*Y +0.041556*Z ;_cbgda =0.055648*X +-0.204043*Y +1.057311*Z ;_dacg =_ag .Min (_ag .Max (_dacg ,0),1.0);_fbadb =_ag .Min (_ag .Max (_fbadb ,0),1.0);_cbgda =_ag .Min (_ag .Max (_cbgda ,0),1.0);_ecfe [0]=uint32 (_dacg *_cdce );_ecfe [1]=uint32 (_fbadb *_cdce );_ecfe [2]=uint32 (_cbgda *_cdce );if _edff =_dfdb .WriteSamples (_ecfe );_edff !=nil {return img ,_edff ;};};return _efeaf (&_bdgc ),nil ;};
|
||
|
||
// FontDescriptor returns font's PdfFontDescriptor. This may be a builtin descriptor for standard 14
|
||
// fonts but must be an explicit descriptor for other fonts.
|
||
func (_cffb *PdfFont )FontDescriptor ()*PdfFontDescriptor {if _cffb .baseFields ()._adae !=nil {return _cffb .baseFields ()._adae ;};if _fdddc :=_cffb ._decac .getFontDescriptor ();_fdddc !=nil {return _fdddc ;};_ebg .Log .Error ("\u0041\u006cl \u0066\u006f\u006et\u0073\u0020\u0068\u0061ve \u0061 D\u0065\u0073\u0063\u0072\u0069\u0070\u0074or\u002e\u0020\u0066\u006f\u006e\u0074\u003d%\u0073",_cffb );return nil ;};
|
||
|
||
// String returns a string representation of what flags are set.
|
||
func (_ecfa FieldFlag )String ()string {_dcac :="";if _ecfa ==FieldFlagClear {_dcac ="\u0043\u006c\u0065a\u0072";return _dcac ;};if _ecfa &FieldFlagReadOnly > 0{_dcac +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _ecfa &FieldFlagRequired > 0{_dcac +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _ecfa &FieldFlagNoExport > 0{_dcac +="\u007cN\u006f\u0045\u0078\u0070\u006f\u0072t";};if _ecfa &FieldFlagNoToggleToOff > 0{_dcac +="\u007c\u004e\u006f\u0054\u006f\u0067\u0067\u006c\u0065T\u006f\u004f\u0066\u0066";};if _ecfa &FieldFlagRadio > 0{_dcac +="\u007c\u0052\u0061\u0064\u0069\u006f";};if _ecfa &FieldFlagPushbutton > 0{_dcac +="|\u0050\u0075\u0073\u0068\u0062\u0075\u0074\u0074\u006f\u006e";};if _ecfa &FieldFlagRadiosInUnision > 0{_dcac +="\u007c\u0052a\u0064\u0069\u006fs\u0049\u006e\u0055\u006e\u0069\u0073\u0069\u006f\u006e";};if _ecfa &FieldFlagMultiline > 0{_dcac +="\u007c\u004d\u0075\u006c\u0074\u0069\u006c\u0069\u006e\u0065";};if _ecfa &FieldFlagPassword > 0{_dcac +="\u007cP\u0061\u0073\u0073\u0077\u006f\u0072d";};if _ecfa &FieldFlagFileSelect > 0{_dcac +="|\u0046\u0069\u006c\u0065\u0053\u0065\u006c\u0065\u0063\u0074";};if _ecfa &FieldFlagDoNotScroll > 0{_dcac +="\u007c\u0044\u006fN\u006f\u0074\u0053\u0063\u0072\u006f\u006c\u006c";};if _ecfa &FieldFlagComb > 0{_dcac +="\u007c\u0043\u006fm\u0062";};if _ecfa &FieldFlagRichText > 0{_dcac +="\u007cR\u0069\u0063\u0068\u0054\u0065\u0078t";};if _ecfa &FieldFlagDoNotSpellCheck > 0{_dcac +="\u007c\u0044o\u004e\u006f\u0074S\u0070\u0065\u006c\u006c\u0043\u0068\u0065\u0063\u006b";};if _ecfa &FieldFlagCombo > 0{_dcac +="\u007c\u0043\u006f\u006d\u0062\u006f";};if _ecfa &FieldFlagEdit > 0{_dcac +="\u007c\u0045\u0064i\u0074";};if _ecfa &FieldFlagSort > 0{_dcac +="\u007c\u0053\u006fr\u0074";};if _ecfa &FieldFlagMultiSelect > 0{_dcac +="\u007c\u004d\u0075l\u0074\u0069\u0053\u0065\u006c\u0065\u0063\u0074";};if _ecfa &FieldFlagCommitOnSelChange > 0{_dcac +="\u007cC\u006fm\u006d\u0069\u0074\u004f\u006eS\u0065\u006cC\u0068\u0061\u006e\u0067\u0065";};return _aga .Trim (_dcac ,"\u007c");};var (CourierName =_cc .CourierName ;CourierBoldName =_cc .CourierBoldName ;CourierObliqueName =_cc .CourierObliqueName ;CourierBoldObliqueName =_cc .CourierBoldObliqueName ;HelveticaName =_cc .HelveticaName ;HelveticaBoldName =_cc .HelveticaBoldName ;HelveticaObliqueName =_cc .HelveticaObliqueName ;HelveticaBoldObliqueName =_cc .HelveticaBoldObliqueName ;SymbolName =_cc .SymbolName ;ZapfDingbatsName =_cc .ZapfDingbatsName ;TimesRomanName =_cc .TimesRomanName ;TimesBoldName =_cc .TimesBoldName ;TimesItalicName =_cc .TimesItalicName ;TimesBoldItalicName =_cc .TimesBoldItalicName ;);
|
||
|
||
// GetColorspaceByName returns the colorspace with the specified name from the page resources.
|
||
func (_dccb *PdfPageResources )GetColorspaceByName (keyName _ce .PdfObjectName )(PdfColorspace ,bool ){_afcca ,_caed :=_dccb .GetColorspaces ();if _caed !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0072\u0061\u0063\u0065: \u0025\u0076",_caed );return nil ,false ;};if _afcca ==nil {return nil ,false ;};_gfccf ,_fafga :=_afcca .Colorspaces [string (keyName )];if !_fafga {return nil ,false ;};return _gfccf ,true ;};
|
||
|
||
// ToPdfObject converts date to a PDF string object.
|
||
func (_fgdee *PdfDate )ToPdfObject ()_ce .PdfObject {_adcg :=_c .Sprintf ("\u0044\u003a\u0025\u002e\u0034\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e2\u0064\u0025\u0063\u0025\u002e2\u0064\u0027%\u002e\u0032\u0064\u0027",_fgdee ._ddacdb ,_fgdee ._aegabg ,_fgdee ._bded ,_fgdee ._deefg ,_fgdee ._gbgg ,_fgdee ._eabcf ,_fgdee ._agbae ,_fgdee ._dfgga ,_fgdee ._aabaf );return _ce .MakeString (_adcg );};
|
||
|
||
// SetPdfAuthor sets the Author attribute of the output PDF.
|
||
func SetPdfAuthor (author string ){_beeab =author };
|
||
|
||
// NewPdfAnnotation returns an initialized generic PDF annotation model.
|
||
func NewPdfAnnotation ()*PdfAnnotation {_cggb :=&PdfAnnotation {};_cggb ._bda =_ce .MakeIndirectObject (_ce .MakeDict ());return _cggb ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_fece pdfCIDFontType2 )GetRuneMetrics (r rune )(_cc .CharMetrics ,bool ){_cebgd ,_dbfga :=_fece ._fabd [r ];if !_dbfga {_eaed ,_fefa :=_ce .GetInt (_fece .DW );if !_fefa {return _cc .CharMetrics {},false ;};_cebgd =int (*_eaed );};return _cc .CharMetrics {Wx :float64 (_cebgd )},true ;};
|
||
|
||
// ToGoTime returns the date in time.Time format.
|
||
func (_gacgg PdfDate )ToGoTime ()_a .Time {_bfdff :=int (_gacgg ._dfgga *60*60+_gacgg ._aabaf *60);switch _gacgg ._agbae {case '-':_bfdff =-_bfdff ;case 'Z':_bfdff =0;};_bfcbe :=_c .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_gacgg ._agbae ,_gacgg ._dfgga ,_gacgg ._aabaf );_bfccg :=_a .FixedZone (_bfcbe ,_bfdff );return _a .Date (int (_gacgg ._ddacdb ),_a .Month (_gacgg ._aegabg ),int (_gacgg ._bded ),int (_gacgg ._deefg ),int (_gacgg ._gbgg ),int (_gacgg ._eabcf ),0,_bfccg );};func (_agccc *PdfColorspaceDeviceGray )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079";};
|
||
|
||
// WriteToFile writes the Appender output to file specified by path.
|
||
func (_dbba *PdfAppender )WriteToFile (outputPath string )error {_bbfc ,_dgeg :=_baa .Create (outputPath );if _dgeg !=nil {return _dgeg ;};defer _bbfc .Close ();return _dbba .Write (_bbfc );};
|
||
|
||
// PdfAnnotationProjection represents Projection annotations.
|
||
type PdfAnnotationProjection struct{*PdfAnnotation ;*PdfAnnotationMarkup ;};func _ecffe ()_a .Time {return _ggfac };func (_gagge *PdfWriter )writeBytes (_dggce []byte ){if _gagge ._cegedc !=nil {return ;};_edea ,_agaff :=_gagge ._egeaa .Write (_dggce );_gagge ._agfff +=int64 (_edea );_gagge ._cegedc =_agaff ;};func _edfcg ()_a .Time {return _ebgad };
|
||
|
||
// FieldFlag represents form field flags. Some of the flags can apply to all types of fields whereas other
|
||
// flags are specific.
|
||
type FieldFlag uint32 ;func _facb (_adbcd []byte )[]byte {const _cgba =52845;const _bgeaa =22719;_dcdbf :=55665;for _ ,_gbdf :=range _adbcd [:4]{_dcdbf =(int (_gbdf )+_dcdbf )*_cgba +_bgeaa ;};_dfbda :=make ([]byte ,len (_adbcd )-4);for _geaf ,_dbfbe :=range _adbcd [4:]{_dfbda [_geaf ]=byte (int (_dbfbe )^_dcdbf >>8);_dcdbf =(int (_dbfbe )+_dcdbf )*_cgba +_bgeaa ;};return _dfbda ;};
|
||
|
||
// FieldValueProvider provides field values from a data source such as FDF, JSON or any other.
|
||
type FieldValueProvider interface{FieldValues ()(map[string ]_ce .PdfObject ,error );};func (_adec *PdfReader )newPdfAnnotationCircleFromDict (_aefc *_ce .PdfObjectDictionary )(*PdfAnnotationCircle ,error ){_gaagf :=PdfAnnotationCircle {};_dbdc ,_egge :=_adec .newPdfAnnotationMarkupFromDict (_aefc );if _egge !=nil {return nil ,_egge ;};_gaagf .PdfAnnotationMarkup =_dbdc ;_gaagf .BS =_aefc .Get ("\u0042\u0053");_gaagf .IC =_aefc .Get ("\u0049\u0043");_gaagf .BE =_aefc .Get ("\u0042\u0045");_gaagf .RD =_aefc .Get ("\u0052\u0044");return &_gaagf ,nil ;};
|
||
|
||
// Resample resamples the image data converting from current BitsPerComponent to a target BitsPerComponent
|
||
// value. Sets the image's BitsPerComponent to the target value following resampling.
|
||
//
|
||
// For example, converting an 8-bit RGB image to 1-bit grayscale (common for scanned images):
|
||
// // Convert RGB image to grayscale.
|
||
// rgbColorSpace := pdf.NewPdfColorspaceDeviceRGB()
|
||
// grayImage, err := rgbColorSpace.ImageToGray(rgbImage)
|
||
// if err != nil {
|
||
// return err
|
||
// }
|
||
// // Resample as 1 bit.
|
||
// grayImage.Resample(1)
|
||
func (_cfbfc *Image )Resample (targetBitsPerComponent int64 ){if _cfbfc .BitsPerComponent ==targetBitsPerComponent {return ;};_geagf :=_cfbfc .GetSamples ();if targetBitsPerComponent < _cfbfc .BitsPerComponent {_dbfc :=_cfbfc .BitsPerComponent -targetBitsPerComponent ;for _dddga :=range _geagf {_geagf [_dddga ]>>=uint (_dbfc );};}else if targetBitsPerComponent > _cfbfc .BitsPerComponent {_bacg :=targetBitsPerComponent -_cfbfc .BitsPerComponent ;for _fgdeb :=range _geagf {_geagf [_fgdeb ]<<=uint (_bacg );};};_cfbfc .BitsPerComponent =targetBitsPerComponent ;if _cfbfc .BitsPerComponent < 8{_cfbfc .resampleLowBits (_geagf );return ;};_aaedg :=_age .BytesPerLine (int (_cfbfc .Width ),int (_cfbfc .BitsPerComponent ),_cfbfc .ColorComponents );_beadb :=make ([]byte ,_aaedg *int (_cfbfc .Height ));var (_bgedb ,_gecg ,_fcdg ,_cedec int ;_fbag uint32 ;);for _fcdg =0;_fcdg < int (_cfbfc .Height );_fcdg ++{_bgedb =_fcdg *_aaedg ;_gecg =(_fcdg +1)*_aaedg -1;_gddca :=_ac .ResampleUint32 (_geagf [_bgedb :_gecg ],int (targetBitsPerComponent ),8);for _cedec ,_fbag =range _gddca {_beadb [_cedec +_bgedb ]=byte (_fbag );};};_cfbfc .Data =_beadb ;};
|
||
|
||
// NewPdfColorDeviceGray returns a new grayscale color based on an input grayscale float value in range [0-1].
|
||
func NewPdfColorDeviceGray (grayVal float64 )*PdfColorDeviceGray {_bgeae :=PdfColorDeviceGray (grayVal );return &_bgeae ;};
|
||
|
||
// GetPatternByName gets the pattern specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_feadg *PdfPageResources )GetPatternByName (keyName _ce .PdfObjectName )(*PdfPattern ,bool ){if _feadg .Pattern ==nil {return nil ,false ;};_cbbe ,_ggag :=_ce .TraceToDirectObject (_feadg .Pattern ).(*_ce .PdfObjectDictionary );if !_ggag {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074t\u0065\u0072\u006e\u0020\u0065\u006e\u0074r\u0079\u0020\u002d\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064i\u0063\u0074\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_feadg .Pattern );return nil ,false ;};if _dbgc :=_cbbe .Get (keyName );_dbgc !=nil {_aefca ,_fafc :=_dfgaf (_dbgc );if _fafc !=nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020f\u0061\u0069l\u0065\u0064\u0020\u0074\u006f\u0020\u006c\u006fa\u0064\u0020\u0070\u0064\u0066\u0020\u0070\u0061\u0074\u0074\u0065\u0072n\u003a\u0020\u0025\u0076",_fafc );return nil ,false ;};return _aefca ,true ;};return nil ,false ;};
|
||
|
||
// WriteString outputs the object as it is to be written to file.
|
||
func (_efeee *pdfSignDictionary )WriteString ()string {_efeee ._deeee =0;_efeee ._adee =0;_efeee ._cdcf =0;_efeee ._bbca =0;_cdfaf :=_f .NewBuffer (nil );_cdfaf .WriteString ("\u003c\u003c");for _ ,_dbfd :=range _efeee .Keys (){_ggegb :=_efeee .Get (_dbfd );switch _dbfd {case "\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e":_cdfaf .WriteString (_dbfd .WriteString ());_cdfaf .WriteString ("\u0020");_efeee ._cdcf =_cdfaf .Len ();_cdfaf .WriteString (_ggegb .WriteString ());_cdfaf .WriteString ("\u0020");_efeee ._bbca =_cdfaf .Len ()-1;case "\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073":_cdfaf .WriteString (_dbfd .WriteString ());_cdfaf .WriteString ("\u0020");_efeee ._deeee =_cdfaf .Len ();_cdfaf .WriteString (_ggegb .WriteString ());_cdfaf .WriteString ("\u0020");_efeee ._adee =_cdfaf .Len ()-1;default:_cdfaf .WriteString (_dbfd .WriteString ());_cdfaf .WriteString ("\u0020");_cdfaf .WriteString (_ggegb .WriteString ());};};_cdfaf .WriteString ("\u003e\u003e");return _cdfaf .String ();};
|
||
|
||
// SetFlag sets the flag for the field.
|
||
func (_dead *PdfField )SetFlag (flag FieldFlag ){_dead .Ff =_ce .MakeInteger (int64 (flag ))};
|
||
|
||
// PdfActionSubmitForm represents a submitForm action.
|
||
type PdfActionSubmitForm struct{*PdfAction ;F *PdfFilespec ;Fields _ce .PdfObject ;Flags _ce .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_aafd *PdfColorspaceDeviceRGB )ToPdfObject ()_ce .PdfObject {return _ce .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B");};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cega *PdfBorderStyle )ToPdfObject ()_ce .PdfObject {_aefe :=_ce .MakeDict ();if _cega ._febe !=nil {if _dbbg ,_cgbd :=_cega ._febe .(*_ce .PdfIndirectObject );_cgbd {_dbbg .PdfObject =_aefe ;};};_aefe .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0042\u006f\u0072\u0064\u0065\u0072"));if _cega .W !=nil {_aefe .Set ("\u0057",_ce .MakeFloat (*_cega .W ));};if _cega .S !=nil {_aefe .Set ("\u0053",_ce .MakeName (_cega .S .GetPdfName ()));};if _cega .D !=nil {_aefe .Set ("\u0044",_ce .MakeArrayFromIntegers (*_cega .D ));};if _cega ._febe !=nil {return _cega ._febe ;};return _aefe ;};
|
||
|
||
// PdfAnnotationLine represents Line annotations.
|
||
// (Section 12.5.6.7).
|
||
type PdfAnnotationLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;L _ce .PdfObject ;BS _ce .PdfObject ;LE _ce .PdfObject ;IC _ce .PdfObject ;LL _ce .PdfObject ;LLE _ce .PdfObject ;Cap _ce .PdfObject ;IT _ce .PdfObject ;LLO _ce .PdfObject ;CP _ce .PdfObject ;Measure _ce .PdfObject ;CO _ce .PdfObject ;};func (_eegf fontCommon )fontFlags ()int {if _eegf ._adae ==nil {return 0;};return _eegf ._adae ._fcfce ;};
|
||
|
||
// ColorToRGB only converts color used with uncolored patterns (defined in underlying colorspace). Does not go into the
|
||
// pattern objects and convert those. If that is desired, needs to be done separately. See for example
|
||
// grayscale conversion example in unidoc-examples repo.
|
||
func (_cbf *PdfColorspaceSpecialPattern )ColorToRGB (color PdfColor )(PdfColor ,error ){_dbeae ,_bgdg :=color .(*PdfColorPattern );if !_bgdg {_ebg .Log .Debug ("\u0043\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0070a\u0074\u0074\u0065\u0072\u006e\u0020\u0028\u0067\u006f\u0074 \u0025\u0054\u0029",color );return nil ,ErrTypeCheck ;};if _dbeae .Color ==nil {return color ,nil ;};if _cbf .UnderlyingCS ==nil {return nil ,_gd .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};return _cbf .UnderlyingCS .ColorToRGB (_dbeae .Color );};func (_cde *PdfReader )newPdfAnnotationUnderlineFromDict (_gaf *_ce .PdfObjectDictionary )(*PdfAnnotationUnderline ,error ){_ceba :=PdfAnnotationUnderline {};_cacbc ,_dfc :=_cde .newPdfAnnotationMarkupFromDict (_gaf );if _dfc !=nil {return nil ,_dfc ;};_ceba .PdfAnnotationMarkup =_cacbc ;_ceba .QuadPoints =_gaf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_ceba ,nil ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_dcgg *Outline )Items ()[]*OutlineItem {return _dcgg .Entries };const (RC4_128bit =EncryptionAlgorithm (iota );AES_128bit ;AES_256bit ;);
|
||
|
||
// GetBorderWidth returns the border style's width.
|
||
func (_dda *PdfBorderStyle )GetBorderWidth ()float64 {if _dda .W ==nil {return 1;};return *_dda .W ;};
|
||
|
||
// SetForms sets the Acroform for a PDF file.
|
||
func (_cegcb *PdfWriter )SetForms (form *PdfAcroForm )error {_cegcb ._cebggd =form ;return nil };var _ggfac _a .Time ;func (_degcc *PdfWriter )addObject (_aafeb _ce .PdfObject )bool {_affbe :=_degcc .hasObject (_aafeb );if !_affbe {_feba :=_ce .ResolveReferencesDeep (_aafeb ,_degcc ._eebde );if _feba !=nil {_ebg .Log .Debug ("E\u0052R\u004f\u0052\u003a\u0020\u0025\u0076\u0020\u002d \u0073\u006b\u0069\u0070pi\u006e\u0067",_feba );};_degcc ._agacd =append (_degcc ._agacd ,_aafeb );_degcc ._gdbdce [_aafeb ]=struct{}{};return true ;};return false ;};
|
||
|
||
// SetContext sets the sub annotation (context).
|
||
func (_abde *PdfAnnotation )SetContext (ctx PdfModel ){_abde ._aff =ctx };
|
||
|
||
// DetermineColorspaceNameFromPdfObject determines PDF colorspace from a PdfObject. Returns the colorspace name and
|
||
// an error on failure. If the colorspace was not found, will return an empty string.
|
||
func DetermineColorspaceNameFromPdfObject (obj _ce .PdfObject )(_ce .PdfObjectName ,error ){var _efbdc *_ce .PdfObjectName ;var _gcde *_ce .PdfObjectArray ;if _bccb ,_cged :=obj .(*_ce .PdfIndirectObject );_cged {if _ceeg ,_gbga :=_bccb .PdfObject .(*_ce .PdfObjectArray );_gbga {_gcde =_ceeg ;}else if _ggba ,_ddee :=_bccb .PdfObject .(*_ce .PdfObjectName );_ddee {_efbdc =_ggba ;};}else if _abfec ,_cfgd :=obj .(*_ce .PdfObjectArray );_cfgd {_gcde =_abfec ;}else if _bbbfe ,_fcgd :=obj .(*_ce .PdfObjectName );_fcgd {_efbdc =_bbbfe ;};if _efbdc !=nil {switch *_efbdc {case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079","\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B","\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":return *_efbdc ,nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return *_efbdc ,nil ;};};if _gcde !=nil &&_gcde .Len ()> 0{if _dgdae ,_cffg :=_gcde .Get (0).(*_ce .PdfObjectName );_cffg {switch *_dgdae {case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079","\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B","\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _gcde .Len ()==1{return *_dgdae ,nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079","\u0043\u0061\u006c\u0052\u0047\u0042","\u004c\u0061\u0062":return *_dgdae ,nil ;case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064","\u0050a\u0074\u0074\u0065\u0072\u006e","\u0049n\u0064\u0065\u0078\u0065\u0064":return *_dgdae ,nil ;case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e","\u0044e\u0076\u0069\u0063\u0065\u004e":return *_dgdae ,nil ;};};};return "",nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three PdfObjectFloat elements representing
|
||
// the A, B and C components of the color.
|
||
func (_gfda *PdfColorspaceCalRGB )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbaf ,_daba :=_ce .GetNumbersAsFloat (objects );if _daba !=nil {return nil ,_daba ;};return _gfda .ColorFromFloats (_gbaf );};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_ebdc *PdfColorLab )ToInteger (bits int )[3]uint32 {_fgaa :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_fgaa *_ebdc .L ()),uint32 (_fgaa *_ebdc .A ()),uint32 (_fgaa *_ebdc .B ())};};func (_faacf *PdfReader )resolveReference (_dacfe *_ce .PdfObjectReference )(_ce .PdfObject ,bool ,error ){_efabg ,_gcdg :=_faacf ._dbfe .ObjCache [int (_dacfe .ObjectNumber )];if !_gcdg {_ebg .Log .Trace ("R\u0065\u0061\u0064\u0065r \u004co\u006f\u006b\u0075\u0070\u0020r\u0065\u0066\u003a\u0020\u0025\u0073",_dacfe );_ecgbe ,_beacd :=_faacf ._dbfe .LookupByReference (*_dacfe );if _beacd !=nil {return nil ,false ,_beacd ;};_faacf ._dbfe .ObjCache [int (_dacfe .ObjectNumber )]=_ecgbe ;return _ecgbe ,false ,nil ;};return _efabg ,true ,nil ;};
|
||
|
||
// AddContentStreamByString adds content stream by string. Puts the content
|
||
// string into a stream object and points the content stream towards it.
|
||
func (_ebfabf *PdfPage )AddContentStreamByString (contentStr string )error {_ccbc ,_baggb :=_ce .MakeStream ([]byte (contentStr ),_ce .NewFlateEncoder ());if _baggb !=nil {return _baggb ;};if _ebfabf .Contents ==nil {_ebfabf .Contents =_ccbc ;}else {_dcagbd :=_ce .TraceToDirectObject (_ebfabf .Contents );_geab ,_dbbfc :=_dcagbd .(*_ce .PdfObjectArray );if !_dbbfc {_geab =_ce .MakeArray (_dcagbd );};_geab .Append (_ccbc );_ebfabf .Contents =_geab ;};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fe *PdfActionSubmitForm )ToPdfObject ()_ce .PdfObject {_fe .PdfAction .ToPdfObject ();_aag :=_fe ._bdf ;_gcg :=_aag .PdfObject .(*_ce .PdfObjectDictionary );_gcg .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeSubmitForm )));if _fe .F !=nil {_gcg .Set ("\u0046",_fe .F .ToPdfObject ());};_gcg .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_fe .Fields );_gcg .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_fe .Flags );return _aag ;};func _fegcd (_fdecd _ce .PdfObject ,_cgfe *PdfReader )(*OutlineDest ,error ){_fgee ,_fdfcb :=_ce .GetArray (_fdecd );if !_fdfcb {return nil ,_gd .New ("\u006f\u0075\u0074\u006c\u0069\u006e\u0065 \u0064\u0065\u0073t\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};_dedef :=_fgee .Len ();if _dedef < 2{return nil ,_c .Errorf ("\u0069n\u0076\u0061l\u0069\u0064\u0020\u006fu\u0074\u006c\u0069n\u0065\u0020\u0064\u0065\u0073\u0074\u0069\u006e\u0061ti\u006f\u006e\u0020a\u0072\u0072a\u0079\u0020\u006c\u0065\u006e\u0067t\u0068\u003a \u0025\u0064",_dedef );};_afcde :=&OutlineDest {Mode :"\u0046\u0069\u0074"};_bdea :=_fgee .Get (0);if _adac ,_adgcf :=_ce .GetIndirect (_bdea );_adgcf {if _ ,_gfab ,_fadgb :=_cgfe .PageFromIndirectObject (_adac );_fadgb ==nil {_afcde .Page =int64 (_gfab -1);}else {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064 \u006e\u006f\u0074\u0020g\u0065\u0074\u0020\u0070\u0061\u0067\u0065\u0020\u0069\u006e\u0064\u0065\u0078\u0020\u0066\u006f\u0072\u0020\u0070\u0061\u0067\u0065\u0020\u0025\u002b\u0076",_adac );};_afcde .PageObj =_adac ;}else if _eaegg ,_aaga :=_ce .GetIntVal (_bdea );_aaga {if _eaegg >=0&&_eaegg < len (_cgfe .PageList ){_afcde .PageObj =_cgfe .PageList [_eaegg ].GetPageAsIndirectObject ();}else {_ebg .Log .Debug ("\u0057\u0041R\u004e\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0067\u0065\u0074\u0020\u0070\u0061\u0067\u0065\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0070\u0061\u0067\u0065\u0020\u0025\u0064",_eaegg );};_afcde .Page =int64 (_eaegg );}else {return nil ,_c .Errorf ("\u0069\u006eva\u006c\u0069\u0064 \u006f\u0075\u0074\u006cine\u0020de\u0073\u0074\u0069\u006e\u0061\u0074\u0069on\u0020\u0070\u0061\u0067\u0065\u003a\u0020%\u0054",_bdea );};_aggg ,_fdfcb :=_ce .GetNameVal (_fgee .Get (1));if !_fdfcb {_ebg .Log .Debug ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0020\u0064\u0065s\u0074\u0069\u006e\u0061\u0074\u0069\u006fn\u0020\u006d\u0061\u0067\u006e\u0069\u0066\u0069\u0063\u0061\u0074i\u006f\u006e\u0020\u006d\u006f\u0064\u0065\u003a\u0020\u0025\u0076",_fgee .Get (1));return _afcde ,nil ;};switch _aggg {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":if _dedef > 2{_afcde .Y ,_ =_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_fgee .Get (2)));};case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":if _dedef > 2{_afcde .X ,_ =_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_fgee .Get (2)));};case "\u0058\u0059\u005a":if _dedef > 4{_afcde .X ,_ =_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_fgee .Get (2)));_afcde .Y ,_ =_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_fgee .Get (3)));_afcde .Zoom ,_ =_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_fgee .Get (4)));};default:_aggg ="\u0046\u0069\u0074";};_afcde .Mode =_aggg ;return _afcde ,nil ;};func (_adb *PdfReader )newPdfActionImportDataFromDict (_ddb *_ce .PdfObjectDictionary )(*PdfActionImportData ,error ){_ddgf ,_aef :=_cbc (_ddb .Get ("\u0046"));if _aef !=nil {return nil ,_aef ;};return &PdfActionImportData {F :_ddgf },nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_geeaf *PdfShadingType4 )ToPdfObject ()_ce .PdfObject {_geeaf .PdfShading .ToPdfObject ();_adfgd ,_agbc :=_geeaf .getShadingDict ();if _agbc !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _geeaf .BitsPerCoordinate !=nil {_adfgd .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_geeaf .BitsPerCoordinate );};if _geeaf .BitsPerComponent !=nil {_adfgd .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_geeaf .BitsPerComponent );};if _geeaf .BitsPerFlag !=nil {_adfgd .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_geeaf .BitsPerFlag );};if _geeaf .Decode !=nil {_adfgd .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_geeaf .Decode );};if _geeaf .Function !=nil {if len (_geeaf .Function )==1{_adfgd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_geeaf .Function [0].ToPdfObject ());}else {_cbcgbb :=_ce .MakeArray ();for _ ,_dcaa :=range _geeaf .Function {_cbcgbb .Append (_dcaa .ToPdfObject ());};_adfgd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cbcgbb );};};return _geeaf ._efbab ;};
|
||
|
||
// SetContext set the sub annotation (context).
|
||
func (_cdcac *PdfShading )SetContext (ctx PdfModel ){_cdcac ._aadde =ctx };
|
||
|
||
// GetNumComponents returns the number of color components (3 for RGB).
|
||
func (_abacd *PdfColorDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// PdfField contains the common attributes of a form field. The context object contains the specific field data
|
||
// which can represent a button, text, choice or signature.
|
||
// The PdfField is typically not used directly, but is encapsulated by the more specific field types such as
|
||
// PdfFieldButton etc (i.e. the context attribute).
|
||
type PdfField struct{_eedcb PdfModel ;_gfeec *_ce .PdfIndirectObject ;_fdbf *bool ;Parent *PdfField ;Annotations []*PdfAnnotationWidget ;Kids []*PdfField ;FT *_ce .PdfObjectName ;T *_ce .PdfObjectString ;TU *_ce .PdfObjectString ;TM *_ce .PdfObjectString ;Ff *_ce .PdfObjectInteger ;V _ce .PdfObject ;DV _ce .PdfObject ;AA _ce .PdfObject ;};func _bfddf (_adefa *_ce .PdfObjectStream )(*PdfFunctionType0 ,error ){_bcagd :=&PdfFunctionType0 {};_bcagd ._dbfgb =_adefa ;_cabd :=_adefa .PdfObjectDictionary ;_eaeeg ,_fgebb :=_ce .TraceToDirectObject (_cabd .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_ce .PdfObjectArray );if !_fgebb {_ebg .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if _eaeeg .Len ()< 0||_eaeeg .Len ()%2!=0{_ebg .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_gd .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_bcagd .NumInputs =_eaeeg .Len ()/2;_cdeb ,_agef :=_eaeeg .ToFloat64Array ();if _agef !=nil {return nil ,_agef ;};_bcagd .Domain =_cdeb ;_eaeeg ,_fgebb =_ce .TraceToDirectObject (_cabd .Get ("\u0052\u0061\u006eg\u0065")).(*_ce .PdfObjectArray );if !_fgebb {_ebg .Log .Error ("\u0052\u0061\u006e\u0067e \u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if _eaeeg .Len ()< 0||_eaeeg .Len ()%2!=0{return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_bcagd .NumOutputs =_eaeeg .Len ()/2;_babf ,_agef :=_eaeeg .ToFloat64Array ();if _agef !=nil {return nil ,_agef ;};_bcagd .Range =_babf ;_eaeeg ,_fgebb =_ce .TraceToDirectObject (_cabd .Get ("\u0053\u0069\u007a\u0065")).(*_ce .PdfObjectArray );if !_fgebb {_ebg .Log .Error ("\u0053i\u007ae\u0020\u006e\u006f\u0074\u0020s\u0070\u0065c\u0069\u0066\u0069\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};_ddcge ,_agef :=_eaeeg .ToIntegerArray ();if _agef !=nil {return nil ,_agef ;};if len (_ddcge )!=_bcagd .NumInputs {_ebg .Log .Error ("T\u0061\u0062\u006c\u0065\u0020\u0073\u0069\u007a\u0065\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063h\u0069\u006e\u0067\u0020\u006e\u0075\u006d\u0062\u0065\u0072 o\u0066\u0020\u0069n\u0070u\u0074\u0073");return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcagd .Size =_ddcge ;_fggga ,_fgebb :=_ce .TraceToDirectObject (_cabd .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065")).(*_ce .PdfObjectInteger );if !_fgebb {_ebg .Log .Error ("B\u0069\u0074\u0073\u0050\u0065\u0072S\u0061\u006d\u0070\u006c\u0065\u0020\u006e\u006f\u0074 \u0073\u0070\u0065c\u0069f\u0069\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if *_fggga !=1&&*_fggga !=2&&*_fggga !=4&&*_fggga !=8&&*_fggga !=12&&*_fggga !=16&&*_fggga !=24&&*_fggga !=32{_ebg .Log .Error ("\u0042\u0069\u0074s \u0070\u0065\u0072\u0020\u0073\u0061\u006d\u0070\u006ce\u0020o\u0075t\u0073i\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0028\u0025\u0064\u0029",*_fggga );return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcagd .BitsPerSample =int (*_fggga );_bcagd .Order =1;_dcgd ,_fgebb :=_ce .TraceToDirectObject (_cabd .Get ("\u004f\u0072\u0064e\u0072")).(*_ce .PdfObjectInteger );if _fgebb {if *_dcgd !=1&&*_dcgd !=3{_ebg .Log .Error ("\u0049n\u0076a\u006c\u0069\u0064\u0020\u006fr\u0064\u0065r\u0020\u0028\u0025\u0064\u0029",*_dcgd );return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcagd .Order =int (*_dcgd );};_eaeeg ,_fgebb =_ce .TraceToDirectObject (_cabd .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_ce .PdfObjectArray );if _fgebb {_dedb ,_gdfb :=_eaeeg .ToFloat64Array ();if _gdfb !=nil {return nil ,_gdfb ;};_bcagd .Encode =_dedb ;};_eaeeg ,_fgebb =_ce .TraceToDirectObject (_cabd .Get ("\u0044\u0065\u0063\u006f\u0064\u0065")).(*_ce .PdfObjectArray );if _fgebb {_gdcbfd ,_ceged :=_eaeeg .ToFloat64Array ();if _ceged !=nil {return nil ,_ceged ;};_bcagd .Decode =_gdcbfd ;};_egeef ,_agef :=_ce .DecodeStream (_adefa );if _agef !=nil {return nil ,_agef ;};_bcagd ._abaa =_egeef ;return _bcagd ,nil ;};
|
||
|
||
// SetPageLabels sets the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_ecdega *PdfWriter )SetPageLabels (pageLabels _ce .PdfObject )error {if pageLabels ==nil {return nil ;};_ebg .Log .Trace ("\u0053\u0065t\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006cs.\u002e\u002e");_ecdega ._ddaae .Set ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073",pageLabels );return _ecdega .addObjects (pageLabels );};
|
||
|
||
// AddExtGState adds a graphics state to the XObject resources.
|
||
func (_fcbeb *PdfPage )AddExtGState (name _ce .PdfObjectName ,egs *_ce .PdfObjectDictionary )error {if _fcbeb .Resources ==nil {_fcbeb .Resources =NewPdfPageResources ();};if _fcbeb .Resources .ExtGState ==nil {_fcbeb .Resources .ExtGState =_ce .MakeDict ();};_gcdff ,_egdbf :=_ce .TraceToDirectObject (_fcbeb .Resources .ExtGState ).(*_ce .PdfObjectDictionary );if !_egdbf {_ebg .Log .Debug ("\u0045\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0045\u0078t\u0047\u0053\u0074\u0061\u0074\u0065\u0020\u0064i\u0063t\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u003a\u0020\u0025\u0076",_ce .TraceToDirectObject (_fcbeb .Resources .ExtGState ));return _gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gcdff .Set (name ,egs );return nil ;};func (_cdca *PdfAppender )mergeResources (_dcag ,_cfbc _ce .PdfObject ,_bafg map[_ce .PdfObjectName ]_ce .PdfObjectName )_ce .PdfObject {if _cfbc ==nil &&_dcag ==nil {return nil ;};if _cfbc ==nil {return _dcag ;};_gdc ,_edbd :=_ce .GetDict (_cfbc );if !_edbd {return _dcag ;};if _dcag ==nil {_aegag :=_ce .MakeDict ();_aegag .Merge (_gdc );return _cfbc ;};_efbc ,_edbd :=_ce .GetDict (_dcag );if !_edbd {_ebg .Log .Error ("\u0045\u0072\u0072or\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063\u0065 \u0069s\u0020n\u006ft\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");_efbc =_ce .MakeDict ();};for _ ,_ggda :=range _gdc .Keys (){if _eeab ,_dcece :=_bafg [_ggda ];_dcece {_efbc .Set (_eeab ,_gdc .Get (_ggda ));}else {_efbc .Set (_ggda ,_gdc .Get (_ggda ));};};return _efbc ;};
|
||
|
||
// GetOptimizer returns current PDF optimizer.
|
||
func (_ddadf *PdfWriter )GetOptimizer ()Optimizer {return _ddadf ._dccdc };
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (4 for cmyk).
|
||
func (_gffg *PdfColorspaceDeviceCMYK )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=4{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ggf ,_cbac :=_ce .GetNumbersAsFloat (objects );if _cbac !=nil {return nil ,_cbac ;};return _gffg .ColorFromFloats (_ggf );};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_adcd *PdfColorspaceSpecialSeparation )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ggdf :=vals [0];_eggfb :=[]float64 {_ggdf };_gcbb ,_bdgd :=_adcd .TintTransform .Evaluate (_eggfb );if _bdgd !=nil {_ebg .Log .Debug ("\u0045\u0072r\u006f\u0072\u002c\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u0020\u0074\u006f\u0020\u0065\u0076\u0061\u006c\u0075\u0061\u0074\u0065: \u0025\u0076",_bdgd );_ebg .Log .Trace ("\u0054\u0069\u006e\u0074 t\u0072\u0061\u006e\u0073\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_adcd .TintTransform );return nil ,_bdgd ;};_ebg .Log .Trace ("\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0069\u006e\u0067\u0020\u0043\u006f\u006c\u006fr\u0046\u0072\u006f\u006d\u0046\u006c\u006f\u0061\u0074\u0073\u0028\u0025\u002bv\u0029\u0020\u006f\u006e\u0020\u0041\u006c\u0074\u0065\u0072\u006e\u0061te\u0053\u0070\u0061\u0063\u0065\u003a\u0020\u0025\u0023\u0076",_gcbb ,_adcd .AlternateSpace );_egeff ,_bdgd :=_adcd .AlternateSpace .ColorFromFloats (_gcbb );if _bdgd !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u002c\u0020\u0066a\u0069\u006c\u0065d \u0074\u006f\u0020\u0065\u0076\u0061l\u0075\u0061\u0074\u0065\u0020\u0069\u006e\u0020\u0061\u006c\u0074\u0065\u0072\u006e\u0061t\u0065\u0020\u0073\u0070\u0061\u0063\u0065\u003a \u0025\u0076",_bdgd );return nil ,_bdgd ;};return _egeff ,nil ;};
|
||
|
||
// GetPageLabels returns the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_gebc *PdfReader )GetPageLabels ()(_ce .PdfObject ,error ){_ccfecd :=_ce .ResolveReference (_gebc ._gaadd .Get ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073"));if _ccfecd ==nil {return nil ,nil ;};if !_gebc ._ebegg {_dfafb :=_gebc .traverseObjectData (_ccfecd );if _dfafb !=nil {return nil ,_dfafb ;};};return _ccfecd ,nil ;};func (_fabfd *PdfPattern )getDict ()*_ce .PdfObjectDictionary {if _bagca ,_cagf :=_fabfd ._efabe .(*_ce .PdfIndirectObject );_cagf {_egdd ,_eddef :=_bagca .PdfObject .(*_ce .PdfObjectDictionary );if !_eddef {return nil ;};return _egdd ;}else if _faeea ,_gbgff :=_fabfd ._efabe .(*_ce .PdfObjectStream );_gbgff {return _faeea .PdfObjectDictionary ;}else {_ebg .Log .Debug ("\u0054r\u0079\u0069\u006e\u0067\u0020\u0074\u006f a\u0063\u0063\u0065\u0073\u0073\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020d\u0069\u0063t\u0069\u006f\u006ea\u0072\u0079\u0020\u006f\u0066\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0062j\u0065\u0063t \u0074\u0079\u0070e\u0020\u0028\u0025\u0054\u0029",_fabfd ._efabe );return nil ;};};func _gedc (_daad _ce .PdfObject )(*_ce .PdfObjectDictionary ,*fontCommon ,error ){_bcef :=&fontCommon {};if _agga ,_fddde :=_daad .(*_ce .PdfIndirectObject );_fddde {_bcef ._cfae =_agga .ObjectNumber ;};_dfbf ,_cfedb :=_ce .GetDict (_daad );if !_cfedb {_ebg .Log .Debug ("\u0045\u0052\u0052O\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0067\u0069\u0076\u0065\u006e\u0020\u0062\u0079\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006fn\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_daad );return nil ,nil ,ErrFontNotSupported ;};_gfgc ,_cfedb :=_ce .GetNameVal (_dfbf .Get ("\u0054\u0079\u0070\u0065"));if !_cfedb {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0046o\u006e\u0074\u0020\u0049\u006ec\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u002e\u0020\u0054\u0079\u0070\u0065\u0020\u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,nil ,ErrRequiredAttributeMissing ;};if _gfgc !="\u0046\u006f\u006e\u0074"{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0046\u006f\u006e\u0074\u0020\u0049\u006e\u0063\u006f\u006d\u0070\u0061t\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u002e\u0020\u0054\u0079\u0070\u0065\u003d\u0025\u0071\u002e\u0020\u0053\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0025\u0071.",_gfgc ,"\u0046\u006f\u006e\u0074");return nil ,nil ,_ce .ErrTypeError ;};_fdgbf ,_cfedb :=_ce .GetNameVal (_dfbf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_cfedb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020F\u006f\u006e\u0074 \u0049\u006e\u0063o\u006d\u0070a\u0074\u0069\u0062\u0069\u006c\u0069t\u0079. \u0053\u0075\u0062\u0074\u0079\u0070\u0065\u0020\u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,nil ,ErrRequiredAttributeMissing ;};_bcef ._dbbag =_fdgbf ;_bgfdg ,_cfedb :=_ce .GetNameVal (_dfbf .Get ("\u004e\u0061\u006d\u0065"));if _cfedb {_bcef ._effed =_bgfdg ;};if _fdgbf =="\u0054\u0079\u0070e\u0033"{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0054\u0079\u0070\u0065\u0020\u0033\u0020\u0066\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0073u\u0070\u0070\u006f\u0072\u0074e\u0064\u002e \u0064\u003d\u0025\u0073",_dfbf );return _dfbf ,_bcef ,ErrType3FontNotSupported ;};_gefe ,_cfedb :=_ce .GetNameVal (_dfbf .Get ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074"));if !_cfedb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0046\u006f\u006et\u0020\u0049\u006ec\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069t\u0079\u002e\u0020\u0042\u0061se\u0046\u006f\u006e\u0074\u0020\u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return _dfbf ,_bcef ,ErrRequiredAttributeMissing ;};_bcef ._agcagf =_gefe ;_gefg :=_dfbf .Get ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072");if _gefg !=nil {_egfg ,_efbe :=_cdcg (_gefg );if _efbe !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0042\u0061\u0064\u0020\u0066\u006f\u006et\u0020d\u0065s\u0063r\u0069\u0070\u0074\u006f\u0072\u002e\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_efbe );return _dfbf ,_bcef ,_efbe ;};_bcef ._adae =_egfg ;};_ebagc :=_dfbf .Get ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e");if _ebagc !=nil {_bcef ._gbcf =_ce .TraceToDirectObject (_ebagc );_dgcag ,_dbab :=_eafc (_bcef ._gbcf ,_bcef );if _dbab !=nil {return _dfbf ,_bcef ,_dbab ;};_bcef ._fefb =_dgcag ;}else if _fdgbf =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"||_fdgbf =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_fdfd ,_dfbcdg :=_fa .NewCIDSystemInfo (_dfbf .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if _dfbcdg !=nil {return _dfbf ,_bcef ,_dfbcdg ;};_eedgf :=_c .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0055\u0043\u0053\u0032",_fdfd .Registry ,_fdfd .Ordering );if _fa .IsPredefinedCMap (_eedgf ){_bcef ._fefb ,_dfbcdg =_fa .LoadPredefinedCMap (_eedgf );if _dfbcdg !=nil {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020\u0063o\u0075\u006c\u0064 \u006e\u006f\u0074\u0020l\u006f\u0061\u0064\u0020\u0070\u0072\u0065\u0064\u0065\u0066\u0069\u006e\u0065\u0064\u0020\u0043\u004d\u0061\u0070\u0020\u0025\u0073\u003a\u0020\u0025\u0076",_eedgf ,_dfbcdg );};};};return _dfbf ,_bcef ,nil ;};
|
||
|
||
// NewPdfActionMovie returns a new "movie" action.
|
||
func NewPdfActionMovie ()*PdfActionMovie {_bbd :=NewPdfAction ();_bde :=&PdfActionMovie {};_bde .PdfAction =_bbd ;_bbd .SetContext (_bde );return _bde ;};
|
||
|
||
// Fill populates `form` with values provided by `provider`.
|
||
func (_aebdg *PdfAcroForm )Fill (provider FieldValueProvider )error {return _aebdg .fill (provider ,nil )};func (_cccfb *PdfReader )buildOutlineTree (_eegfa _ce .PdfObject ,_eecfc *PdfOutlineTreeNode ,_eaff *PdfOutlineTreeNode ,_deebe map[_ce .PdfObject ]struct{})(*PdfOutlineTreeNode ,*PdfOutlineTreeNode ,error ){if _deebe ==nil {_deebe =map[_ce .PdfObject ]struct{}{};};_deebe [_eegfa ]=struct{}{};_dbacb ,_eefeb :=_eegfa .(*_ce .PdfIndirectObject );if !_eefeb {return nil ,nil ,_c .Errorf ("\u006f\u0075\u0074\u006c\u0069\u006e\u0065 \u0063\u006f\u006et\u0061\u0069\u006e\u0065r\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0025\u0054",_eegfa );};_ccbcee ,_ffaf :=_dbacb .PdfObject .(*_ce .PdfObjectDictionary );if !_ffaf {return nil ,nil ,_gd .New ("\u006e\u006f\u0074 a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_ebg .Log .Trace ("\u0062\u0075\u0069\u006c\u0064\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065 \u0074\u0072\u0065\u0065\u003a\u0020d\u0069\u0063\u0074\u003a\u0020\u0025\u0076\u0020\u0028\u0025\u0076\u0029\u0020p\u003a\u0020\u0025\u0070",_ccbcee ,_dbacb ,_dbacb );if _bgee :=_ccbcee .Get ("\u0054\u0069\u0074l\u0065");_bgee !=nil {_afgfb ,_cdbaf :=_cccfb .newPdfOutlineItemFromIndirectObject (_dbacb );if _cdbaf !=nil {return nil ,nil ,_cdbaf ;};_afgfb .Parent =_eecfc ;_afgfb .Prev =_eaff ;_gafg :=_ce .ResolveReference (_ccbcee .Get ("\u0046\u0069\u0072s\u0074"));if _ ,_bbbbd :=_deebe [_gafg ];_gafg !=nil &&_gafg !=_dbacb &&!_bbbbd {if !_ce .IsNullObject (_gafg ){_caabb ,_dgfg ,_bgacbb :=_cccfb .buildOutlineTree (_gafg ,&_afgfb .PdfOutlineTreeNode ,nil ,_deebe );if _bgacbb !=nil {_ebg .Log .Debug ("D\u0045\u0042U\u0047\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0062\u0075\u0069\u006c\u0064\u0020\u006fu\u0074\u006c\u0069\u006e\u0065\u0020\u0069\u0074\u0065\u006d\u0020\u0074\u0072\u0065\u0065\u003a \u0025\u0076\u002e\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u0020n\u006f\u0064\u0065\u0020\u0063\u0068\u0069\u006c\u0064\u0072\u0065n\u002e",_bgacbb );}else {_afgfb .First =_caabb ;_afgfb .Last =_dgfg ;};};};_dcde :=_ce .ResolveReference (_ccbcee .Get ("\u004e\u0065\u0078\u0074"));if _ ,_eabae :=_deebe [_dcde ];_dcde !=nil &&_dcde !=_dbacb &&!_eabae {if !_ce .IsNullObject (_dcde ){_afbfe ,_ebffc ,_gddf :=_cccfb .buildOutlineTree (_dcde ,_eecfc ,&_afgfb .PdfOutlineTreeNode ,_deebe );if _gddf !=nil {_ebg .Log .Debug ("D\u0045\u0042U\u0047\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020\u0062\u0075\u0069\u006c\u0064\u0020\u006fu\u0074\u006c\u0069\u006e\u0065\u0020\u0074\u0072\u0065\u0065\u0020\u0066\u006f\u0072\u0020\u004ee\u0078\u0074\u0020\u006e\u006f\u0064\u0065\u003a\u0020\u0025\u0076\u002e\u0020S\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u0020\u006e\u006f\u0064e\u002e",_gddf );}else {_afgfb .Next =_afbfe ;return &_afgfb .PdfOutlineTreeNode ,_ebffc ,nil ;};};};return &_afgfb .PdfOutlineTreeNode ,&_afgfb .PdfOutlineTreeNode ,nil ;};_gfcd ,_gdga :=_cacgd (_dbacb );if _gdga !=nil {return nil ,nil ,_gdga ;};_gfcd .Parent =_eecfc ;if _cfcbc :=_ccbcee .Get ("\u0046\u0069\u0072s\u0074");_cfcbc !=nil {_cfcbc =_ce .ResolveReference (_cfcbc );_eeaec :=_ce .TraceToDirectObject (_cfcbc );if _ ,_gcegc :=_eeaec .(*_ce .PdfObjectNull );!_gcegc &&_eeaec !=nil {_dgcab ,_aeddc ,_afgdc :=_cccfb .buildOutlineTree (_cfcbc ,&_gfcd .PdfOutlineTreeNode ,nil ,_deebe );if _afgdc !=nil {_ebg .Log .Debug ("\u0044\u0045\u0042\u0055\u0047\u003a\u0020\u0063\u006f\u0075\u006c\u0064\u0020\u006e\u006f\u0074\u0020b\u0075\u0069\u006c\u0064\u0020\u006f\u0075\u0074\u006c\u0069n\u0065\u0020\u0074\u0072\u0065\u0065\u003a\u0020\u0025\u0076\u002e\u0020\u0053\u006b\u0069\u0070\u0070\u0069n\u0067\u0020\u006e\u006f\u0064\u0065 \u0063\u0068i\u006c\u0064r\u0065n\u002e",_afgdc );}else {_gfcd .First =_dgcab ;_gfcd .Last =_aeddc ;};};};return &_gfcd .PdfOutlineTreeNode ,&_gfcd .PdfOutlineTreeNode ,nil ;};
|
||
|
||
// PdfShadingPattern is a Shading patterns that provide a smooth transition between colors across an area to be painted,
|
||
// i.e. color(x,y) = f(x,y) at each point.
|
||
// It is a type 2 pattern (PatternType = 2).
|
||
type PdfShadingPattern struct{*PdfPattern ;Shading *PdfShading ;Matrix *_ce .PdfObjectArray ;ExtGState _ce .PdfObject ;};
|
||
|
||
// NewPdfColorLab returns a new Lab color.
|
||
func NewPdfColorLab (l ,a ,b float64 )*PdfColorLab {_eabea :=PdfColorLab {l ,a ,b };return &_eabea };func (_bfde *PdfReader )newPdfAnnotationProjectionFromDict (_bag *_ce .PdfObjectDictionary )(*PdfAnnotationProjection ,error ){_def :=&PdfAnnotationProjection {};_bgdf ,_ccef :=_bfde .newPdfAnnotationMarkupFromDict (_bag );if _ccef !=nil {return nil ,_ccef ;};_def .PdfAnnotationMarkup =_bgdf ;return _def ,nil ;};
|
||
|
||
// GetContext returns the context of the outline tree node, which is either a
|
||
// *PdfOutline or a *PdfOutlineItem. The method returns nil for uninitialized
|
||
// tree nodes.
|
||
func (_gaaee *PdfOutlineTreeNode )GetContext ()PdfModel {if _cade ,_bdbe :=_gaaee ._edggc .(*PdfOutline );_bdbe {return _cade ;};if _fagef ,_dabb :=_gaaee ._edggc .(*PdfOutlineItem );_dabb {return _fagef ;};_ebg .Log .Debug ("\u0045\u0052RO\u0052\u0020\u0049n\u0076\u0061\u006c\u0069d o\u0075tl\u0069\u006e\u0065\u0020\u0074\u0072\u0065e \u006e\u006f\u0064\u0065\u0020\u0069\u0074e\u006d");return nil ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_adda pdfFontType0 )GetRuneMetrics (r rune )(_cc .CharMetrics ,bool ){if _adda .DescendantFont ==nil {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u004e\u006f\u0020\u0064\u0065\u0073\u0063\u0065\u006e\u0064\u0061\u006e\u0074\u002e\u0020\u0066\u006f\u006et=\u0025\u0073",_adda );return _cc .CharMetrics {},false ;};return _adda .DescendantFont .GetRuneMetrics (r );};
|
||
|
||
// CharcodesToUnicodeWithStats is identical to CharcodesToUnicode except it returns more statistical
|
||
// information about hits and misses from the reverse mapping process.
|
||
// NOTE: The number of runes returned may be greater than the number of charcodes.
|
||
// TODO(peterwilliams97): Deprecate in v4 and use only CharcodesToStrings()
|
||
func (_ccbe *PdfFont )CharcodesToUnicodeWithStats (charcodes []_cce .CharCode )(_dffe []rune ,_ggdeaf ,_ecfaf int ){_daebb ,_ggdeaf ,_ecfaf :=_ccbe .CharcodesToStrings (charcodes );return []rune (_aga .Join (_daebb ,"")),_ggdeaf ,_ecfaf ;};
|
||
|
||
// NewPdfReader returns a new PdfReader for an input io.ReadSeeker interface. Can be used to read PDF from
|
||
// memory or file. Immediately loads and traverses the PDF structure including pages and page contents (if
|
||
// not encrypted). Loads entire document structure into memory.
|
||
// Alternatively a lazy-loading reader can be created with NewPdfReaderLazy which loads only references,
|
||
// and references are loaded from disk into memory on an as-needed basis.
|
||
func NewPdfReader (rs _cg .ReadSeeker )(*PdfReader ,error ){_fgfa :=&PdfReader {_dafg :rs ,_acfdf :map[_ce .PdfObject ]struct{}{},_cbdfb :_accg (),_ebegg :false };_ebdf ,_bfdad :=_ce .NewParser (rs );if _bfdad !=nil {return nil ,_bfdad ;};_fgfa ._dbfe =_ebdf ;_fbdaa ,_bfdad :=_fgfa .IsEncrypted ();if _bfdad !=nil {return nil ,_bfdad ;};if !_fbdaa {_bfdad =_fgfa .loadStructure ();if _bfdad !=nil {return nil ,_bfdad ;};};return _fgfa ,nil ;};
|
||
|
||
// PdfAnnotationPopup represents Popup annotations.
|
||
// (Section 12.5.6.14).
|
||
type PdfAnnotationPopup struct{*PdfAnnotation ;Parent _ce .PdfObject ;Open _ce .PdfObject ;};
|
||
|
||
// DecodeArray returns the range of color component values in CalGray colorspace.
|
||
func (_gdcb *PdfColorspaceCalGray )DecodeArray ()[]float64 {return []float64 {0.0,1.0}};func _dedd (_dccf []byte )bool {if len (_dccf )< 4{return true ;};for _edcc :=range _dccf [:4]{_caaf :=rune (_edcc );if !_ee .Is (_ee .ASCII_Hex_Digit ,_caaf )&&!_ee .IsSpace (_caaf ){return true ;};};return false ;};
|
||
|
||
// XObjectImage (Table 89 in 8.9.5.1).
|
||
// Implements PdfModel interface.
|
||
type XObjectImage struct{
|
||
|
||
//ColorSpace PdfObject
|
||
Width *int64 ;Height *int64 ;ColorSpace PdfColorspace ;BitsPerComponent *int64 ;Filter _ce .StreamEncoder ;Intent _ce .PdfObject ;ImageMask _ce .PdfObject ;Mask _ce .PdfObject ;Matte _ce .PdfObject ;Decode _ce .PdfObject ;Interpolate _ce .PdfObject ;Alternatives _ce .PdfObject ;SMask _ce .PdfObject ;SMaskInData _ce .PdfObject ;Name _ce .PdfObject ;StructParent _ce .PdfObject ;ID _ce .PdfObject ;OPI _ce .PdfObject ;Metadata _ce .PdfObject ;OC _ce .PdfObject ;Stream []byte ;_gfag *_ce .PdfObjectStream ;};
|
||
|
||
// SetPdfProducer sets the Producer attribute of the output PDF.
|
||
func SetPdfProducer (producer string ){_gdaaef =producer };func _cadgg (_gaega *_ce .PdfObjectDictionary )(*PdfTilingPattern ,error ){_aegca :=&PdfTilingPattern {};_fffe :=_gaega .Get ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e");if _fffe ==nil {_ebg .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054\u0079\u0070\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_baee ,_bbage :=_fffe .(*_ce .PdfObjectInteger );if !_bbage {_ebg .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054y\u0070\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074e\u0067\u0065\u0072\u0020\u0028\u0067\u006ft\u0020\u0025\u0054\u0029",_fffe );return nil ,_ce .ErrTypeError ;};_aegca .PaintType =_baee ;_fffe =_gaega .Get ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _fffe ==nil {_ebg .Log .Debug ("\u0054i\u006ci\u006e\u0067\u0054\u0079\u0070e\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_bgcba ,_bbage :=_fffe .(*_ce .PdfObjectInteger );if !_bbage {_ebg .Log .Debug ("\u0054\u0069\u006cin\u0067\u0054\u0079\u0070\u0065\u0020\u006e\u006f\u0074 \u0061n\u0020i\u006et\u0065\u0067\u0065\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_fffe );return nil ,_ce .ErrTypeError ;};_aegca .TilingType =_bgcba ;_fffe =_gaega .Get ("\u0042\u0042\u006f\u0078");if _fffe ==nil {_ebg .Log .Debug ("\u0042\u0042\u006fx\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_fffe =_ce .TraceToDirectObject (_fffe );_dgdad ,_bbage :=_fffe .(*_ce .PdfObjectArray );if !_bbage {_ebg .Log .Debug ("\u0042B\u006f\u0078 \u0073\u0068\u006fu\u006c\u0064\u0020\u0062\u0065\u0020\u0073p\u0065\u0063\u0069\u0066\u0069\u0065d\u0020\u0062\u0079\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061y\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_fffe );return nil ,_ce .ErrTypeError ;};_cdcbf ,_bbadda :=NewPdfRectangle (*_dgdad );if _bbadda !=nil {_ebg .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_bbadda );return nil ,_bbadda ;};_aegca .BBox =_cdcbf ;_fffe =_gaega .Get ("\u0058\u0053\u0074e\u0070");if _fffe ==nil {_ebg .Log .Debug ("\u0058\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_egac ,_bbadda :=_ce .GetNumberAsFloat (_fffe );if _bbadda !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0058S\u0074e\u0070\u0020\u0061\u0073\u0020\u0066\u006c\u006f\u0061\u0074\u003a\u0020\u0025\u0076",_egac );return nil ,_bbadda ;};_aegca .XStep =_ce .MakeFloat (_egac );_fffe =_gaega .Get ("\u0059\u0053\u0074e\u0070");if _fffe ==nil {_ebg .Log .Debug ("\u0059\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_fegac ,_bbadda :=_ce .GetNumberAsFloat (_fffe );if _bbadda !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0067\u0065\u0074\u0074\u0069\u006e\u0067\u0020\u0059S\u0074e\u0070\u0020\u0061\u0073\u0020\u0066\u006c\u006f\u0061\u0074\u003a\u0020\u0025\u0076",_fegac );return nil ,_bbadda ;};_aegca .YStep =_ce .MakeFloat (_fegac );_fffe =_gaega .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");if _fffe ==nil {_ebg .Log .Debug ("\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gaega ,_bbage =_ce .TraceToDirectObject (_fffe ).(*_ce .PdfObjectDictionary );if !_bbage {return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063e\u0020d\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_fffe );};_dffbc ,_bbadda :=NewPdfPageResourcesFromDict (_gaega );if _bbadda !=nil {return nil ,_bbadda ;};_aegca .Resources =_dffbc ;if _afff :=_gaega .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_afff !=nil {_fgcdd ,_egecb :=_afff .(*_ce .PdfObjectArray );if !_egecb {_ebg .Log .Debug ("\u004d\u0061\u0074\u0072i\u0078\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072a\u0079\u0020\u0028\u0067\u006f\u0074\u0020%\u0054\u0029",_afff );return nil ,_ce .ErrTypeError ;};_aegca .Matrix =_fgcdd ;};return _aegca ,nil ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_dafe *PdfColorCalGray )ToInteger (bits int )uint32 {_fbd :=_ag .Pow (2,float64 (bits ))-1;return uint32 (_fbd *_dafe .Val ());};func (_ecad *PdfReader )newPdfAnnotationPolyLineFromDict (_gceg *_ce .PdfObjectDictionary )(*PdfAnnotationPolyLine ,error ){_ecdb :=PdfAnnotationPolyLine {};_egef ,_gced :=_ecad .newPdfAnnotationMarkupFromDict (_gceg );if _gced !=nil {return nil ,_gced ;};_ecdb .PdfAnnotationMarkup =_egef ;_ecdb .Vertices =_gceg .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_ecdb .LE =_gceg .Get ("\u004c\u0045");_ecdb .BS =_gceg .Get ("\u0042\u0053");_ecdb .IC =_gceg .Get ("\u0049\u0043");_ecdb .BE =_gceg .Get ("\u0042\u0045");_ecdb .IT =_gceg .Get ("\u0049\u0054");_ecdb .Measure =_gceg .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_ecdb ,nil ;};
|
||
|
||
// Add appends a top level outline item to the outline.
|
||
func (_dggca *Outline )Add (item *OutlineItem ){_dggca .Entries =append (_dggca .Entries ,item )};
|
||
|
||
// ToPdfObject returns the PDF representation of the tiling pattern.
|
||
func (_dafcc *PdfTilingPattern )ToPdfObject ()_ce .PdfObject {_dafcc .PdfPattern .ToPdfObject ();_bfbd :=_dafcc .getDict ();if _dafcc .PaintType !=nil {_bfbd .Set ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e",_dafcc .PaintType );};if _dafcc .TilingType !=nil {_bfbd .Set ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_dafcc .TilingType );};if _dafcc .BBox !=nil {_bfbd .Set ("\u0042\u0042\u006f\u0078",_dafcc .BBox .ToPdfObject ());};if _dafcc .XStep !=nil {_bfbd .Set ("\u0058\u0053\u0074e\u0070",_dafcc .XStep );};if _dafcc .YStep !=nil {_bfbd .Set ("\u0059\u0053\u0074e\u0070",_dafcc .YStep );};if _dafcc .Resources !=nil {_bfbd .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_dafcc .Resources .ToPdfObject ());};if _dafcc .Matrix !=nil {_bfbd .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_dafcc .Matrix );};return _dafcc ._efabe ;};var _ _ce .PdfObject =&pdfSignDictionary {};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_efgc *PdfAnnotationLine )ToPdfObject ()_ce .PdfObject {_efgc .PdfAnnotation .ToPdfObject ();_cad :=_efgc ._bda ;_fgbgb :=_cad .PdfObject .(*_ce .PdfObjectDictionary );_efgc .PdfAnnotationMarkup .appendToPdfDictionary (_fgbgb );_fgbgb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u004c\u0069\u006e\u0065"));_fgbgb .SetIfNotNil ("\u004c",_efgc .L );_fgbgb .SetIfNotNil ("\u0042\u0053",_efgc .BS );_fgbgb .SetIfNotNil ("\u004c\u0045",_efgc .LE );_fgbgb .SetIfNotNil ("\u0049\u0043",_efgc .IC );_fgbgb .SetIfNotNil ("\u004c\u004c",_efgc .LL );_fgbgb .SetIfNotNil ("\u004c\u004c\u0045",_efgc .LLE );_fgbgb .SetIfNotNil ("\u0043\u0061\u0070",_efgc .Cap );_fgbgb .SetIfNotNil ("\u0049\u0054",_efgc .IT );_fgbgb .SetIfNotNil ("\u004c\u004c\u004f",_efgc .LLO );_fgbgb .SetIfNotNil ("\u0043\u0050",_efgc .CP );_fgbgb .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_efgc .Measure );_fgbgb .SetIfNotNil ("\u0043\u004f",_efgc .CO );return _cad ;};const (XObjectTypeUndefined XObjectType =iota ;XObjectTypeImage ;XObjectTypeForm ;XObjectTypePS ;XObjectTypeUnknown ;);func _ccfg (_ced _ce .PdfObject )(*PdfColorspaceCalRGB ,error ){_eabc :=NewPdfColorspaceCalRGB ();if _fca ,_dfdgd :=_ced .(*_ce .PdfIndirectObject );_dfdgd {_eabc ._gcbc =_fca ;};_ced =_ce .TraceToDirectObject (_ced );_bcea ,_fddac :=_ced .(*_ce .PdfObjectArray );if !_fddac {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bcea .Len ()!=2{return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_ced =_ce .TraceToDirectObject (_bcea .Get (0));_dbag ,_fddac :=_ced .(*_ce .PdfObjectName );if !_fddac {return nil ,_c .Errorf ("\u0043\u0061l\u0052\u0047\u0042\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062je\u0063\u0074");};if *_dbag !="\u0043\u0061\u006c\u0052\u0047\u0042"{return nil ,_c .Errorf ("\u006e\u006f\u0074 a\u0020\u0043\u0061\u006c\u0052\u0047\u0042\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_ced =_ce .TraceToDirectObject (_bcea .Get (1));_ccae ,_fddac :=_ced .(*_ce .PdfObjectDictionary );if !_fddac {return nil ,_c .Errorf ("\u0043\u0061l\u0052\u0047\u0042\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062je\u0063\u0074");};_ced =_ccae .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_ced =_ce .TraceToDirectObject (_ced );_abcd ,_fddac :=_ced .(*_ce .PdfObjectArray );if !_fddac {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050o\u0069\u006e\u0074");};if _abcd .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u0057h\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074\u0020\u0061\u0072\u0072\u0061\u0079");};_eecec ,_ffda :=_abcd .GetAsFloat64Slice ();if _ffda !=nil {return nil ,_ffda ;};_eabc .WhitePoint =_eecec ;_ced =_ccae .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _ced !=nil {_ced =_ce .TraceToDirectObject (_ced );_eccf ,_cdec :=_ced .(*_ce .PdfObjectArray );if !_cdec {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050o\u0069\u006e\u0074");};if _eccf .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u0042l\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074\u0020\u0061\u0072\u0072\u0061\u0079");};_cgede ,_bbfeg :=_eccf .GetAsFloat64Slice ();if _bbfeg !=nil {return nil ,_bbfeg ;};_eabc .BlackPoint =_cgede ;};_ced =_ccae .Get ("\u0047\u0061\u006dm\u0061");if _ced !=nil {_ced =_ce .TraceToDirectObject (_ced );_cbed ,_fbbd :=_ced .(*_ce .PdfObjectArray );if !_fbbd {return nil ,_c .Errorf ("C\u0061\u006c\u0052\u0047B:\u0020I\u006e\u0076\u0061\u006c\u0069d\u0020\u0047\u0061\u006d\u006d\u0061");};if _cbed .Len ()!=3{return nil ,_c .Errorf ("C\u0061\u006c\u0052\u0047\u0042\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0047a\u006d\u006d\u0061 \u0061r\u0072\u0061\u0079");};_gbdbg ,_eaca :=_cbed .GetAsFloat64Slice ();if _eaca !=nil {return nil ,_eaca ;};_eabc .Gamma =_gbdbg ;};_ced =_ccae .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");if _ced !=nil {_ced =_ce .TraceToDirectObject (_ced );_ddad ,_abec :=_ced .(*_ce .PdfObjectArray );if !_abec {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052GB\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004d\u0061\u0074\u0072i\u0078");};if _ddad .Len ()!=9{_ebg .Log .Error ("\u004d\u0061t\u0072\u0069\u0078 \u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0073",_ddad .String ());return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052G\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u004da\u0074\u0072\u0069\u0078\u0020\u0061\u0072r\u0061\u0079");};_deda ,_gddg :=_ddad .GetAsFloat64Slice ();if _gddg !=nil {return nil ,_gddg ;};_eabc .Matrix =_deda ;};return _eabc ,nil ;};
|
||
|
||
// Height returns the height of `rect`.
|
||
func (_fbfbe *PdfRectangle )Height ()float64 {return _ag .Abs (_fbfbe .Ury -_fbfbe .Lly )};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fcbe *PdfAnnotationScreen )ToPdfObject ()_ce .PdfObject {_fcbe .PdfAnnotation .ToPdfObject ();_adbe :=_fcbe ._bda ;_fbcb :=_adbe .PdfObject .(*_ce .PdfObjectDictionary );_fbcb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053\u0063\u0072\u0065\u0065\u006e"));_fbcb .SetIfNotNil ("\u0054",_fcbe .T );_fbcb .SetIfNotNil ("\u004d\u004b",_fcbe .MK );_fbcb .SetIfNotNil ("\u0041",_fcbe .A );_fbcb .SetIfNotNil ("\u0041\u0041",_fcbe .AA );return _adbe ;};
|
||
|
||
// CheckAccessRights checks access rights and permissions for a specified password. If either user/owner
|
||
// password is specified, full rights are granted, otherwise the access rights are specified by the
|
||
// Permissions flag.
|
||
//
|
||
// The bool flag indicates that the user can access and view the file.
|
||
// The AccessPermissions shows what access the user has for editing etc.
|
||
// An error is returned if there was a problem performing the authentication.
|
||
func (_ecafb *PdfReader )CheckAccessRights (password []byte )(bool ,_ab .Permissions ,error ){return _ecafb ._dbfe .CheckAccessRights (password );};func (_egbb *PdfReader )newPdfActionSetOCGStateFromDict (_dbb *_ce .PdfObjectDictionary )(*PdfActionSetOCGState ,error ){return &PdfActionSetOCGState {State :_dbb .Get ("\u0053\u0074\u0061t\u0065"),PreserveRB :_dbb .Get ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042")},nil ;};
|
||
|
||
// NewPdfActionResetForm returns a new "reset form" action.
|
||
func NewPdfActionResetForm ()*PdfActionResetForm {_gc :=NewPdfAction ();_eae :=&PdfActionResetForm {};_eae .PdfAction =_gc ;_gc .SetContext (_eae );return _eae ;};
|
||
|
||
// PdfAcroForm represents the AcroForm dictionary used for representation of form data in PDF.
|
||
type PdfAcroForm struct{Fields *[]*PdfField ;NeedAppearances *_ce .PdfObjectBool ;SigFlags *_ce .PdfObjectInteger ;CO *_ce .PdfObjectArray ;DR *PdfPageResources ;DA *_ce .PdfObjectString ;Q *_ce .PdfObjectInteger ;XFA _ce .PdfObject ;_adfcd *_ce .PdfIndirectObject ;};func _edddda (_aefae _ce .PdfObject )(PdfFunction ,error ){_aefae =_ce .ResolveReference (_aefae );if _cbef ,_baabf :=_aefae .(*_ce .PdfObjectStream );_baabf {_eafa :=_cbef .PdfObjectDictionary ;_dgedc ,_fbfbf :=_eafa .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_ce .PdfObjectInteger );if !_fbfbf {_ebg .Log .Error ("F\u0075\u006e\u0063\u0074\u0069\u006fn\u0054\u0079\u0070\u0065\u0020\u006e\u0075\u006d\u0062e\u0072\u0020\u006di\u0073s\u0069\u006e\u0067");return nil ,_gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0070\u0061\u0072\u0061\u006d\u0065\u0074e\u0072 \u006f\u0072\u0020\u006d\u0069\u0073\u0073i\u006e\u0067");};if *_dgedc ==0{return _bfddf (_cbef );}else if *_dgedc ==4{return _fecc (_cbef );}else {return nil ,_gd .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _gdaac ,_dcedc :=_aefae .(*_ce .PdfIndirectObject );_dcedc {_effaa ,_aafdg :=_gdaac .PdfObject .(*_ce .PdfObjectDictionary );if !_aafdg {_ebg .Log .Error ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020o\u0062\u006a\u0065\u0063\u0074\u0020\u006eo\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006eg\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");return nil ,_gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0070\u0061\u0072\u0061\u006d\u0065\u0074e\u0072 \u006f\u0072\u0020\u006d\u0069\u0073\u0073i\u006e\u0067");};_geaff ,_aafdg :=_effaa .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_ce .PdfObjectInteger );if !_aafdg {_ebg .Log .Error ("F\u0075\u006e\u0063\u0074\u0069\u006fn\u0054\u0079\u0070\u0065\u0020\u006e\u0075\u006d\u0062e\u0072\u0020\u006di\u0073s\u0069\u006e\u0067");return nil ,_gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0070\u0061\u0072\u0061\u006d\u0065\u0074e\u0072 \u006f\u0072\u0020\u006d\u0069\u0073\u0073i\u006e\u0067");};if *_geaff ==2{return _fabe (_gdaac );}else if *_geaff ==3{return _dcaeb (_gdaac );}else {return nil ,_gd .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _gcbff ,_efgcg :=_aefae .(*_ce .PdfObjectDictionary );_efgcg {_agbab ,_bafab :=_gcbff .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_ce .PdfObjectInteger );if !_bafab {_ebg .Log .Error ("F\u0075\u006e\u0063\u0074\u0069\u006fn\u0054\u0079\u0070\u0065\u0020\u006e\u0075\u006d\u0062e\u0072\u0020\u006di\u0073s\u0069\u006e\u0067");return nil ,_gd .New ("\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0070\u0061\u0072\u0061\u006d\u0065\u0074e\u0072 \u006f\u0072\u0020\u006d\u0069\u0073\u0073i\u006e\u0067");};if *_agbab ==2{return _fabe (_gcbff );}else if *_agbab ==3{return _dcaeb (_gcbff );}else {return nil ,_gd .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else {_ebg .Log .Debug ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0054\u0079\u0070\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0023\u0076",_aefae );return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_dcgag pdfCIDFontType2 )GetCharMetrics (code _cce .CharCode )(_cc .CharMetrics ,bool ){if _cecga ,_eacc :=_dcgag ._ggaa [code ];_eacc {return _cc .CharMetrics {Wx :float64 (_cecga )},true ;};_febfg :=rune (code );_cdgdf ,_ggfa :=_dcgag ._fabd [_febfg ];if !_ggfa {_cdgdf =int (_dcgag ._badc );};return _cc .CharMetrics {Wx :float64 (_cdgdf )},true ;};func _fgfc (_egdb _ce .PdfObject )(*PdfColorspaceDeviceNAttributes ,error ){_edce :=&PdfColorspaceDeviceNAttributes {};var _ffdc *_ce .PdfObjectDictionary ;if _eeabd ,_bdbdd :=_egdb .(*_ce .PdfIndirectObject );_bdbdd {_edce ._gac =_eeabd ;var _gafdb bool ;_ffdc ,_gafdb =_eeabd .PdfObject .(*_ce .PdfObjectDictionary );if !_gafdb {_ebg .Log .Error ("\u0044\u0065\u0076\u0069c\u0065\u004e\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065 \u0074\u0079\u0070\u0065\u0020\u0065\u0072r\u006f\u0072");return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};}else if _abafg ,_eeagb :=_egdb .(*_ce .PdfObjectDictionary );_eeagb {_ffdc =_abafg ;}else {_ebg .Log .Error ("\u0044\u0065\u0076\u0069c\u0065\u004e\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075t\u0065 \u0074\u0079\u0070\u0065\u0020\u0065\u0072r\u006f\u0072");return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cdegc :=_ffdc .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_cdegc !=nil {_dad ,_ccgd :=_ce .TraceToDirectObject (_cdegc ).(*_ce .PdfObjectName );if !_ccgd {_ebg .Log .Error ("\u0044\u0065vi\u0063\u0065\u004e \u0061\u0074\u0074\u0072ibu\u0074e \u0053\u0075\u0062\u0074\u0079\u0070\u0065 t\u0079\u0070\u0065\u0020\u0065\u0072\u0072o\u0072");return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_edce .Subtype =_dad ;};if _egeb :=_ffdc .Get ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s");_egeb !=nil {_edce .Colorants =_egeb ;};if _abfg :=_ffdc .Get ("\u0050r\u006f\u0063\u0065\u0073\u0073");_abfg !=nil {_edce .Process =_abfg ;};if _dgfaf :=_ffdc .Get ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073");_dgfaf !=nil {_edce .MixingHints =_dgfaf ;};return _edce ,nil ;};
|
||
|
||
// NewPdfAnnotationMovie returns a new movie annotation.
|
||
func NewPdfAnnotationMovie ()*PdfAnnotationMovie {_ceg :=NewPdfAnnotation ();_gfb :=&PdfAnnotationMovie {};_gfb .PdfAnnotation =_ceg ;_ceg .SetContext (_gfb );return _gfb ;};func _abeda (_bdfdg string )map[string ]string {_cebdd :=_dbff .Split (_bdfdg ,-1);_agbfc :=map[string ]string {};for _ ,_cgbg :=range _cebdd {_aaed :=_gfdfe .FindStringSubmatch (_cgbg );if _aaed ==nil {continue ;};_gdcbf ,_efaga :=_aaed [1],_aaed [2];_agbfc [_gdcbf ]=_efaga ;};return _agbfc ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceRGB colorspace.
|
||
func (_bfddb *PdfColorspaceDeviceRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// NewReaderForText makes a new PdfReader for an input PDF content string. For use in testing.
|
||
func NewReaderForText (txt string )*PdfReader {return &PdfReader {_acfdf :map[_ce .PdfObject ]struct{}{},_cbdfb :_accg (),_dbfe :_ce .NewParserFromString (txt )};};func (_efafe *PdfAcroForm )fill (_ffbe FieldValueProvider ,_dageb FieldAppearanceGenerator )error {if _efafe ==nil {return nil ;};_edbf ,_acbg :=_ffbe .FieldValues ();if _acbg !=nil {return _acbg ;};for _ ,_dabef :=range _efafe .AllFields (){_bfgd :=_dabef .PartialName ();_cddf ,_bgfgd :=_edbf [_bfgd ];if !_bgfgd {if _dccd ,_fcgbc :=_dabef .FullName ();_fcgbc ==nil {_cddf ,_bgfgd =_edbf [_dccd ];};};if !_bgfgd {_ebg .Log .Debug ("\u0057\u0041\u0052\u004e\u003a\u0020f\u006f\u0072\u006d \u0066\u0069\u0065l\u0064\u0020\u0025\u0073\u0020\u006e\u006f\u0074\u0020\u0066o\u0075\u006e\u0064\u0020\u0069n \u0074\u0068\u0065\u0020\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0072\u002e\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u002e",_bfgd );continue ;};if _ffcge :=_baeca (_dabef ,_cddf );_ffcge !=nil {return _ffcge ;};if _dageb ==nil {continue ;};for _ ,_daafb :=range _dabef .Annotations {_adde ,_gdfgg :=_dageb .GenerateAppearanceDict (_efafe ,_dabef ,_daafb );if _gdfgg !=nil {return _gdfgg ;};_daafb .AP =_adde ;_daafb .ToPdfObject ();};};return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_gcdaf *PdfShadingType1 )ToPdfObject ()_ce .PdfObject {_gcdaf .PdfShading .ToPdfObject ();_gagca ,_acfee :=_gcdaf .getShadingDict ();if _acfee !=nil {_ebg .Log .Error ("\u0055\u006ea\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0063\u0063\u0065\u0073\u0073\u0020\u0073\u0068\u0061\u0064\u0069\u006e\u0067\u0020di\u0063\u0074");return nil ;};if _gcdaf .Domain !=nil {_gagca .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_gcdaf .Domain );};if _gcdaf .Matrix !=nil {_gagca .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_gcdaf .Matrix );};if _gcdaf .Function !=nil {if len (_gcdaf .Function )==1{_gagca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gcdaf .Function [0].ToPdfObject ());}else {_ecdbfe :=_ce .MakeArray ();for _ ,_dagea :=range _gcdaf .Function {_ecdbfe .Append (_dagea .ToPdfObject ());};_gagca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ecdbfe );};};return _gcdaf ._efbab ;};
|
||
|
||
// ToPdfObject converts the font to a PDF representation.
|
||
func (_afca *pdfFontType0 )ToPdfObject ()_ce .PdfObject {if _afca ._caga ==nil {_afca ._caga =&_ce .PdfIndirectObject {};};_fdegf :=_afca .baseFields ().asPdfObjectDictionary ("\u0054\u0079\u0070e\u0030");_afca ._caga .PdfObject =_fdegf ;if _afca .Encoding !=nil {_fdegf .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_afca .Encoding );}else if _afca ._gedcf !=nil {_fdegf .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_afca ._gedcf .ToPdfObject ());};if _afca .DescendantFont !=nil {_fdegf .Set ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073",_ce .MakeArray (_afca .DescendantFont .ToPdfObject ()));};return _afca ._caga ;};func _dgdea ()string {return _babd };func (_cacb *PdfReader )newPdfAnnotationPolygonFromDict (_fbe *_ce .PdfObjectDictionary )(*PdfAnnotationPolygon ,error ){_eddd :=PdfAnnotationPolygon {};_ecgd ,_agg :=_cacb .newPdfAnnotationMarkupFromDict (_fbe );if _agg !=nil {return nil ,_agg ;};_eddd .PdfAnnotationMarkup =_ecgd ;_eddd .Vertices =_fbe .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_eddd .LE =_fbe .Get ("\u004c\u0045");_eddd .BS =_fbe .Get ("\u0042\u0053");_eddd .IC =_fbe .Get ("\u0049\u0043");_eddd .BE =_fbe .Get ("\u0042\u0045");_eddd .IT =_fbe .Get ("\u0049\u0054");_eddd .Measure =_fbe .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_eddd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gae *PdfAnnotationCaret )ToPdfObject ()_ce .PdfObject {_gae .PdfAnnotation .ToPdfObject ();_ggga :=_gae ._bda ;_bfgc :=_ggga .PdfObject .(*_ce .PdfObjectDictionary );_gae .PdfAnnotationMarkup .appendToPdfDictionary (_bfgc );_bfgc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0043\u0061\u0072e\u0074"));_bfgc .SetIfNotNil ("\u0052\u0044",_gae .RD );_bfgc .SetIfNotNil ("\u0053\u0079",_gae .Sy );return _ggga ;};
|
||
|
||
// AddExtGState add External Graphics State (GState). The gsDict can be specified
|
||
// either directly as a dictionary or an indirect object containing a dictionary.
|
||
func (_eddc *PdfPageResources )AddExtGState (gsName _ce .PdfObjectName ,gsDict _ce .PdfObject )error {if _eddc .ExtGState ==nil {_eddc .ExtGState =_ce .MakeDict ();};_egeeb :=_eddc .ExtGState ;_agcfe ,_aedc :=_ce .TraceToDirectObject (_egeeb ).(*_ce .PdfObjectDictionary );if !_aedc {_ebg .Log .Debug ("\u0045\u0078\u0074\u0047\u0053\u0074\u0061\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020e\u0072r\u006f\u0072\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u002f\u0025\u0054\u0029",_egeeb ,_ce .TraceToDirectObject (_egeeb ));return _ce .ErrTypeError ;};_agcfe .Set (gsName ,gsDict );return nil ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_eabaa *PdfOutlineItem )ToPdfObject ()_ce .PdfObject {_affbg :=_eabaa ._cfgdb ;_efbf :=_affbg .PdfObject .(*_ce .PdfObjectDictionary );_efbf .Set ("\u0054\u0069\u0074l\u0065",_eabaa .Title );if _eabaa .A !=nil {_efbf .Set ("\u0041",_eabaa .A );};if _ceaa :=_efbf .Get ("\u0053\u0045");_ceaa !=nil {_efbf .Remove ("\u0053\u0045");};if _eabaa .C !=nil {_efbf .Set ("\u0043",_eabaa .C );};if _eabaa .Dest !=nil {_efbf .Set ("\u0044\u0065\u0073\u0074",_eabaa .Dest );};if _eabaa .F !=nil {_efbf .Set ("\u0046",_eabaa .F );};if _eabaa .Count !=nil {_efbf .Set ("\u0043\u006f\u0075n\u0074",_ce .MakeInteger (*_eabaa .Count ));};if _eabaa .Next !=nil {_efbf .Set ("\u004e\u0065\u0078\u0074",_eabaa .Next .ToPdfObject ());};if _eabaa .First !=nil {_efbf .Set ("\u0046\u0069\u0072s\u0074",_eabaa .First .ToPdfObject ());};if _eabaa .Prev !=nil {_efbf .Set ("\u0050\u0072\u0065\u0076",_eabaa .Prev .GetContext ().GetContainingPdfObject ());};if _eabaa .Last !=nil {_efbf .Set ("\u004c\u0061\u0073\u0074",_eabaa .Last .GetContext ().GetContainingPdfObject ());};if _eabaa .Parent !=nil {_efbf .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_eabaa .Parent .GetContext ().GetContainingPdfObject ());};return _affbg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bec *PdfAnnotationText )ToPdfObject ()_ce .PdfObject {_bec .PdfAnnotation .ToPdfObject ();_ffc :=_bec ._bda ;_cdef :=_ffc .PdfObject .(*_ce .PdfObjectDictionary );if _bec .PdfAnnotationMarkup !=nil {_bec .PdfAnnotationMarkup .appendToPdfDictionary (_cdef );};_cdef .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0054\u0065\u0078\u0074"));_cdef .SetIfNotNil ("\u004f\u0070\u0065\u006e",_bec .Open );_cdef .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bec .Name );_cdef .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_bec .State );_cdef .SetIfNotNil ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c",_bec .StateModel );return _ffc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_faag *PdfActionMovie )ToPdfObject ()_ce .PdfObject {_faag .PdfAction .ToPdfObject ();_aec :=_faag ._bdf ;_dec :=_aec .PdfObject .(*_ce .PdfObjectDictionary );_dec .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeMovie )));_dec .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e",_faag .Annotation );_dec .SetIfNotNil ("\u0054",_faag .T );_dec .SetIfNotNil ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn",_faag .Operation );return _aec ;};
|
||
|
||
// GetTrailer returns the PDF's trailer dictionary.
|
||
func (_cebf *PdfReader )GetTrailer ()(*_ce .PdfObjectDictionary ,error ){_afgg :=_cebf ._dbfe .GetTrailer ();if _afgg ==nil {return nil ,_gd .New ("\u0074r\u0061i\u006c\u0065\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};return _afgg ,nil ;};
|
||
|
||
// NewPdfOutlineItem returns an initialized PdfOutlineItem.
|
||
func NewPdfOutlineItem ()*PdfOutlineItem {_acaa :=&PdfOutlineItem {_cfgdb :_ce .MakeIndirectObject (_ce .MakeDict ())};_acaa ._edggc =_acaa ;return _acaa ;};
|
||
|
||
// PdfColorCalGray represents a CalGray colorspace.
|
||
type PdfColorCalGray float64 ;func (_ffdge *PdfPage )getParentResources ()(*PdfPageResources ,error ){_efddb :=_ffdge .Parent ;for _efddb !=nil {_gaca ,_dbbeb :=_ce .GetDict (_efddb );if !_dbbeb {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u0020n\u006f\u0064\u0065");return nil ,_gd .New ("i\u006e\u0076\u0061\u006cid\u0020p\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};if _aggcbd :=_gaca .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_aggcbd !=nil {_adcb ,_cgddd :=_ce .GetDict (_aggcbd );if !_cgddd {return nil ,_gd .New ("i\u006e\u0076\u0061\u006cid\u0020r\u0065\u0073\u006f\u0075\u0072c\u0065\u0020\u0064\u0069\u0063\u0074");};_cdfae ,_edaa :=NewPdfPageResourcesFromDict (_adcb );if _edaa !=nil {return nil ,_edaa ;};return _cdfae ,nil ;};_efddb =_gaca .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,nil ;};
|
||
|
||
// SetXObjectByName adds the XObject from the passed in stream to the page resources.
|
||
// The added XObject is identified by the specified name.
|
||
func (_bcdb *PdfPageResources )SetXObjectByName (keyName _ce .PdfObjectName ,stream *_ce .PdfObjectStream )error {if _bcdb .XObject ==nil {_bcdb .XObject =_ce .MakeDict ();};_egagc :=_ce .TraceToDirectObject (_bcdb .XObject );_gccab ,_dcacb :=_egagc .(*_ce .PdfObjectDictionary );if !_dcacb {_ebg .Log .Debug ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0058\u004f\u0062j\u0065\u0063\u0074\u002c\u0020\u0067\u006f\u0074\u0020\u0025T\u002f\u0025\u0054",_bcdb .XObject ,_egagc );return _gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gccab .Set (keyName ,stream );return nil ;};
|
||
|
||
// NewPdfAnnotationFileAttachment returns a new file attachment annotation.
|
||
func NewPdfAnnotationFileAttachment ()*PdfAnnotationFileAttachment {_ddd :=NewPdfAnnotation ();_acce :=&PdfAnnotationFileAttachment {};_acce .PdfAnnotation =_ddd ;_acce .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ddd .SetContext (_acce );return _acce ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceCMYK colorspace.
|
||
func (_bdfb *PdfColorspaceDeviceCMYK )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// AddPage adds a page to the PDF file. The new page should be an indirect object.
|
||
func (_ddgfd *PdfWriter )AddPage (page *PdfPage )error {_begee (page );_ddae :=page .ToPdfObject ();_ebg .Log .Trace ("\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d");_ebg .Log .Trace ("\u0041p\u0070\u0065\u006e\u0064i\u006e\u0067\u0020\u0074\u006f \u0070a\u0067e\u0020\u006c\u0069\u0073\u0074\u0020\u0025T",_ddae );_ceebc ,_efabf :=_ce .GetIndirect (_ddae );if !_efabf {return _gd .New ("\u0070\u0061\u0067\u0065\u0020\u0073h\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0061\u006e\u0020\u0069\u006ed\u0069\u0072\u0065\u0063\u0074\u0020\u006fb\u006a\u0065\u0063\u0074");};_ebg .Log .Trace ("\u0025\u0073",_ceebc );_ebg .Log .Trace ("\u0025\u0073",_ceebc .PdfObject );_dbgdb ,_efabf :=_ce .GetDict (_ceebc .PdfObject );if !_efabf {return _gd .New ("\u0070\u0061\u0067e \u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0073\u0068o\u0075l\u0064 \u0062e\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_efgg ,_efabf :=_ce .GetName (_dbgdb .Get ("\u0054\u0079\u0070\u0065"));if !_efabf {return _c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0068\u0061\u0076\u0065\u0020\u0061\u0020\u0054y\u0070\u0065\u0020\u006b\u0065\u0079\u0020\u0077\u0069t\u0068\u0020\u0061\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006f\u0066\u0020t\u0079\u0070\u0065\u0020\u006e\u0061m\u0065\u0020\u0028%\u0054\u0029",_dbgdb .Get ("\u0054\u0079\u0070\u0065"));};if _efgg .String ()!="\u0050\u0061\u0067\u0065"{return _gd .New ("\u0066\u0069e\u006c\u0064\u0020\u0054\u0079\u0070\u0065\u0020\u0021\u003d\u0020\u0050\u0061\u0067\u0065\u0020\u0028\u0052\u0065\u0071\u0075\u0069re\u0064\u0029");};_daadc :=[]_ce .PdfObjectName {"\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s","\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078","\u0043r\u006f\u0070\u0042\u006f\u0078","\u0052\u006f\u0074\u0061\u0074\u0065"};_cafa ,_cedege :=_ce .GetIndirect (_dbgdb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_ebg .Log .Trace ("P\u0061g\u0065\u0020\u0050\u0061\u0072\u0065\u006e\u0074:\u0020\u0025\u0054\u0020(%\u0076\u0029",_dbgdb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"),_cedege );for _cedege {_ebg .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cafa );_gbgee ,_bfbge :=_ce .GetDict (_cafa .PdfObject );if !_bfbge {return _gd .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_aabaa :=range _daadc {_ebg .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_aabaa );if _dbgdb .Get (_aabaa )!=nil {_ebg .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _ceddd :=_gbgee .Get (_aabaa );_ceddd !=nil {_ebg .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_aabaa );_dbgdb .Set (_aabaa ,_ceddd );};};_cafa ,_cedege =_ce .GetIndirect (_gbgee .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_ebg .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_gbgee .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_ebg .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c \u0064\u006f\u006e\u0065");_dbgdb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ddgfd ._eegga );_ceebc .PdfObject =_dbgdb ;_cbcad ,_efabf :=_ce .GetDict (_ddgfd ._eegga .PdfObject );if !_efabf {return _gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0020(\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0029");};_acbf ,_efabf :=_ce .GetArray (_cbcad .Get ("\u004b\u0069\u0064\u0073"));if !_efabf {return _gd .New ("\u0069\u006ev\u0061\u006c\u0069\u0064 \u0050\u0061g\u0065\u0073\u0020\u004b\u0069\u0064\u0073\u0020o\u0062\u006a\u0020\u0028\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061r\u0072\u0061\u0079\u0029");};_acbf .Append (_ceebc );_ddgfd ._dedf [_dbgdb ]=struct{}{};_ffcff ,_efabf :=_ce .GetInt (_cbcad .Get ("\u0043\u006f\u0075n\u0074"));if !_efabf {return _gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064 \u0050\u0061\u0067e\u0073\u0020\u0043\u006fu\u006e\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0028\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0074\u0065\u0067\u0065\u0072\u0029");};*_ffcff =*_ffcff +1;_ddgfd .addObject (_ceebc );_cefega :=_ddgfd .addObjects (_dbgdb );if _cefega !=nil {return _cefega ;};return nil ;};
|
||
|
||
// GetAllContentStreams gets all the content streams for a page as one string.
|
||
func (_bbdbe *PdfPage )GetAllContentStreams ()(string ,error ){_cgbfd ,_dbcgf :=_bbdbe .GetContentStreams ();if _dbcgf !=nil {return "",_dbcgf ;};return _aga .Join (_cgbfd ,"\u0020"),nil ;};func _adfa (_dfb _ce .PdfObject )(*PdfBorderStyle ,error ){_bfbg :=&PdfBorderStyle {};_bfbg ._febe =_dfb ;var _ffce *_ce .PdfObjectDictionary ;_dfb =_ce .TraceToDirectObject (_dfb );_ffce ,_eceb :=_dfb .(*_ce .PdfObjectDictionary );if !_eceb {return nil ,_gd .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};if _dgag :=_ffce .Get ("\u0054\u0079\u0070\u0065");_dgag !=nil {_gbb ,_dggg :=_dgag .(*_ce .PdfObjectName );if !_dggg {_ebg .Log .Debug ("I\u006e\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062i\u006c\u0069\u0074\u0079\u0020\u0077\u0069th\u0020\u0054\u0079\u0070e\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u006e\u0061me\u0020\u006fb\u006a\u0065\u0063\u0074\u003a\u0020\u0025\u0054",_dgag );}else {if *_gbb !="\u0042\u006f\u0072\u0064\u0065\u0072"{_ebg .Log .Debug ("W\u0061\u0072\u006e\u0069\u006e\u0067,\u0020\u0054\u0079\u0070\u0065\u0020\u0021\u003d\u0020B\u006f\u0072\u0064e\u0072:\u0020\u0025\u0073",*_gbb );};};};if _cgdb :=_ffce .Get ("\u0057");_cgdb !=nil {_fgbge ,_ccc :=_ce .GetNumberAsFloat (_cgdb );if _ccc !=nil {_ebg .Log .Debug ("\u0045\u0072\u0072\u006fr \u0072\u0065\u0074\u0072\u0069\u0065\u0076\u0069\u006e\u0067\u0020\u0057\u003a\u0020%\u0076",_ccc );return nil ,_ccc ;};_bfbg .W =&_fgbge ;};if _affed :=_ffce .Get ("\u0053");_affed !=nil {_ffg ,_gffc :=_affed .(*_ce .PdfObjectName );if !_gffc {return nil ,_gd .New ("\u0062\u006f\u0072\u0064\u0065\u0072\u0020\u0053\u0020\u006e\u006ft\u0020\u0061\u0020\u006e\u0061\u006d\u0065\u0020\u006f\u0062j\u0065\u0063\u0074");};var _dgaed BorderStyle ;switch *_ffg {case "\u0053":_dgaed =BorderStyleSolid ;case "\u0044":_dgaed =BorderStyleDashed ;case "\u0042":_dgaed =BorderStyleBeveled ;case "\u0049":_dgaed =BorderStyleInset ;case "\u0055":_dgaed =BorderStyleUnderline ;default:_ebg .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020s\u0074\u0079\u006c\u0065\u0020n\u0061\u006d\u0065\u0020\u0025\u0073",*_ffg );return nil ,_gd .New ("\u0073\u0074\u0079\u006ce \u0074\u0079\u0070\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065c\u006b");};_bfbg .S =&_dgaed ;};if _efgd :=_ffce .Get ("\u0044");_efgd !=nil {_dgbec ,_ccg :=_efgd .(*_ce .PdfObjectArray );if !_ccg {_ebg .Log .Debug ("\u0042\u006f\u0072\u0064\u0065\u0072\u0020\u0044\u0020\u0064a\u0073\u0068\u0020\u006e\u006f\u0074\u0020a\u006e\u0020\u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0054",_efgd );return nil ,_gd .New ("\u0062o\u0072\u0064\u0065\u0072 \u0044\u0020\u0074\u0079\u0070e\u0020c\u0068e\u0063\u006b\u0020\u0065\u0072\u0072\u006fr");};_ecef ,_dge :=_dgbec .ToIntegerArray ();if _dge !=nil {_ebg .Log .Debug ("\u0042\u006f\u0072\u0064\u0065\u0072\u0020\u0044 \u0050\u0072\u006fbl\u0065\u006d\u0020\u0063\u006f\u006ev\u0065\u0072\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0069\u006e\u0074\u0065\u0067e\u0072\u0020\u0061\u0072\u0072\u0061\u0079\u003a \u0025\u0076",_dge );return nil ,_dge ;};_bfbg .D =&_ecef ;};return _bfbg ,nil ;};
|
||
|
||
// PdfAnnotationStrikeOut represents StrikeOut annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationStrikeOut struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _ce .PdfObject ;};func (_ggcfe *pdfFontSimple )baseFields ()*fontCommon {return &_ggcfe .fontCommon };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fgb *PdfActionTrans )ToPdfObject ()_ce .PdfObject {_fgb .PdfAction .ToPdfObject ();_cfc :=_fgb ._bdf ;_cbb :=_cfc .PdfObject .(*_ce .PdfObjectDictionary );_cbb .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeTrans )));_cbb .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_fgb .Trans );return _cfc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fdbg *PdfAnnotationPrinterMark )ToPdfObject ()_ce .PdfObject {_fdbg .PdfAnnotation .ToPdfObject ();_aaeaa :=_fdbg ._bda ;_acgf :=_aaeaa .PdfObject .(*_ce .PdfObjectDictionary );_acgf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b"));_acgf .SetIfNotNil ("\u004d\u004e",_fdbg .MN );return _aaeaa ;};
|
||
|
||
// FieldAppearanceGenerator generates appearance stream for a given field.
|
||
type FieldAppearanceGenerator interface{ContentStreamWrapper ;GenerateAppearanceDict (_defe *PdfAcroForm ,_cfce *PdfField ,_degf *PdfAnnotationWidget )(*_ce .PdfObjectDictionary ,error );};
|
||
|
||
// SetBorderWidth sets the style's border width.
|
||
func (_dcfd *PdfBorderStyle )SetBorderWidth (width float64 ){_dcfd .W =&width };func (_dffee fontCommon )isCIDFont ()bool {if _dffee ._dbbag ==""{_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052:\u0020\u0069\u0073\u0043\u0049\u0044\u0046\u006f\u006e\u0074\u002e\u0020\u0063o\u006e\u0074\u0065\u0078\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c\u002e\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_dffee );};_fbfe :=false ;switch _dffee ._dbbag {case "\u0054\u0079\u0070e\u0030","\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030","\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_fbfe =true ;};_ebg .Log .Trace ("i\u0073\u0043\u0049\u0044\u0046\u006fn\u0074\u003a\u0020\u0069\u0073\u0043\u0049\u0044\u003d%\u0074\u0020\u0066o\u006et\u003d\u0025\u0073",_fbfe ,_dffee );return _fbfe ;};
|
||
|
||
// String returns a string that describes `base`.
|
||
func (_egbcc fontCommon )String ()string {return _c .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0073\u007d",_egbcc .coreString ());};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceGray colorspace.
|
||
func (_bdd *PdfColorspaceDeviceGray )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// NewPdfAnnotationPopup returns a new popup annotation.
|
||
func NewPdfAnnotationPopup ()*PdfAnnotationPopup {_fcebf :=NewPdfAnnotation ();_dbga :=&PdfAnnotationPopup {};_dbga .PdfAnnotation =_fcebf ;_fcebf .SetContext (_dbga );return _dbga ;};func _fabe (_gebg _ce .PdfObject )(*PdfFunctionType2 ,error ){_bedbc :=&PdfFunctionType2 {};var _acae *_ce .PdfObjectDictionary ;if _gebgg ,_debdb :=_gebg .(*_ce .PdfIndirectObject );_debdb {_ccbee ,_ffab :=_gebgg .PdfObject .(*_ce .PdfObjectDictionary );if !_ffab {return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_bedbc ._gfefa =_gebgg ;_acae =_ccbee ;}else if _cagea ,_babg :=_gebg .(*_ce .PdfObjectDictionary );_babg {_acae =_cagea ;}else {return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ebg .Log .Trace ("\u0046U\u004e\u0043\u0032\u003a\u0020\u0025s",_acae .String ());_gedf ,_dgcae :=_ce .TraceToDirectObject (_acae .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_ce .PdfObjectArray );if !_dgcae {_ebg .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if _gedf .Len ()< 0||_gedf .Len ()%2!=0{_ebg .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u0072\u0061\u006e\u0067e\u0020\u0069\u006e\u0076al\u0069\u0064");return nil ,_gd .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_cdff ,_eggb :=_gedf .ToFloat64Array ();if _eggb !=nil {return nil ,_eggb ;};_bedbc .Domain =_cdff ;_gedf ,_dgcae =_ce .TraceToDirectObject (_acae .Get ("\u0052\u0061\u006eg\u0065")).(*_ce .PdfObjectArray );if _dgcae {if _gedf .Len ()< 0||_gedf .Len ()%2!=0{return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_bbcce ,_gfede :=_gedf .ToFloat64Array ();if _gfede !=nil {return nil ,_gfede ;};_bedbc .Range =_bbcce ;};_gedf ,_dgcae =_ce .TraceToDirectObject (_acae .Get ("\u0043\u0030")).(*_ce .PdfObjectArray );if _dgcae {_acdd ,_fabea :=_gedf .ToFloat64Array ();if _fabea !=nil {return nil ,_fabea ;};_bedbc .C0 =_acdd ;};_gedf ,_dgcae =_ce .TraceToDirectObject (_acae .Get ("\u0043\u0031")).(*_ce .PdfObjectArray );if _dgcae {_cbedb ,_gdfba :=_gedf .ToFloat64Array ();if _gdfba !=nil {return nil ,_gdfba ;};_bedbc .C1 =_cbedb ;};if len (_bedbc .C0 )!=len (_bedbc .C1 ){_ebg .Log .Error ("\u0043\u0030\u0020\u0061nd\u0020\u0043\u0031\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0069n\u0067");return nil ,_ce .ErrRangeError ;};N ,_eggb :=_ce .GetNumberAsFloat (_ce .TraceToDirectObject (_acae .Get ("\u004e")));if _eggb !=nil {_ebg .Log .Error ("\u004e\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020o\u0072\u0020\u0069\u006e\u0076\u0061\u006ci\u0064\u002c\u0020\u0064\u0069\u0063\u0074\u003a\u0020\u0025\u0073",_acae .String ());return nil ,_eggb ;};_bedbc .N =N ;return _bedbc ,nil ;};
|
||
|
||
// PdfAnnotationMovie represents Movie annotations.
|
||
// (Section 12.5.6.17).
|
||
type PdfAnnotationMovie struct{*PdfAnnotation ;T _ce .PdfObject ;Movie _ce .PdfObject ;A _ce .PdfObject ;};
|
||
|
||
// CharcodeBytesToUnicode converts PDF character codes `data` to a Go unicode string.
|
||
//
|
||
// 9.10 Extraction of Text Content (page 292)
|
||
// The process of finding glyph descriptions in OpenType fonts by a conforming reader shall be the following:
|
||
// • For Type 1 fonts using “CFF” tables, the process shall be as described in 9.6.6.2, "Encodings
|
||
// for Type 1 Fonts".
|
||
// • For TrueType fonts using “glyf” tables, the process shall be as described in 9.6.6.4,
|
||
// "Encodings for TrueType Fonts". Since this process sometimes produces ambiguous results,
|
||
// conforming writers, instead of using a simple font, shall use a Type 0 font with an Identity-H
|
||
// encoding and use the glyph indices as character codes, as described following Table 118.
|
||
func (_bacdc *PdfFont )CharcodeBytesToUnicode (data []byte )(string ,int ,int ){_agdab ,_ ,_cag :=_bacdc .CharcodesToUnicodeWithStats (_bacdc .BytesToCharcodes (data ));_bgda :=_cce .ExpandLigatures (_agdab );return _bgda ,_gg .RuneCountInString (_bgda ),_cag ;};
|
||
|
||
// DecodeArray returns an empty slice as there are no components associated with pattern colorspace.
|
||
func (_dbbf *PdfColorspaceSpecialPattern )DecodeArray ()[]float64 {return []float64 {}};func _gfadb (_bbaf *fontCommon )*pdfFontType0 {return &pdfFontType0 {fontCommon :*_bbaf }};
|
||
|
||
// UpdateObject marks `obj` as updated and to be included in the following revision.
|
||
func (_aebb *PdfAppender )UpdateObject (obj _ce .PdfObject ){_aebb .replaceObject (obj ,obj );if _ ,_ffed :=_aebb ._adba [obj ];!_ffed {_aebb ._fadd =append (_aebb ._fadd ,obj );_aebb ._adba [obj ]=struct{}{};};};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_badga *PdfOutline )ToPdfObject ()_ce .PdfObject {_badd :=_badga ._cdgg ;_ceda :=_badd .PdfObject .(*_ce .PdfObjectDictionary );_ceda .Set ("\u0054\u0079\u0070\u0065",_ce .MakeName ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"));if _badga .First !=nil {_ceda .Set ("\u0046\u0069\u0072s\u0074",_badga .First .ToPdfObject ());};if _badga .Last !=nil {_ceda .Set ("\u004c\u0061\u0073\u0074",_badga .Last .GetContext ().GetContainingPdfObject ());};if _badga .Parent !=nil {_ceda .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_badga .Parent .GetContext ().GetContainingPdfObject ());};if _badga .Count !=nil {_ceda .Set ("\u0043\u006f\u0075n\u0074",_ce .MakeInteger (*_badga .Count ));};return _badd ;};
|
||
|
||
// GetParamsDict returns *core.PdfObjectDictionary with a set of basic image parameters.
|
||
func (_egdba *Image )GetParamsDict ()*_ce .PdfObjectDictionary {_efafb :=_ce .MakeDict ();_efafb .Set ("\u0057\u0069\u0064t\u0068",_ce .MakeInteger (_egdba .Width ));_efafb .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_ce .MakeInteger (_egdba .Height ));_efafb .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_ce .MakeInteger (int64 (_egdba .ColorComponents )));_efafb .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ce .MakeInteger (_egdba .BitsPerComponent ));return _efafb ;};
|
||
|
||
// GetContainingPdfObject returns the container of the pattern object (indirect object).
|
||
func (_cebed *PdfPattern )GetContainingPdfObject ()_ce .PdfObject {return _cebed ._efabe };
|
||
|
||
// GetOCProperties returns the optional content properties PdfObject.
|
||
func (_cdedg *PdfReader )GetOCProperties ()(_ce .PdfObject ,error ){_cedde :=_cdedg ._gaadd ;_gecbb :=_cedde .Get ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_gecbb =_ce .ResolveReference (_gecbb );if !_cdedg ._ebegg {_fgbec :=_cdedg .traverseObjectData (_gecbb );if _fgbec !=nil {return nil ,_fgbec ;};};return _gecbb ,nil ;};
|
||
|
||
// GetContentStreamWithEncoder returns the pattern cell's content stream and its encoder
|
||
func (_dabdg *PdfTilingPattern )GetContentStreamWithEncoder ()([]byte ,_ce .StreamEncoder ,error ){_caecg ,_gdfcb :=_dabdg ._efabe .(*_ce .PdfObjectStream );if !_gdfcb {_ebg .Log .Debug ("\u0054\u0069l\u0069\u006e\u0067\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0028\u0067\u006f\u0074\u0020\u0025\u0054\u0029",_dabdg ._efabe );return nil ,nil ,_ce .ErrTypeError ;};_fcdd ,_gebbb :=_ce .DecodeStream (_caecg );if _gebbb !=nil {_ebg .Log .Debug ("\u0046\u0061\u0069l\u0065\u0064\u0020\u0064e\u0063\u006f\u0064\u0069\u006e\u0067\u0020s\u0074\u0072\u0065\u0061\u006d\u002c\u0020\u0065\u0072\u0072\u003a\u0020\u0025\u0076",_gebbb );return nil ,nil ,_gebbb ;};_gfggb ,_gebbb :=_ce .NewEncoderFromStream (_caecg );if _gebbb !=nil {_ebg .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020f\u0069\u006e\u0064\u0069\u006e\u0067 \u0064\u0065\u0063\u006f\u0064\u0069\u006eg\u0020\u0065\u006e\u0063\u006f\u0064\u0065\u0072\u003a\u0020%\u0076",_gebbb );return nil ,nil ,_gebbb ;};return _fcdd ,_gfggb ,nil ;};
|
||
|
||
// PdfActionGoTo represents a GoTo action.
|
||
type PdfActionGoTo struct{*PdfAction ;D _ce .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bgb *PdfActionRendition )ToPdfObject ()_ce .PdfObject {_bgb .PdfAction .ToPdfObject ();_dbg :=_bgb ._bdf ;_fcb :=_dbg .PdfObject .(*_ce .PdfObjectDictionary );_fcb .SetIfNotNil ("\u0053",_ce .MakeName (string (ActionTypeRendition )));_fcb .SetIfNotNil ("\u0052",_bgb .R );_fcb .SetIfNotNil ("\u0041\u004e",_bgb .AN );_fcb .SetIfNotNil ("\u004f\u0050",_bgb .OP );_fcb .SetIfNotNil ("\u004a\u0053",_bgb .JS );return _dbg ;};
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
func (_afgab *PdfColorspaceDeviceN )ImageToRGB (img Image )(Image ,error ){_beea :=_ac .NewReader (img .getBase ());_efdd :=_age .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,nil ,img ._fdcac ,img ._cddaa );_agce :=_ac .NewWriter (_efdd );_fbcf :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_fbde :=_afgab .GetNumComponents ();_ecefa :=make ([]uint32 ,_fbde );_gaae :=make ([]float64 ,_fbde );for {_cdb :=_beea .ReadSamples (_ecefa );if _cdb ==_cg .EOF {break ;}else if _cdb !=nil {return img ,_cdb ;};for _adga :=0;_adga < _fbde ;_adga ++{_fbf :=float64 (_ecefa [_adga ])/_fbcf ;_gaae [_adga ]=_fbf ;};_gaeac ,_cdb :=_afgab .TintTransform .Evaluate (_gaae );if _cdb !=nil {return img ,_cdb ;};for _ ,_gbaff :=range _gaeac {_gbaff =_ag .Min (_ag .Max (0,_gbaff ),1.0);if _cdb =_agce .WriteSample (uint32 (_gbaff *_fbcf ));_cdb !=nil {return img ,_cdb ;};};};return _afgab .AlternateSpace .ImageToRGB (_efeaf (&_efdd ));};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_cdda *PdfFunctionType2 )ToPdfObject ()_ce .PdfObject {_agfgc :=_ce .MakeDict ();_agfgc .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_ce .MakeInteger (2));_dccca :=&_ce .PdfObjectArray {};for _ ,_acdae :=range _cdda .Domain {_dccca .Append (_ce .MakeFloat (_acdae ));};_agfgc .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_dccca );if _cdda .Range !=nil {_bfac :=&_ce .PdfObjectArray {};for _ ,_ffcdg :=range _cdda .Range {_bfac .Append (_ce .MakeFloat (_ffcdg ));};_agfgc .Set ("\u0052\u0061\u006eg\u0065",_bfac );};if _cdda .C0 !=nil {_bebgg :=&_ce .PdfObjectArray {};for _ ,_eagd :=range _cdda .C0 {_bebgg .Append (_ce .MakeFloat (_eagd ));};_agfgc .Set ("\u0043\u0030",_bebgg );};if _cdda .C1 !=nil {_bcgf :=&_ce .PdfObjectArray {};for _ ,_cfbcf :=range _cdda .C1 {_bcgf .Append (_ce .MakeFloat (_cfbcf ));};_agfgc .Set ("\u0043\u0031",_bcgf );};_agfgc .Set ("\u004e",_ce .MakeFloat (_cdda .N ));if _cdda ._gfefa !=nil {_cdda ._gfefa .PdfObject =_agfgc ;return _cdda ._gfefa ;};return _agfgc ;};func _cdcg (_abafe _ce .PdfObject )(*PdfFontDescriptor ,error ){_fcac :=&PdfFontDescriptor {};_abafe =_ce .ResolveReference (_abafe );if _ddcg ,_abbcc :=_abafe .(*_ce .PdfIndirectObject );_abbcc {_fcac ._ddbce =_ddcg ;_abafe =_ddcg .PdfObject ;};_cfaeg ,_cdcaa :=_ce .GetDict (_abafe );if !_cdcaa {_ebg .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0046o\u006e\u0074\u0044\u0065\u0073c\u0072\u0069\u0070\u0074\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0067\u0069\u0076\u0065\u006e\u0020\u0062\u0079\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_abafe );return nil ,_ce .ErrTypeError ;};if _gdfc :=_cfaeg .Get ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065");_gdfc !=nil {_fcac .FontName =_gdfc ;}else {_ebg .Log .Debug ("\u0049n\u0063\u006fm\u0070\u0061\u0074\u0069b\u0069\u006c\u0069t\u0079\u003a\u0020\u0046\u006f\u006e\u0074\u004e\u0061me\u0020\u0028\u0052e\u0071\u0075i\u0072\u0065\u0064\u0029\u0020\u006di\u0073\u0073i\u006e\u0067");};_egcfc ,_ :=_ce .GetName (_fcac .FontName );if _ggbab :=_cfaeg .Get ("\u0054\u0079\u0070\u0065");_ggbab !=nil {_ecgfb ,_ecgfe :=_ggbab .(*_ce .PdfObjectName );if !_ecgfe ||string (*_ecgfb )!="\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"{_ebg .Log .Debug ("I\u006e\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006c\u0069\u0074\u0079\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u0064\u0065\u0073\u0063\u0072i\u0070t\u006f\u0072\u0020\u0054y\u0070\u0065 \u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0028\u0025\u0054\u0029\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0071\u0020\u0025\u0054",_ggbab ,_egcfc ,_fcac .FontName );};}else {_ebg .Log .Trace ("\u0049\u006ec\u006f\u006d\u0070\u0061\u0074i\u0062\u0069\u006c\u0069\u0074y\u003a\u0020\u0054\u0079\u0070\u0065\u0020\u0028\u0052\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u002e\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0071\u0020\u0025\u0054",_egcfc ,_fcac .FontName );};_fcac .FontFamily =_cfaeg .Get ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079");_fcac .FontStretch =_cfaeg .Get ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068");_fcac .FontWeight =_cfaeg .Get ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074");_fcac .Flags =_cfaeg .Get ("\u0046\u006c\u0061g\u0073");_fcac .FontBBox =_cfaeg .Get ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078");_fcac .ItalicAngle =_cfaeg .Get ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065");_fcac .Ascent =_cfaeg .Get ("\u0041\u0073\u0063\u0065\u006e\u0074");_fcac .Descent =_cfaeg .Get ("\u0044e\u0073\u0063\u0065\u006e\u0074");_fcac .Leading =_cfaeg .Get ("\u004ce\u0061\u0064\u0069\u006e\u0067");_fcac .CapHeight =_cfaeg .Get ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t");_fcac .XHeight =_cfaeg .Get ("\u0058H\u0065\u0069\u0067\u0068\u0074");_fcac .StemV =_cfaeg .Get ("\u0053\u0074\u0065m\u0056");_fcac .StemH =_cfaeg .Get ("\u0053\u0074\u0065m\u0048");_fcac .AvgWidth =_cfaeg .Get ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068");_fcac .MaxWidth =_cfaeg .Get ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068");_fcac .MissingWidth =_cfaeg .Get ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068");_fcac .FontFile =_cfaeg .Get ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065");_fcac .FontFile2 =_cfaeg .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652");_fcac .FontFile3 =_cfaeg .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653");_fcac .CharSet =_cfaeg .Get ("\u0043h\u0061\u0072\u0053\u0065\u0074");_fcac .Style =_cfaeg .Get ("\u0053\u0074\u0079l\u0065");_fcac .Lang =_cfaeg .Get ("\u004c\u0061\u006e\u0067");_fcac .FD =_cfaeg .Get ("\u0046\u0044");_fcac .CIDSet =_cfaeg .Get ("\u0043\u0049\u0044\u0053\u0065\u0074");if _fcac .Flags !=nil {if _gbece ,_edbg :=_ce .GetIntVal (_fcac .Flags );_edbg {_fcac ._fcfce =_gbece ;};};if _fcac .MissingWidth !=nil {if _ddcd ,_bfeda :=_ce .GetNumberAsFloat (_fcac .MissingWidth );_bfeda ==nil {_fcac ._gcfg =_ddcd ;};};if _fcac .FontFile !=nil {_ccgf ,_aab :=_faeb (_fcac .FontFile );if _aab !=nil {return _fcac ,_aab ;};_ebg .Log .Trace ("f\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u003d\u0025\u0073",_ccgf );_fcac .fontFile =_ccgf ;};if _fcac .FontFile2 !=nil {_dbcdad ,_baab :=_cc .NewFontFile2FromPdfObject (_fcac .FontFile2 );if _baab !=nil {return _fcac ,_baab ;};_ebg .Log .Trace ("\u0066\u006f\u006et\u0046\u0069\u006c\u0065\u0032\u003d\u0025\u0073",_dbcdad .String ());_fcac ._ggefa =&_dbcdad ;};return _fcac ,nil ;};
|
||
|
||
// NewPdfPageResourcesFromDict creates and returns a new PdfPageResources object
|
||
// from the input dictionary.
|
||
func NewPdfPageResourcesFromDict (dict *_ce .PdfObjectDictionary )(*PdfPageResources ,error ){_acgc :=NewPdfPageResources ();if _fdbga :=dict .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_fdbga !=nil {_acgc .ExtGState =_fdbga ;};if _dddbc :=dict .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");_dddbc !=nil &&!_ce .IsNullObject (_dddbc ){_acgc .ColorSpace =_dddbc ;};if _ebcba :=dict .Get ("\u0050a\u0074\u0074\u0065\u0072\u006e");_ebcba !=nil {_acgc .Pattern =_ebcba ;};if _cbeae :=dict .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");_cbeae !=nil {_acgc .Shading =_cbeae ;};if _gbgc :=dict .Get ("\u0058O\u0062\u006a\u0065\u0063\u0074");_gbgc !=nil {_acgc .XObject =_gbgc ;};if _abgg :=_ce .ResolveReference (dict .Get ("\u0046\u006f\u006e\u0074"));_abgg !=nil {_acgc .Font =_abgg ;};if _fbffd :=dict .Get ("\u0050r\u006f\u0063\u0053\u0065\u0074");_fbffd !=nil {_acgc .ProcSet =_fbffd ;};if _cbdab :=dict .Get ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_cbdab !=nil {_acgc .Properties =_cbdab ;};return _acgc ,nil ;};
|
||
|
||
// PdfBorderEffect represents a PDF border effect.
|
||
type PdfBorderEffect struct{S *BorderEffect ;I *float64 ;};func (_gdea *PdfColorspaceDeviceCMYK )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b";};func (_agdf *pdfCIDFontType2 )baseFields ()*fontCommon {return &_agdf .fontCommon };var (_baagb =_ed .MustCompile ("\u005cd\u002b\u0020\u0064\u0069c\u0074\u005c\u0073\u002b\u0028d\u0075p\u005cs\u002b\u0029\u003f\u0062\u0065\u0067\u0069n");_gfdfe =_ed .MustCompile ("\u005e\u005cs\u002a\u002f\u0028\u005c\u0053\u002b\u003f\u0029\u005c\u0073\u002b\u0028\u002e\u002b\u003f\u0029\u005c\u0073\u002b\u0064\u0065\u0066\\s\u002a\u0024");_ddfea =_ed .MustCompile ("\u005e\u005c\u0073*\u0064\u0075\u0070\u005c\u0073\u002b\u0028\u005c\u0064\u002b\u0029\u005c\u0073\u002a\u002f\u0028\u005c\u0077\u002b\u003f\u0029\u0028\u003f\u003a\u005c\u002e\u005c\u0064\u002b)\u003f\u005c\u0073\u002b\u0070\u0075\u0074\u0024");_eaef ="\u002f\u0045\u006e\u0063od\u0069\u006e\u0067\u0020\u0032\u0035\u0036\u0020\u0061\u0072\u0072\u0061\u0079";_geeba ="\u0072\u0065\u0061d\u006f\u006e\u006c\u0079\u0020\u0064\u0065\u0066";_bgfde ="\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u0066\u0069\u006c\u0065\u0020e\u0065\u0078\u0065\u0063";);
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gfdb *PdfAnnotationCircle )ToPdfObject ()_ce .PdfObject {_gfdb .PdfAnnotation .ToPdfObject ();_aefd :=_gfdb ._bda ;_cefe :=_aefd .PdfObject .(*_ce .PdfObjectDictionary );_gfdb .PdfAnnotationMarkup .appendToPdfDictionary (_cefe );_cefe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0043\u0069\u0072\u0063\u006c\u0065"));_cefe .SetIfNotNil ("\u0042\u0053",_gfdb .BS );_cefe .SetIfNotNil ("\u0049\u0043",_gfdb .IC );_cefe .SetIfNotNil ("\u0042\u0045",_gfdb .BE );_cefe .SetIfNotNil ("\u0052\u0044",_gfdb .RD );return _aefd ;};var _ebac =_ed .MustCompile ("\u005c\u0073\u002a\u0044\u005c\u0073\u002a:\u005c\u0073\u002a\u0028\u005c\u0064\u007b\u0034\u007d\u0029\u0028\u005c\u0064\u007b2\u007d)\u0028\u005c\u0064\u007b\u0032\u007d)\u0028\u005c\u0064\u007b\u0032\u007d\u0029(\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005b\u002b\u002d\u005a\u005d\u0029\u003f\u0028\u005cd\u007b\u0032\u007d\u0029\u003f\u0027\u003f\u0028\u005c\u0064\u007b\u0032\u007d)\u003f");
|
||
|
||
// ColorToRGB converts a Lab color to an RGB color.
|
||
func (_gdfgc *PdfColorspaceLab )ColorToRGB (color PdfColor )(PdfColor ,error ){_fbaf :=func (_gbad float64 )float64 {if _gbad >=6.0/29{return _gbad *_gbad *_gbad ;};return 108.0/841*(_gbad -4/29);};_fddaf ,_bfddd :=color .(*PdfColorLab );if !_bfddd {_ebg .Log .Debug ("\u0069\u006e\u0070\u0075t \u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u006c\u0061\u0062");return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};LStar :=_fddaf .L ();AStar :=_fddaf .A ();BStar :=_fddaf .B ();L :=(LStar +16)/116+AStar /500;M :=(LStar +16)/116;N :=(LStar +16)/116-BStar /200;X :=_gdfgc .WhitePoint [0]*_fbaf (L );Y :=_gdfgc .WhitePoint [1]*_fbaf (M );Z :=_gdfgc .WhitePoint [2]*_fbaf (N );_dgfcb :=3.240479*X +-1.537150*Y +-0.498535*Z ;_gdaae :=-0.969256*X +1.875992*Y +0.041556*Z ;_ebag :=0.055648*X +-0.204043*Y +1.057311*Z ;_dgfcb =_ag .Min (_ag .Max (_dgfcb ,0),1.0);_gdaae =_ag .Min (_ag .Max (_gdaae ,0),1.0);_ebag =_ag .Min (_ag .Max (_ebag ,0),1.0);return NewPdfColorDeviceRGB (_dgfcb ,_gdaae ,_ebag ),nil ;};
|
||
|
||
// G returns the value of the green component of the color.
|
||
func (_bdfe *PdfColorDeviceRGB )G ()float64 {return float64 (_bdfe [1])};
|
||
|
||
// NewPdfRectangle creates a PDF rectangle object based on an input array of 4 integers.
|
||
// Defining the lower left (LL) and upper right (UR) corners with
|
||
// floating point numbers.
|
||
func NewPdfRectangle (arr _ce .PdfObjectArray )(*PdfRectangle ,error ){_ecebf :=PdfRectangle {};if arr .Len ()!=4{return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069d\u0020\u0072\u0065\u0063\u0074\u0061\u006e\u0067\u006c\u0065\u0020\u0061\u0072r\u0061\u0079\u002c\u0020\u006c\u0065\u006e \u0021\u003d\u0020\u0034");};var _dgecf error ;_ecebf .Llx ,_dgecf =_ce .GetNumberAsFloat (arr .Get (0));if _dgecf !=nil {return nil ,_dgecf ;};_ecebf .Lly ,_dgecf =_ce .GetNumberAsFloat (arr .Get (1));if _dgecf !=nil {return nil ,_dgecf ;};_ecebf .Urx ,_dgecf =_ce .GetNumberAsFloat (arr .Get (2));if _dgecf !=nil {return nil ,_dgecf ;};_ecebf .Ury ,_dgecf =_ce .GetNumberAsFloat (arr .Get (3));if _dgecf !=nil {return nil ,_dgecf ;};return &_ecebf ,nil ;};
|
||
|
||
// NewPdfAnnotationText returns a new text annotation.
|
||
func NewPdfAnnotationText ()*PdfAnnotationText {_dee :=NewPdfAnnotation ();_acf :=&PdfAnnotationText {};_acf .PdfAnnotation =_dee ;_acf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dee .SetContext (_acf );return _acf ;};func _bbafg (_eeggg *fontCommon )*pdfFontSimple {return &pdfFontSimple {fontCommon :*_eeggg }};
|
||
|
||
// PdfAction represents an action in PDF (section 12.6 p. 412).
|
||
type PdfAction struct{_cga PdfModel ;Type _ce .PdfObject ;S _ce .PdfObject ;Next _ce .PdfObject ;_bdf *_ce .PdfIndirectObject ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_gdfe *PdfAnnotation )GetContainingPdfObject ()_ce .PdfObject {return _gdfe ._bda };
|
||
|
||
// GetXObjectFormByName returns the XObjectForm with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_gdged *PdfPageResources )GetXObjectFormByName (keyName _ce .PdfObjectName )(*XObjectForm ,error ){_befg ,_ggefg :=_gdged .GetXObjectByName (keyName );if _befg ==nil {return nil ,nil ;};if _ggefg !=XObjectTypeForm {return nil ,_gd .New ("\u006e\u006f\u0074\u0020\u0061\u0020\u0066\u006f\u0072\u006d");};_acfeg ,_febdf :=NewXObjectFormFromStream (_befg );if _febdf !=nil {return nil ,_febdf ;};return _acfeg ,nil ;};
|
||
|
||
// CharMetrics represents width and height metrics of a glyph.
|
||
type CharMetrics =_cc .CharMetrics ;
|
||
|
||
// NewCompositePdfFontFromTTFFile loads a composite font from a TTF font file. Composite fonts can
|
||
// be used to represent unicode fonts which can have multi-byte character codes, representing a wide
|
||
// range of values. They are often used for symbolic languages, including Chinese, Japanese and Korean.
|
||
// It is represented by a Type0 Font with an underlying CIDFontType2 and an Identity-H encoding map.
|
||
// TODO: May be extended in the future to support a larger variety of CMaps and vertical fonts.
|
||
// NOTE: For simple fonts, use NewPdfFontFromTTFFile.
|
||
func NewCompositePdfFontFromTTFFile (filePath string )(*PdfFont ,error ){_ecffc ,_caec :=_baa .Open (filePath );if _caec !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u006f\u0070\u0065\u006e\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_caec );return nil ,_caec ;};defer _ecffc .Close ();return NewCompositePdfFontFromTTF (_ecffc );};
|
||
|
||
// DecodeArray returns the component range values for the DeviceN colorspace.
|
||
// [0 1.0 0 1.0 ...] for each color component.
|
||
func (_dafec *PdfColorspaceDeviceN )DecodeArray ()[]float64 {var _afdd []float64 ;for _gecb :=0;_gecb < _dafec .GetNumComponents ();_gecb ++{_afdd =append (_afdd ,0.0,1.0);};return _afdd ;};
|
||
|
||
// Optimizer is the interface that performs optimization of PDF object structure for output writing.
|
||
//
|
||
// Optimize receives a slice of input `objects`, performs optimization, including removing, replacing objects and
|
||
// output the optimized slice of objects.
|
||
type Optimizer interface{Optimize (_baedb []_ce .PdfObject )([]_ce .PdfObject ,error );};func _cdbd ()string {return _fbdc };func (_daf *PdfReader )newPdfActionRenditionFromDict (_cgg *_ce .PdfObjectDictionary )(*PdfActionRendition ,error ){return &PdfActionRendition {R :_cgg .Get ("\u0052"),AN :_cgg .Get ("\u0041\u004e"),OP :_cgg .Get ("\u004f\u0050"),JS :_cgg .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// NewXObjectForm creates a brand new XObject Form. Creates a new underlying PDF object stream primitive.
|
||
func NewXObjectForm ()*XObjectForm {_gdcc :=&XObjectForm {};_afee :=&_ce .PdfObjectStream {};_afee .PdfObjectDictionary =_ce .MakeDict ();_gdcc ._gcaa =_afee ;return _gdcc ;};
|
||
|
||
// NewPdfFontFromTTFFile loads a TTF font file and returns a PdfFont type
|
||
// that can be used in text styling functions.
|
||
// Uses a WinAnsiTextEncoder and loads only character codes 32-255.
|
||
// NOTE: For composite fonts such as used in symbolic languages, use NewCompositePdfFontFromTTFFile.
|
||
func NewPdfFontFromTTFFile (filePath string )(*PdfFont ,error ){_eecbb ,_dfadd :=_baa .Open (filePath );if _dfadd !=nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0072\u0065\u0061\u0064\u0069\u006e\u0067\u0020T\u0054F\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_dfadd );return nil ,_dfadd ;};defer _eecbb .Close ();return NewPdfFontFromTTF (_eecbb );};
|
||
|
||
// GetFontByName gets the font specified by keyName. Returns the PdfObject which
|
||
// the entry refers to. Returns a bool value indicating whether or not the entry was found.
|
||
func (_dgceb *PdfPageResources )GetFontByName (keyName _ce .PdfObjectName )(_ce .PdfObject ,bool ){if _dgceb .Font ==nil {return nil ,false ;};_cdddgb ,_faced :=_ce .TraceToDirectObject (_dgceb .Font ).(*_ce .PdfObjectDictionary );if !_faced {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0046\u006f\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006fn\u0061\u0072\u0079\u0021\u0020(\u0067\u006ft\u0020\u0025\u0054\u0029",_ce .TraceToDirectObject (_dgceb .Font ));return nil ,false ;};if _gegge :=_cdddgb .Get (keyName );_gegge !=nil {return _gegge ,true ;};return nil ,false ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbbf *PdfAnnotationFileAttachment )ToPdfObject ()_ce .PdfObject {_cbbf .PdfAnnotation .ToPdfObject ();_bcfe :=_cbbf ._bda ;_aee :=_bcfe .PdfObject .(*_ce .PdfObjectDictionary );_cbbf .PdfAnnotationMarkup .appendToPdfDictionary (_aee );_aee .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074"));_aee .SetIfNotNil ("\u0046\u0053",_cbbf .FS );_aee .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cbbf .Name );return _bcfe ;};
|
||
|
||
// GetPrimitiveFromModel returns the primitive object corresponding to the input `model`.
|
||
func (_edeba *modelManager )GetPrimitiveFromModel (model PdfModel )_ce .PdfObject {_aeac ,_feccd :=_edeba ._cfgag [model ];if !_feccd {return nil ;};return _aeac ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_baaa *PdfAnnotationSquare )ToPdfObject ()_ce .PdfObject {_baaa .PdfAnnotation .ToPdfObject ();_dce :=_baaa ._bda ;_afda :=_dce .PdfObject .(*_ce .PdfObjectDictionary );if _baaa .PdfAnnotationMarkup !=nil {_baaa .PdfAnnotationMarkup .appendToPdfDictionary (_afda );};_afda .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ce .MakeName ("\u0053\u0071\u0075\u0061\u0072\u0065"));_afda .SetIfNotNil ("\u0042\u0053",_baaa .BS );_afda .SetIfNotNil ("\u0049\u0043",_baaa .IC );_afda .SetIfNotNil ("\u0042\u0045",_baaa .BE );_afda .SetIfNotNil ("\u0052\u0044",_baaa .RD );return _dce ;};
|
||
|
||
// NewPdfColorCalGray returns a new CalGray color.
|
||
func NewPdfColorCalGray (grayVal float64 )*PdfColorCalGray {_bdac :=PdfColorCalGray (grayVal );return &_bdac ;};func _fecc (_cbdgc *_ce .PdfObjectStream )(*PdfFunctionType4 ,error ){_eacg :=&PdfFunctionType4 {};_eacg ._agefg =_cbdgc ;_bcfgg :=_cbdgc .PdfObjectDictionary ;_geaa ,_cefdb :=_ce .TraceToDirectObject (_bcfgg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_ce .PdfObjectArray );if !_cefdb {_ebg .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_gd .New ("\u0072\u0065q\u0075\u0069\u0072\u0065d\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020m\u0069\u0073\u0073\u0069\u006e\u0067\u0020\u006f\u0072\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};if _geaa .Len ()%2!=0{_ebg .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_gd .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_bffbf ,_cdegf :=_geaa .ToFloat64Array ();if _cdegf !=nil {return nil ,_cdegf ;};_eacg .Domain =_bffbf ;_geaa ,_cefdb =_ce .TraceToDirectObject (_bcfgg .Get ("\u0052\u0061\u006eg\u0065")).(*_ce .PdfObjectArray );if _cefdb {if _geaa .Len ()< 0||_geaa .Len ()%2!=0{return nil ,_gd .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_ggae ,_ccefg :=_geaa .ToFloat64Array ();if _ccefg !=nil {return nil ,_ccefg ;};_eacg .Range =_ggae ;};_fgab ,_cdegf :=_ce .DecodeStream (_cbdgc );if _cdegf !=nil {return nil ,_cdegf ;};_eacg ._fdaf =_fgab ;_bcbd :=_ef .NewPSParser ([]byte (_fgab ));_agcgd ,_cdegf :=_bcbd .Parse ();if _cdegf !=nil {return nil ,_cdegf ;};_eacg .Program =_agcgd ;return _eacg ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for grayscale).
|
||
func (_fef *PdfColorDeviceGray )GetNumComponents ()int {return 1};func (_bcfd *PdfColorspaceSpecialSeparation )String ()string {return "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e";};func (_dea *PdfReader )newPdfAnnotationCaretFromDict (_gdbb *_ce .PdfObjectDictionary )(*PdfAnnotationCaret ,error ){_bgff :=PdfAnnotationCaret {};_effa ,_caba :=_dea .newPdfAnnotationMarkupFromDict (_gdbb );if _caba !=nil {return nil ,_caba ;};_bgff .PdfAnnotationMarkup =_effa ;_bgff .RD =_gdbb .Get ("\u0052\u0044");_bgff .Sy =_gdbb .Get ("\u0053\u0079");return &_bgff ,nil ;};
|
||
|
||
// NewPdfFilespec returns an initialized generic PDF filespec model.
|
||
func NewPdfFilespec ()*PdfFilespec {_decgg :=&PdfFilespec {};_decgg ._ddfgf =_ce .MakeIndirectObject (_ce .MakeDict ());return _decgg ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_eeeca *PdfFont )Encoder ()_cce .TextEncoder {_bdfca :=_eeeca .actualFont ();if _bdfca ==nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0045n\u0063\u006f\u0064er\u0020\u006e\u006f\u0074\u0020\u0069m\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0066\u006f\u0072\u0020\u0066o\u006e\u0074\u0020\u0074\u0079\u0070\u0065\u003d%\u0023\u0054",_eeeca ._decac );return nil ;};return _bdfca .Encoder ();};
|
||
|
||
// PdfAnnotationMarkup represents additional fields for mark-up annotations.
|
||
// (Section 12.5.6.2 p. 399).
|
||
type PdfAnnotationMarkup struct{T _ce .PdfObject ;Popup *PdfAnnotationPopup ;CA _ce .PdfObject ;RC _ce .PdfObject ;CreationDate _ce .PdfObject ;IRT _ce .PdfObject ;Subj _ce .PdfObject ;RT _ce .PdfObject ;IT _ce .PdfObject ;ExData _ce .PdfObject ;};
|
||
|
||
// Set sets the colorspace corresponding to key. Add to Names if not set.
|
||
func (_cbff *PdfPageResourcesColorspaces )Set (key _ce .PdfObjectName ,val PdfColorspace ){if _ ,_babb :=_cbff .Colorspaces [string (key )];!_babb {_cbff .Names =append (_cbff .Names ,string (key ));};_cbff .Colorspaces [string (key )]=val ;};
|
||
|
||
// PdfAnnotationStamp represents Stamp annotations.
|
||
// (Section 12.5.6.12).
|
||
type PdfAnnotationStamp struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Name _ce .PdfObject ;};
|
||
|
||
// SetType sets the field button's type. Can be one of:
|
||
// - PdfFieldButtonPush for push button fields
|
||
// - PdfFieldButtonCheckbox for checkbox fields
|
||
// - PdfFieldButtonRadio for radio button fields
|
||
// This sets the field's flag appropriately.
|
||
func (_fgbb *PdfFieldButton )SetType (btype ButtonType ){_fgfbf :=uint32 (0);if _fgbb .Ff !=nil {_fgfbf =uint32 (*_fgbb .Ff );};switch btype {case ButtonTypePush :_fgfbf |=FieldFlagPushbutton .Mask ();case ButtonTypeRadio :_fgfbf |=FieldFlagRadio .Mask ();};_fgbb .Ff =_ce .MakeInteger (int64 (_fgfbf ));};func (_cgcd *PdfColorspaceICCBased )String ()string {return "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064";};
|
||
|
||
// NewPdfActionSound returns a new "sound" action.
|
||
func NewPdfActionSound ()*PdfActionSound {_cea :=NewPdfAction ();_dgd :=&PdfActionSound {};_dgd .PdfAction =_cea ;_cea .SetContext (_dgd );return _dgd ;};func _cacgd (_abcda *_ce .PdfIndirectObject )(*PdfOutline ,error ){_dccec ,_dcccg :=_abcda .PdfObject .(*_ce .PdfObjectDictionary );if !_dcccg {return nil ,_c .Errorf ("\u006f\u0075\u0074l\u0069\u006e\u0065\u0020o\u0062\u006a\u0065\u0063\u0074\u0020\u006eo\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_ggeeg :=NewPdfOutline ();if _bgeb :=_dccec .Get ("\u0054\u0079\u0070\u0065");_bgeb !=nil {_dcfac ,_fgef :=_bgeb .(*_ce .PdfObjectName );if _fgef {if *_dcfac !="\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"{_ebg .Log .Debug ("E\u0052\u0052\u004f\u0052\u0020\u0054y\u0070\u0065\u0020\u0021\u003d\u0020\u004f\u0075\u0074l\u0069\u006e\u0065s\u0020(\u0025\u0073\u0029",*_dcfac );};};};if _fdbab :=_dccec .Get ("\u0043\u006f\u0075n\u0074");_fdbab !=nil {_aggge ,_cggfa :=_ce .GetNumberAsInt64 (_fdbab );if _cggfa !=nil {return nil ,_cggfa ;};_ggeeg .Count =&_aggge ;};return _ggeeg ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element in
|
||
// range 0-1.
|
||
func (_edc *PdfColorspaceDeviceGray )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cccb ,_fcbee :=_ce .GetNumbersAsFloat (objects );if _fcbee !=nil {return nil ,_fcbee ;};return _edc .ColorFromFloats (_cccb );};func (_eabe *PdfReader )newPdfAnnotationRichMediaFromDict (_cgcc *_ce .PdfObjectDictionary )(*PdfAnnotationRichMedia ,error ){_fdeg :=&PdfAnnotationRichMedia {};_fdeg .RichMediaSettings =_cgcc .Get ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073");_fdeg .RichMediaContent =_cgcc .Get ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074");return _fdeg ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on input color components. The input PdfObjects should
|
||
// be numeric.
|
||
func (_bfdee *PdfColorspaceDeviceN )ColorFromPdfObjects (objects []_ce .PdfObject )(PdfColor ,error ){if len (objects )!=_bfdee .GetNumComponents (){return nil ,_gd .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ccab ,_cedg :=_ce .GetNumbersAsFloat (objects );if _cedg !=nil {return nil ,_cedg ;};return _bfdee .ColorFromFloats (_ccab );};
|
||
|
||
// HasExtGState checks if ExtGState name is available.
|
||
func (_eggebf *PdfPage )HasExtGState (name _ce .PdfObjectName )bool {if _eggebf .Resources ==nil {return false ;};if _eggebf .Resources .ExtGState ==nil {return false ;};_cfdac ,_decfg :=_ce .TraceToDirectObject (_eggebf .Resources .ExtGState ).(*_ce .PdfObjectDictionary );if !_decfg {_ebg .Log .Debug ("\u0045\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0045\u0078t\u0047\u0053\u0074\u0061\u0074\u0065\u0020\u0064i\u0063t\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u003a\u0020\u0025\u0076",_ce .TraceToDirectObject (_eggebf .Resources .ExtGState ));return false ;};_aadc :=_cfdac .Get (name );_gbfb :=_aadc !=nil ;return _gbfb ;};
|
||
|
||
// NewPdfPageResources returns a new PdfPageResources object.
|
||
func NewPdfPageResources ()*PdfPageResources {_cabagc :=&PdfPageResources {};_cabagc ._eebf =_ce .MakeDict ();return _cabagc ;};type pdfSignDictionary struct{*_ce .PdfObjectDictionary ;_ecbgc *SignatureHandler ;_abdde *PdfSignature ;_gfeca int64 ;_deeee int ;_adee int ;_cdcf int ;_bbca int ;};
|
||
|
||
// WatermarkImageOptions contains options for configuring the watermark process.
|
||
type WatermarkImageOptions struct{Alpha float64 ;FitToWidth bool ;PreserveAspectRatio bool ;};
|
||
|
||
// SetDecode sets the decode image float slice.
|
||
func (_ggbdg *Image )SetDecode (decode []float64 ){_ggbdg ._cddaa =decode };func _dbcf (_bgeab []byte )(_badff ,_egde string ,_dbbd error ){_ebg .Log .Trace ("g\u0065\u0074\u0041\u0053CI\u0049S\u0065\u0063\u0074\u0069\u006fn\u0073\u003a\u0020\u0025\u0064\u0020",len (_bgeab ));_egab :=_baagb .FindIndex (_bgeab );if _egab ==nil {_ebg .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0067\u0065\u0074\u0041\u0053\u0043\u0049\u0049\u0053\u0065\u0063\u0074\u0069o\u006e\u0073\u002e\u0020\u004e\u006f\u0020d\u0069\u0063\u0074\u002e");return "","",_ce .ErrTypeError ;};_dafc :=_egab [1];_aacda :=_aga .Index (string (_bgeab [_dafc :]),_eaef );if _aacda < 0{_badff =string (_bgeab [_dafc :]);return _badff ,"",nil ;};_beegb :=_dafc +_aacda ;_badff =string (_bgeab [_dafc :_beegb ]);_ecefe :=_beegb ;_aacda =_aga .Index (string (_bgeab [_ecefe :]),_geeba );if _aacda < 0{_ebg .Log .Debug ("\u0045\u0052\u0052O\u0052\u003a\u0020\u0067e\u0074\u0041\u0053\u0043\u0049\u0049\u0053e\u0063\u0074\u0069\u006f\u006e\u0073\u002e\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_dbbd );return "","",_ce .ErrTypeError ;};_efedc :=_ecefe +_aacda ;_egde =string (_bgeab [_ecefe :_efedc ]);return _badff ,_egde ,nil ;};
|
||
|
||
// ColorToRGB verifies that the input color is an RGB color. Method exists in
|
||
// order to satisfy the PdfColorspace interface.
|
||
func (_edca *PdfColorspaceDeviceRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_ddec ,_dcab :=color .(*PdfColorDeviceRGB );if !_dcab {_ebg .Log .Debug ("\u0049\u006e\u0070\u0075\u0074\u0020\u0063\u006f\u006c\u006f\u0072 \u006e\u006f\u0074\u0020\u0064\u0065\u0076\u0069\u0063\u0065 \u0052\u0047\u0042");return nil ,_gd .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return _ddec ,nil ;};
|
||
|
||
// NewPdfColorDeviceRGB returns a new PdfColorDeviceRGB based on the r,g,b component values.
|
||
func NewPdfColorDeviceRGB (r ,g ,b float64 )*PdfColorDeviceRGB {_efff :=PdfColorDeviceRGB {r ,g ,b };return &_efff ;};
|
||
|
||
// NewPdfSignature creates a new PdfSignature object.
|
||
func NewPdfSignature (handler SignatureHandler )*PdfSignature {_abcdf :=&PdfSignature {Type :_ce .MakeName ("\u0053\u0069\u0067"),Handler :handler };_daacg :=&pdfSignDictionary {PdfObjectDictionary :_ce .MakeDict (),_ecbgc :&handler ,_abdde :_abcdf };_abcdf ._aefg =_ce .MakeIndirectObject (_daacg );return _abcdf ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_cfbbg pdfCIDFontType0 )Encoder ()_cce .TextEncoder {return _cfbbg ._gdac };
|
||
|
||
// NewPdfPage returns a new PDF page.
|
||
func NewPdfPage ()*PdfPage {_eadga :=PdfPage {};_eadga ._dfbdag =_ce .MakeDict ();_eadga .Resources =NewPdfPageResources ();_fdfa :=_ce .PdfIndirectObject {};_fdfa .PdfObject =_eadga ._dfbdag ;_eadga ._adcebd =&_fdfa ;return &_eadga ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for Lab).
|
||
func (_eefe *PdfColorLab )GetNumComponents ()int {return 3}; |