mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-26 13:48:55 +08:00
2763 lines
667 KiB
Go
2763 lines
667 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 (_bc "bufio";_cg "bytes";_ec "crypto/sha1";_c "crypto/x509";_ab "encoding/binary";_eb "encoding/hex";_fa "errors";_b "fmt";_adf "github.com/unidoc/pkcs7";_abe "github.com/unidoc/unipdf/v3/common";_cga "github.com/unidoc/unipdf/v3/common/license";_aef "github.com/unidoc/unipdf/v3/core";_db "github.com/unidoc/unipdf/v3/core/security";_cca "github.com/unidoc/unipdf/v3/core/security/crypt";_gg "github.com/unidoc/unipdf/v3/internal/cmap";_gb "github.com/unidoc/unipdf/v3/internal/imageutil";_ea "github.com/unidoc/unipdf/v3/internal/sampling";_be "github.com/unidoc/unipdf/v3/internal/textencoding";_ecf "github.com/unidoc/unipdf/v3/model/internal/fonts";_add "github.com/unidoc/unipdf/v3/model/sigutil";_ga "github.com/unidoc/unipdf/v3/ps";_ee "github.com/unidoc/unitype";_bb "golang.org/x/xerrors";_ae "image";_g "image/color";_ "image/gif";_ "image/png";_gfc "io";_eba "io/ioutil";_ad "math";_ebe "math/rand";_gf "os";_af "regexp";_eg "sort";_f "strconv";_dg "strings";_d "sync";_a "time";_cc "unicode";_eca "unicode/utf8";);
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aabf *PdfAnnotation3D )ToPdfObject ()_aef .PdfObject {_aabf .PdfAnnotation .ToPdfObject ();_edda :=_aabf ._edc ;_gccd :=_edda .PdfObject .(*_aef .PdfObjectDictionary );_gccd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0033\u0044"));_gccd .SetIfNotNil ("\u0033\u0044\u0044",_aabf .T3DD );_gccd .SetIfNotNil ("\u0033\u0044\u0056",_aabf .T3DV );_gccd .SetIfNotNil ("\u0033\u0044\u0041",_aabf .T3DA );_gccd .SetIfNotNil ("\u0033\u0044\u0049",_aabf .T3DI );_gccd .SetIfNotNil ("\u0033\u0044\u0042",_aabf .T3DB );return _edda ;};
|
||
|
||
// ColorToRGB converts a CalGray color to an RGB color.
|
||
func (_gcbb *PdfColorspaceCalGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_afec ,_gcce :=color .(*PdfColorCalGray );if !_gcce {_abe .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 ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};ANorm :=_afec .Val ();X :=_gcbb .WhitePoint [0]*_ad .Pow (ANorm ,_gcbb .Gamma );Y :=_gcbb .WhitePoint [1]*_ad .Pow (ANorm ,_gcbb .Gamma );Z :=_gcbb .WhitePoint [2]*_ad .Pow (ANorm ,_gcbb .Gamma );_debbd :=3.240479*X +-1.537150*Y +-0.498535*Z ;_addce :=-0.969256*X +1.875992*Y +0.041556*Z ;_edbg :=0.055648*X +-0.204043*Y +1.057311*Z ;_debbd =_ad .Min (_ad .Max (_debbd ,0),1.0);_addce =_ad .Min (_ad .Max (_addce ,0),1.0);_edbg =_ad .Min (_ad .Max (_edbg ,0),1.0);return NewPdfColorDeviceRGB (_debbd ,_addce ,_edbg ),nil ;};
|
||
|
||
// PdfAnnotationPolyLine represents PolyLine annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolyLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _aef .PdfObject ;LE _aef .PdfObject ;BS _aef .PdfObject ;IC _aef .PdfObject ;BE _aef .PdfObject ;IT _aef .PdfObject ;Measure _aef .PdfObject ;};func (_cfeg *DSS )add (_cebb *[]*_aef .PdfObjectStream ,_caga map[string ]*_aef .PdfObjectStream ,_aefbg [][]byte )([]*_aef .PdfObjectStream ,error ){_cgbd :=make ([]*_aef .PdfObjectStream ,0,len (_aefbg ));for _ ,_gbfgf :=range _aefbg {_dbedb ,_ddgc :=_daed (_gbfgf );if _ddgc !=nil {return nil ,_ddgc ;};_acfc ,_daefa :=_caga [string (_dbedb )];if !_daefa {_acfc ,_ddgc =_aef .MakeStream (_gbfgf ,_aef .NewRawEncoder ());if _ddgc !=nil {return nil ,_ddgc ;};_caga [string (_dbedb )]=_acfc ;*_cebb =append (*_cebb ,_acfc );};_cgbd =append (_cgbd ,_acfc );};return _cgbd ,nil ;};func _gccc (_fegda _aef .PdfObject ,_cbeag *fontCommon )(*_gg .CMap ,error ){_dabac ,_ggge :=_aef .GetStream (_fegda );if !_ggge {_abe .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",_fegda );return nil ,_aef .ErrTypeError ;};_gfac ,_cbeae :=_aef .DecodeStream (_dabac );if _cbeae !=nil {return nil ,_cbeae ;};_dcagc ,_cbeae :=_gg .LoadCmapFromData (_gfac ,!_cbeag .isCIDFont ());if _cbeae !=nil {_abe .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",_dabac .ObjectNumber ,_cbeae );};return _dcagc ,_cbeae ;};func _begb (_eeedb _aef .PdfObject )(PdfFunction ,error ){_eeedb =_aef .ResolveReference (_eeedb );if _ebce ,_cfegf :=_eeedb .(*_aef .PdfObjectStream );_cfegf {_eeedbb :=_ebce .PdfObjectDictionary ;_ecgc ,_bbgb :=_eeedbb .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_aef .PdfObjectInteger );if !_bbgb {_abe .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 ,_fa .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 *_ecgc ==0{return _cgde (_ebce );}else if *_ecgc ==4{return _gfecd (_ebce );}else {return nil ,_fa .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _bdagc ,_fefe :=_eeedb .(*_aef .PdfIndirectObject );_fefe {_bbeb ,_cbdd :=_bdagc .PdfObject .(*_aef .PdfObjectDictionary );if !_cbdd {_abe .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 ,_fa .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");};_ffcbg ,_cbdd :=_bbeb .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_aef .PdfObjectInteger );if !_cbdd {_abe .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 ,_fa .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 *_ffcbg ==2{return _gdegc (_bdagc );}else if *_ffcbg ==3{return _gaca (_bdagc );}else {return nil ,_fa .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _afdec ,_gegce :=_eeedb .(*_aef .PdfObjectDictionary );_gegce {_defg ,_cfgdb :=_afdec .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_aef .PdfObjectInteger );if !_cfgdb {_abe .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 ,_fa .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 *_defg ==2{return _gdegc (_afdec );}else if *_defg ==3{return _gaca (_afdec );}else {return nil ,_fa .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else {_abe .Log .Debug ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0054\u0079\u0070\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0023\u0076",_eeedb );return nil ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};};
|
||
|
||
// NewPdfAnnotationPopup returns a new popup annotation.
|
||
func NewPdfAnnotationPopup ()*PdfAnnotationPopup {_fge :=NewPdfAnnotation ();_eff :=&PdfAnnotationPopup {};_eff .PdfAnnotation =_fge ;_fge .SetContext (_eff );return _eff ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_ddec pdfFontType0 )GetCharMetrics (code _be .CharCode )(_ecf .CharMetrics ,bool ){if _ddec .DescendantFont ==nil {_abe .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",_ddec );return _ecf .CharMetrics {},false ;};return _ddec .DescendantFont .GetCharMetrics (code );};
|
||
|
||
// SetContext set the sub annotation (context).
|
||
func (_ceece *PdfShading )SetContext (ctx PdfModel ){_ceece ._egaca =ctx };
|
||
|
||
// 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 (_fbdbc *PdfAcroForm )FillWithAppearance (provider FieldValueProvider ,appGen FieldAppearanceGenerator )error {return _fbdbc .fill (provider ,appGen );};func (_dfgg *PdfReader )newPdfAnnotationMovieFromDict (_caba *_aef .PdfObjectDictionary )(*PdfAnnotationMovie ,error ){_fage :=PdfAnnotationMovie {};_fage .T =_caba .Get ("\u0054");_fage .Movie =_caba .Get ("\u004d\u006f\u0076i\u0065");_fage .A =_caba .Get ("\u0041");return &_fage ,nil ;};
|
||
|
||
// PdfShadingType5 is a Lattice-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType5 struct{*PdfShading ;BitsPerCoordinate *_aef .PdfObjectInteger ;BitsPerComponent *_aef .PdfObjectInteger ;VerticesPerRow *_aef .PdfObjectInteger ;Decode *_aef .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// NewPdfAppender creates a new Pdf appender from a Pdf reader.
|
||
func NewPdfAppender (reader *PdfReader )(*PdfAppender ,error ){_ddbd :=&PdfAppender {_dfgf :reader ._cced ,Reader :reader ,_egag :reader ._gdbbd ,_gfce :reader ._cadgb };_gedfg ,_fagfb :=_ddbd ._dfgf .Seek (0,_gfc .SeekEnd );if _fagfb !=nil {return nil ,_fagfb ;};_ddbd ._gadc =_gedfg ;if _ ,_fagfb =_ddbd ._dfgf .Seek (0,_gfc .SeekStart );_fagfb !=nil {return nil ,_fagfb ;};_ddbd ._fdd ,_fagfb =NewPdfReader (_ddbd ._dfgf );if _fagfb !=nil {return nil ,_fagfb ;};for _ ,_eeaeg :=range _ddbd .Reader .GetObjectNums (){if _ddbd ._gdbd < _eeaeg {_ddbd ._gdbd =_eeaeg ;};};_ddbd ._cdda =_ddbd ._egag .GetXrefTable ();_ddbd ._fccb =_ddbd ._egag .GetXrefOffset ();_ddbd ._ebegf =append (_ddbd ._ebegf ,_ddbd ._fdd .PageList ...);_ddbd ._abge =make (map[_aef .PdfObject ]struct{});_ddbd ._ddff =make (map[_aef .PdfObject ]int64 );_ddbd ._cbf =make (map[_aef .PdfObject ]struct{});_ddbd ._faga =_ddbd ._fdd .AcroForm ;_ddbd ._gcde =_ddbd ._fdd .DSS ;return _ddbd ,nil ;};func _gdegc (_adgdf _aef .PdfObject )(*PdfFunctionType2 ,error ){_dcgcf :=&PdfFunctionType2 {};var _gfege *_aef .PdfObjectDictionary ;if _gdaad ,_fcdb :=_adgdf .(*_aef .PdfIndirectObject );_fcdb {_ddcac ,_efgg :=_gdaad .PdfObject .(*_aef .PdfObjectDictionary );if !_efgg {return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dcgcf ._fecc =_gdaad ;_gfege =_ddcac ;}else if _dbbca ,_dgdga :=_adgdf .(*_aef .PdfObjectDictionary );_dgdga {_gfege =_dbbca ;}else {return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_abe .Log .Trace ("\u0046U\u004e\u0043\u0032\u003a\u0020\u0025s",_gfege .String ());_dged ,_ddab :=_aef .TraceToDirectObject (_gfege .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_aef .PdfObjectArray );if !_ddab {_abe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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 _dged .Len ()< 0||_dged .Len ()%2!=0{_abe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u0072\u0061\u006e\u0067e\u0020\u0069\u006e\u0076al\u0069\u0064");return nil ,_fa .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_bacbd ,_cage :=_dged .ToFloat64Array ();if _cage !=nil {return nil ,_cage ;};_dcgcf .Domain =_bacbd ;_dged ,_ddab =_aef .TraceToDirectObject (_gfege .Get ("\u0052\u0061\u006eg\u0065")).(*_aef .PdfObjectArray );if _ddab {if _dged .Len ()< 0||_dged .Len ()%2!=0{return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_ddbfa ,_cgad :=_dged .ToFloat64Array ();if _cgad !=nil {return nil ,_cgad ;};_dcgcf .Range =_ddbfa ;};_dged ,_ddab =_aef .TraceToDirectObject (_gfege .Get ("\u0043\u0030")).(*_aef .PdfObjectArray );if _ddab {_gegga ,_aeddd :=_dged .ToFloat64Array ();if _aeddd !=nil {return nil ,_aeddd ;};_dcgcf .C0 =_gegga ;};_dged ,_ddab =_aef .TraceToDirectObject (_gfege .Get ("\u0043\u0031")).(*_aef .PdfObjectArray );if _ddab {_bfgd ,_dcbdb :=_dged .ToFloat64Array ();if _dcbdb !=nil {return nil ,_dcbdb ;};_dcgcf .C1 =_bfgd ;};if len (_dcgcf .C0 )!=len (_dcgcf .C1 ){_abe .Log .Error ("\u0043\u0030\u0020\u0061nd\u0020\u0043\u0031\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0069n\u0067");return nil ,_aef .ErrRangeError ;};N ,_cage :=_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_gfege .Get ("\u004e")));if _cage !=nil {_abe .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",_gfege .String ());return nil ,_cage ;};_dcgcf .N =N ;return _dcgcf ,nil ;};
|
||
|
||
// NewPdfOutlineTree returns an initialized PdfOutline tree.
|
||
func NewPdfOutlineTree ()*PdfOutline {_geeb :=NewPdfOutline ();_geeb ._gdgaba =&_geeb ;return _geeb };
|
||
|
||
// ToPdfObject returns the PDF representation of the pattern.
|
||
func (_fdaad *PdfPattern )ToPdfObject ()_aef .PdfObject {_gfaeba :=_fdaad .getDict ();_gfaeba .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_gfaeba .Set ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065",_aef .MakeInteger (_fdaad .PatternType ));return _fdaad ._fgbcde ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_adb *PdfActionURI )ToPdfObject ()_aef .PdfObject {_adb .PdfAction .ToPdfObject ();_ddb :=_adb ._gc ;_fab :=_ddb .PdfObject .(*_aef .PdfObjectDictionary );_fab .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeURI )));_fab .SetIfNotNil ("\u0055\u0052\u0049",_adb .URI );_fab .SetIfNotNil ("\u0049\u0073\u004da\u0070",_adb .IsMap );return _ddb ;};
|
||
|
||
// HasXObjectByName checks if has XObject resource by name.
|
||
func (_fgdf *PdfPage )HasXObjectByName (name _aef .PdfObjectName )bool {_gdae ,_agaed :=_fgdf .Resources .XObject .(*_aef .PdfObjectDictionary );if !_agaed {return false ;};if _acdfe :=_gdae .Get (name );_acdfe !=nil {return true ;};return false ;};
|
||
|
||
// NewPdfAnnotationPrinterMark returns a new printermark annotation.
|
||
func NewPdfAnnotationPrinterMark ()*PdfAnnotationPrinterMark {_agfb :=NewPdfAnnotation ();_eea :=&PdfAnnotationPrinterMark {};_eea .PdfAnnotation =_agfb ;_agfb .SetContext (_eea );return _eea ;};func (_dcbe *PdfReader )newPdfActionGoTo3DViewFromDict (_faeb *_aef .PdfObjectDictionary )(*PdfActionGoTo3DView ,error ){return &PdfActionGoTo3DView {TA :_faeb .Get ("\u0054\u0041"),V :_faeb .Get ("\u0056")},nil ;};
|
||
|
||
// Write writes the Appender output to io.Writer.
|
||
// It can only be called once and further invocations will result in an error.
|
||
func (_dcdb *PdfAppender )Write (w _gfc .Writer )error {if _dcdb ._ebef {return _fa .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");};_aeff :=NewPdfWriter ();_gebf ,_fddg :=_aef .GetDict (_aeff ._gacae );if !_fddg {return _fa .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");};_dfcf ,_fddg :=_gebf .Get ("\u004b\u0069\u0064\u0073").(*_aef .PdfObjectArray );if !_fddg {return _fa .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");};_dcab ,_fddg :=_gebf .Get ("\u0043\u006f\u0075n\u0074").(*_aef .PdfObjectInteger );if !_fddg {return _fa .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");};_cgfa :=_dcdb ._fdd ._gdbbd ;_facb :=_cgfa .GetTrailer ();if _facb ==nil {return _fa .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_ccf ,_fddg :=_aef .GetIndirect (_facb .Get ("\u0052\u006f\u006f\u0074"));if !_fddg {return _fa .New ("c\u0061\u0074\u0061\u006c\u006f\u0067 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072 \u006e\u006f\u0074 \u0066o\u0075\u006e\u0064");};_dfda ,_fddg :=_aef .GetDict (_ccf );if !_fddg {_abe .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",_ccf ,*_facb );return _fa .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};for _ ,_edca :=range _dfda .Keys (){if _aeff ._abebc .Get (_edca )==nil {_dcbd :=_dfda .Get (_edca );_aeff ._abebc .Set (_edca ,_dcbd );};};if _dcdb ._faga !=nil {_aeff ._abebc .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_dcdb ._faga .ToPdfObject ());_dcdb .updateObjectsDeep (_dcdb ._faga .ToPdfObject (),nil );};if _dcdb ._gcde !=nil {_dcdb .updateObjectsDeep (_dcdb ._gcde .ToPdfObject (),nil );_aeff ._abebc .Set ("\u0044\u0053\u0053",_dcdb ._gcde .GetContainingPdfObject ());};if _aeff ._cfebb < 2{_aeff .AddExtension ("\u0045\u0053\u0049\u0043","\u0031\u002e\u0037",5);_aeff .AddExtension ("\u0041\u0044\u0042\u0045","\u0031\u002e\u0037",8);};_dcdb .addNewObject (_aeff ._caefd );_dcdb .addNewObject (_aeff ._bdbdfg );_ggega :=false ;if len (_dcdb ._fdd .PageList )!=len (_dcdb ._ebegf ){_ggega =true ;}else {for _edfb :=range _dcdb ._fdd .PageList {switch {case _dcdb ._ebegf [_edfb ]==_dcdb ._fdd .PageList [_edfb ]:case _dcdb ._ebegf [_edfb ]==_dcdb .Reader .PageList [_edfb ]:default:_ggega =true ;};if _ggega {break ;};};};if _ggega {_dcdb .updateObjectsDeep (_aeff ._gacae ,nil );}else {_dcdb ._cbf [_aeff ._gacae ]=struct{}{};};_aeff ._gacae .ObjectNumber =_dcdb .Reader ._cbfdd .ObjectNumber ;_dcdb ._ddff [_aeff ._gacae ]=_dcdb .Reader ._cbfdd .ObjectNumber ;_accd :=[]_aef .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 _ ,_ddac :=range _dcdb ._ebegf {_ffde :=_ddac .ToPdfObject ();*_dcab =*_dcab +1;if _abcg ,_ggc :=_ffde .(*_aef .PdfIndirectObject );_ggc &&_abcg .GetParser ()==_dcdb ._fdd ._gdbbd {_dfcf .Append (&_abcg .PdfObjectReference );continue ;};if _eagf ,_fdce :=_aef .GetDict (_ffde );_fdce {_gaggc ,_agbd :=_eagf .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_aef .PdfIndirectObject );for _agbd {_abe .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_gaggc );_eaede ,_dfae :=_gaggc .PdfObject .(*_aef .PdfObjectDictionary );if !_dfae {return _fa .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_gdg :=range _accd {_abe .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gdg );if _eagf .Get (_gdg )!=nil {_abe .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _gggb :=_eaede .Get (_gdg );_gggb !=nil {_abe .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gdg );_eagf .Set (_gdg ,_gggb );};};_gaggc ,_agbd =_eaede .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_aef .PdfIndirectObject );_abe .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_eaede .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_eagf .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_aeff ._gacae );};_dcdb .updateObjectsDeep (_ffde ,nil );_dfcf .Append (_ffde );};if _ ,_aaee :=_dcdb ._dfgf .Seek (0,_gfc .SeekStart );_aaee !=nil {return _aaee ;};_efff :=make (map[SignatureHandler ]_gfc .Writer );_cefeg :=_aef .MakeArray ();for _ ,_fgbea :=range _dcdb ._aeaaa {if _dacd ,_fdfd :=_aef .GetIndirect (_fgbea );_fdfd {if _agbb ,_ecfg :=_dacd .PdfObject .(*pdfSignDictionary );_ecfg {_eefb :=*_agbb ._gegee ;var _bdff error ;_efff [_eefb ],_bdff =_eefb .NewDigest (_agbb ._bebca );if _bdff !=nil {return _bdff ;};_cefeg .Append (_aef .MakeInteger (0xfffff),_aef .MakeInteger (0xfffff));};};};if _cefeg .Len ()> 0{_cefeg .Append (_aef .MakeInteger (0xfffff),_aef .MakeInteger (0xfffff));};for _ ,_egfe :=range _dcdb ._aeaaa {if _acaa ,_efeb :=_aef .GetIndirect (_egfe );_efeb {if _bfec ,_cafd :=_acaa .PdfObject .(*pdfSignDictionary );_cafd {_bfec .Set ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_cefeg );};};};_fcbe :=len (_efff )> 0;var _eccb _gfc .Reader =_dcdb ._dfgf ;if _fcbe {_gaabf :=make ([]_gfc .Writer ,0,len (_efff ));for _ ,_cdff :=range _efff {_gaabf =append (_gaabf ,_cdff );};_eccb =_gfc .TeeReader (_dcdb ._dfgf ,_gfc .MultiWriter (_gaabf ...));};_dbbb ,_acga :=_gfc .Copy (w ,_eccb );if _acga !=nil {return _acga ;};if len (_dcdb ._aeaaa )==0{return nil ;};_aeff ._ccdaf =_dbbb ;_aeff .ObjNumOffset =_dcdb ._gdbd ;_aeff ._bcdd =true ;_aeff ._gdbde =_dcdb ._cdda ;_aeff ._bbbefb =_dcdb ._fccb ;_aeff ._bfagd =_dcdb ._gadc ;_aeff ._gbcce =_dcdb ._fdd .PdfVersion ().Minor ;_aeff ._bfeac =_dcdb ._ddff ;_bbac :=_dcdb ._egag .GetXrefType ();if _bbac !=nil {_fgfc :=*_bbac ==_aef .XrefTypeObjectStream ;_aeff ._ecfeg =&_fgfc ;};_aeff ._cafea =map[_aef .PdfObject ]struct{}{};_aeff ._aage =[]_aef .PdfObject {};for _ ,_dfaa :=range _dcdb ._aeaaa {if _ ,_bega :=_dcdb ._cbf [_dfaa ];_bega {continue ;};_aeff .addObject (_dfaa );};_edff :=w ;if _fcbe {_edff =_cg .NewBuffer (nil );};if _gdgf :=_aeff .Write (_edff );_gdgf !=nil {return _gdgf ;};if _fcbe {_bcbb :=_edff .(*_cg .Buffer ).Bytes ();_eadf :=_aef .MakeArray ();var _cbge []*pdfSignDictionary ;var _abgea int64 ;for _ ,_ffbc :=range _aeff ._aage {if _gccf ,_cbcc :=_aef .GetIndirect (_ffbc );_cbcc {if _bcef ,_ccg :=_gccf .PdfObject .(*pdfSignDictionary );_ccg {_cbge =append (_cbge ,_bcef );_cbgd :=_bcef ._ggbad +int64 (_bcef ._dfdbe );_eadf .Append (_aef .MakeInteger (_abgea ),_aef .MakeInteger (_cbgd -_abgea ));_abgea =_bcef ._ggbad +int64 (_bcef ._ffff );};};};_eadf .Append (_aef .MakeInteger (_abgea ),_aef .MakeInteger (_dbbb +int64 (len (_bcbb ))-_abgea ));_cbege :=[]byte (_eadf .WriteString ());for _ ,_cgcf :=range _cbge {_gegae :=int (_cgcf ._ggbad -_dbbb );for _babe :=_cgcf ._afebc ;_babe < _cgcf ._aceeb ;_babe ++{_bcbb [_gegae +_babe ]=' ';};_aggd :=_bcbb [_gegae +_cgcf ._afebc :_gegae +_cgcf ._aceeb ];copy (_aggd ,_cbege );};var _cceb int ;for _ ,_cbee :=range _cbge {_gaegf :=int (_cbee ._ggbad -_dbbb );_efgfg :=_bcbb [_cceb :_gaegf +_cbee ._dfdbe ];_gaege :=*_cbee ._gegee ;_efff [_gaege ].Write (_efgfg );_cceb =_gaegf +_cbee ._ffff ;};for _ ,_dbdg :=range _cbge {_dgge :=_bcbb [_cceb :];_bdea :=*_dbdg ._gegee ;_efff [_bdea ].Write (_dgge );};for _ ,_cacgg :=range _cbge {_fgcd :=int (_cacgg ._ggbad -_dbbb );_abfg :=*_cacgg ._gegee ;_faag :=_efff [_abfg ];if _eacg :=_abfg .Sign (_cacgg ._bebca ,_faag );_eacg !=nil {return _eacg ;};_cacgg ._bebca .ByteRange =_eadf ;_ffdd :=[]byte (_cacgg ._bebca .Contents .WriteString ());for _cfac :=_cacgg ._afebc ;_cfac < _cacgg ._aceeb ;_cfac ++{_bcbb [_fgcd +_cfac ]=' ';};for _adbfc :=_cacgg ._dfdbe ;_adbfc < _cacgg ._ffff ;_adbfc ++{_bcbb [_fgcd +_adbfc ]=' ';};_gcdfe :=_bcbb [_fgcd +_cacgg ._afebc :_fgcd +_cacgg ._aceeb ];copy (_gcdfe ,_cbege );_gcdfe =_bcbb [_fgcd +_cacgg ._dfdbe :_fgcd +_cacgg ._ffff ];copy (_gcdfe ,_ffdd );};_egba :=_cg .NewBuffer (_bcbb );_ ,_acga =_gfc .Copy (w ,_egba );if _acga !=nil {return _acga ;};};_dcdb ._ebef =true ;return 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 };};
|
||
|
||
// PdfAnnotationText represents Text annotations.
|
||
// (Section 12.5.6.4 p. 402).
|
||
type PdfAnnotationText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Open _aef .PdfObject ;Name _aef .PdfObject ;State _aef .PdfObject ;StateModel _aef .PdfObject ;};
|
||
|
||
// DecodeArray returns the range of color component values in CalGray colorspace.
|
||
func (_gggd *PdfColorspaceCalGray )DecodeArray ()[]float64 {return []float64 {0.0,1.0}};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline.
|
||
func (_dbdca *Outline )ToPdfObject ()_aef .PdfObject {return _dbdca .ToPdfOutline ().ToPdfObject ()};
|
||
|
||
// NewXObjectImage returns a new XObjectImage.
|
||
func NewXObjectImage ()*XObjectImage {_bfcd :=&XObjectImage {};_aggb :=&_aef .PdfObjectStream {};_aggb .PdfObjectDictionary =_aef .MakeDict ();_bfcd ._dcafe =_aggb ;return _bfcd ;};
|
||
|
||
// GetPageAsIndirectObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_ebbd *PdfPage )GetPageAsIndirectObject ()*_aef .PdfIndirectObject {return _ebbd ._gfbbf };func _gagac (_cbbb *_aef .PdfObjectDictionary ,_edfge *fontCommon )(*pdfCIDFontType2 ,error ){if _edfge ._ababd !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_abe .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",_edfge );return nil ,_aef .ErrRangeError ;};_faac :=_gadbg (_edfge );_cbagf ,_fggbg :=_aef .GetDict (_cbbb .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_fggbg {_abe .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",_edfge );return nil ,ErrRequiredAttributeMissing ;};_faac .CIDSystemInfo =_cbagf ;_faac .DW =_cbbb .Get ("\u0044\u0057");_faac .W =_cbbb .Get ("\u0057");_faac .DW2 =_cbbb .Get ("\u0044\u0057\u0032");_faac .W2 =_cbbb .Get ("\u0057\u0032");_faac .CIDToGIDMap =_cbbb .Get ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070");_faac ._efagd =1000.0;if _gaead ,_fgbag :=_aef .GetNumberAsFloat (_faac .DW );_fgbag ==nil {_faac ._efagd =_gaead ;};_dfgae ,_agba :=_bbaee (_faac .W );if _agba !=nil {return nil ,_agba ;};if _dfgae ==nil {_dfgae =map[_be .CharCode ]float64 {};};_faac ._gcfe =_dfgae ;return _faac ,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 (_aceb *PdfColorspaceDeviceGray )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ffbd ,_dage :=_aef .GetNumbersAsFloat (objects );if _dage !=nil {return nil ,_dage ;};return _aceb .ColorFromFloats (_ffbd );};var (CourierName =_ecf .CourierName ;CourierBoldName =_ecf .CourierBoldName ;CourierObliqueName =_ecf .CourierObliqueName ;CourierBoldObliqueName =_ecf .CourierBoldObliqueName ;HelveticaName =_ecf .HelveticaName ;HelveticaBoldName =_ecf .HelveticaBoldName ;HelveticaObliqueName =_ecf .HelveticaObliqueName ;HelveticaBoldObliqueName =_ecf .HelveticaBoldObliqueName ;SymbolName =_ecf .SymbolName ;ZapfDingbatsName =_ecf .ZapfDingbatsName ;TimesRomanName =_ecf .TimesRomanName ;TimesBoldName =_ecf .TimesBoldName ;TimesItalicName =_ecf .TimesItalicName ;TimesBoldItalicName =_ecf .TimesBoldItalicName ;);
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gdddb *PdfColorCalRGB )ToInteger (bits int )[3]uint32 {_gaga :=_ad .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_gaga *_gdddb .A ()),uint32 (_gaga *_gdddb .B ()),uint32 (_gaga *_gdddb .C ())};};
|
||
|
||
// NewPdfAnnotationScreen returns a new screen annotation.
|
||
func NewPdfAnnotationScreen ()*PdfAnnotationScreen {_gcb :=NewPdfAnnotation ();_ceg :=&PdfAnnotationScreen {};_ceg .PdfAnnotation =_gcb ;_gcb .SetContext (_ceg );return _ceg ;};
|
||
|
||
// GetPrimitiveFromModel returns the primitive object corresponding to the input `model`.
|
||
func (_abeae *modelManager )GetPrimitiveFromModel (model PdfModel )_aef .PdfObject {_bcabf ,_dgafd :=_abeae ._gfdb [model ];if !_dgafd {return nil ;};return _bcabf ;};
|
||
|
||
// CustomKeys returns all custom info keys as list.
|
||
func (_daca *PdfInfo )CustomKeys ()[]string {if _daca ._ebcd ==nil {return nil ;};_abbd :=make ([]string ,len (_daca ._ebcd .Keys ()));for _ ,_dbgb :=range _daca ._ebcd .Keys (){_abbd =append (_abbd ,_dbgb .String ());};return _abbd ;};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););
|
||
|
||
// 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 (_gbfdf *Image )GetSamples ()[]uint32 {_fafaec :=_ea .ResampleBytes (_gbfdf .Data ,int (_gbfdf .BitsPerComponent ));if _gbfdf .BitsPerComponent < 8{_fafaec =_gbfdf .samplesTrimPadding (_fafaec );};_eacf :=int (_gbfdf .Width )*int (_gbfdf .Height )*_gbfdf .ColorComponents ;if len (_fafaec )< _eacf {_abe .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 (_fafaec ),_eacf );return _fafaec ;}else if len (_fafaec )> _eacf {_abe .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 (_fafaec ),_eacf );_fafaec =_fafaec [:_eacf ];};return _fafaec ;};func (_cedde *PdfReader )newPdfFieldFromIndirectObject (_acba *_aef .PdfIndirectObject ,_gbae *PdfField )(*PdfField ,error ){if _ggfd ,_fbcb :=_cedde ._fggbd .GetModelFromPrimitive (_acba ).(*PdfField );_fbcb {return _ggfd ,nil ;};_feaf ,_affb :=_aef .GetDict (_acba );if !_affb {return nil ,_b .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");};_cfga :=NewPdfField ();_cfga ._abebg =_acba ;_cfga ._abebg .PdfObject =_feaf ;if _gbab ,_caef :=_aef .GetName (_feaf .Get ("\u0046\u0054"));_caef {_cfga .FT =_gbab ;};if _gbae !=nil {_cfga .Parent =_gbae ;};_cfga .T ,_ =_feaf .Get ("\u0054").(*_aef .PdfObjectString );_cfga .TU ,_ =_feaf .Get ("\u0054\u0055").(*_aef .PdfObjectString );_cfga .TM ,_ =_feaf .Get ("\u0054\u004d").(*_aef .PdfObjectString );_cfga .Ff ,_ =_feaf .Get ("\u0046\u0066").(*_aef .PdfObjectInteger );_cfga .V =_feaf .Get ("\u0056");_cfga .DV =_feaf .Get ("\u0044\u0056");_cfga .AA =_feaf .Get ("\u0041\u0041");_fcabd :=_cfga .FT ;if _fcabd ==nil &&_gbae !=nil {_fcabd =_gbae .FT ;};if _fcabd !=nil {switch *_fcabd {case "\u0054\u0078":_eabe ,_cgfac :=_bgcf (_feaf );if _cgfac !=nil {return nil ,_cgfac ;};_eabe .PdfField =_cfga ;_cfga ._aafba =_eabe ;case "\u0043\u0068":_daegd ,_bgadd :=_agfdf (_feaf );if _bgadd !=nil {return nil ,_bgadd ;};_daegd .PdfField =_cfga ;_cfga ._aafba =_daegd ;case "\u0042\u0074\u006e":_dgcea ,_fgbba :=_gfab (_feaf );if _fgbba !=nil {return nil ,_fgbba ;};_dgcea .PdfField =_cfga ;_cfga ._aafba =_dgcea ;case "\u0053\u0069\u0067":_gfddf ,_bgde :=_cedde .newPdfFieldSignatureFromDict (_feaf );if _bgde !=nil {return nil ,_bgde ;};_gfddf .PdfField =_cfga ;_cfga ._aafba =_gfddf ;default:_abe .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",*_cfga .FT );return nil ,_fa .New ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079p\u0065");};};if _gecdg ,_acfcg :=_aef .GetName (_feaf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_acfcg {if *_gecdg =="\u0057\u0069\u0064\u0067\u0065\u0074"{_cedf ,_fbg :=_cedde .newPdfAnnotationFromIndirectObject (_acba );if _fbg !=nil {return nil ,_fbg ;};_fgcgf ,_gcf :=_cedf .GetContext ().(*PdfAnnotationWidget );if !_gcf {return nil ,_fa .New ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0067e\u0074 \u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006fn");};_fgcgf ._ccc =_cfga ;_fgcgf .Parent =_cfga ._abebg ;_cfga .Annotations =append (_cfga .Annotations ,_fgcgf );return _cfga ,nil ;};};_fgdc :=true ;if _gbgc ,_ecbba :=_aef .GetArray (_feaf .Get ("\u004b\u0069\u0064\u0073"));_ecbba {_ccagf :=make ([]*_aef .PdfIndirectObject ,0,_gbgc .Len ());for _ ,_gdff :=range _gbgc .Elements (){_fdge ,_cabc :=_aef .GetIndirect (_gdff );if !_cabc {_gcga ,_bad :=_aef .GetStream (_gdff );if _bad &&_gcga .PdfObjectDictionary !=nil {_bfbad ,_gdaa :=_aef .GetNameVal (_gcga .Get ("\u0054\u0079\u0070\u0065"));if _gdaa &&_bfbad =="\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061"{_abe .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 ,_fa .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");};_cbga ,_gceab :=_aef .GetDict (_fdge );if !_gceab {return nil ,ErrTypeCheck ;};if _fgdc {_fgdc =!_bffeb (_cbga );};_ccagf =append (_ccagf ,_fdge );};for _ ,_ebca :=range _ccagf {if _fgdc {_abcf ,_fdbabb :=_cedde .newPdfAnnotationFromIndirectObject (_ebca );if _fdbabb !=nil {_abe .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",_fdbabb );return nil ,_fdbabb ;};_febg ,_bfbe :=_abcf ._eab .(*PdfAnnotationWidget );if !_bfbe {return nil ,ErrTypeCheck ;};_febg ._ccc =_cfga ;_cfga .Annotations =append (_cfga .Annotations ,_febg );}else {_bcfc ,_aedab :=_cedde .newPdfFieldFromIndirectObject (_ebca ,_cfga );if _aedab !=nil {_abe .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",_aedab );return nil ,_aedab ;};_cfga .Kids =append (_cfga .Kids ,_bcfc );};};};return _cfga ,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 (_cbce *PdfColorspaceCalGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gafb :=vals [0];if _gafb < 0.0||_gafb > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gacf :=NewPdfColorCalGray (_gafb );return _gacf ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Indexed).
|
||
func (_aebfb *PdfColorspaceSpecialIndexed )GetNumComponents ()int {return 1};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a Lab device.
|
||
func (_abfc *PdfColorspaceLab )GetNumComponents ()int {return 3};
|
||
|
||
// PdfAnnotationProjection represents Projection annotations.
|
||
type PdfAnnotationProjection struct{*PdfAnnotation ;*PdfAnnotationMarkup ;};
|
||
|
||
// AppendContentBytes creates a PDF stream from `cs` and appends it to the
|
||
// array of streams specified by the pages's Contents entry.
|
||
// If `wrapContents` is true, the content stream of the page is wrapped using
|
||
// a `q/Q` operator pair, so that its state does not affect the appended
|
||
// content stream.
|
||
func (_cbdfe *PdfPage )AppendContentBytes (cs []byte ,wrapContents bool )error {_gfadc :=_cbdfe .GetContentStreamObjs ();wrapContents =wrapContents &&len (_gfadc )> 0;_efge :=_aef .NewFlateEncoder ();_ebaff :=_aef .MakeArray ();if wrapContents {_gcdd ,_befga :=_aef .MakeStream ([]byte ("\u0071\u000a"),_efge );if _befga !=nil {return _befga ;};_ebaff .Append (_gcdd );};_ebaff .Append (_gfadc ...);if wrapContents {_ccdbg ,_gefbc :=_aef .MakeStream ([]byte ("\u000a\u0051\u000a"),_efge );if _gefbc !=nil {return _gefbc ;};_ebaff .Append (_ccdbg );};_eecd ,_gddec :=_aef .MakeStream (cs ,_efge );if _gddec !=nil {return _gddec ;};_ebaff .Append (_eecd );_cbdfe .Contents =_ebaff ;return nil ;};
|
||
|
||
// PdfAnnotationMovie represents Movie annotations.
|
||
// (Section 12.5.6.17).
|
||
type PdfAnnotationMovie struct{*PdfAnnotation ;T _aef .PdfObject ;Movie _aef .PdfObject ;A _aef .PdfObject ;};
|
||
|
||
// ToJBIG2Image converts current image to the core.JBIG2Image.
|
||
func (_dddgc *Image )ToJBIG2Image ()(*_aef .JBIG2Image ,error ){_dcbcg ,_faba :=_dddgc .ToGoImage ();if _faba !=nil {return nil ,_faba ;};return _aef .GoImageToJBIG2 (_dcbcg ,_aef .JB2ImageAutoThreshold );};
|
||
|
||
// 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 (_acgbf *Image )Resample (targetBitsPerComponent int64 ){if _acgbf .BitsPerComponent ==targetBitsPerComponent {return ;};_beaef :=_acgbf .GetSamples ();if targetBitsPerComponent < _acgbf .BitsPerComponent {_gddee :=_acgbf .BitsPerComponent -targetBitsPerComponent ;for _bade :=range _beaef {_beaef [_bade ]>>=uint (_gddee );};}else if targetBitsPerComponent > _acgbf .BitsPerComponent {_ccad :=targetBitsPerComponent -_acgbf .BitsPerComponent ;for _fdcecf :=range _beaef {_beaef [_fdcecf ]<<=uint (_ccad );};};_acgbf .BitsPerComponent =targetBitsPerComponent ;if _acgbf .BitsPerComponent < 8{_acgbf .resampleLowBits (_beaef );return ;};_eefaf :=_gb .BytesPerLine (int (_acgbf .Width ),int (_acgbf .BitsPerComponent ),_acgbf .ColorComponents );_ebfge :=make ([]byte ,_eefaf *int (_acgbf .Height ));var (_bagee ,_dedf ,_bede ,_dfeed int ;_efcbe uint32 ;);for _bede =0;_bede < int (_acgbf .Height );_bede ++{_bagee =_bede *_eefaf ;_dedf =(_bede +1)*_eefaf -1;_befge :=_ea .ResampleUint32 (_beaef [_bagee :_dedf ],int (targetBitsPerComponent ),8);for _dfeed ,_efcbe =range _befge {_ebfge [_dfeed +_bagee ]=byte (_efcbe );};};_acgbf .Data =_ebfge ;};func (_baa *PdfReader )newPdfAnnotationPolyLineFromDict (_aca *_aef .PdfObjectDictionary )(*PdfAnnotationPolyLine ,error ){_bbag :=PdfAnnotationPolyLine {};_dba ,_bfee :=_baa .newPdfAnnotationMarkupFromDict (_aca );if _bfee !=nil {return nil ,_bfee ;};_bbag .PdfAnnotationMarkup =_dba ;_bbag .Vertices =_aca .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_bbag .LE =_aca .Get ("\u004c\u0045");_bbag .BS =_aca .Get ("\u0042\u0053");_bbag .IC =_aca .Get ("\u0049\u0043");_bbag .BE =_aca .Get ("\u0042\u0045");_bbag .IT =_aca .Get ("\u0049\u0054");_bbag .Measure =_aca .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_bbag ,nil ;};func (_fcg *PdfColorspaceSpecialIndexed )String ()string {return "\u0049n\u0064\u0065\u0078\u0065\u0064";};
|
||
|
||
// AddPages adds pages to be appended to the end of the source PDF.
|
||
func (_gagd *PdfAppender )AddPages (pages ...*PdfPage ){for _ ,_bgaf :=range pages {_bgaf =_bgaf .Duplicate ();_bedgc (_bgaf );_gagd ._ebegf =append (_gagd ._ebegf ,_bgaf );};};func _afga (_fgbc *PdfPage )map[_aef .PdfObjectName ]_aef .PdfObject {_fagc :=make (map[_aef .PdfObjectName ]_aef .PdfObject );if _fgbc .Resources ==nil {return _fagc ;};if _fgbc .Resources .Font !=nil {if _fgbe ,_babdd :=_aef .GetDict (_fgbc .Resources .Font );_babdd {for _ ,_gcdbd :=range _fgbe .Keys (){_fagc [_gcdbd ]=_fgbe .Get (_gcdbd );};};};if _fgbc .Resources .ExtGState !=nil {if _gecdf ,_eage :=_aef .GetDict (_fgbc .Resources .ExtGState );_eage {for _ ,_aece :=range _gecdf .Keys (){_fagc [_aece ]=_gecdf .Get (_aece );};};};if _fgbc .Resources .XObject !=nil {if _fgbd ,_ccdd :=_aef .GetDict (_fgbc .Resources .XObject );_ccdd {for _ ,_gbbe :=range _fgbd .Keys (){_fagc [_gbbe ]=_fgbd .Get (_gbbe );};};};if _fgbc .Resources .Pattern !=nil {if _deag ,_acf :=_aef .GetDict (_fgbc .Resources .Pattern );_acf {for _ ,_eceed :=range _deag .Keys (){_fagc [_eceed ]=_deag .Get (_eceed );};};};if _fgbc .Resources .Shading !=nil {if _gega ,_gagg :=_aef .GetDict (_fgbc .Resources .Shading );_gagg {for _ ,_aad :=range _gega .Keys (){_fagc [_aad ]=_gega .Get (_aad );};};};if _fgbc .Resources .ProcSet !=nil {if _eaca ,_aebd :=_aef .GetDict (_fgbc .Resources .ProcSet );_aebd {for _ ,_dbac :=range _eaca .Keys (){_fagc [_dbac ]=_eaca .Get (_dbac );};};};if _fgbc .Resources .Properties !=nil {if _abeg ,_abag :=_aef .GetDict (_fgbc .Resources .Properties );_abag {for _ ,_adcf :=range _abeg .Keys (){_fagc [_adcf ]=_abeg .Get (_adcf );};};};return _fagc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_degfd *PdfShadingType6 )ToPdfObject ()_aef .PdfObject {_degfd .PdfShading .ToPdfObject ();_ddafe ,_begcf :=_degfd .getShadingDict ();if _begcf !=nil {_abe .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 _degfd .BitsPerCoordinate !=nil {_ddafe .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_degfd .BitsPerCoordinate );};if _degfd .BitsPerComponent !=nil {_ddafe .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_degfd .BitsPerComponent );};if _degfd .BitsPerFlag !=nil {_ddafe .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_degfd .BitsPerFlag );};if _degfd .Decode !=nil {_ddafe .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_degfd .Decode );};if _degfd .Function !=nil {if len (_degfd .Function )==1{_ddafe .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_degfd .Function [0].ToPdfObject ());}else {_dfbd :=_aef .MakeArray ();for _ ,_cfege :=range _degfd .Function {_dfbd .Append (_cfege .ToPdfObject ());};_ddafe .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dfbd );};};return _degfd ._bbga ;};var _ pdfFont =(*pdfFontType0 )(nil );
|
||
|
||
// SetPdfTitle sets the Title attribute of the output PDF.
|
||
func SetPdfTitle (title string ){_abdcd .Lock ();defer _abdcd .Unlock ();_caceb =title };
|
||
|
||
// 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 ;_efbb *_aef .PdfIndirectObject ;};func (_ffce *PdfColorspaceICCBased )String ()string {return "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064";};
|
||
|
||
// SetOptimizer sets the optimizer to optimize PDF before writing.
|
||
func (_dgbdd *PdfWriter )SetOptimizer (optimizer Optimizer ){_dgbdd ._ceag =optimizer };
|
||
|
||
// ValidateSignatures validates digital signatures in the document.
|
||
func (_ggfea *PdfReader )ValidateSignatures (handlers []SignatureHandler )([]SignatureValidationResult ,error ){if _ggfea .AcroForm ==nil {return nil ,nil ;};if _ggfea .AcroForm .Fields ==nil {return nil ,nil ;};type sigFieldPair struct{_bgga *PdfSignature ;_gffege *PdfField ;_ddebf SignatureHandler ;};var _aggcf []*sigFieldPair ;for _ ,_gfccf :=range _ggfea .AcroForm .AllFields (){if _gfccf .V ==nil {continue ;};if _gdbf ,_eddaf :=_aef .GetDict (_gfccf .V );_eddaf {if _bcea ,_gedbad :=_aef .GetNameVal (_gdbf .Get ("\u0054\u0079\u0070\u0065"));_gedbad &&_bcea =="\u0053\u0069\u0067"{_bebdd ,_acgcf :=_aef .GetIndirect (_gfccf .V );if !_acgcf {_abe .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 ;};_aafaa ,_bdbc :=_ggfea .newPdfSignatureFromIndirect (_bebdd );if _bdbc !=nil {return nil ,_bdbc ;};var _gggfc SignatureHandler ;for _ ,_begcb :=range handlers {if _begcb .IsApplicable (_aafaa ){_gggfc =_begcb ;break ;};};_aggcf =append (_aggcf ,&sigFieldPair {_bgga :_aafaa ,_gffege :_gfccf ,_ddebf :_gggfc });};};};var _cdgef []SignatureValidationResult ;for _ ,_abfgg :=range _aggcf {_cfca :=SignatureValidationResult {IsSigned :true ,Fields :[]*PdfField {_abfgg ._gffege }};if _abfgg ._ddebf ==nil {_cfca .Errors =append (_cfca .Errors ,"\u0068a\u006ed\u006c\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0073\u0065\u0074");_cdgef =append (_cdgef ,_cfca );continue ;};_egfbf ,_gffec :=_abfgg ._ddebf .NewDigest (_abfgg ._bgga );if _gffec !=nil {_cfca .Errors =append (_cfca .Errors ,"\u0064\u0069\u0067e\u0073\u0074\u0020\u0065\u0072\u0072\u006f\u0072",_gffec .Error ());_cdgef =append (_cdgef ,_cfca );continue ;};_efbbb :=_abfgg ._bgga .ByteRange ;if _efbbb ==nil {_cfca .Errors =append (_cfca .Errors ,"\u0042\u0079\u0074\u0065\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");_cdgef =append (_cdgef ,_cfca );continue ;};for _geef :=0;_geef < _efbbb .Len ();_geef =_geef +2{_bcge ,_ :=_aef .GetNumberAsInt64 (_efbbb .Get (_geef ));_acbff ,_ :=_aef .GetIntVal (_efbbb .Get (_geef +1));if _ ,_debd :=_ggfea ._cced .Seek (_bcge ,_gfc .SeekStart );_debd !=nil {return nil ,_debd ;};_badf :=make ([]byte ,_acbff );if _ ,_ebcb :=_ggfea ._cced .Read (_badf );_ebcb !=nil {return nil ,_ebcb ;};_egfbf .Write (_badf );};_begfd ,_gffec :=_abfgg ._ddebf .Validate (_abfgg ._bgga ,_egfbf );if _gffec !=nil {return nil ,_gffec ;};_begfd .Name =_abfgg ._bgga .Name .Decoded ();_begfd .Reason =_abfgg ._bgga .Reason .Decoded ();if _abfgg ._bgga .M !=nil {_bdfae ,_ababf :=NewPdfDate (_abfgg ._bgga .M .String ());if _ababf !=nil {_begfd .Errors =append (_begfd .Errors ,_ababf .Error ());continue ;};_begfd .Date =_bdfae ;};_begfd .ContactInfo =_abfgg ._bgga .ContactInfo .Decoded ();_begfd .Location =_abfgg ._bgga .Location .Decoded ();_begfd .Fields =_cfca .Fields ;_cdgef =append (_cdgef ,_begfd );};return _cdgef ,nil ;};func _bfba (_daegf *_aef .PdfObjectDictionary )*VRI {_defad ,_ :=_aef .GetString (_daegf .Get ("\u0054\u0055"));_gadf ,_ :=_aef .GetString (_daegf .Get ("\u0054\u0053"));return &VRI {Cert :_cbbfg (_daegf .Get ("\u0043\u0065\u0072\u0074")),OCSP :_cbbfg (_daegf .Get ("\u004f\u0043\u0053\u0050")),CRL :_cbbfg (_daegf .Get ("\u0043\u0052\u004c")),TU :_defad ,TS :_gadf };};
|
||
|
||
// DefaultImageHandler is the default implementation of the ImageHandler using the standard go library.
|
||
type DefaultImageHandler struct{};
|
||
|
||
// 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 (_afeb *PdfColorspaceLab )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbafb ,_cegd :=_aef .GetNumbersAsFloat (objects );if _cegd !=nil {return nil ,_cegd ;};return _afeb .ColorFromFloats (_gbafb );};func (_bcafgd *PdfWriter )updateObjectNumbers (){_fbdca :=_bcafgd .ObjNumOffset ;_abagf :=0;for _ ,_efffe :=range _bcafgd ._aage {_agcda :=int64 (_abagf +1+_fbdca );_dgebc :=true ;if _bcafgd ._bcdd {if _fedgf ,_ccbc :=_bcafgd ._bfeac [_efffe ];_ccbc {_agcda =_fedgf ;_dgebc =false ;};};switch _fbdcd :=_efffe .(type ){case *_aef .PdfIndirectObject :_fbdcd .ObjectNumber =_agcda ;_fbdcd .GenerationNumber =0;case *_aef .PdfObjectStream :_fbdcd .ObjectNumber =_agcda ;_fbdcd .GenerationNumber =0;case *_aef .PdfObjectStreams :_fbdcd .ObjectNumber =_agcda ;_fbdcd .GenerationNumber =0;default:_abe .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",_fbdcd );continue ;};if _dgebc {_abagf ++;};};_bbcdb :=func (_bcdag _aef .PdfObject )int64 {switch _cgede :=_bcdag .(type ){case *_aef .PdfIndirectObject :return _cgede .ObjectNumber ;case *_aef .PdfObjectStream :return _cgede .ObjectNumber ;case *_aef .PdfObjectStreams :return _cgede .ObjectNumber ;};return 0;};_eg .SliceStable (_bcafgd ._aage ,func (_fgegg ,_caefg int )bool {return _bbcdb (_bcafgd ._aage [_fgegg ])< _bbcdb (_bcafgd ._aage [_caefg ])});};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dgad *PdfAnnotationPrinterMark )ToPdfObject ()_aef .PdfObject {_dgad .PdfAnnotation .ToPdfObject ();_eggdf :=_dgad ._edc ;_fdgb :=_eggdf .PdfObject .(*_aef .PdfObjectDictionary );_fdgb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b"));_fdgb .SetIfNotNil ("\u004d\u004e",_dgad .MN );return _eggdf ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_caf *PdfActionRendition )ToPdfObject ()_aef .PdfObject {_caf .PdfAction .ToPdfObject ();_ecee :=_caf ._gc ;_ddc :=_ecee .PdfObject .(*_aef .PdfObjectDictionary );_ddc .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeRendition )));_ddc .SetIfNotNil ("\u0052",_caf .R );_ddc .SetIfNotNil ("\u0041\u004e",_caf .AN );_ddc .SetIfNotNil ("\u004f\u0050",_caf .OP );_ddc .SetIfNotNil ("\u004a\u0053",_caf .JS );return _ecee ;};func _fdgac ()string {return _abe .Version };
|
||
|
||
// DecodeArray returns the range of color component values in DeviceCMYK colorspace.
|
||
func (_ege *PdfColorspaceDeviceCMYK )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dbf *PdfAnnotationMovie )ToPdfObject ()_aef .PdfObject {_dbf .PdfAnnotation .ToPdfObject ();_aabd :=_dbf ._edc ;_dfac :=_aabd .PdfObject .(*_aef .PdfObjectDictionary );_dfac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u004d\u006f\u0076i\u0065"));_dfac .SetIfNotNil ("\u0054",_dbf .T );_dfac .SetIfNotNil ("\u004d\u006f\u0076i\u0065",_dbf .Movie );_dfac .SetIfNotNil ("\u0041",_dbf .A );return _aabd ;};
|
||
|
||
// NewPdfColorspaceFromPdfObject loads a PdfColorspace from a PdfObject. Returns an error if there is
|
||
// a failure in loading.
|
||
func NewPdfColorspaceFromPdfObject (obj _aef .PdfObject )(PdfColorspace ,error ){var _cccd *_aef .PdfIndirectObject ;var _feff *_aef .PdfObjectName ;var _addae *_aef .PdfObjectArray ;if _gebc ,_eadfd :=obj .(*_aef .PdfIndirectObject );_eadfd {_cccd =_gebc ;};obj =_aef .TraceToDirectObject (obj );switch _gffc :=obj .(type ){case *_aef .PdfObjectArray :_addae =_gffc ;case *_aef .PdfObjectName :_feff =_gffc ;};if _feff !=nil {switch *_feff {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:_abe .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",*_feff );return nil ,_cbcgg ;};};if _addae !=nil &&_addae .Len ()> 0{var _ccff _aef .PdfObject =_cccd ;if _cccd ==nil {_ccff =_addae ;};if _eaef ,_cdgcb :=_aef .GetName (_addae .Get (0));_cdgcb {switch _eaef .String (){case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":if _addae .Len ()==1{return NewPdfColorspaceDeviceGray (),nil ;};case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":if _addae .Len ()==1{return NewPdfColorspaceDeviceRGB (),nil ;};case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _addae .Len ()==1{return NewPdfColorspaceDeviceCMYK (),nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079":return _dddc (_ccff );case "\u0043\u0061\u006c\u0052\u0047\u0042":return _ddg (_ccff );case "\u004c\u0061\u0062":return _afgd (_ccff );case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064":return _dfcc (_ccff );case "\u0050a\u0074\u0074\u0065\u0072\u006e":return _fccfg (_ccff );case "\u0049n\u0064\u0065\u0078\u0065\u0064":return _aedcd (_ccff );case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e":return _cgfcb (_ccff );case "\u0044e\u0076\u0069\u0063\u0065\u004e":return _cgcfd (_ccff );default:_abe .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",*_eaef );};};};_abe .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 ;};func (_ggeg *PdfReader )newPdfAnnotationLinkFromDict (_gdfc *_aef .PdfObjectDictionary )(*PdfAnnotationLink ,error ){_cfee :=PdfAnnotationLink {};_cfee .A =_gdfc .Get ("\u0041");_cfee .Dest =_gdfc .Get ("\u0044\u0065\u0073\u0074");_cfee .H =_gdfc .Get ("\u0048");_cfee .PA =_gdfc .Get ("\u0050\u0041");_cfee .QuadPoints =_gdfc .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_cfee .BS =_gdfc .Get ("\u0042\u0053");return &_cfee ,nil ;};
|
||
|
||
// ImageToRGB converts Lab colorspace image to RGB and returns the result.
|
||
func (_dfdc *PdfColorspaceLab )ImageToRGB (img Image )(Image ,error ){_dggc :=func (_egafd float64 )float64 {if _egafd >=6.0/29{return _egafd *_egafd *_egafd ;};return 108.0/841*(_egafd -4/29);};_dggg :=img ._fgafa ;if len (_dggg )!=6{_abe .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");_dggg =_dfdc .DecodeArray ();};_cdeg :=_ea .NewReader (img .getBase ());_cdbe :=_gb .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,img ._afge ,img ._fgafa );_fbcd :=_ea .NewWriter (_cdbe );_dcfb :=_ad .Pow (2,float64 (img .BitsPerComponent ))-1;_fegb :=make ([]uint32 ,3);var (_dffb error ;Ls ,As ,Bs ,L ,M ,N ,X ,Y ,Z ,_fbbab ,_gdge ,_fcfc float64 ;);for {_dffb =_cdeg .ReadSamples (_fegb );if _dffb ==_gfc .EOF {break ;}else if _dffb !=nil {return img ,_dffb ;};Ls =float64 (_fegb [0])/_dcfb ;As =float64 (_fegb [1])/_dcfb ;Bs =float64 (_fegb [2])/_dcfb ;Ls =_gb .LinearInterpolate (Ls ,0.0,1.0,_dggg [0],_dggg [1]);As =_gb .LinearInterpolate (As ,0.0,1.0,_dggg [2],_dggg [3]);Bs =_gb .LinearInterpolate (Bs ,0.0,1.0,_dggg [4],_dggg [5]);L =(Ls +16)/116+As /500;M =(Ls +16)/116;N =(Ls +16)/116-Bs /200;X =_dfdc .WhitePoint [0]*_dggc (L );Y =_dfdc .WhitePoint [1]*_dggc (M );Z =_dfdc .WhitePoint [2]*_dggc (N );_fbbab =3.240479*X +-1.537150*Y +-0.498535*Z ;_gdge =-0.969256*X +1.875992*Y +0.041556*Z ;_fcfc =0.055648*X +-0.204043*Y +1.057311*Z ;_fbbab =_ad .Min (_ad .Max (_fbbab ,0),1.0);_gdge =_ad .Min (_ad .Max (_gdge ,0),1.0);_fcfc =_ad .Min (_ad .Max (_fcfc ,0),1.0);_fegb [0]=uint32 (_fbbab *_dcfb );_fegb [1]=uint32 (_gdge *_dcfb );_fegb [2]=uint32 (_fcfc *_dcfb );if _dffb =_fbcd .WriteSamples (_fegb );_dffb !=nil {return img ,_dffb ;};};return _cbgdcg (&_cdbe ),nil ;};
|
||
|
||
// NewPdfActionGoToR returns a new "go to remote" action.
|
||
func NewPdfActionGoToR ()*PdfActionGoToR {_ece :=NewPdfAction ();_cda :=&PdfActionGoToR {};_cda .PdfAction =_ece ;_ece .SetContext (_cda );return _cda ;};
|
||
|
||
// SetPdfModifiedDate sets the ModDate attribute of the output PDF.
|
||
func SetPdfModifiedDate (modifiedDate _a .Time ){_abdcd .Lock ();defer _abdcd .Unlock ();_ecgff =modifiedDate ;};
|
||
|
||
// ImageToRGB converts ICCBased colorspace image to RGB and returns the result.
|
||
func (_ddag *PdfColorspaceICCBased )ImageToRGB (img Image )(Image ,error ){if _ddag .Alternate ==nil {_abe .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 _ddag .N ==1{_abe .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");_dcg :=NewPdfColorspaceDeviceGray ();return _dcg .ImageToRGB (img );}else if _ddag .N ==3{_abe .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 _ddag .N ==4{_abe .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");_edcc :=NewPdfColorspaceDeviceCMYK ();return _edcc .ImageToRGB (img );}else {return img ,_fa .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");};};_abe .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",_ddag );_cece ,_deeaa :=_ddag .Alternate .ImageToRGB (img );_abe .Log .Trace ("I\u0043C\u0020\u0049\u006e\u0070\u0075\u0074\u0020\u0069m\u0061\u0067\u0065\u003a %\u002b\u0076",img );_abe .Log .Trace ("I\u0043\u0043\u0020\u004fut\u0070u\u0074\u0020\u0069\u006d\u0061g\u0065\u003a\u0020\u0025\u002b\u0076",_cece );return _cece ,_deeaa ;};
|
||
|
||
// HasFontByName checks if has font resource by name.
|
||
func (_edbb *PdfPage )HasFontByName (name _aef .PdfObjectName )bool {_aggdee ,_edaee :=_edbb .Resources .Font .(*_aef .PdfObjectDictionary );if !_edaee {return false ;};if _gebb :=_aggdee .Get (name );_gebb !=nil {return true ;};return false ;};
|
||
|
||
// PdfAnnotationFreeText represents FreeText annotations.
|
||
// (Section 12.5.6.6).
|
||
type PdfAnnotationFreeText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;DA _aef .PdfObject ;Q _aef .PdfObject ;RC _aef .PdfObject ;DS _aef .PdfObject ;CL _aef .PdfObject ;IT _aef .PdfObject ;BE _aef .PdfObject ;RD _aef .PdfObject ;BS _aef .PdfObject ;LE _aef .PdfObject ;};func _aegc (_bfab *_aef .PdfObjectDictionary )(*PdfShadingType7 ,error ){_fbedd :=PdfShadingType7 {};_fcea :=_bfab .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fcea ==nil {_abe .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 ;};_eacb ,_fadb :=_fcea .(*_aef .PdfObjectInteger );if !_fadb {_abe .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",_fcea );return nil ,_aef .ErrTypeError ;};_fbedd .BitsPerCoordinate =_eacb ;_fcea =_bfab .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fcea ==nil {_abe .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 ;};_eacb ,_fadb =_fcea .(*_aef .PdfObjectInteger );if !_fadb {_abe .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",_fcea );return nil ,_aef .ErrTypeError ;};_fbedd .BitsPerComponent =_eacb ;_fcea =_bfab .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fcea ==nil {_abe .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 ;};_eacb ,_fadb =_fcea .(*_aef .PdfObjectInteger );if !_fadb {_abe .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",_fcea );return nil ,_aef .ErrTypeError ;};_fbedd .BitsPerComponent =_eacb ;_fcea =_bfab .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fcea ==nil {_abe .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 ;};_ecaac ,_fadb :=_fcea .(*_aef .PdfObjectArray );if !_fadb {_abe .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",_fcea );return nil ,_aef .ErrTypeError ;};_fbedd .Decode =_ecaac ;if _gdeba :=_bfab .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_gdeba !=nil {_fbedd .Function =[]PdfFunction {};if _cace ,_cggca :=_gdeba .(*_aef .PdfObjectArray );_cggca {for _ ,_cbbcc :=range _cace .Elements (){_acfag ,_effgg :=_begb (_cbbcc );if _effgg !=nil {_abe .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",_effgg );return nil ,_effgg ;};_fbedd .Function =append (_fbedd .Function ,_acfag );};}else {_dgede ,_geadf :=_begb (_gdeba );if _geadf !=nil {_abe .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",_geadf );return nil ,_geadf ;};_fbedd .Function =append (_fbedd .Function ,_dgede );};};return &_fbedd ,nil ;};func (_dgcec *PdfSignature )extractChainFromCert ()([]*_c .Certificate ,error ){var _fcbge *_aef .PdfObjectArray ;switch _ccecc :=_dgcec .Cert .(type ){case *_aef .PdfObjectString :_fcbge =_aef .MakeArray (_ccecc );case *_aef .PdfObjectArray :_fcbge =_ccecc ;default:return nil ,_b .Errorf ("\u0069n\u0076\u0061l\u0069\u0064\u0020s\u0069\u0067\u006e\u0061\u0074\u0075\u0072e\u0020\u0063\u0065\u0072\u0074\u0069f\u0069\u0063\u0061\u0074\u0065\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_ccecc );};var _fbcfa _cg .Buffer ;for _ ,_bgfa :=range _fcbge .Elements (){_adbad ,_gcadf :=_aef .GetString (_bgfa );if !_gcadf {return nil ,_b .Errorf ("\u0069\u006ev\u0061\u006c\u0069\u0064\u0020\u0063\u0065\u0072\u0074\u0069\u0066\u0069\u0063\u0061\u0074\u0065\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u0074\u0079p\u0065\u0020\u0069\u006e\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065 \u0063\u0065r\u0074\u0069\u0066\u0069c\u0061\u0074\u0065\u0020\u0063h\u0061\u0069\u006e\u003a\u0020\u0025\u0054",_bgfa );};if _ ,_fdffd :=_fbcfa .Write (_adbad .Bytes ());_fdffd !=nil {return nil ,_fdffd ;};};return _c .ParseCertificates (_fbcfa .Bytes ());};
|
||
|
||
// GetXObjectByName returns the XObject with the specified keyName and the object type.
|
||
func (_deeca *PdfPageResources )GetXObjectByName (keyName _aef .PdfObjectName )(*_aef .PdfObjectStream ,XObjectType ){if _deeca .XObject ==nil {return nil ,XObjectTypeUndefined ;};_baegd ,_gabbd :=_aef .TraceToDirectObject (_deeca .XObject ).(*_aef .PdfObjectDictionary );if !_gabbd {_abe .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",_aef .TraceToDirectObject (_deeca .XObject ));return nil ,XObjectTypeUndefined ;};if _dddcf :=_baegd .Get (keyName );_dddcf !=nil {_eeafe ,_fcaeg :=_aef .GetStream (_dddcf );if !_fcaeg {_abe .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",_dddcf );return nil ,XObjectTypeUndefined ;};_baeec :=_eeafe .PdfObjectDictionary ;_adccd ,_fcaeg :=_aef .TraceToDirectObject (_baeec .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065")).(*_aef .PdfObjectName );if !_fcaeg {_abe .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",_baeec .String ());return nil ,XObjectTypeUndefined ;};if *_adccd =="\u0049\u006d\u0061g\u0065"{return _eeafe ,XObjectTypeImage ;}else if *_adccd =="\u0046\u006f\u0072\u006d"{return _eeafe ,XObjectTypeForm ;}else if *_adccd =="\u0050\u0053"{return _eeafe ,XObjectTypePS ;}else {_abe .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",*_adccd );return nil ,XObjectTypeUndefined ;};}else {return nil ,XObjectTypeUndefined ;};};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType0 to a PDF representation.
|
||
func (_cegc *pdfCIDFontType0 )ToPdfObject ()_aef .PdfObject {return _aef .MakeNull ()};func _fbea (_bffdf _aef .PdfObject )(*PdfFontDescriptor ,error ){_efecb :=&PdfFontDescriptor {};_bffdf =_aef .ResolveReference (_bffdf );if _dcacf ,_agdbc :=_bffdf .(*_aef .PdfIndirectObject );_agdbc {_efecb ._ecafc =_dcacf ;_bffdf =_dcacf .PdfObject ;};_eafb ,_agaca :=_aef .GetDict (_bffdf );if !_agaca {_abe .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",_bffdf );return nil ,_aef .ErrTypeError ;};if _ccba :=_eafb .Get ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065");_ccba !=nil {_efecb .FontName =_ccba ;}else {_abe .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");};_ccdcb ,_ :=_aef .GetName (_efecb .FontName );if _cebcd :=_eafb .Get ("\u0054\u0079\u0070\u0065");_cebcd !=nil {_affcg ,_dfba :=_cebcd .(*_aef .PdfObjectName );if !_dfba ||string (*_affcg )!="\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"{_abe .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",_cebcd ,_ccdcb ,_efecb .FontName );};}else {_abe .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",_ccdcb ,_efecb .FontName );};_efecb .FontFamily =_eafb .Get ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079");_efecb .FontStretch =_eafb .Get ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068");_efecb .FontWeight =_eafb .Get ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074");_efecb .Flags =_eafb .Get ("\u0046\u006c\u0061g\u0073");_efecb .FontBBox =_eafb .Get ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078");_efecb .ItalicAngle =_eafb .Get ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065");_efecb .Ascent =_eafb .Get ("\u0041\u0073\u0063\u0065\u006e\u0074");_efecb .Descent =_eafb .Get ("\u0044e\u0073\u0063\u0065\u006e\u0074");_efecb .Leading =_eafb .Get ("\u004ce\u0061\u0064\u0069\u006e\u0067");_efecb .CapHeight =_eafb .Get ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t");_efecb .XHeight =_eafb .Get ("\u0058H\u0065\u0069\u0067\u0068\u0074");_efecb .StemV =_eafb .Get ("\u0053\u0074\u0065m\u0056");_efecb .StemH =_eafb .Get ("\u0053\u0074\u0065m\u0048");_efecb .AvgWidth =_eafb .Get ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068");_efecb .MaxWidth =_eafb .Get ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068");_efecb .MissingWidth =_eafb .Get ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068");_efecb .FontFile =_eafb .Get ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065");_efecb .FontFile2 =_eafb .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652");_efecb .FontFile3 =_eafb .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653");_efecb .CharSet =_eafb .Get ("\u0043h\u0061\u0072\u0053\u0065\u0074");_efecb .Style =_eafb .Get ("\u0053\u0074\u0079l\u0065");_efecb .Lang =_eafb .Get ("\u004c\u0061\u006e\u0067");_efecb .FD =_eafb .Get ("\u0046\u0044");_efecb .CIDSet =_eafb .Get ("\u0043\u0049\u0044\u0053\u0065\u0074");if _efecb .Flags !=nil {if _dbcb ,_acdf :=_aef .GetIntVal (_efecb .Flags );_acdf {_efecb ._eagd =_dbcb ;};};if _efecb .MissingWidth !=nil {if _egagg ,_edcb :=_aef .GetNumberAsFloat (_efecb .MissingWidth );_edcb ==nil {_efecb ._gbedb =_egagg ;};};if _efecb .FontFile !=nil {_dggb ,_dbde :=_cfeeg (_efecb .FontFile );if _dbde !=nil {return _efecb ,_dbde ;};_abe .Log .Trace ("f\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u003d\u0025\u0073",_dggb );_efecb .fontFile =_dggb ;};if _efecb .FontFile2 !=nil {_cbeed ,_gdda :=_ecf .NewFontFile2FromPdfObject (_efecb .FontFile2 );if _gdda !=nil {return _efecb ,_gdda ;};_abe .Log .Trace ("\u0066\u006f\u006et\u0046\u0069\u006c\u0065\u0032\u003d\u0025\u0073",_cbeed .String ());_efecb ._gffcb =&_cbeed ;};return _efecb ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccb *PdfAnnotationWatermark )ToPdfObject ()_aef .PdfObject {_ccb .PdfAnnotation .ToPdfObject ();_gdc :=_ccb ._edc ;_aeb :=_gdc .PdfObject .(*_aef .PdfObjectDictionary );_aeb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k"));_aeb .SetIfNotNil ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074",_ccb .FixedPrint );return _gdc ;};
|
||
|
||
// SetXObjectFormByName adds the provided XObjectForm to the page resources.
|
||
// The added XObjectForm is identified by the specified name.
|
||
func (_eeggc *PdfPageResources )SetXObjectFormByName (keyName _aef .PdfObjectName ,xform *XObjectForm )error {_gbcaa :=xform .ToPdfObject ().(*_aef .PdfObjectStream );_cfgdd :=_eeggc .SetXObjectByName (keyName ,_gbcaa );return _cfgdd ;};func (_fgag *PdfReader )newPdfAnnotationSquareFromDict (_cde *_aef .PdfObjectDictionary )(*PdfAnnotationSquare ,error ){_bfbf :=PdfAnnotationSquare {};_bfea ,_fafb :=_fgag .newPdfAnnotationMarkupFromDict (_cde );if _fafb !=nil {return nil ,_fafb ;};_bfbf .PdfAnnotationMarkup =_bfea ;_bfbf .BS =_cde .Get ("\u0042\u0053");_bfbf .IC =_cde .Get ("\u0049\u0043");_bfbf .BE =_cde .Get ("\u0042\u0045");_bfbf .RD =_cde .Get ("\u0052\u0044");return &_bfbf ,nil ;};
|
||
|
||
// DefaultFont returns the default font, which is currently the built in Helvetica.
|
||
func DefaultFont ()*PdfFont {_bggbd ,_edbd :=_ecf .NewStdFontByName (HelveticaName );if !_edbd {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");};_cgdf :=_edbed (_bggbd );return &PdfFont {_dccga :&_cgdf };};
|
||
|
||
// NewPdfAnnotationUnderline returns a new text underline annotation.
|
||
func NewPdfAnnotationUnderline ()*PdfAnnotationUnderline {_fagf :=NewPdfAnnotation ();_age :=&PdfAnnotationUnderline {};_age .PdfAnnotation =_fagf ;_age .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fagf .SetContext (_age );return _age ;};
|
||
|
||
// GetOutlineTree returns the outline tree.
|
||
func (_dbbe *PdfReader )GetOutlineTree ()*PdfOutlineTreeNode {return _dbbe ._gaad };
|
||
|
||
// GetAsShadingPattern returns a shading pattern. Check with IsShading() prior to using this.
|
||
func (_fbbg *PdfPattern )GetAsShadingPattern ()*PdfShadingPattern {return _fbbg ._dgagc .(*PdfShadingPattern );};
|
||
|
||
// NewPdfAnnotationWidget returns an initialized annotation widget.
|
||
func NewPdfAnnotationWidget ()*PdfAnnotationWidget {_gdb :=NewPdfAnnotation ();_cce :=&PdfAnnotationWidget {};_cce .PdfAnnotation =_gdb ;_gdb .SetContext (_cce );return _cce ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_cfad *PdfColorspaceDeviceCMYK )ToPdfObject ()_aef .PdfObject {return _aef .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b");};func _ffdac ()string {_abdcd .Lock ();defer _abdcd .Unlock ();return _fdfdc };
|
||
|
||
// StdFontName represents name of a standard font.
|
||
type StdFontName =_ecf .StdFontName ;
|
||
|
||
// PdfAnnotationSquare represents Square annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationSquare struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _aef .PdfObject ;IC _aef .PdfObject ;BE _aef .PdfObject ;RD _aef .PdfObject ;};func (_accdf *pdfFontSimple )addEncoding ()error {var (_dcefc string ;_bebc map[_be .CharCode ]_be .GlyphName ;_cbccd _be .SimpleEncoder ;);if _accdf .Encoder ()!=nil {_dfdca ,_baegg :=_accdf .Encoder ().(_be .SimpleEncoder );if _baegg &&_dfdca !=nil {_dcefc =_dfdca .BaseName ();};};if _accdf .Encoding !=nil {_adgf ,_dabb ,_egcdf :=_accdf .getFontEncoding ();if _egcdf !=nil {_abe .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",_accdf ._fegdg ,_accdf ._ababd ,_accdf .Encoding ,_accdf .Encoding ,_egcdf );return _egcdf ;};if _adgf !=""{_dcefc =_adgf ;};_bebc =_dabb ;_cbccd ,_egcdf =_be .NewSimpleTextEncoder (_dcefc ,_bebc );if _egcdf !=nil {return _egcdf ;};};if _cbccd ==nil {_afda :=_accdf ._bgfd ;if _afda !=nil {switch _accdf ._ababd {case "\u0054\u0079\u0070e\u0031":if _afda .fontFile !=nil &&_afda .fontFile ._dbadd !=nil {_abe .Log .Debug ("\u0055\u0073\u0069\u006e\u0067\u0020\u0066\u006f\u006et\u0046\u0069\u006c\u0065");_cbccd =_afda .fontFile ._dbadd ;};case "\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":if _afda ._gffcb !=nil {_abe .Log .Debug ("\u0055s\u0069n\u0067\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0032");_cgcc ,_fdcab :=_afda ._gffcb .MakeEncoder ();if _fdcab ==nil {_cbccd =_cgcc ;};};};};};if _cbccd !=nil {if _bebc !=nil {_abe .Log .Trace ("\u0064\u0069\u0066fe\u0072\u0065\u006e\u0063\u0065\u0073\u003d\u0025\u002b\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_bebc ,_accdf .baseFields ());_cbccd =_be .ApplyDifferences (_cbccd ,_bebc );};_accdf .SetEncoder (_cbccd );};return nil ;};
|
||
|
||
// NewPdfFontFromPdfObject loads a PdfFont from the dictionary `fontObj`. If there is a problem an
|
||
// error is returned.
|
||
func NewPdfFontFromPdfObject (fontObj _aef .PdfObject )(*PdfFont ,error ){return _acfaf (fontObj ,true )};
|
||
|
||
// NewPdfActionURI returns a new "Uri" action.
|
||
func NewPdfActionURI ()*PdfActionURI {_dd :=NewPdfAction ();_fc :=&PdfActionURI {};_fc .PdfAction =_dd ;_dd .SetContext (_fc );return _fc ;};
|
||
|
||
// PdfBorderEffect represents a PDF border effect.
|
||
type PdfBorderEffect struct{S *BorderEffect ;I *float64 ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_ccbe *OutlineItem )Items ()[]*OutlineItem {return _ccbe .Entries };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cgbc *PdfAnnotationFileAttachment )ToPdfObject ()_aef .PdfObject {_cgbc .PdfAnnotation .ToPdfObject ();_aced :=_cgbc ._edc ;_bddg :=_aced .PdfObject .(*_aef .PdfObjectDictionary );_cgbc .PdfAnnotationMarkup .appendToPdfDictionary (_bddg );_bddg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074"));_bddg .SetIfNotNil ("\u0046\u0053",_cgbc .FS );_bddg .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cgbc .Name );return _aced ;};
|
||
|
||
// 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 _aef .PdfObject ;FontFamily _aef .PdfObject ;FontStretch _aef .PdfObject ;FontWeight _aef .PdfObject ;Flags _aef .PdfObject ;FontBBox _aef .PdfObject ;ItalicAngle _aef .PdfObject ;Ascent _aef .PdfObject ;Descent _aef .PdfObject ;Leading _aef .PdfObject ;CapHeight _aef .PdfObject ;XHeight _aef .PdfObject ;StemV _aef .PdfObject ;StemH _aef .PdfObject ;AvgWidth _aef .PdfObject ;MaxWidth _aef .PdfObject ;MissingWidth _aef .PdfObject ;FontFile _aef .PdfObject ;FontFile2 _aef .PdfObject ;FontFile3 _aef .PdfObject ;CharSet _aef .PdfObject ;_eagd int ;_gbedb float64 ;*fontFile ;_gffcb *_ecf .TtfType ;
|
||
|
||
// Additional entries for CIDFonts
|
||
Style _aef .PdfObject ;Lang _aef .PdfObject ;FD _aef .PdfObject ;CIDSet _aef .PdfObject ;_ecafc *_aef .PdfIndirectObject ;};func _cgde (_gbbd *_aef .PdfObjectStream )(*PdfFunctionType0 ,error ){_ebfgbf :=&PdfFunctionType0 {};_ebfgbf ._feeee =_gbbd ;_cecac :=_gbbd .PdfObjectDictionary ;_ccca ,_bafb :=_aef .TraceToDirectObject (_cecac .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_aef .PdfObjectArray );if !_bafb {_abe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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 _ccca .Len ()< 0||_ccca .Len ()%2!=0{_abe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fa .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_ebfgbf .NumInputs =_ccca .Len ()/2;_bbfa ,_gcefb :=_ccca .ToFloat64Array ();if _gcefb !=nil {return nil ,_gcefb ;};_ebfgbf .Domain =_bbfa ;_ccca ,_bafb =_aef .TraceToDirectObject (_cecac .Get ("\u0052\u0061\u006eg\u0065")).(*_aef .PdfObjectArray );if !_bafb {_abe .Log .Error ("\u0052\u0061\u006e\u0067e \u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_fa .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 _ccca .Len ()< 0||_ccca .Len ()%2!=0{return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_ebfgbf .NumOutputs =_ccca .Len ()/2;_aeagg ,_gcefb :=_ccca .ToFloat64Array ();if _gcefb !=nil {return nil ,_gcefb ;};_ebfgbf .Range =_aeagg ;_ccca ,_bafb =_aef .TraceToDirectObject (_cecac .Get ("\u0053\u0069\u007a\u0065")).(*_aef .PdfObjectArray );if !_bafb {_abe .Log .Error ("\u0053i\u007ae\u0020\u006e\u006f\u0074\u0020s\u0070\u0065c\u0069\u0066\u0069\u0065\u0064");return nil ,_fa .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");};_gffb ,_gcefb :=_ccca .ToIntegerArray ();if _gcefb !=nil {return nil ,_gcefb ;};if len (_gffb )!=_ebfgbf .NumInputs {_abe .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 ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ebfgbf .Size =_gffb ;_fcfdc ,_bafb :=_aef .TraceToDirectObject (_cecac .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065")).(*_aef .PdfObjectInteger );if !_bafb {_abe .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 ,_fa .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 *_fcfdc !=1&&*_fcfdc !=2&&*_fcfdc !=4&&*_fcfdc !=8&&*_fcfdc !=12&&*_fcfdc !=16&&*_fcfdc !=24&&*_fcfdc !=32{_abe .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",*_fcfdc );return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ebfgbf .BitsPerSample =int (*_fcfdc );_ebfgbf .Order =1;_acab ,_bafb :=_aef .TraceToDirectObject (_cecac .Get ("\u004f\u0072\u0064e\u0072")).(*_aef .PdfObjectInteger );if _bafb {if *_acab !=1&&*_acab !=3{_abe .Log .Error ("\u0049n\u0076a\u006c\u0069\u0064\u0020\u006fr\u0064\u0065r\u0020\u0028\u0025\u0064\u0029",*_acab );return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ebfgbf .Order =int (*_acab );};_ccca ,_bafb =_aef .TraceToDirectObject (_cecac .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_aef .PdfObjectArray );if _bafb {_eccbe ,_fafce :=_ccca .ToFloat64Array ();if _fafce !=nil {return nil ,_fafce ;};_ebfgbf .Encode =_eccbe ;};_ccca ,_bafb =_aef .TraceToDirectObject (_cecac .Get ("\u0044\u0065\u0063\u006f\u0064\u0065")).(*_aef .PdfObjectArray );if _bafb {_dgbd ,_ggdfb :=_ccca .ToFloat64Array ();if _ggdfb !=nil {return nil ,_ggdfb ;};_ebfgbf .Decode =_dgbd ;};_ageb ,_gcefb :=_aef .DecodeStream (_gbbd );if _gcefb !=nil {return nil ,_gcefb ;};_ebfgbf ._bdgaa =_ageb ;return _ebfgbf ,nil ;};
|
||
|
||
// GetContext returns the action context which contains the specific type-dependent context.
|
||
// The context represents the subaction.
|
||
func (_cgc *PdfAction )GetContext ()PdfModel {if _cgc ==nil {return nil ;};return _cgc ._ecb ;};
|
||
|
||
// NewPdfFilespec returns an initialized generic PDF filespec model.
|
||
func NewPdfFilespec ()*PdfFilespec {_gecaa :=&PdfFilespec {};_gecaa ._bgbda =_aef .MakeIndirectObject (_aef .MakeDict ());return _gecaa ;};
|
||
|
||
// Set applies flag fl to the flag's bitmask and returns the combined flag.
|
||
func (_ffag FieldFlag )Set (fl FieldFlag )FieldFlag {return FieldFlag (_ffag .Mask ()|fl .Mask ())};
|
||
|
||
// PdfShadingType3 is a Radial shading.
|
||
type PdfShadingType3 struct{*PdfShading ;Coords *_aef .PdfObjectArray ;Domain *_aef .PdfObjectArray ;Function []PdfFunction ;Extend *_aef .PdfObjectArray ;};func (_feda *PdfReader )lookupPageByObject (_eaecd _aef .PdfObject )(*PdfPage ,error ){return nil ,_fa .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// NewPdfColorLab returns a new Lab color.
|
||
func NewPdfColorLab (l ,a ,b float64 )*PdfColorLab {_edage :=PdfColorLab {l ,a ,b };return &_edage };
|
||
|
||
// PdfActionGoTo3DView represents a GoTo3DView action.
|
||
type PdfActionGoTo3DView struct{*PdfAction ;TA _aef .PdfObject ;V _aef .PdfObject ;};
|
||
|
||
// NewPdfAnnotationText returns a new text annotation.
|
||
func NewPdfAnnotationText ()*PdfAnnotationText {_aab :=NewPdfAnnotation ();_eda :=&PdfAnnotationText {};_eda .PdfAnnotation =_aab ;_eda .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_aab .SetContext (_eda );return _eda ;};
|
||
|
||
// NewPdfAnnotation returns an initialized generic PDF annotation model.
|
||
func NewPdfAnnotation ()*PdfAnnotation {_bgf :=&PdfAnnotation {};_bgf ._edc =_aef .MakeIndirectObject (_aef .MakeDict ());return _bgf ;};
|
||
|
||
// ColorToRGB converts gray -> rgb for a single color component.
|
||
func (_fcd *PdfColorspaceDeviceGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_gbfg ,_fbbe :=color .(*PdfColorDeviceGray );if !_fbbe {_abe .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 ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return NewPdfColorDeviceRGB (float64 (*_gbfg ),float64 (*_gbfg ),float64 (*_gbfg )),nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bdaga *PdfAnnotationTrapNet )ToPdfObject ()_aef .PdfObject {_bdaga .PdfAnnotation .ToPdfObject ();_aacf :=_bdaga ._edc ;_bcf :=_aacf .PdfObject .(*_aef .PdfObjectDictionary );_bcf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0054r\u0061\u0070\u004e\u0065\u0074"));return _aacf ;};
|
||
|
||
// IsCID returns true if the underlying font is CID.
|
||
func (_acda *PdfFont )IsCID ()bool {return _acda .baseFields ().isCIDFont ()};func (_dbc *PdfReader )newPdfAnnotationFreeTextFromDict (_bagff *_aef .PdfObjectDictionary )(*PdfAnnotationFreeText ,error ){_ebd :=PdfAnnotationFreeText {};_fdbf ,_eed :=_dbc .newPdfAnnotationMarkupFromDict (_bagff );if _eed !=nil {return nil ,_eed ;};_ebd .PdfAnnotationMarkup =_fdbf ;_ebd .DA =_bagff .Get ("\u0044\u0041");_ebd .Q =_bagff .Get ("\u0051");_ebd .RC =_bagff .Get ("\u0052\u0043");_ebd .DS =_bagff .Get ("\u0044\u0053");_ebd .CL =_bagff .Get ("\u0043\u004c");_ebd .IT =_bagff .Get ("\u0049\u0054");_ebd .BE =_bagff .Get ("\u0042\u0045");_ebd .RD =_bagff .Get ("\u0052\u0044");_ebd .BS =_bagff .Get ("\u0042\u0053");_ebd .LE =_bagff .Get ("\u004c\u0045");return &_ebd ,nil ;};var _gefa =map[string ]struct{}{"\u0054\u0069\u0074l\u0065":{},"\u0041\u0075\u0074\u0068\u006f\u0072":{},"\u0053u\u0062\u006a\u0065\u0063\u0074":{},"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073":{},"\u0043r\u0065\u0061\u0074\u006f\u0072":{},"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072":{},"\u0054r\u0061\u0070\u0070\u0065\u0064":{},"\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065":{},"\u004do\u0064\u0044\u0061\u0074\u0065":{}};
|
||
|
||
// Insert adds a top level outline item in the outline,
|
||
// at the specified index.
|
||
func (_ecfcg *Outline )Insert (index uint ,item *OutlineItem ){_acfca :=uint (len (_ecfcg .Entries ));if index > _acfca {index =_acfca ;};_ecfcg .Entries =append (_ecfcg .Entries [:index ],append ([]*OutlineItem {item },_ecfcg .Entries [index :]...)...);};
|
||
|
||
// 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 ;
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ded *PdfActionGoToR )ToPdfObject ()_aef .PdfObject {_ded .PdfAction .ToPdfObject ();_bd :=_ded ._gc ;_gbd :=_bd .PdfObject .(*_aef .PdfObjectDictionary );_gbd .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeGoToR )));if _ded .F !=nil {_gbd .Set ("\u0046",_ded .F .ToPdfObject ());};_gbd .SetIfNotNil ("\u0044",_ded .D );_gbd .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_ded .NewWindow );return _bd ;};func (_deab *PdfColorspaceCalGray )String ()string {return "\u0043a\u006c\u0047\u0072\u0061\u0079"};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading pattern.
|
||
func (_gaecf *PdfShadingPattern )ToPdfObject ()_aef .PdfObject {_gaecf .PdfPattern .ToPdfObject ();_dacdd :=_gaecf .getDict ();if _gaecf .Shading !=nil {_dacdd .Set ("\u0053h\u0061\u0064\u0069\u006e\u0067",_gaecf .Shading .ToPdfObject ());};if _gaecf .Matrix !=nil {_dacdd .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_gaecf .Matrix );};if _gaecf .ExtGState !=nil {_dacdd .Set ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_gaecf .ExtGState );};return _gaecf ._fgbcde ;};
|
||
|
||
// 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 (_agdbb *PdfColorspaceCalRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ffa :=vals [0];if _ffa < 0.0||_ffa > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_abaac :=vals [1];if _abaac < 0.0||_abaac > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aefd :=vals [2];if _aefd < 0.0||_aefd > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_egcbc :=NewPdfColorCalRGB (_ffa ,_abaac ,_aefd );return _egcbc ,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 (_gbc *PdfReader )FlattenFieldsWithOpts (appgen FieldAppearanceGenerator ,opts *FieldFlattenOpts )error {return _gbc .flattenFieldsWithOpts (false ,appgen ,opts );};
|
||
|
||
// ToPdfObject sets the common field elements.
|
||
// Note: Call the more field context's ToPdfObject to set both the generic and
|
||
// non-generic information.
|
||
func (_fadc *PdfField )ToPdfObject ()_aef .PdfObject {_effg :=_fadc ._abebg ;_gffdb :=_effg .PdfObject .(*_aef .PdfObjectDictionary );_aafc :=_aef .MakeArray ();for _ ,_aeed :=range _fadc .Kids {_aafc .Append (_aeed .ToPdfObject ());};for _ ,_abaff :=range _fadc .Annotations {if _abaff ._edc !=_fadc ._abebg {_aafc .Append (_abaff .GetContext ().ToPdfObject ());};};if _fadc .Parent !=nil {_gffdb .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_fadc .Parent .GetContainingPdfObject ());};if _aafc .Len ()> 0{_gffdb .Set ("\u004b\u0069\u0064\u0073",_aafc );};_gffdb .SetIfNotNil ("\u0046\u0054",_fadc .FT );_gffdb .SetIfNotNil ("\u0054",_fadc .T );_gffdb .SetIfNotNil ("\u0054\u0055",_fadc .TU );_gffdb .SetIfNotNil ("\u0054\u004d",_fadc .TM );_gffdb .SetIfNotNil ("\u0046\u0066",_fadc .Ff );_gffdb .SetIfNotNil ("\u0056",_fadc .V );_gffdb .SetIfNotNil ("\u0044\u0056",_fadc .DV );_gffdb .SetIfNotNil ("\u0041\u0041",_fadc .AA );return _effg ;};
|
||
|
||
// 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 ;
|
||
|
||
// GetAsTilingPattern returns a tiling pattern. Check with IsTiling() prior to using this.
|
||
func (_abdee *PdfPattern )GetAsTilingPattern ()*PdfTilingPattern {return _abdee ._dgagc .(*PdfTilingPattern );};
|
||
|
||
// PdfActionLaunch represents a launch action.
|
||
type PdfActionLaunch struct{*PdfAction ;F *PdfFilespec ;Win _aef .PdfObject ;Mac _aef .PdfObject ;Unix _aef .PdfObject ;NewWindow _aef .PdfObject ;};
|
||
|
||
// GetColorspaceByName returns the colorspace with the specified name from the page resources.
|
||
func (_gffbg *PdfPageResources )GetColorspaceByName (keyName _aef .PdfObjectName )(PdfColorspace ,bool ){_cfagg ,_defgc :=_gffbg .GetColorspaces ();if _defgc !=nil {_abe .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",_defgc );return nil ,false ;};if _cfagg ==nil {return nil ,false ;};_ebgdfb ,_cdegg :=_cfagg .Colorspaces [string (keyName )];if !_cdegg {return nil ,false ;};return _ebgdfb ,true ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gfeb *PdfColorDeviceCMYK )ToInteger (bits int )[4]uint32 {_caffb :=_ad .Pow (2,float64 (bits ))-1;return [4]uint32 {uint32 (_caffb *_gfeb .C ()),uint32 (_caffb *_gfeb .M ()),uint32 (_caffb *_gfeb .Y ()),uint32 (_caffb *_gfeb .K ())};};
|
||
|
||
// 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 *_aef .PdfObjectInteger ;TilingType *_aef .PdfObjectInteger ;BBox *PdfRectangle ;XStep *_aef .PdfObjectFloat ;YStep *_aef .PdfObjectFloat ;Resources *PdfPageResources ;Matrix *_aef .PdfObjectArray ;};func (_abd *PdfReader )newPdfActionSoundFromDict (_egcd *_aef .PdfObjectDictionary )(*PdfActionSound ,error ){return &PdfActionSound {Sound :_egcd .Get ("\u0053\u006f\u0075n\u0064"),Volume :_egcd .Get ("\u0056\u006f\u006c\u0075\u006d\u0065"),Synchronous :_egcd .Get ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073"),Repeat :_egcd .Get ("\u0052\u0065\u0070\u0065\u0061\u0074"),Mix :_egcd .Get ("\u004d\u0069\u0078")},nil ;};var ImageHandling ImageHandler =DefaultImageHandler {};func (_gde *PdfReader )newPdfAnnotationPopupFromDict (_egcf *_aef .PdfObjectDictionary )(*PdfAnnotationPopup ,error ){_ddf :=PdfAnnotationPopup {};_ddf .Parent =_egcf .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_ddf .Open =_egcf .Get ("\u004f\u0070\u0065\u006e");return &_ddf ,nil ;};
|
||
|
||
// PdfActionMovie represents a movie action.
|
||
type PdfActionMovie struct{*PdfAction ;Annotation _aef .PdfObject ;T _aef .PdfObject ;Operation _aef .PdfObject ;};
|
||
|
||
// ToPdfObject returns the choice field dictionary within an indirect object (container).
|
||
func (_deceg *PdfFieldChoice )ToPdfObject ()_aef .PdfObject {_deceg .PdfField .ToPdfObject ();_dcbf :=_deceg ._abebg ;_abfa :=_dcbf .PdfObject .(*_aef .PdfObjectDictionary );_abfa .Set ("\u0046\u0054",_aef .MakeName ("\u0043\u0068"));if _deceg .Opt !=nil {_abfa .Set ("\u004f\u0070\u0074",_deceg .Opt );};if _deceg .TI !=nil {_abfa .Set ("\u0054\u0049",_deceg .TI );};if _deceg .I !=nil {_abfa .Set ("\u0049",_deceg .I );};return _dcbf ;};
|
||
|
||
// NewPdfColorDeviceRGB returns a new PdfColorDeviceRGB based on the r,g,b component values.
|
||
func NewPdfColorDeviceRGB (r ,g ,b float64 )*PdfColorDeviceRGB {_ffca :=PdfColorDeviceRGB {r ,g ,b };return &_ffca ;};
|
||
|
||
// AddContentStreamByString adds content stream by string. Puts the content
|
||
// string into a stream object and points the content stream towards it.
|
||
func (_fagg *PdfPage )AddContentStreamByString (contentStr string )error {_cbaeb ,_baafa :=_aef .MakeStream ([]byte (contentStr ),_aef .NewFlateEncoder ());if _baafa !=nil {return _baafa ;};if _fagg .Contents ==nil {_fagg .Contents =_cbaeb ;}else {_bgcd :=_aef .TraceToDirectObject (_fagg .Contents );_dfccbb ,_fdfec :=_bgcd .(*_aef .PdfObjectArray );if !_fdfec {_dfccbb =_aef .MakeArray (_bgcd );};_dfccbb .Append (_cbaeb );_fagg .Contents =_dfccbb ;};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 (_ecbc pdfCIDFontType0 )GetRuneMetrics (r rune )(_ecf .CharMetrics ,bool ){return _ecf .CharMetrics {Wx :_ecbc ._egcdc },true ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for CalGray).
|
||
func (_bea *PdfColorCalGray )GetNumComponents ()int {return 1};func (_gegc PdfFont )actualFont ()pdfFont {if _gegc ._dccga ==nil {_abe .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",_gegc );};return _gegc ._dccga ;};
|
||
|
||
// NewPdfAnnotationFileAttachment returns a new file attachment annotation.
|
||
func NewPdfAnnotationFileAttachment ()*PdfAnnotationFileAttachment {_aceg :=NewPdfAnnotation ();_def :=&PdfAnnotationFileAttachment {};_def .PdfAnnotation =_aceg ;_def .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_aceg .SetContext (_def );return _def ;};
|
||
|
||
// PdfColorspaceDeviceCMYK represents a CMYK32 colorspace.
|
||
type PdfColorspaceDeviceCMYK struct{};
|
||
|
||
// ToPdfObject returns a PdfObject representation of PdfColorspaceDeviceNAttributes as a PdfObjectDictionary directly
|
||
// or indirectly within an indirect object container.
|
||
func (_ccec *PdfColorspaceDeviceNAttributes )ToPdfObject ()_aef .PdfObject {_affc :=_aef .MakeDict ();if _ccec .Subtype !=nil {_affc .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ccec .Subtype );};_affc .SetIfNotNil ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s",_ccec .Colorants );_affc .SetIfNotNil ("\u0050r\u006f\u0063\u0065\u0073\u0073",_ccec .Process );_affc .SetIfNotNil ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073",_ccec .MixingHints );if _ccec ._ecgdd !=nil {_ccec ._ecgdd .PdfObject =_affc ;return _ccec ._ecgdd ;};return _affc ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a grayscale device.
|
||
func (_adgd *PdfColorspaceDeviceGray )GetNumComponents ()int {return 1};func (_ddfe *pdfFontType0 )baseFields ()*fontCommon {return &_ddfe .fontCommon };
|
||
|
||
// ColorToRGB converts a ICCBased color to an RGB color.
|
||
func (_dcef *PdfColorspaceICCBased )ColorToRGB (color PdfColor )(PdfColor ,error ){if _dcef .Alternate ==nil {_abe .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 _dcef .N ==1{_abe .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");_faabg :=NewPdfColorspaceDeviceGray ();return _faabg .ColorToRGB (color );}else if _dcef .N ==3{_abe .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 _dcef .N ==4{_abe .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");_cgdd :=NewPdfColorspaceDeviceCMYK ();return _cgdd .ColorToRGB (color );}else {return nil ,_fa .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");};};_abe .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",_dcef );return _dcef .Alternate .ColorToRGB (color );};
|
||
|
||
// NewPdfActionResetForm returns a new "reset form" action.
|
||
func NewPdfActionResetForm ()*PdfActionResetForm {_gcd :=NewPdfAction ();_dae :=&PdfActionResetForm {};_dae .PdfAction =_gcd ;_gcd .SetContext (_dae );return _dae ;};
|
||
|
||
// PdfActionURI represents an URI action.
|
||
type PdfActionURI struct{*PdfAction ;URI _aef .PdfObject ;IsMap _aef .PdfObject ;};
|
||
|
||
// DecodeArray returns the range of color component values in the Lab colorspace.
|
||
func (_eccbc *PdfColorspaceLab )DecodeArray ()[]float64 {_bdab :=[]float64 {0,100};if _eccbc .Range !=nil &&len (_eccbc .Range )==4{_bdab =append (_bdab ,_eccbc .Range ...);}else {_bdab =append (_bdab ,-100,100,-100,100);};return _bdab ;};func (_dgf *PdfReader )newPdfAnnotationWidgetFromDict (_gddd *_aef .PdfObjectDictionary )(*PdfAnnotationWidget ,error ){_edd :=PdfAnnotationWidget {};_edd .H =_gddd .Get ("\u0048");_edd .MK =_gddd .Get ("\u004d\u004b");_edd .A =_gddd .Get ("\u0041");_edd .AA =_gddd .Get ("\u0041\u0041");_edd .BS =_gddd .Get ("\u0042\u0053");_edd .Parent =_gddd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");return &_edd ,nil ;};
|
||
|
||
// PdfColorspaceDeviceGray represents a grayscale colorspace.
|
||
type PdfColorspaceDeviceGray struct{};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fae *PdfActionGoTo )ToPdfObject ()_aef .PdfObject {_fae .PdfAction .ToPdfObject ();_cdc :=_fae ._gc ;_gdf :=_cdc .PdfObject .(*_aef .PdfObjectDictionary );_gdf .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeGoTo )));_gdf .SetIfNotNil ("\u0044",_fae .D );return _cdc ;};
|
||
|
||
// L returns the value of the L component of the color.
|
||
func (_ccfa *PdfColorLab )L ()float64 {return _ccfa [0]};
|
||
|
||
// GetContainingPdfObject returns the container of the PdfAcroForm (indirect object).
|
||
func (_dddg *PdfAcroForm )GetContainingPdfObject ()_aef .PdfObject {return _dddg ._aade };
|
||
|
||
// ToPdfObject return the CalGray colorspace as a PDF object (name dictionary).
|
||
func (_bgbb *PdfColorspaceCalGray )ToPdfObject ()_aef .PdfObject {_bfbc :=&_aef .PdfObjectArray {};_bfbc .Append (_aef .MakeName ("\u0043a\u006c\u0047\u0072\u0061\u0079"));_eeaee :=_aef .MakeDict ();if _bgbb .WhitePoint !=nil {_eeaee .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_aef .MakeArray (_aef .MakeFloat (_bgbb .WhitePoint [0]),_aef .MakeFloat (_bgbb .WhitePoint [1]),_aef .MakeFloat (_bgbb .WhitePoint [2])));}else {_abe .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 _bgbb .BlackPoint !=nil {_eeaee .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_aef .MakeArray (_aef .MakeFloat (_bgbb .BlackPoint [0]),_aef .MakeFloat (_bgbb .BlackPoint [1]),_aef .MakeFloat (_bgbb .BlackPoint [2])));};_eeaee .Set ("\u0047\u0061\u006dm\u0061",_aef .MakeFloat (_bgbb .Gamma ));_bfbc .Append (_eeaee );if _bgbb ._ggdc !=nil {_bgbb ._ggdc .PdfObject =_bfbc ;return _bgbb ._ggdc ;};return _bfbc ;};func _cbgcd (_aecgg *_aef .PdfObjectDictionary )(*PdfShadingType6 ,error ){_cbdbc :=PdfShadingType6 {};_fgced :=_aecgg .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fgced ==nil {_abe .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 ;};_cgbcb ,_bbgcg :=_fgced .(*_aef .PdfObjectInteger );if !_bbgcg {_abe .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",_fgced );return nil ,_aef .ErrTypeError ;};_cbdbc .BitsPerCoordinate =_cgbcb ;_fgced =_aecgg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fgced ==nil {_abe .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 ;};_cgbcb ,_bbgcg =_fgced .(*_aef .PdfObjectInteger );if !_bbgcg {_abe .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",_fgced );return nil ,_aef .ErrTypeError ;};_cbdbc .BitsPerComponent =_cgbcb ;_fgced =_aecgg .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fgced ==nil {_abe .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 ;};_cgbcb ,_bbgcg =_fgced .(*_aef .PdfObjectInteger );if !_bbgcg {_abe .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",_fgced );return nil ,_aef .ErrTypeError ;};_cbdbc .BitsPerComponent =_cgbcb ;_fgced =_aecgg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fgced ==nil {_abe .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 ;};_adeec ,_bbgcg :=_fgced .(*_aef .PdfObjectArray );if !_bbgcg {_abe .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",_fgced );return nil ,_aef .ErrTypeError ;};_cbdbc .Decode =_adeec ;if _afdf :=_aecgg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_afdf !=nil {_cbdbc .Function =[]PdfFunction {};if _bfef ,_gaecfg :=_afdf .(*_aef .PdfObjectArray );_gaecfg {for _ ,_defcf :=range _bfef .Elements (){_gfabb ,_fdffa :=_begb (_defcf );if _fdffa !=nil {_abe .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",_fdffa );return nil ,_fdffa ;};_cbdbc .Function =append (_cbdbc .Function ,_gfabb );};}else {_acaf ,_gaeef :=_begb (_afdf );if _gaeef !=nil {_abe .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",_gaeef );return nil ,_gaeef ;};_cbdbc .Function =append (_cbdbc .Function ,_acaf );};};return &_cbdbc ,nil ;};
|
||
|
||
// SetPdfKeywords sets the Keywords attribute of the output PDF.
|
||
func SetPdfKeywords (keywords string ){_abdcd .Lock ();defer _abdcd .Unlock ();_fdfdc =keywords };
|
||
|
||
// GetContainingPdfObject returns the XObject Form's containing object (indirect object).
|
||
func (_badaf *XObjectForm )GetContainingPdfObject ()_aef .PdfObject {return _badaf ._ebdad };
|
||
|
||
// 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 ;
|
||
|
||
// NewPdfFieldSignature returns an initialized signature field.
|
||
func NewPdfFieldSignature (signature *PdfSignature )*PdfFieldSignature {_acbfd :=&PdfFieldSignature {};_acbfd .PdfField =NewPdfField ();_acbfd .PdfField .SetContext (_acbfd );_acbfd .PdfAnnotationWidget =NewPdfAnnotationWidget ();_acbfd .PdfAnnotationWidget .SetContext (_acbfd );_acbfd .PdfAnnotationWidget ._edc =_acbfd .PdfField ._abebg ;_acbfd .T =_aef .MakeString ("");_acbfd .F =_aef .MakeInteger (132);_acbfd .V =signature ;return _acbfd ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_eedff *PdfShadingType3 )ToPdfObject ()_aef .PdfObject {_eedff .PdfShading .ToPdfObject ();_eegafb ,_fabe :=_eedff .getShadingDict ();if _fabe !=nil {_abe .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 _eedff .Coords !=nil {_eegafb .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_eedff .Coords );};if _eedff .Domain !=nil {_eegafb .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_eedff .Domain );};if _eedff .Function !=nil {if len (_eedff .Function )==1{_eegafb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_eedff .Function [0].ToPdfObject ());}else {_gffed :=_aef .MakeArray ();for _ ,_cgbgf :=range _eedff .Function {_gffed .Append (_cgbgf .ToPdfObject ());};_eegafb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gffed );};};if _eedff .Extend !=nil {_eegafb .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_eedff .Extend );};return _eedff ._bbga ;};func _baca (_acaaa *fontCommon )*pdfFontType0 {return &pdfFontType0 {fontCommon :*_acaaa }};
|
||
|
||
// PdfAnnotationCaret represents Caret annotations.
|
||
// (Section 12.5.6.11).
|
||
type PdfAnnotationCaret struct{*PdfAnnotation ;*PdfAnnotationMarkup ;RD _aef .PdfObject ;Sy _aef .PdfObject ;};
|
||
|
||
// 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 ;_bdgaa []byte ;_ceeae []uint32 ;_feeee *_aef .PdfObjectStream ;};
|
||
|
||
// ColorAt returns the color of the image pixel specified by the x and y coordinates.
|
||
func (_adafd *Image )ColorAt (x ,y int )(_g .Color ,error ){_eddge :=_gb .BytesPerLine (int (_adafd .Width ),int (_adafd .BitsPerComponent ),_adafd .ColorComponents );switch _adafd .ColorComponents {case 1:return _gb .ColorAtGrayscale (x ,y ,int (_adafd .BitsPerComponent ),_eddge ,_adafd .Data ,_adafd ._fgafa );case 3:return _gb .ColorAtNRGBA (x ,y ,int (_adafd .Width ),_eddge ,int (_adafd .BitsPerComponent ),_adafd .Data ,_adafd ._afge ,_adafd ._fgafa );case 4:return _gb .ColorAtCMYK (x ,y ,int (_adafd .Width ),_adafd .Data ,_adafd ._fgafa );};_abe .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",_adafd .ColorComponents ,_adafd .BitsPerComponent );return nil ,_fa .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");};
|
||
|
||
// 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 (_cgbea pdfFontSimple )GetCharMetrics (code _be .CharCode )(_ecf .CharMetrics ,bool ){if _edde ,_cbeaeg :=_cgbea ._bacac [code ];_cbeaeg {return _ecf .CharMetrics {Wx :_edde },true ;};if _ecf .IsStdFont (_ecf .StdFontName (_cgbea ._fegdg )){return _ecf .CharMetrics {Wx :250},true ;};return _ecf .CharMetrics {},false ;};
|
||
|
||
// SetDecode sets the decode image float slice.
|
||
func (_ffeeag *Image )SetDecode (decode []float64 ){_ffeeag ._fgafa =decode };
|
||
|
||
// PdfFilespec represents a file specification which can either refer to an external or embedded file.
|
||
type PdfFilespec struct{Type _aef .PdfObject ;FS _aef .PdfObject ;F _aef .PdfObject ;UF _aef .PdfObject ;DOS _aef .PdfObject ;Mac _aef .PdfObject ;Unix _aef .PdfObject ;ID _aef .PdfObject ;V _aef .PdfObject ;EF _aef .PdfObject ;RF _aef .PdfObject ;Desc _aef .PdfObject ;CI _aef .PdfObject ;_bgbda _aef .PdfObject ;};
|
||
|
||
// SetPdfCreator sets the Creator attribute of the output PDF.
|
||
func SetPdfCreator (creator string ){_abdcd .Lock ();defer _abdcd .Unlock ();_defge =creator };
|
||
|
||
// DecodeArray returns the range of color component values in the ICCBased colorspace.
|
||
func (_gdfcd *PdfColorspaceICCBased )DecodeArray ()[]float64 {return _gdfcd .Range };func _abfgb ()string {_abdcd .Lock ();defer _abdcd .Unlock ();return _ffac };
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_deac *PdfColorCalRGB )A ()float64 {return _deac [0]};func _bgcf (_fedc *_aef .PdfObjectDictionary )(*PdfFieldText ,error ){_aedad :=&PdfFieldText {};_aedad .DA ,_ =_aef .GetString (_fedc .Get ("\u0044\u0041"));_aedad .Q ,_ =_aef .GetInt (_fedc .Get ("\u0051"));_aedad .DS ,_ =_aef .GetString (_fedc .Get ("\u0044\u0053"));_aedad .RV =_fedc .Get ("\u0052\u0056");_aedad .MaxLen ,_ =_aef .GetInt (_fedc .Get ("\u004d\u0061\u0078\u004c\u0065\u006e"));return _aedad ,nil ;};
|
||
|
||
// ToPdfObject returns the button field dictionary within an indirect object.
|
||
func (_ceeb *PdfFieldButton )ToPdfObject ()_aef .PdfObject {_ceeb .PdfField .ToPdfObject ();_egbc :=_ceeb ._abebg ;_bfbcf :=_egbc .PdfObject .(*_aef .PdfObjectDictionary );_bfbcf .Set ("\u0046\u0054",_aef .MakeName ("\u0042\u0074\u006e"));if _ceeb .Opt !=nil {_bfbcf .Set ("\u004f\u0070\u0074",_ceeb .Opt );};return _egbc ;};
|
||
|
||
// NewPdfColorDeviceGray returns a new grayscale color based on an input grayscale float value in range [0-1].
|
||
func NewPdfColorDeviceGray (grayVal float64 )*PdfColorDeviceGray {_bcfe :=PdfColorDeviceGray (grayVal );return &_bcfe ;};
|
||
|
||
// ToGoTime returns the date in time.Time format.
|
||
func (_gdcea PdfDate )ToGoTime ()_a .Time {_ccccg :=int (_gdcea ._bbccf *60*60+_gdcea ._debfg *60);switch _gdcea ._bggc {case '-':_ccccg =-_ccccg ;case 'Z':_ccccg =0;};_abcfg :=_b .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_gdcea ._bggc ,_gdcea ._bbccf ,_gdcea ._debfg );_dgbb :=_a .FixedZone (_abcfg ,_ccccg );return _a .Date (int (_gdcea ._eacag ),_a .Month (_gdcea ._bfeaf ),int (_gdcea ._cecab ),int (_gdcea ._begfg ),int (_gdcea ._gdeaef ),int (_gdcea ._ebge ),0,_dgbb );};
|
||
|
||
// NewPdfAnnotationProjection returns a new projection annotation.
|
||
func NewPdfAnnotationProjection ()*PdfAnnotationProjection {_eeae :=NewPdfAnnotation ();_eec :=&PdfAnnotationProjection {};_eec .PdfAnnotation =_eeae ;_eec .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eeae .SetContext (_eec );return _eec ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_egga *PdfAnnotation )GetContainingPdfObject ()_aef .PdfObject {return _egga ._edc };
|
||
|
||
// PdfFont represents an underlying font structure which can be of type:
|
||
// - Type0
|
||
// - Type1
|
||
// - TrueType
|
||
// etc.
|
||
type PdfFont struct{_dccga pdfFont };
|
||
|
||
// ToOutlineTree returns a low level PdfOutlineTreeNode object, based on
|
||
// the current instance.
|
||
func (_cbae *Outline )ToOutlineTree ()*PdfOutlineTreeNode {return &_cbae .ToPdfOutline ().PdfOutlineTreeNode ;};
|
||
|
||
// NewDSS returns a new DSS dictionary.
|
||
func NewDSS ()*DSS {return &DSS {_egdea :_aef .MakeIndirectObject (_aef .MakeDict ()),VRI :map[string ]*VRI {}};};func (_defa *PdfAnnotationMarkup )appendToPdfDictionary (_face *_aef .PdfObjectDictionary ){_face .SetIfNotNil ("\u0054",_defa .T );if _defa .Popup !=nil {_face .Set ("\u0050\u006f\u0070u\u0070",_defa .Popup .ToPdfObject ());};_face .SetIfNotNil ("\u0043\u0041",_defa .CA );_face .SetIfNotNil ("\u0052\u0043",_defa .RC );_face .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_defa .CreationDate );_face .SetIfNotNil ("\u0049\u0052\u0054",_defa .IRT );_face .SetIfNotNil ("\u0053\u0075\u0062\u006a",_defa .Subj );_face .SetIfNotNil ("\u0052\u0054",_defa .RT );_face .SetIfNotNil ("\u0049\u0054",_defa .IT );_face .SetIfNotNil ("\u0045\u0078\u0044\u0061\u0074\u0061",_defa .ExData );};func _aafde (_acdgg StdFontName )(pdfFontSimple ,error ){_cgga ,_gebfb :=_ecf .NewStdFontByName (_acdgg );if !_gebfb {return pdfFontSimple {},ErrFontNotSupported ;};_babce :=_edbed (_cgga );return _babce ,nil ;};
|
||
|
||
// ColorToRGB converts a DeviceN color to an RGB color.
|
||
func (_egda *PdfColorspaceDeviceN )ColorToRGB (color PdfColor )(PdfColor ,error ){if _egda .AlternateSpace ==nil {return nil ,_fa .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 _egda .AlternateSpace .ColorToRGB (color );};func _dbdgg (_abgge *_aef .PdfObjectDictionary )(*PdfTilingPattern ,error ){_febfb :=&PdfTilingPattern {};_ggaac :=_abgge .Get ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e");if _ggaac ==nil {_abe .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054\u0079\u0070\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_dadff ,_abbbe :=_ggaac .(*_aef .PdfObjectInteger );if !_abbbe {_abe .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",_ggaac );return nil ,_aef .ErrTypeError ;};_febfb .PaintType =_dadff ;_ggaac =_abgge .Get ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _ggaac ==nil {_abe .Log .Debug ("\u0054i\u006ci\u006e\u0067\u0054\u0079\u0070e\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_aadf ,_abbbe :=_ggaac .(*_aef .PdfObjectInteger );if !_abbbe {_abe .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",_ggaac );return nil ,_aef .ErrTypeError ;};_febfb .TilingType =_aadf ;_ggaac =_abgge .Get ("\u0042\u0042\u006f\u0078");if _ggaac ==nil {_abe .Log .Debug ("\u0042\u0042\u006fx\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_ggaac =_aef .TraceToDirectObject (_ggaac );_edcf ,_abbbe :=_ggaac .(*_aef .PdfObjectArray );if !_abbbe {_abe .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",_ggaac );return nil ,_aef .ErrTypeError ;};_adbaa ,_cgee :=NewPdfRectangle (*_edcf );if _cgee !=nil {_abe .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_cgee );return nil ,_cgee ;};_febfb .BBox =_adbaa ;_ggaac =_abgge .Get ("\u0058\u0053\u0074e\u0070");if _ggaac ==nil {_abe .Log .Debug ("\u0058\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_cegcg ,_cgee :=_aef .GetNumberAsFloat (_ggaac );if _cgee !=nil {_abe .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",_cegcg );return nil ,_cgee ;};_febfb .XStep =_aef .MakeFloat (_cegcg );_ggaac =_abgge .Get ("\u0059\u0053\u0074e\u0070");if _ggaac ==nil {_abe .Log .Debug ("\u0059\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_dccfg ,_cgee :=_aef .GetNumberAsFloat (_ggaac );if _cgee !=nil {_abe .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",_dccfg );return nil ,_cgee ;};_febfb .YStep =_aef .MakeFloat (_dccfg );_ggaac =_abgge .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");if _ggaac ==nil {_abe .Log .Debug ("\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_abgge ,_abbbe =_aef .TraceToDirectObject (_ggaac ).(*_aef .PdfObjectDictionary );if !_abbbe {return nil ,_b .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",_ggaac );};_aabfb ,_cgee :=NewPdfPageResourcesFromDict (_abgge );if _cgee !=nil {return nil ,_cgee ;};_febfb .Resources =_aabfb ;if _egdfa :=_abgge .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_egdfa !=nil {_gfbbc ,_fdgfg :=_egdfa .(*_aef .PdfObjectArray );if !_fdgfg {_abe .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",_egdfa );return nil ,_aef .ErrTypeError ;};_febfb .Matrix =_gfbbc ;};return _febfb ,nil ;};
|
||
|
||
// ImageToRGB converts CalRGB colorspace image to RGB and returns the result.
|
||
func (_ggdb *PdfColorspaceCalRGB )ImageToRGB (img Image )(Image ,error ){_gbea :=_ea .NewReader (img .getBase ());_ebfc :=_gb .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_ddcg :=_ea .NewWriter (_ebfc );_bfca :=_ad .Pow (2,float64 (img .BitsPerComponent ))-1;_cgcd :=make ([]uint32 ,3);var (_abae error ;_daef ,_bcae ,_dabad ,_aefba ,_ceded ,_aaef float64 ;);for {_abae =_gbea .ReadSamples (_cgcd );if _abae ==_gfc .EOF {break ;}else if _abae !=nil {return img ,_abae ;};_daef =float64 (_cgcd [0])/_bfca ;_bcae =float64 (_cgcd [1])/_bfca ;_dabad =float64 (_cgcd [2])/_bfca ;_aefba =_ggdb .Matrix [0]*_ad .Pow (_daef ,_ggdb .Gamma [0])+_ggdb .Matrix [3]*_ad .Pow (_bcae ,_ggdb .Gamma [1])+_ggdb .Matrix [6]*_ad .Pow (_dabad ,_ggdb .Gamma [2]);_ceded =_ggdb .Matrix [1]*_ad .Pow (_daef ,_ggdb .Gamma [0])+_ggdb .Matrix [4]*_ad .Pow (_bcae ,_ggdb .Gamma [1])+_ggdb .Matrix [7]*_ad .Pow (_dabad ,_ggdb .Gamma [2]);_aaef =_ggdb .Matrix [2]*_ad .Pow (_daef ,_ggdb .Gamma [0])+_ggdb .Matrix [5]*_ad .Pow (_bcae ,_ggdb .Gamma [1])+_ggdb .Matrix [8]*_ad .Pow (_dabad ,_ggdb .Gamma [2]);_daef =3.240479*_aefba +-1.537150*_ceded +-0.498535*_aaef ;_bcae =-0.969256*_aefba +1.875992*_ceded +0.041556*_aaef ;_dabad =0.055648*_aefba +-0.204043*_ceded +1.057311*_aaef ;_daef =_ad .Min (_ad .Max (_daef ,0),1.0);_bcae =_ad .Min (_ad .Max (_bcae ,0),1.0);_dabad =_ad .Min (_ad .Max (_dabad ,0),1.0);_cgcd [0]=uint32 (_daef *_bfca );_cgcd [1]=uint32 (_bcae *_bfca );_cgcd [2]=uint32 (_dabad *_bfca );if _abae =_ddcg .WriteSamples (_cgcd );_abae !=nil {return img ,_abae ;};};return _cbgdcg (&_ebfc ),nil ;};
|
||
|
||
// PdfActionHide represents a hide action.
|
||
type PdfActionHide struct{*PdfAction ;T _aef .PdfObject ;H _aef .PdfObject ;};func (_ffgg *LTV )getCRLs (_gfde []*_c .Certificate )([][]byte ,error ){_geggd :=make ([][]byte ,0,len (_gfde ));for _ ,_acbed :=range _gfde {for _ ,_bbdf :=range _acbed .CRLDistributionPoints {if _ffgg .CertClient .IsCA (_acbed ){continue ;};_cdcgf ,_adgcg :=_ffgg .CRLClient .MakeRequest (_bbdf ,_acbed );if _adgcg !=nil {_abe .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0043R\u004c\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074 \u0065\u0072\u0072o\u0072:\u0020\u0025\u0076",_adgcg );continue ;};_geggd =append (_geggd ,_cdcgf );};};return _geggd ,nil ;};func (_cccc *PdfReader )newPdfAnnotationScreenFromDict (_dbgf *_aef .PdfObjectDictionary )(*PdfAnnotationScreen ,error ){_abdd :=PdfAnnotationScreen {};_abdd .T =_dbgf .Get ("\u0054");_abdd .MK =_dbgf .Get ("\u004d\u004b");_abdd .A =_dbgf .Get ("\u0041");_abdd .AA =_dbgf .Get ("\u0041\u0041");return &_abdd ,nil ;};
|
||
|
||
// 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 (_ffea *PdfReader )GetOutlinesFlattened ()([]*PdfOutlineTreeNode ,[]string ,error ){var _cdef []*PdfOutlineTreeNode ;var _dgccb []string ;var _afab func (*PdfOutlineTreeNode ,*[]*PdfOutlineTreeNode ,*[]string ,int );_afab =func (_aaff *PdfOutlineTreeNode ,_dccfgg *[]*PdfOutlineTreeNode ,_eggb *[]string ,_bgbe int ){if _aaff ==nil {return ;};if _aaff ._gdgaba ==nil {_abe .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 ;};_ccaec ,_bgbcg :=_aaff ._gdgaba .(*PdfOutlineItem );if _bgbcg {*_dccfgg =append (*_dccfgg ,&_ccaec .PdfOutlineTreeNode );_dgbca :=_dg .Repeat ("\u0020",_bgbe *2)+_ccaec .Title .Decoded ();*_eggb =append (*_eggb ,_dgbca );};if _aaff .First !=nil {_gbcbe :=_dg .Repeat ("\u0020",_bgbe *2)+"\u002b";*_eggb =append (*_eggb ,_gbcbe );_afab (_aaff .First ,_dccfgg ,_eggb ,_bgbe +1);};if _bgbcg &&_ccaec .Next !=nil {_afab (_ccaec .Next ,_dccfgg ,_eggb ,_bgbe );};};_afab (_ffea ._gaad ,&_cdef ,&_dgccb ,0);return _cdef ,_dgccb ,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 (_fdcb *PdfColorspaceDeviceCMYK )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=4{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdbg :=vals [0];if _bdbg < 0.0||_bdbg > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fagfa :=vals [1];if _fagfa < 0.0||_fagfa > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eaa :=vals [2];if _eaa < 0.0||_eaa > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dbbc :=vals [3];if _dbbc < 0.0||_dbbc > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bafde :=NewPdfColorDeviceCMYK (_bdbg ,_fagfa ,_eaa ,_dbbc );return _bafde ,nil ;};
|
||
|
||
// 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 (_fccfd []_aef .PdfObject )([]_aef .PdfObject ,error );};
|
||
|
||
// 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 (_aaebe *Image )ConvertToBinary ()error {if _aaebe .ColorComponents ==1&&_aaebe .BitsPerComponent ==1{return nil ;};_begc ,_gaaga :=_aaebe .ToGoImage ();if _gaaga !=nil {return _gaaga ;};_cfeefe ,_gaaga :=_gb .MonochromeConverter .Convert (_begc );if _gaaga !=nil {return _gaaga ;};_aaebe .BitsPerComponent =1;_aaebe .ColorComponents =1;_aaebe .Data =_cfeefe .Base ().Data ;return nil ;};
|
||
|
||
// GetAscent returns the Ascent of the font `descriptor`.
|
||
func (_efgdf *PdfFontDescriptor )GetAscent ()(float64 ,error ){return _aef .GetNumberAsFloat (_efgdf .Ascent );};
|
||
|
||
// Clear clears flag fl from the flag and returns the resulting flag.
|
||
func (_gagaf FieldFlag )Clear (fl FieldFlag )FieldFlag {return FieldFlag (_gagaf .Mask ()&^fl .Mask ())};
|
||
|
||
// ColorToRGB converts a color in Separation colorspace to RGB colorspace.
|
||
func (_fafe *PdfColorspaceSpecialSeparation )ColorToRGB (color PdfColor )(PdfColor ,error ){if _fafe .AlternateSpace ==nil {return nil ,_fa .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 _fafe .AlternateSpace .ColorToRGB (color );};var (_abdcd _d .Mutex ;_ffac ="";_ddea _a .Time ;_defge ="";_fdfdc ="";_ecgff _a .Time ;_ggdea ="";_afdfd ="";_caceb ="";);
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on input color components. The input PdfObjects should
|
||
// be numeric.
|
||
func (_dccc *PdfColorspaceDeviceN )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=_dccc .GetNumComponents (){return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ecgg ,_bcda :=_aef .GetNumbersAsFloat (objects );if _bcda !=nil {return nil ,_bcda ;};return _dccc .ColorFromFloats (_ecgg );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbb *PdfActionSubmitForm )ToPdfObject ()_aef .PdfObject {_cbb .PdfAction .ToPdfObject ();_acbc :=_cbb ._gc ;_egc :=_acbc .PdfObject .(*_aef .PdfObjectDictionary );_egc .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeSubmitForm )));if _cbb .F !=nil {_egc .Set ("\u0046",_cbb .F .ToPdfObject ());};_egc .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_cbb .Fields );_egc .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_cbb .Flags );return _acbc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cfcggb *PdfShadingType1 )ToPdfObject ()_aef .PdfObject {_cfcggb .PdfShading .ToPdfObject ();_eaeeb ,_becdd :=_cfcggb .getShadingDict ();if _becdd !=nil {_abe .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 _cfcggb .Domain !=nil {_eaeeb .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cfcggb .Domain );};if _cfcggb .Matrix !=nil {_eaeeb .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_cfcggb .Matrix );};if _cfcggb .Function !=nil {if len (_cfcggb .Function )==1{_eaeeb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cfcggb .Function [0].ToPdfObject ());}else {_adgg :=_aef .MakeArray ();for _ ,_fdbfa :=range _cfcggb .Function {_adgg .Append (_fdbfa .ToPdfObject ());};_eaeeb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_adgg );};};return _cfcggb ._bbga ;};
|
||
|
||
// 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 ;_fecc *_aef .PdfIndirectObject ;};func _defag (_dafa []rune ,_abdgd map[rune ]int ,_aedfc map[rune ]_ecf .GID )*_aef .PdfObjectArray {_eedc :=&_aef .PdfObjectArray {};for _aafa :=0;_aafa < len (_dafa );{_aggeg :=_abdgd [_dafa [_aafa ]];_eecgf :=_aafa ;for _ecgf :=_aafa +1;_ecgf < len (_dafa );_ecgf ++{_ggga :=_abdgd [_dafa [_ecgf ]];if _aggeg ==_ggga {_eecgf =_ecgf ;}else {break ;};};_bafdc :=_aedfc [_dafa [_aafa ]];_bdada :=_aedfc [_dafa [_eecgf ]];_eedc .Append (_aef .MakeInteger (int64 (_bafdc )));_eedc .Append (_aef .MakeInteger (int64 (_bdada )));_eedc .Append (_aef .MakeInteger (int64 (_aggeg )));_aafa =_eecgf +1;};return _eedc ;};func _cfeba (_eggee _aef .PdfObject ){_abe .Log .Debug ("\u006f\u0062\u006a\u003a\u0020\u0025\u0054\u0020\u0025\u0073",_eggee ,_eggee .String ());if _edgdb ,_afcgb :=_eggee .(*_aef .PdfObjectStream );_afcgb {_geaba ,_efabf :=_aef .DecodeStream (_edgdb );if _efabf !=nil {_abe .Log .Debug ("\u0045r\u0072\u006f\u0072\u003a\u0020\u0025v",_efabf );return ;};_abe .Log .Debug ("D\u0065\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0073",_geaba );}else if _caded ,_cadee :=_eggee .(*_aef .PdfIndirectObject );_cadee {_abe .Log .Debug ("\u0025\u0054\u0020%\u0076",_caded .PdfObject ,_caded .PdfObject );_abe .Log .Debug ("\u0025\u0073",_caded .PdfObject .String ());};};func (_agg *PdfReader )newPdfAnnotation3DFromDict (_geca *_aef .PdfObjectDictionary )(*PdfAnnotation3D ,error ){_aace :=PdfAnnotation3D {};_aace .T3DD =_geca .Get ("\u0033\u0044\u0044");_aace .T3DV =_geca .Get ("\u0033\u0044\u0056");_aace .T3DA =_geca .Get ("\u0033\u0044\u0041");_aace .T3DI =_geca .Get ("\u0033\u0044\u0049");_aace .T3DB =_geca .Get ("\u0033\u0044\u0042");return &_aace ,nil ;};
|
||
|
||
// PdfShadingType4 is a Free-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType4 struct{*PdfShading ;BitsPerCoordinate *_aef .PdfObjectInteger ;BitsPerComponent *_aef .PdfObjectInteger ;BitsPerFlag *_aef .PdfObjectInteger ;Decode *_aef .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// NewPdfColorspaceCalGray returns a new CalGray colorspace object.
|
||
func NewPdfColorspaceCalGray ()*PdfColorspaceCalGray {_ggba :=&PdfColorspaceCalGray {};_ggba .BlackPoint =[]float64 {0.0,0.0,0.0};_ggba .Gamma =1;return _ggba ;};
|
||
|
||
// NewPdfPageResourcesColorspaces returns a new PdfPageResourcesColorspaces object.
|
||
func NewPdfPageResourcesColorspaces ()*PdfPageResourcesColorspaces {_eabcg :=&PdfPageResourcesColorspaces {};_eabcg .Names =[]string {};_eabcg .Colorspaces =map[string ]PdfColorspace {};_eabcg ._efbb =&_aef .PdfIndirectObject {};return _eabcg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bbc *PdfActionMovie )ToPdfObject ()_aef .PdfObject {_bbc .PdfAction .ToPdfObject ();_dfg :=_bbc ._gc ;_fabf :=_dfg .PdfObject .(*_aef .PdfObjectDictionary );_fabf .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeMovie )));_fabf .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e",_bbc .Annotation );_fabf .SetIfNotNil ("\u0054",_bbc .T );_fabf .SetIfNotNil ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn",_bbc .Operation );return _dfg ;};
|
||
|
||
// Fill populates `form` with values provided by `provider`.
|
||
func (_ceab *PdfAcroForm )Fill (provider FieldValueProvider )error {return _ceab .fill (provider ,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 (_bacbb *PdfReader )Inspect ()(map[string ]int ,error ){return _bacbb ._gdbbd .Inspect ()};type pdfCIDFontType2 struct{fontCommon ;_cafb *_aef .PdfIndirectObject ;_gdfaa _be .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// Dictionary that defines the character collection of the CIDFont (required).
|
||
// See Table 116.
|
||
CIDSystemInfo *_aef .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _aef .PdfObject ;W _aef .PdfObject ;DW2 _aef .PdfObject ;W2 _aef .PdfObject ;
|
||
|
||
// CIDs to glyph indices mapping (optional).
|
||
CIDToGIDMap _aef .PdfObject ;_gcfe map[_be .CharCode ]float64 ;_efagd float64 ;_bffbc map[rune ]int ;};func (_adaf *PdfColorspaceDeviceRGB )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B";};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline destination.
|
||
func (_afeaa OutlineDest )ToPdfObject ()_aef .PdfObject {if (_afeaa .PageObj ==nil &&_afeaa .Page < 0)||_afeaa .Mode ==""{return _aef .MakeNull ();};_beeg :=_aef .MakeArray ();if _afeaa .PageObj !=nil {_beeg .Append (_afeaa .PageObj );}else {_beeg .Append (_aef .MakeInteger (_afeaa .Page ));};_beeg .Append (_aef .MakeName (_afeaa .Mode ));switch _afeaa .Mode {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":_beeg .Append (_aef .MakeFloat (_afeaa .Y ));case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":_beeg .Append (_aef .MakeFloat (_afeaa .X ));case "\u0058\u0059\u005a":_beeg .Append (_aef .MakeFloat (_afeaa .X ));_beeg .Append (_aef .MakeFloat (_afeaa .Y ));_beeg .Append (_aef .MakeFloat (_afeaa .Zoom ));default:_beeg .Set (1,_aef .MakeName ("\u0046\u0069\u0074"));};return _beeg ;};
|
||
|
||
// DecodeArray returns the component range values for the Indexed colorspace.
|
||
func (_bedc *PdfColorspaceSpecialIndexed )DecodeArray ()[]float64 {return []float64 {0,float64 (_bedc .HiVal )};};
|
||
|
||
// GetSubFilter returns SubFilter value or empty string.
|
||
func (_ddaee *pdfSignDictionary )GetSubFilter ()string {_ccab :=_ddaee .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r");if _ccab ==nil {return "";};if _ffbef ,_beddc :=_aef .GetNameVal (_ccab );_beddc {return _ffbef ;};return "";};
|
||
|
||
// 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 (_bffec *PdfReader )FlattenFields (allannots bool ,appgen FieldAppearanceGenerator )error {return _bffec .flattenFieldsWithOpts (allannots ,appgen ,nil );};func (_cdadd *PdfShading )getShadingDict ()(*_aef .PdfObjectDictionary ,error ){_daddc :=_cdadd ._bbga ;if _defc ,_cafe :=_daddc .(*_aef .PdfIndirectObject );_cafe {_bebg ,_cdfg :=_defc .PdfObject .(*_aef .PdfObjectDictionary );if !_cdfg {return nil ,_aef .ErrTypeError ;};return _bebg ,nil ;}else if _bfdc ,_faed :=_daddc .(*_aef .PdfObjectStream );_faed {return _bfdc .PdfObjectDictionary ,nil ;}else if _abded ,_eeeda :=_daddc .(*_aef .PdfObjectDictionary );_eeeda {return _abded ,nil ;}else {_abe .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 ,_aef .ErrTypeError ;};};
|
||
|
||
// PdfAppender appends new PDF content to an existing PDF document via incremental updates.
|
||
type PdfAppender struct{_dfgf _gfc .ReadSeeker ;_egag *_aef .PdfParser ;_fdd *PdfReader ;Reader *PdfReader ;_ebegf []*PdfPage ;_faga *PdfAcroForm ;_gcde *DSS ;_cdda _aef .XrefTable ;_fccb int64 ;_gdbd int ;_aeaaa []_aef .PdfObject ;_abge map[_aef .PdfObject ]struct{};_ddff map[_aef .PdfObject ]int64 ;_cbf map[_aef .PdfObject ]struct{};_gfce map[_aef .PdfObject ]struct{};_gadc int64 ;_ebef bool ;};
|
||
|
||
// SetFilter sets compression filter. Decodes with current filter sets and
|
||
// encodes the data with the new filter.
|
||
func (_dgdd *XObjectImage )SetFilter (encoder _aef .StreamEncoder )error {_bbafd :=_dgdd .Stream ;_geafa ,_fgcedf :=_dgdd .Filter .DecodeBytes (_bbafd );if _fgcedf !=nil {return _fgcedf ;};_dgdd .Filter =encoder ;encoder .UpdateParams (_dgdd .getParamsDict ());_bbafd ,_fgcedf =encoder .EncodeBytes (_geafa );if _fgcedf !=nil {return _fgcedf ;};_dgdd .Stream =_bbafd ;return nil ;};
|
||
|
||
// NewPdfAnnotationStamp returns a new stamp annotation.
|
||
func NewPdfAnnotationStamp ()*PdfAnnotationStamp {_ebfd :=NewPdfAnnotation ();_gbf :=&PdfAnnotationStamp {};_gbf .PdfAnnotation =_ebfd ;_gbf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ebfd .SetContext (_gbf );return _gbf ;};
|
||
|
||
// NewPdfColorspaceSpecialPattern returns a new pattern color.
|
||
func NewPdfColorspaceSpecialPattern ()*PdfColorspaceSpecialPattern {return &PdfColorspaceSpecialPattern {};};
|
||
|
||
// GetContainingPdfObject returns the container of the outline tree node (indirect object).
|
||
func (_gbabb *PdfOutlineTreeNode )GetContainingPdfObject ()_aef .PdfObject {return _gbabb .GetContext ().GetContainingPdfObject ();};func (_dgdb *PdfReader )newPdfAnnotationWatermarkFromDict (_babd *_aef .PdfObjectDictionary )(*PdfAnnotationWatermark ,error ){_fee :=PdfAnnotationWatermark {};_fee .FixedPrint =_babd .Get ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074");return &_fee ,nil ;};func (_agec *PdfColorspaceDeviceGray )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079";};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_adged *PdfColorspaceICCBased )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _adged .Alternate ==nil {if _adged .N ==1{_cdgg :=NewPdfColorspaceDeviceGray ();return _cdgg .ColorFromFloats (vals );}else if _adged .N ==3{_efefe :=NewPdfColorspaceDeviceRGB ();return _efefe .ColorFromFloats (vals );}else if _adged .N ==4{_ececc :=NewPdfColorspaceDeviceCMYK ();return _ececc .ColorFromFloats (vals );}else {return nil ,_fa .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 _adged .Alternate .ColorFromFloats (vals );};func (_fbae *PdfReader )newPdfAnnotationPolygonFromDict (_caeg *_aef .PdfObjectDictionary )(*PdfAnnotationPolygon ,error ){_geda :=PdfAnnotationPolygon {};_gbfd ,_eccf :=_fbae .newPdfAnnotationMarkupFromDict (_caeg );if _eccf !=nil {return nil ,_eccf ;};_geda .PdfAnnotationMarkup =_gbfd ;_geda .Vertices =_caeg .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_geda .LE =_caeg .Get ("\u004c\u0045");_geda .BS =_caeg .Get ("\u0042\u0053");_geda .IC =_caeg .Get ("\u0049\u0043");_geda .BE =_caeg .Get ("\u0042\u0045");_geda .IT =_caeg .Get ("\u0049\u0054");_geda .Measure =_caeg .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_geda ,nil ;};
|
||
|
||
// GetParamsDict returns *core.PdfObjectDictionary with a set of basic image parameters.
|
||
func (_beaea *Image )GetParamsDict ()*_aef .PdfObjectDictionary {_efbd :=_aef .MakeDict ();_efbd .Set ("\u0057\u0069\u0064t\u0068",_aef .MakeInteger (_beaea .Width ));_efbd .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_aef .MakeInteger (_beaea .Height ));_efbd .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_aef .MakeInteger (int64 (_beaea .ColorComponents )));_efbd .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_aef .MakeInteger (_beaea .BitsPerComponent ));return _efbd ;};func _cgbda (_aadc *[]*PdfField ,_debc FieldFilterFunc ,_ceafg bool )[]*PdfField {if _aadc ==nil {return nil ;};_dedc :=*_aadc ;if len (*_aadc )==0{return nil ;};_acdfb :=_dedc [:0];if _debc ==nil {_debc =func (*PdfField )bool {return true };};var _cgdc []*PdfField ;for _ ,_gfbcg :=range _dedc {_bagfd :=_debc (_gfbcg );if _bagfd {_cgdc =append (_cgdc ,_gfbcg );if len (_gfbcg .Kids )> 0{_cgdc =append (_cgdc ,_cgbda (&_gfbcg .Kids ,_debc ,_ceafg )...);};};if !_ceafg ||!_bagfd ||len (_gfbcg .Kids )> 0{_acdfb =append (_acdfb ,_gfbcg );};};*_aadc =_acdfb ;return _cgdc ;};
|
||
|
||
// PdfAction represents an action in PDF (section 12.6 p. 412).
|
||
type PdfAction struct{_ecb PdfModel ;Type _aef .PdfObject ;S _aef .PdfObject ;Next _aef .PdfObject ;_gc *_aef .PdfIndirectObject ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_egabb *PdfFunctionType0 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=_egabb .NumInputs {_abe .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 ,_fa .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");};if _egabb ._ceeae ==nil {_fdde :=_egabb .processSamples ();if _fdde !=nil {return nil ,_fdde ;};};_bgcg :=_egabb .Encode ;if _bgcg ==nil {_bgcg =[]float64 {};for _ddfdg :=0;_ddfdg < len (_egabb .Size );_ddfdg ++{_bgcg =append (_bgcg ,0);_bgcg =append (_bgcg ,float64 (_egabb .Size [_ddfdg ]-1));};};_fgggc :=_egabb .Decode ;if _fgggc ==nil {_fgggc =_egabb .Range ;};_cecacc :=make ([]int ,len (x ));for _eacgfc :=0;_eacgfc < len (x );_eacgfc ++{_febgg :=x [_eacgfc ];_ddfb :=_ad .Min (_ad .Max (_febgg ,_egabb .Domain [2*_eacgfc ]),_egabb .Domain [2*_eacgfc +1]);_fccce :=_gb .LinearInterpolate (_ddfb ,_egabb .Domain [2*_eacgfc ],_egabb .Domain [2*_eacgfc +1],_bgcg [2*_eacgfc ],_bgcg [2*_eacgfc +1]);_cfcgg :=_ad .Min (_ad .Max (_fccce ,0),float64 (_egabb .Size [_eacgfc ]-1));_adagc :=int (_ad .Floor (_cfcgg +0.5));if _adagc < 0{_adagc =0;}else if _adagc > _egabb .Size [_eacgfc ]{_adagc =_egabb .Size [_eacgfc ]-1;};_cecacc [_eacgfc ]=_adagc ;};_deadg :=_cecacc [0];for _cgegf :=1;_cgegf < _egabb .NumInputs ;_cgegf ++{_ggaga :=_cecacc [_cgegf ];for _egee :=0;_egee < _cgegf ;_egee ++{_ggaga *=_egabb .Size [_egee ];};_deadg +=_ggaga ;};_deadg *=_egabb .NumOutputs ;var _dgaaa []float64 ;for _edfe :=0;_edfe < _egabb .NumOutputs ;_edfe ++{_bgedd :=_deadg +_edfe ;if _bgedd >=len (_egabb ._ceeae ){_abe .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 ;};_ggbb :=_egabb ._ceeae [_bgedd ];_cefc :=_gb .LinearInterpolate (float64 (_ggbb ),0,_ad .Pow (2,float64 (_egabb .BitsPerSample )),_fgggc [2*_edfe ],_fgggc [2*_edfe +1]);_gaag :=_ad .Min (_ad .Max (_cefc ,_egabb .Range [2*_edfe ]),_egabb .Range [2*_edfe +1]);_dgaaa =append (_dgaaa ,_gaag );};return _dgaaa ,nil ;};func _gfabd (_gaea *_aef .PdfObjectDictionary ,_bdce *fontCommon )(*pdfCIDFontType0 ,error ){if _bdce ._ababd !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"{_abe .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",_bdce );return nil ,_aef .ErrRangeError ;};_abca :=_acfce (_bdce );_bbced ,_defe :=_aef .GetDict (_gaea .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_defe {_abe .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",_bdce );return nil ,ErrRequiredAttributeMissing ;};_abca .CIDSystemInfo =_bbced ;_abca .DW =_gaea .Get ("\u0044\u0057");_abca .W =_gaea .Get ("\u0057");_abca .DW2 =_gaea .Get ("\u0044\u0057\u0032");_abca .W2 =_gaea .Get ("\u0057\u0032");_abca ._egcdc =1000.0;if _fbed ,_edfcc :=_aef .GetNumberAsFloat (_abca .DW );_edfcc ==nil {_abca ._egcdc =_fbed ;};_dgdbef ,_bdbdf :=_bbaee (_abca .W );if _bdbdf !=nil {return nil ,_bdbdf ;};if _dgdbef ==nil {_dgdbef =map[_be .CharCode ]float64 {};};_abca ._gfbff =_dgdbef ;return _abca ,nil ;};
|
||
|
||
// GetOCProperties returns the optional content properties PdfObject.
|
||
func (_bdgg *PdfReader )GetOCProperties ()(_aef .PdfObject ,error ){_eccfa :=_bdgg ._acae ;_cffbb :=_eccfa .Get ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_cffbb =_aef .ResolveReference (_cffbb );if !_bdgg ._afae {_cagg :=_bdgg .traverseObjectData (_cffbb );if _cagg !=nil {return nil ,_cagg ;};};return _cffbb ,nil ;};
|
||
|
||
// NewPdfAnnotationCircle returns a new circle annotation.
|
||
func NewPdfAnnotationCircle ()*PdfAnnotationCircle {_becg :=NewPdfAnnotation ();_dda :=&PdfAnnotationCircle {};_dda .PdfAnnotation =_becg ;_dda .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_becg .SetContext (_dda );return _dda ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bddc *PdfAnnotationFreeText )ToPdfObject ()_aef .PdfObject {_bddc .PdfAnnotation .ToPdfObject ();_fada :=_bddc ._edc ;_ffg :=_fada .PdfObject .(*_aef .PdfObjectDictionary );_bddc .PdfAnnotationMarkup .appendToPdfDictionary (_ffg );_ffg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074"));_ffg .SetIfNotNil ("\u0044\u0041",_bddc .DA );_ffg .SetIfNotNil ("\u0051",_bddc .Q );_ffg .SetIfNotNil ("\u0052\u0043",_bddc .RC );_ffg .SetIfNotNil ("\u0044\u0053",_bddc .DS );_ffg .SetIfNotNil ("\u0043\u004c",_bddc .CL );_ffg .SetIfNotNil ("\u0049\u0054",_bddc .IT );_ffg .SetIfNotNil ("\u0042\u0045",_bddc .BE );_ffg .SetIfNotNil ("\u0052\u0044",_bddc .RD );_ffg .SetIfNotNil ("\u0042\u0053",_bddc .BS );_ffg .SetIfNotNil ("\u004c\u0045",_bddc .LE );return _fada ;};
|
||
|
||
// GetContainingPdfObject returns the containing object for the PdfField, i.e. an indirect object
|
||
// containing the field dictionary.
|
||
func (_aecea *PdfField )GetContainingPdfObject ()_aef .PdfObject {return _aecea ._abebg };var (ErrRequiredAttributeMissing =_fa .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 =_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");ErrTypeCheck =_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");_cbcgg =_fa .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");ErrEncrypted =_fa .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 =_fa .New ("\u0066\u006fn\u0074\u0020\u006eo\u0074\u0020\u0064\u0065\u0066\u0069\u006e\u0065\u0064");ErrFontNotSupported =_bb .Errorf ("u\u006e\u0073\u0075\u0070po\u0072t\u0065\u0064\u0020\u0066\u006fn\u0074\u0020\u0028\u0025\u0077\u0029",_aef .ErrNotSupported );ErrType1CFontNotSupported =_bb .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\u0077\u0029",_aef .ErrNotSupported );ErrType3FontNotSupported =_bb .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%\u0077\u0029",_aef .ErrNotSupported );ErrTTCmapNotSupported =_bb .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\u0077\u0029",_aef .ErrNotSupported );ErrSignNotEnoughSpace =_bb .Errorf ("\u0069\u006e\u0073\u0075\u0066\u0066\u0069c\u0069\u0065\u006et\u0020\u0073\u0070a\u0063\u0065 \u0061\u006c\u006c\u006f\u0063\u0061t\u0065d \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u0073");ErrSignNoCertificates =_bb .Errorf ("\u0063\u006ful\u0064\u0020\u006eo\u0074\u0020\u0072\u0065tri\u0065ve\u0020\u0063\u0065\u0072\u0074\u0069\u0066ic\u0061\u0074\u0065\u0020\u0063\u0068\u0061i\u006e"););
|
||
|
||
// GetNumComponents returns the number of color components.
|
||
func (_deeb *PdfColorspaceICCBased )GetNumComponents ()int {return _deeb .N };
|
||
|
||
// BorderEffect represents a border effect (Table 167 p. 395).
|
||
type BorderEffect int ;
|
||
|
||
// Read reads an image and loads into a new Image object with an RGB
|
||
// colormap and 8 bits per component.
|
||
func (_dgccc DefaultImageHandler )Read (reader _gfc .Reader )(*Image ,error ){_fbcbb ,_ ,_bcdeg :=_ae .Decode (reader );if _bcdeg !=nil {_abe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0073",_bcdeg );return nil ,_bcdeg ;};return _dgccc .NewImageFromGoImage (_fbcbb );};
|
||
|
||
// ReplacePage replaces the original page to a new page.
|
||
func (_fbaf *PdfAppender )ReplacePage (pageNum int ,page *PdfPage ){_aedb :=pageNum -1;for _bdcg :=range _fbaf ._ebegf {if _bdcg ==_aedb {_ecefe :=page .Duplicate ();_bedgc (_ecefe );_fbaf ._ebegf [_bdcg ]=_ecefe ;};};};
|
||
|
||
// ColorToRGB converts an Indexed color to an RGB color.
|
||
func (_gbgd *PdfColorspaceSpecialIndexed )ColorToRGB (color PdfColor )(PdfColor ,error ){if _gbgd .Base ==nil {return nil ,_fa .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 _gbgd .Base .ColorToRGB (color );};func (_bfbfea *DSS )addCRLs (_cedg [][]byte )([]*_aef .PdfObjectStream ,error ){return _bfbfea .add (&_bfbfea .CRLs ,_bfbfea ._gfbg ,_cedg );};type modelManager struct{_gfdb map[PdfModel ]_aef .PdfObject ;_bgbf map[_aef .PdfObject ]PdfModel ;};
|
||
|
||
// GetNumPages returns the number of pages in the document.
|
||
func (_ccbaa *PdfReader )GetNumPages ()(int ,error ){if _ccbaa ._gdbbd .GetCrypter ()!=nil &&!_ccbaa ._gdbbd .IsAuthenticated (){return 0,_b .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 (_ccbaa ._dbdgb ),nil ;};func _cfeeg (_gcbg _aef .PdfObject )(*fontFile ,error ){_abe .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",_gcbg );_dfgaec :=&fontFile {};_gcbg =_aef .TraceToDirectObject (_gcbg );_dfgad ,_fccfb :=_gcbg .(*_aef .PdfObjectStream );if !_fccfb {_abe .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",_gcbg );return nil ,_aef .ErrTypeError ;};_eddf :=_dfgad .PdfObjectDictionary ;_bged ,_cdbfg :=_aef .DecodeStream (_dfgad );if _cdbfg !=nil {return nil ,_cdbfg ;};_adeg ,_fccfb :=_aef .GetNameVal (_eddf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_fccfb {_dfgaec ._aacd =_adeg ;if _adeg =="\u0054\u0079\u0070\u0065\u0031\u0043"{_abe .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 ;};};_aagab ,_ :=_aef .GetIntVal (_eddf .Get ("\u004ce\u006e\u0067\u0074\u0068\u0031"));_gcbgg ,_ :=_aef .GetIntVal (_eddf .Get ("\u004ce\u006e\u0067\u0074\u0068\u0032"));if _aagab > len (_bged ){_aagab =len (_bged );};if _aagab +_gcbgg > len (_bged ){_gcbgg =len (_bged )-_aagab ;};_gggf :=_bged [:_aagab ];var _ebad []byte ;if _gcbgg > 0{_ebad =_bged [_aagab :_aagab +_gcbgg ];};if _aagab > 0&&_gcbgg > 0{_cbbgg :=_dfgaec .loadFromSegments (_gggf ,_ebad );if _cbbgg !=nil {return nil ,_cbbgg ;};};return _dfgaec ,nil ;};
|
||
|
||
// PdfActionSubmitForm represents a submitForm action.
|
||
type PdfActionSubmitForm struct{*PdfAction ;F *PdfFilespec ;Fields _aef .PdfObject ;Flags _aef .PdfObject ;};
|
||
|
||
// NewPdfActionImportData returns a new "import data" action.
|
||
func NewPdfActionImportData ()*PdfActionImportData {_ac :=NewPdfAction ();_gca :=&PdfActionImportData {};_gca .PdfAction =_ac ;_ac .SetContext (_gca );return _gca ;};
|
||
|
||
// ToGoImage converts the unidoc Image to a golang Image structure.
|
||
func (_gafdb *Image )ToGoImage ()(_ae .Image ,error ){_abe .Log .Trace ("\u0043\u006f\u006e\u0076er\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0067\u006f\u0020\u0069\u006d\u0061g\u0065");_befd ,_ffcfgd :=_gb .NewImage (int (_gafdb .Width ),int (_gafdb .Height ),int (_gafdb .BitsPerComponent ),_gafdb .ColorComponents ,_gafdb .Data ,_gafdb ._afge ,_gafdb ._fgafa );if _ffcfgd !=nil {return nil ,_ffcfgd ;};return _befd ,nil ;};func _bbaee (_eccdf _aef .PdfObject )(map[_be .CharCode ]float64 ,error ){if _eccdf ==nil {return nil ,nil ;};_bfaf ,_gecda :=_aef .GetArray (_eccdf );if !_gecda {return nil ,nil ;};_dcbee :=map[_be .CharCode ]float64 {};_gbcde :=_bfaf .Len ();for _aeffg :=0;_aeffg < _gbcde -1;_aeffg ++{_fabc :=_aef .TraceToDirectObject (_bfaf .Get (_aeffg ));_fegc ,_gada :=_aef .GetIntVal (_fabc );if !_gada {return nil ,_b .Errorf ("\u0042a\u0064\u0020\u0066\u006fn\u0074\u0020\u0057\u0020\u006fb\u006a0\u003a \u0069\u003d\u0025\u0064\u0020\u0025\u0023v",_aeffg ,_fabc );};_aeffg ++;if _aeffg > _gbcde -1{return nil ,_b .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",_bfaf );};_dddef :=_aef .TraceToDirectObject (_bfaf .Get (_aeffg ));switch _dddef .(type ){case *_aef .PdfObjectArray :_bbed ,_ :=_aef .GetArray (_dddef );if _gbeb ,_dffcf :=_bbed .ToFloat64Array ();_dffcf ==nil {for _agcf :=0;_agcf < len (_gbeb );_agcf ++{_dcbee [_be .CharCode (_fegc +_agcf )]=_gbeb [_agcf ];};}else {return nil ,_b .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",_aeffg ,_dddef );};case *_aef .PdfObjectInteger :_dbece ,_fdee :=_aef .GetIntVal (_dddef );if !_fdee {return nil ,_b .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",_aeffg ,_dddef );};_aeffg ++;if _aeffg > _gbcde -1{return nil ,_b .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",_bfaf );};_fbcc :=_bfaf .Get (_aeffg );_adgc ,_cagfb :=_aef .GetNumberAsFloat (_fbcc );if _cagfb !=nil {return nil ,_b .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",_aeffg ,_fbcc );};for _fcade :=_fegc ;_fcade <=_dbece ;_fcade ++{_dcbee [_be .CharCode (_fcade )]=_adgc ;};default:return nil ,_b .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",_aeffg ,_dddef );};};return _dcbee ,nil ;};func _beed ()*modelManager {_ebafba :=modelManager {};_ebafba ._gfdb =map[PdfModel ]_aef .PdfObject {};_ebafba ._bgbf =map[_aef .PdfObject ]PdfModel {};return &_ebafba ;};func (_adba *LTV )enable (_dcbcc ,_edaca []*_c .Certificate ,_cfbf string )error {_cbfeb ,_ddgf ,_feaba :=_adba .buildCertChain (_dcbcc ,_edaca );if _feaba !=nil {return _feaba ;};_effbb ,_feaba :=_adba .getCerts (_cbfeb );if _feaba !=nil {return _feaba ;};_fceec ,_feaba :=_adba .getOCSPs (_cbfeb ,_ddgf );if _feaba !=nil {return _feaba ;};_fcbb ,_feaba :=_adba .getCRLs (_cbfeb );if _feaba !=nil {return _feaba ;};_fddf :=_adba ._cbcf ;_dadg ,_feaba :=_fddf .addCerts (_effbb );if _feaba !=nil {return _feaba ;};_gddb ,_feaba :=_fddf .addOCSPs (_fceec );if _feaba !=nil {return _feaba ;};_fcfbgc ,_feaba :=_fddf .addCRLs (_fcbb );if _feaba !=nil {return _feaba ;};if _cfbf !=""{_fddf .VRI [_cfbf ]=&VRI {Cert :_dadg ,OCSP :_gddb ,CRL :_fcfbgc };};_adba ._bdabf .SetDSS (_fddf );return nil ;};
|
||
|
||
// SetPatternByName sets a pattern resource specified by keyName.
|
||
func (_effa *PdfPageResources )SetPatternByName (keyName _aef .PdfObjectName ,pattern _aef .PdfObject )error {if _effa .Pattern ==nil {_effa .Pattern =_aef .MakeDict ();};_abbfe ,_fagfe :=_effa .Pattern .(*_aef .PdfObjectDictionary );if !_fagfe {return _aef .ErrTypeError ;};_abbfe .Set (keyName ,pattern );return nil ;};
|
||
|
||
// SetPdfCreationDate sets the CreationDate attribute of the output PDF.
|
||
func SetPdfCreationDate (creationDate _a .Time ){_abdcd .Lock ();defer _abdcd .Unlock ();_ddea =creationDate ;};
|
||
|
||
// NewOutline returns a new outline instance.
|
||
func NewOutline ()*Outline {return &Outline {}};
|
||
|
||
// GetAction returns the PDF action for the annotation link.
|
||
func (_fbe *PdfAnnotationLink )GetAction ()(*PdfAction ,error ){if _fbe ._faec !=nil {return _fbe ._faec ,nil ;};if _fbe .A ==nil {return nil ,nil ;};if _fbe ._cfa ==nil {return nil ,nil ;};_cdae ,_dfc :=_fbe ._cfa .loadAction (_fbe .A );if _dfc !=nil {return nil ,_dfc ;};_fbe ._faec =_cdae ;return _fbe ._faec ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggec *PdfAnnotationLink )ToPdfObject ()_aef .PdfObject {_ggec .PdfAnnotation .ToPdfObject ();_eaeb :=_ggec ._edc ;_bff :=_eaeb .PdfObject .(*_aef .PdfObjectDictionary );_bff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u004c\u0069\u006e\u006b"));if _ggec ._faec !=nil &&_ggec ._faec ._ecb !=nil {_bff .Set ("\u0041",_ggec ._faec ._ecb .ToPdfObject ());}else if _ggec .A !=nil {_bff .Set ("\u0041",_ggec .A );};_bff .SetIfNotNil ("\u0044\u0065\u0073\u0074",_ggec .Dest );_bff .SetIfNotNil ("\u0048",_ggec .H );_bff .SetIfNotNil ("\u0050\u0041",_ggec .PA );_bff .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_ggec .QuadPoints );_bff .SetIfNotNil ("\u0042\u0053",_ggec .BS );return _eaeb ;};
|
||
|
||
// ImageToRGB returns an error since an image cannot be defined in a pattern colorspace.
|
||
func (_efcgc *PdfColorspaceSpecialPattern )ImageToRGB (img Image )(Image ,error ){_abe .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 ,_fa .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");};
|
||
|
||
// SetNamedDestinations sets the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_gaagd *PdfWriter )SetNamedDestinations (names _aef .PdfObject )error {if names ==nil {return nil ;};_abe .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006co\u0067\u0020\u004e\u0061\u006d\u0065\u0073\u002e\u002e\u002e");_gaagd ._abebc .Set ("\u004e\u0061\u006de\u0073",names );return _gaagd .addObjects (names );};
|
||
|
||
// PdfActionTrans represents a trans action.
|
||
type PdfActionTrans struct{*PdfAction ;Trans _aef .PdfObject ;};
|
||
|
||
// 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 ,_be .SimpleEncoder ,error ){_cabbc ,_gbfc :=_aafde (basefont );if _gbfc !=nil {return nil ,nil ,_gbfc ;};_eccef ,_aaga :=_cabbc .Encoder ().(_be .SimpleEncoder );if !_aaga {return nil ,nil ,_b .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",_cabbc .Encoder ());};_fbcf :=make (map[rune ]_be .GlyphName );for _gfbc :=range alphabet {if _ ,_dgda :=_eccef .RuneToCharcode (_gfbc );!_dgda {_ ,_gegb :=_cabbc ._gcbd [_gfbc ];if !_gegb {_abe .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",_gfbc ,_gfbc );continue ;};_bffb ,_gegb :=_be .RuneToGlyph (_gfbc );if !_gegb {_abe .Log .Debug ("\u006eo\u0020\u0067\u006c\u0079\u0070\u0068\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u0020\u0025\u0023\u0078\u003d\u0025\u0071",_gfbc ,_gfbc );continue ;};if len (_fbcf )>=255{return nil ,nil ,_fa .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");};_fbcf [_gfbc ]=_bffb ;};};var (_eagfa []_be .CharCode ;_gdef []_be .CharCode ;);for _gagcb :=_be .CharCode (1);_gagcb <=0xff;_gagcb ++{_gfcc ,_gadcg :=_eccef .CharcodeToRune (_gagcb );if !_gadcg {_eagfa =append (_eagfa ,_gagcb );continue ;};if _ ,_gadcg =alphabet [_gfcc ];!_gadcg {_gdef =append (_gdef ,_gagcb );};};_fefg :=append (_eagfa ,_gdef ...);if len (_fefg )< len (_fbcf ){return nil ,nil ,_b .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 (_fbcf ),len (_fefg ));};_adee :=make ([]rune ,0,len (_fbcf ));for _cdeb :=range _fbcf {_adee =append (_adee ,_cdeb );};_eg .Slice (_adee ,func (_eacgf ,_cgdb int )bool {return _adee [_eacgf ]< _adee [_cgdb ]});_bcaec :=make (map[_be .CharCode ]_be .GlyphName ,len (_adee ));for _ ,_acaae :=range _adee {_ffdf :=_fefg [0];_fefg =_fefg [1:];_bcaec [_ffdf ]=_fbcf [_acaae ];};_eccef =_be .ApplyDifferences (_eccef ,_bcaec );_cabbc .SetEncoder (_eccef );return &PdfFont {_dccga :&_cabbc },_eccef ,nil ;};
|
||
|
||
// SetContext sets the sub annotation (context).
|
||
func (_dcc *PdfAnnotation )SetContext (ctx PdfModel ){_dcc ._eab =ctx };
|
||
|
||
// PdfAcroForm represents the AcroForm dictionary used for representation of form data in PDF.
|
||
type PdfAcroForm struct{Fields *[]*PdfField ;NeedAppearances *_aef .PdfObjectBool ;SigFlags *_aef .PdfObjectInteger ;CO *_aef .PdfObjectArray ;DR *PdfPageResources ;DA *_aef .PdfObjectString ;Q *_aef .PdfObjectInteger ;XFA _aef .PdfObject ;_aade *_aef .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gbff *PdfColorspaceSpecialSeparation )ToPdfObject ()_aef .PdfObject {_gaee :=_aef .MakeArray (_aef .MakeName ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"));_gaee .Append (_gbff .ColorantName );_gaee .Append (_gbff .AlternateSpace .ToPdfObject ());_gaee .Append (_gbff .TintTransform .ToPdfObject ());if _gbff ._abfcb !=nil {_gbff ._abfcb .PdfObject =_gaee ;return _gbff ._abfcb ;};return _gaee ;};
|
||
|
||
// PdfPageResources is a Page resources model.
|
||
// Implements PdfModel.
|
||
type PdfPageResources struct{ExtGState _aef .PdfObject ;ColorSpace _aef .PdfObject ;Pattern _aef .PdfObject ;Shading _aef .PdfObject ;XObject _aef .PdfObject ;Font _aef .PdfObject ;ProcSet _aef .PdfObject ;Properties _aef .PdfObject ;_eede *_aef .PdfObjectDictionary ;_fcdfg *PdfPageResourcesColorspaces ;};func (_fdeg *pdfCIDFontType0 )baseFields ()*fontCommon {return &_fdeg .fontCommon };
|
||
|
||
// SetColorspaceByName adds the provided colorspace to the page resources.
|
||
func (_fgfcf *PdfPageResources )SetColorspaceByName (keyName _aef .PdfObjectName ,cs PdfColorspace )error {_cagag ,_agfbf :=_fgfcf .GetColorspaces ();if _agfbf !=nil {_abe .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",_agfbf );return _agfbf ;};if _cagag ==nil {_cagag =NewPdfPageResourcesColorspaces ();_fgfcf .SetColorSpace (_cagag );};_cagag .Set (keyName ,cs );return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dgg *PdfAnnotationRichMedia )ToPdfObject ()_aef .PdfObject {_dgg .PdfAnnotation .ToPdfObject ();_adge :=_dgg ._edc ;_fbdd :=_adge .PdfObject .(*_aef .PdfObjectDictionary );_fbdd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a"));_fbdd .SetIfNotNil ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073",_dgg .RichMediaSettings );_fbdd .SetIfNotNil ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074",_dgg .RichMediaContent );return _adge ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_fgba *PdfFilespec )GetContainingPdfObject ()_aef .PdfObject {return _fgba ._bgbda };func (_edabf *PdfWriter )addObjects (_aaggg _aef .PdfObject )error {_abe .Log .Trace ("\u0041d\u0064i\u006e\u0067\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0073\u0021");if _ffffa ,_adeb :=_aaggg .(*_aef .PdfIndirectObject );_adeb {_abe .Log .Trace ("\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074");_abe .Log .Trace ("\u002d \u0025\u0073\u0020\u0028\u0025\u0070)",_aaggg ,_ffffa );_abe .Log .Trace ("\u002d\u0020\u0025\u0073",_ffffa .PdfObject );if _edabf .addObject (_ffffa ){_geade :=_edabf .addObjects (_ffffa .PdfObject );if _geade !=nil {return _geade ;};};return nil ;};if _adagd ,_gcccb :=_aaggg .(*_aef .PdfObjectStream );_gcccb {_abe .Log .Trace ("\u0053\u0074\u0072\u0065\u0061\u006d");_abe .Log .Trace ("\u002d \u0025\u0073\u0020\u0025\u0070",_aaggg ,_aaggg );if _edabf .addObject (_adagd ){_eacfe :=_edabf .addObjects (_adagd .PdfObjectDictionary );if _eacfe !=nil {return _eacfe ;};};return nil ;};if _dbegd ,_dacge :=_aaggg .(*_aef .PdfObjectDictionary );_dacge {_abe .Log .Trace ("\u0044\u0069\u0063\u0074");_abe .Log .Trace ("\u002d\u0020\u0025\u0073",_aaggg );for _ ,_cbad :=range _dbegd .Keys (){_aagfb :=_dbegd .Get (_cbad );if _degg ,_ggeag :=_aagfb .(*_aef .PdfObjectReference );_ggeag {_aagfb =_degg .Resolve ();_dbegd .Set (_cbad ,_aagfb );};if _cbad !="\u0050\u0061\u0072\u0065\u006e\u0074"{if _fefed :=_edabf .addObjects (_aagfb );_fefed !=nil {return _fefed ;};}else {if _ ,_cdaea :=_aagfb .(*_aef .PdfObjectNull );_cdaea {continue ;};if _fffaa :=_edabf .hasObject (_aagfb );!_fffaa {_abe .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",_aagfb ,_aagfb ,_aagfb );_edabf ._eabcf [_aagfb ]=append (_edabf ._eabcf [_aagfb ],_dbegd );};};};return nil ;};if _daad ,_affcb :=_aaggg .(*_aef .PdfObjectArray );_affcb {_abe .Log .Trace ("\u0041\u0072\u0072a\u0079");_abe .Log .Trace ("\u002d\u0020\u0025\u0073",_aaggg );if _daad ==nil {return _fa .New ("\u0061\u0072\u0072a\u0079\u0020\u0069\u0073\u0020\u006e\u0069\u006c");};for _cddfg ,_eacbb :=range _daad .Elements (){if _egcag ,_fdfbf :=_eacbb .(*_aef .PdfObjectReference );_fdfbf {_eacbb =_egcag .Resolve ();_daad .Set (_cddfg ,_eacbb );};if _adccf :=_edabf .addObjects (_eacbb );_adccf !=nil {return _adccf ;};};return nil ;};if _ ,_fgbca :=_aaggg .(*_aef .PdfObjectReference );_fgbca {_abe .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",_aaggg );return _fa .New ("r\u0065\u0066\u0065\u0072en\u0063e\u0020\u006e\u006f\u0074\u0020a\u006c\u006c\u006f\u0077\u0065\u0064");};return nil ;};
|
||
|
||
// GetExtGState gets the ExtGState specified by keyName. Returns a bool
|
||
// indicating whether it was found or not.
|
||
func (_agfbc *PdfPageResources )GetExtGState (keyName _aef .PdfObjectName )(_aef .PdfObject ,bool ){if _agfbc .ExtGState ==nil {return nil ,false ;};_egecg ,_feaed :=_aef .TraceToDirectObject (_agfbc .ExtGState ).(*_aef .PdfObjectDictionary );if !_feaed {_abe .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",_agfbc .ExtGState );return nil ,false ;};if _cfbbf :=_egecg .Get (keyName );_cfbbf !=nil {return _cfbbf ,true ;};return nil ,false ;};const (RC4_128bit =EncryptionAlgorithm (iota );AES_128bit ;AES_256bit ;);
|
||
|
||
// String returns a human readable description of `fontfile`.
|
||
func (_acdc *fontFile )String ()string {_aafg :="\u005b\u004e\u006f\u006e\u0065\u005d";if _acdc ._dbadd !=nil {_aafg =_acdc ._dbadd .String ();};return _b .Sprintf ("\u0046O\u004e\u0054\u0046\u0049\u004c\u0045\u007b\u0025\u0023\u0071\u0020e\u006e\u0063\u006f\u0064\u0065\u0072\u003d\u0025\u0073\u007d",_acdc ._gaed ,_aafg );};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 4 for a CMYK32 device.
|
||
func (_fgbf *PdfColorspaceDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// GetContentStreamWithEncoder returns the pattern cell's content stream and its encoder
|
||
func (_dffaf *PdfTilingPattern )GetContentStreamWithEncoder ()([]byte ,_aef .StreamEncoder ,error ){_bccd ,_gbaa :=_dffaf ._fgbcde .(*_aef .PdfObjectStream );if !_gbaa {_abe .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",_dffaf ._fgbcde );return nil ,nil ,_aef .ErrTypeError ;};_dfad ,_dccba :=_aef .DecodeStream (_bccd );if _dccba !=nil {_abe .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",_dccba );return nil ,nil ,_dccba ;};_agfdb ,_dccba :=_aef .NewEncoderFromStream (_bccd );if _dccba !=nil {_abe .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",_dccba );return nil ,nil ,_dccba ;};return _dfad ,_agfdb ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name stream]
|
||
func (_edeb *PdfColorspaceICCBased )ToPdfObject ()_aef .PdfObject {_fagaf :=&_aef .PdfObjectArray {};_fagaf .Append (_aef .MakeName ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"));var _gdgb *_aef .PdfObjectStream ;if _edeb ._bcdc !=nil {_gdgb =_edeb ._bcdc ;}else {_gdgb =&_aef .PdfObjectStream {};};_afbec :=_aef .MakeDict ();_afbec .Set ("\u004e",_aef .MakeInteger (int64 (_edeb .N )));if _edeb .Alternate !=nil {_afbec .Set ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e",_edeb .Alternate .ToPdfObject ());};if _edeb .Metadata !=nil {_afbec .Set ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_edeb .Metadata );};if _edeb .Range !=nil {var _abecb []_aef .PdfObject ;for _ ,_cacgf :=range _edeb .Range {_abecb =append (_abecb ,_aef .MakeFloat (_cacgf ));};_afbec .Set ("\u0052\u0061\u006eg\u0065",_aef .MakeArray (_abecb ...));};_afbec .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_edeb .Data ))));_gdgb .Stream =_edeb .Data ;_gdgb .PdfObjectDictionary =_afbec ;_fagaf .Append (_gdgb );if _edeb ._fcabc !=nil {_edeb ._fcabc .PdfObject =_fagaf ;return _edeb ._fcabc ;};return _fagaf ;};
|
||
|
||
// ImageToRGB converts an image with samples in Separation CS to an image with samples specified in
|
||
// DeviceRGB CS.
|
||
func (_dcdg *PdfColorspaceSpecialSeparation )ImageToRGB (img Image )(Image ,error ){_adfcc :=_ea .NewReader (img .getBase ());_deeab :=_gb .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),_dcdg .AlternateSpace .GetNumComponents (),nil ,img ._afge ,nil );_dggd :=_ea .NewWriter (_deeab );_aabe :=_ad .Pow (2,float64 (img .BitsPerComponent ))-1;_abe .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");_abe .Log .Trace ("\u0054i\u006et\u0054\u0072\u0061\u006e\u0073f\u006f\u0072m\u003a\u0020\u0025\u002b\u0076",_dcdg .TintTransform );_cge :=_dcdg .AlternateSpace .DecodeArray ();var (_gdgbfd uint32 ;_eadbc error ;);for {_gdgbfd ,_eadbc =_adfcc .ReadSample ();if _eadbc ==_gfc .EOF {break ;};if _eadbc !=nil {return img ,_eadbc ;};_ceca :=float64 (_gdgbfd )/_aabe ;_ecda ,_ecce :=_dcdg .TintTransform .Evaluate ([]float64 {_ceca });if _ecce !=nil {return img ,_ecce ;};for _cfbg ,_dgaag :=range _ecda {_cgfgg :=_gb .LinearInterpolate (_dgaag ,_cge [_cfbg *2],_cge [_cfbg *2+1],0,1);if _ecce =_dggd .WriteSample (uint32 (_cgfgg *_aabe ));_ecce !=nil {return img ,_ecce ;};};};return _dcdg .AlternateSpace .ImageToRGB (_cbgdcg (&_deeab ));};
|
||
|
||
// 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 *_aef .PdfObjectInteger ;ColorSpace PdfColorspace ;Background *_aef .PdfObjectArray ;BBox *PdfRectangle ;AntiAlias *_aef .PdfObjectBool ;_egaca PdfModel ;_bbga _aef .PdfObject ;};
|
||
|
||
// ToPdfObject converts rectangle to a PDF object.
|
||
func (_fbded *PdfRectangle )ToPdfObject ()_aef .PdfObject {return _aef .MakeArray (_aef .MakeFloat (_fbded .Llx ),_aef .MakeFloat (_fbded .Lly ),_aef .MakeFloat (_fbded .Urx ),_aef .MakeFloat (_fbded .Ury ));};
|
||
|
||
// NewPdfAnnotationSquare returns a new square annotation.
|
||
func NewPdfAnnotationSquare ()*PdfAnnotationSquare {_dff :=NewPdfAnnotation ();_dgc :=&PdfAnnotationSquare {};_dgc .PdfAnnotation =_dff ;_dgc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dff .SetContext (_dgc );return _dgc ;};
|
||
|
||
// 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 (_ebgf *PdfFont )CharcodesToUnicode (charcodes []_be .CharCode )[]rune {_cfbgc ,_ ,_ :=_ebgf .CharcodesToUnicodeWithStats (charcodes );return _cfbgc ;};
|
||
|
||
// SetImageHandler sets the image handler used by the package.
|
||
func SetImageHandler (imgHandling ImageHandler ){ImageHandling =imgHandling };
|
||
|
||
// GetPdfName returns the PDF name used to indicate the border style.
|
||
// (Table 166 p. 395).
|
||
func (_ffb *BorderStyle )GetPdfName ()string {switch *_ffb {case BorderStyleSolid :return "\u0053";case BorderStyleDashed :return "\u0044";case BorderStyleBeveled :return "\u0042";case BorderStyleInset :return "\u0049";case BorderStyleUnderline :return "\u0055";};return "";};func (_fcae *pdfFontType0 )bytesToCharcodes (_daec []byte )([]_be .CharCode ,bool ){if _fcae ._dcdab ==nil {return nil ,false ;};_dbbdc ,_acdab :=_fcae ._dcdab .BytesToCharcodes (_daec );if !_acdab {return nil ,false ;};_agdc :=make ([]_be .CharCode ,len (_dbbdc ));for _dafb ,_badg :=range _dbbdc {_agdc [_dafb ]=_be .CharCode (_badg );};return _agdc ,true ;};
|
||
|
||
// GetCustomInfo returns a custom info value for the specified name.
|
||
func (_cbea *PdfInfo )GetCustomInfo (name string )*_aef .PdfObjectString {var _ffgdf *_aef .PdfObjectString ;if _cbea ._ebcd ==nil {return _ffgdf ;};if _efbe ,_dfb :=_cbea ._ebcd .Get (*_aef .MakeName (name )).(*_aef .PdfObjectString );_dfb {_ffgdf =_efbe ;};return _ffgdf ;};func (_abeda *PdfFilespec )getDict ()*_aef .PdfObjectDictionary {if _gead ,_aagg :=_abeda ._bgbda .(*_aef .PdfIndirectObject );_aagg {_edgac ,_eeed :=_gead .PdfObject .(*_aef .PdfObjectDictionary );if !_eeed {return nil ;};return _edgac ;}else if _gggbd ,_dbafg :=_abeda ._bgbda .(*_aef .PdfObjectDictionary );_dbafg {return _gggbd ;}else {_abe .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",_abeda ._bgbda );return nil ;};};func (_abeec fontCommon )isCIDFont ()bool {if _abeec ._ababd ==""{_abe .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",_abeec );};_adfe :=false ;switch _abeec ._ababd {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":_adfe =true ;};_abe .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",_adfe ,_abeec );return _adfe ;};
|
||
|
||
// NewPdfActionThread returns a new "thread" action.
|
||
func NewPdfActionThread ()*PdfActionThread {_ag :=NewPdfAction ();_fb :=&PdfActionThread {};_fb .PdfAction =_ag ;_ag .SetContext (_fb );return _fb ;};func _fccfg (_bbcd _aef .PdfObject )(*PdfColorspaceSpecialPattern ,error ){_abe .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",_bbcd .String (),_bbcd );_bfbff :=NewPdfColorspaceSpecialPattern ();if _agee ,_aaeb :=_bbcd .(*_aef .PdfIndirectObject );_aaeb {_bfbff ._febfd =_agee ;};_bbcd =_aef .TraceToDirectObject (_bbcd );if _efd ,_faef :=_bbcd .(*_aef .PdfObjectName );_faef {if *_efd !="\u0050a\u0074\u0074\u0065\u0072\u006e"{return nil ,_b .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};return _bfbff ,nil ;};_baag ,_gdgbf :=_bbcd .(*_aef .PdfObjectArray );if !_gdgbf {_abe .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",_bbcd );return nil ,_b .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0050\u0061\u0074\u0074e\u0072n\u0020C\u0053\u0020\u006f\u0062\u006a\u0065\u0063t");};if _baag .Len ()!=1&&_baag .Len ()!=2{_abe .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",_baag );return nil ,_b .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065r\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079");};_bbcd =_baag .Get (0);if _caaa ,_edae :=_bbcd .(*_aef .PdfObjectName );_edae {if *_caaa !="\u0050a\u0074\u0074\u0065\u0072\u006e"{_abe .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",_caaa );return nil ,_b .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};};if _baag .Len ()> 1{_bbcd =_baag .Get (1);_bbcd =_aef .TraceToDirectObject (_bbcd );_eegfa ,_ececg :=NewPdfColorspaceFromPdfObject (_bbcd );if _ececg !=nil {return nil ,_ececg ;};_bfbff .UnderlyingCS =_eegfa ;};_abe .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",_bfbff .UnderlyingCS );return _bfbff ,nil ;};func (_cfead *PdfAppender )replaceObject (_bfcc ,_cgfe _aef .PdfObject ){switch _gfdd :=_bfcc .(type ){case *_aef .PdfIndirectObject :_cfead ._ddff [_cgfe ]=_gfdd .ObjectNumber ;case *_aef .PdfObjectStream :_cfead ._ddff [_cgfe ]=_gfdd .ObjectNumber ;};};
|
||
|
||
// 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 (_fcee *PdfAppender )Sign (pageNum int ,field *PdfFieldSignature )error {if field ==nil {return _fa .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");};_efae :=field .V ;if _efae ==nil {return _fa .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");};_afagf :=pageNum -1;if _afagf < 0||_afagf > len (_fcee ._ebegf )-1{return _b .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064",pageNum );};_fggg :=_fcee .Reader .PageList [_afagf ];field .P =_fggg .ToPdfObject ();if field .T ==nil ||field .T .String ()==""{field .T =_aef .MakeString (_b .Sprintf ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072\u0065\u0020\u0025\u0064",pageNum ));};_fggg .AddAnnotation (field .PdfAnnotationWidget .PdfAnnotation );if _fcee ._faga ==_fcee ._fdd .AcroForm {_fcee ._faga =_fcee .Reader .AcroForm ;};_dcd :=_fcee ._faga ;if _dcd ==nil {_dcd =NewPdfAcroForm ();};_dcd .SigFlags =_aef .MakeInteger (3);_aefa :=append (_dcd .AllFields (),field .PdfField );_dcd .Fields =&_aefa ;_fcee .ReplaceAcroForm (_dcd );_fcee .UpdatePage (_fggg );_fcee ._ebegf [_afagf ]=_fggg ;return 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 (_edge *PdfFont )FontDescriptor ()*PdfFontDescriptor {if _edge .baseFields ()._bgfd !=nil {return _edge .baseFields ()._bgfd ;};if _beeag :=_edge ._dccga .getFontDescriptor ();_beeag !=nil {return _beeag ;};_abe .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",_edge );return nil ;};
|
||
|
||
// 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 (_egeaf *PdfReader )GetObjectNums ()[]int {return _egeaf ._gdbbd .GetObjectNums ()};
|
||
|
||
// SetPdfProducer sets the Producer attribute of the output PDF.
|
||
func SetPdfProducer (producer string ){_abdcd .Lock ();defer _abdcd .Unlock ();_ggdea =producer };
|
||
|
||
// NewPdfActionSetOCGState returns a new "named" action.
|
||
func NewPdfActionSetOCGState ()*PdfActionSetOCGState {_afa :=NewPdfAction ();_adfa :=&PdfActionSetOCGState {};_adfa .PdfAction =_afa ;_afa .SetContext (_adfa );return _adfa ;};
|
||
|
||
// AddCustomInfo adds a custom info into document info dictionary.
|
||
func (_accc *PdfInfo )AddCustomInfo (name string ,value string )error {if _accc ._ebcd ==nil {_accc ._ebcd =_aef .MakeDict ();};if _ ,_abdcg :=_gefa [name ];_abdcg {return _b .Errorf ("\u0063\u0061\u006e\u006e\u006ft\u0020\u0075\u0073\u0065\u0020\u0073\u0074\u0061\u006e\u0064\u0061\u0072\u0064 \u0069\u006e\u0066\u006f\u0020\u006b\u0065\u0079\u0020\u0025\u0073\u0020\u0061\u0073\u0020\u0063\u0075\u0073\u0074\u006f\u006d\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u006b\u0065y",name );};_accc ._ebcd .SetIfNotNil (*_aef .MakeName (name ),_aef .MakeString (value ));return nil ;};
|
||
|
||
// NewPdfColorspaceDeviceN returns an initialized PdfColorspaceDeviceN.
|
||
func NewPdfColorspaceDeviceN ()*PdfColorspaceDeviceN {_fbdb :=&PdfColorspaceDeviceN {};return _fbdb };func (_ebfgf *PdfAcroForm )fill (_ebeec FieldValueProvider ,_bbaga FieldAppearanceGenerator )error {if _ebfgf ==nil {return nil ;};_dabd ,_acebd :=_ebeec .FieldValues ();if _acebd !=nil {return _acebd ;};for _ ,_fgbcd :=range _ebfgf .AllFields (){_cdgb :=_fgbcd .PartialName ();_agdee ,_eefcg :=_dabd [_cdgb ];if !_eefcg {if _bdgcb ,_ddbee :=_fgbcd .FullName ();_ddbee ==nil {_agdee ,_eefcg =_dabd [_bdgcb ];};};if !_eefcg {_abe .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",_cdgb );continue ;};if _edgef :=_bfegb (_fgbcd ,_agdee );_edgef !=nil {return _edgef ;};if _bbaga ==nil {continue ;};for _ ,_cfdg :=range _fgbcd .Annotations {_adced ,_ddcd :=_bbaga .GenerateAppearanceDict (_ebfgf ,_fgbcd ,_cfdg );if _ddcd !=nil {return _ddcd ;};_cfdg .AP =_adced ;_cfdg .ToPdfObject ();};};return nil ;};
|
||
|
||
// GetMediaBox gets the inheritable media box value, either from the page
|
||
// or a higher up page/pages struct.
|
||
func (_adcdd *PdfPage )GetMediaBox ()(*PdfRectangle ,error ){if _adcdd .MediaBox !=nil {return _adcdd .MediaBox ,nil ;};_ggbfb :=_adcdd .Parent ;for _ggbfb !=nil {_cfde ,_egbca :=_aef .GetDict (_ggbfb );if !_egbca {return nil ,_fa .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 _gdeab :=_cfde .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_gdeab !=nil {_cgfag ,_cbaf :=_aef .GetArray (_gdeab );if !_cbaf {return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006d\u0065\u0064\u0069a\u0020\u0062\u006f\u0078");};_fbaa ,_agaee :=NewPdfRectangle (*_cgfag );if _agaee !=nil {return nil ,_agaee ;};return _fbaa ,nil ;};_ggbfb =_cfde .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,_fa .New ("m\u0065\u0064\u0069\u0061 b\u006fx\u0020\u006e\u006f\u0074\u0020d\u0065\u0066\u0069\u006e\u0065\u0064");};
|
||
|
||
// Has checks if flag fl is set in flag and returns true if so, false otherwise.
|
||
func (_cbbg FieldFlag )Has (fl FieldFlag )bool {return (_cbbg .Mask ()&fl .Mask ())> 0};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eeca *PdfColorCalGray )ToInteger (bits int )uint32 {_beag :=_ad .Pow (2,float64 (bits ))-1;return uint32 (_beag *_eeca .Val ());};
|
||
|
||
// 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 (_cdega *XObjectForm )SetContentStream (content []byte ,encoder _aef .StreamEncoder )error {_daaac :=content ;if encoder ==nil {if _cdega .Filter !=nil {encoder =_cdega .Filter ;}else {encoder =_aef .NewRawEncoder ();};};_cgbb ,_daea :=encoder .EncodeBytes (_daaac );if _daea !=nil {return _daea ;};_daaac =_cgbb ;_cdega .Stream =_daaac ;_cdega .Filter =encoder ;return nil ;};func (_gdbbe *PdfReader )newPdfFieldSignatureFromDict (_gage *_aef .PdfObjectDictionary )(*PdfFieldSignature ,error ){_bggg :=&PdfFieldSignature {};_bfeab ,_efde :=_aef .GetIndirect (_gage .Get ("\u0056"));if _efde {var _aadde error ;_bggg .V ,_aadde =_gdbbe .newPdfSignatureFromIndirect (_bfeab );if _aadde !=nil {return nil ,_aadde ;};};_bggg .Lock ,_ =_aef .GetIndirect (_gage .Get ("\u004c\u006f\u0063\u006b"));_bggg .SV ,_ =_aef .GetIndirect (_gage .Get ("\u0053\u0056"));return _bggg ,nil ;};
|
||
|
||
// NewPdfColorDeviceCMYK returns a new CMYK32 color.
|
||
func NewPdfColorDeviceCMYK (c ,m ,y ,k float64 )*PdfColorDeviceCMYK {_cacdf :=PdfColorDeviceCMYK {c ,m ,y ,k };return &_cacdf ;};func (_fgfdb *PdfReader )newPdfAnnotationStrikeOut (_fcbc *_aef .PdfObjectDictionary )(*PdfAnnotationStrikeOut ,error ){_gdfe :=PdfAnnotationStrikeOut {};_aaf ,_bdag :=_fgfdb .newPdfAnnotationMarkupFromDict (_fcbc );if _bdag !=nil {return nil ,_bdag ;};_gdfe .PdfAnnotationMarkup =_aaf ;_gdfe .QuadPoints =_fcbc .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_gdfe ,nil ;};
|
||
|
||
// SetAnnotations sets the annotations list.
|
||
func (_dcgef *PdfPage )SetAnnotations (annotations []*PdfAnnotation ){_dcgef ._bcgfd =annotations };func (_gfbf *PdfFont )baseFields ()*fontCommon {if _gfbf ._dccga ==nil {_abe .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 _gfbf ._dccga .baseFields ();};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_dacag pdfCIDFontType0 )Encoder ()_be .TextEncoder {return _dacag ._bbbe };type pdfFont interface{_ecf .Font ;
|
||
|
||
// ToPdfObject returns a PDF representation of the font and implements interface Model.
|
||
ToPdfObject ()_aef .PdfObject ;getFontDescriptor ()*PdfFontDescriptor ;baseFields ()*fontCommon ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for an RGB device.
|
||
func (_fbba *PdfColorspaceDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// Subtype returns the font's "Subtype" field.
|
||
func (_dffc *PdfFont )Subtype ()string {_ddcc :=_dffc .baseFields ()._ababd ;if _badbb ,_eccfb :=_dffc ._dccga .(*pdfFontType0 );_eccfb {_ddcc =_ddcc +"\u003a"+_badbb .DescendantFont .Subtype ();};return _ddcc ;};func (_gfcbf *PdfWriter )addObject (_fabb _aef .PdfObject )bool {_aacccf :=_gfcbf .hasObject (_fabb );if !_aacccf {_ffeec :=_aef .ResolveReferencesDeep (_fabb ,_gfcbf ._dfdcb );if _ffeec !=nil {_abe .Log .Debug ("E\u0052R\u004f\u0052\u003a\u0020\u0025\u0076\u0020\u002d \u0073\u006b\u0069\u0070pi\u006e\u0067",_ffeec );};_gfcbf ._aage =append (_gfcbf ._aage ,_fabb );_gfcbf ._cafea [_fabb ]=struct{}{};return true ;};return false ;};func _fbfg (_cadf _aef .PdfObject )(*_aef .PdfObjectDictionary ,*fontCommon ,error ){_gbcd :=&fontCommon {};if _accb ,_febc :=_cadf .(*_aef .PdfIndirectObject );_febc {_gbcd ._adfb =_accb .ObjectNumber ;};_cdba ,_ddad :=_aef .GetDict (_cadf );if !_ddad {_abe .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",_cadf );return nil ,nil ,ErrFontNotSupported ;};_gbcb ,_ddad :=_aef .GetNameVal (_cdba .Get ("\u0054\u0079\u0070\u0065"));if !_ddad {_abe .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 _gbcb !="\u0046\u006f\u006e\u0074"{_abe .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.",_gbcb ,"\u0046\u006f\u006e\u0074");return nil ,nil ,_aef .ErrTypeError ;};_abbf ,_ddad :=_aef .GetNameVal (_cdba .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_ddad {_abe .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 ;};_gbcd ._ababd =_abbf ;_ecdf ,_ddad :=_aef .GetNameVal (_cdba .Get ("\u004e\u0061\u006d\u0065"));if _ddad {_gbcd ._cebc =_ecdf ;};if _abbf =="\u0054\u0079\u0070e\u0033"{_abe .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",_cdba );return _cdba ,_gbcd ,ErrType3FontNotSupported ;};_effc ,_ddad :=_aef .GetNameVal (_cdba .Get ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074"));if !_ddad {_abe .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 _cdba ,_gbcd ,ErrRequiredAttributeMissing ;};_gbcd ._fegdg =_effc ;_bcff :=_cdba .Get ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072");if _bcff !=nil {_fdda ,_ceda :=_fbea (_bcff );if _ceda !=nil {_abe .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",_ceda );return _cdba ,_gbcd ,_ceda ;};_gbcd ._bgfd =_fdda ;};_gbce :=_cdba .Get ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e");if _gbce !=nil {_gbcd ._ddcbd =_aef .TraceToDirectObject (_gbce );_bcgfc ,_cfgb :=_gccc (_gbcd ._ddcbd ,_gbcd );if _cfgb !=nil {return _cdba ,_gbcd ,_cfgb ;};_gbcd ._ecefd =_bcgfc ;}else if _abbf =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"||_abbf =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_cacf ,_ccac :=_gg .NewCIDSystemInfo (_cdba .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if _ccac !=nil {return _cdba ,_gbcd ,_ccac ;};_aeeb :=_b .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0055\u0043\u0053\u0032",_cacf .Registry ,_cacf .Ordering );if _gg .IsPredefinedCMap (_aeeb ){_gbcd ._ecefd ,_ccac =_gg .LoadPredefinedCMap (_aeeb );if _ccac !=nil {_abe .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",_aeeb ,_ccac );};};};return _cdba ,_gbcd ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for grayscale).
|
||
func (_ecfge *PdfColorDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// GetContentStreams returns the content stream as an array of strings.
|
||
func (_fgde *PdfPage )GetContentStreams ()([]string ,error ){_cggcea :=_fgde .GetContentStreamObjs ();var _dfgb []string ;for _ ,_dagfg :=range _cggcea {_gdffb ,_accdb :=_eebga (_dagfg );if _accdb !=nil {return nil ,_accdb ;};_dfgb =append (_dfgb ,_gdffb );};return _dfgb ,nil ;};
|
||
|
||
// NewPdfActionHide returns a new "hide" action.
|
||
func NewPdfActionHide ()*PdfActionHide {_aa :=NewPdfAction ();_afc :=&PdfActionHide {};_afc .PdfAction =_aa ;_aa .SetContext (_afc );return _afc ;};
|
||
|
||
// Val returns the value of the color.
|
||
func (_gaccg *PdfColorCalGray )Val ()float64 {return float64 (*_gaccg )};func (_fcbd *PdfReader )loadAction (_bfe _aef .PdfObject )(*PdfAction ,error ){if _bcbea ,_bcbd :=_aef .GetIndirect (_bfe );_bcbd {_gade ,_faea :=_fcbd .newPdfActionFromIndirectObject (_bcbea );if _faea !=nil {return nil ,_faea ;};return _gade ,nil ;}else if !_aef .IsNullObject (_bfe ){return nil ,_fa .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 ;};func _ceaf (_fdbe *_aef .PdfObjectDictionary ,_fdbcb *fontCommon ,_bfad _be .TextEncoder )(*pdfFontSimple ,error ){_cfag :=_ccdb (_fdbcb );_cfag ._gbee =_bfad ;if _bfad ==nil {_edgf :=_fdbe .Get ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r");if _edgf ==nil {_edgf =_aef .MakeInteger (0);};_cfag .FirstChar =_edgf ;_dbce ,_ffcaf :=_aef .GetIntVal (_edgf );if !_ffcaf {_abe .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",_edgf );return nil ,_aef .ErrTypeError ;};_gdea :=_be .CharCode (_dbce );_edgf =_fdbe .Get ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072");if _edgf ==nil {_edgf =_aef .MakeInteger (255);};_cfag .LastChar =_edgf ;_dbce ,_ffcaf =_aef .GetIntVal (_edgf );if !_ffcaf {_abe .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",_edgf );return nil ,_aef .ErrTypeError ;};_caeff :=_be .CharCode (_dbce );_cfag ._bacac =make (map[_be .CharCode ]float64 );_edgf =_fdbe .Get ("\u0057\u0069\u0064\u0074\u0068\u0073");if _edgf !=nil {_cfag .Widths =_edgf ;_bgaa ,_dbdeg :=_aef .GetArray (_edgf );if !_dbdeg {_abe .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",_edgf );return nil ,_aef .ErrTypeError ;};_cdcec ,_gccbf :=_bgaa .ToFloat64Array ();if _gccbf !=nil {_abe .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 ,_gccbf ;};if len (_cdcec )!=int (_caeff -_gdea +1){_abe .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",_caeff -_gdea +1,len (_cdcec ));return nil ,_aef .ErrRangeError ;};for _eefcb ,_fecg :=range _cdcec {_cfag ._bacac [_gdea +_be .CharCode (_eefcb )]=_fecg ;};};};_cfag .Encoding =_aef .TraceToDirectObject (_fdbe .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));return _cfag ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccef *PdfAnnotationSquiggly )ToPdfObject ()_aef .PdfObject {_ccef .PdfAnnotation .ToPdfObject ();_gaacf :=_ccef ._edc ;_efef :=_gaacf .PdfObject .(*_aef .PdfObjectDictionary );_ccef .PdfAnnotationMarkup .appendToPdfDictionary (_efef );_efef .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079"));_efef .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_ccef .QuadPoints );return _gaacf ;};
|
||
|
||
// MergePageWith appends page content to source Pdf file page content.
|
||
func (_eggdd *PdfAppender )MergePageWith (pageNum int ,page *PdfPage )error {_agc :=pageNum -1;var _cdbb *PdfPage ;for _babbg ,_fef :=range _eggdd ._ebegf {if _babbg ==_agc {_cdbb =_fef ;};};if _cdbb ==nil {return _b .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 _cdbb ._gfbbf !=nil &&_cdbb ._gfbbf .GetParser ()==_eggdd ._fdd ._gdbbd {_cdbb =_cdbb .Duplicate ();_eggdd ._ebegf [_agc ]=_cdbb ;};page =page .Duplicate ();_bedgc (page );_feb :=_afga (_cdbb );_aafb :=_afga (page );_gee :=make (map[_aef .PdfObjectName ]_aef .PdfObjectName );for _bbcb :=range _aafb {if _ ,_fdaa :=_feb [_bbcb ];_fdaa {for _caag :=1;true ;_caag ++{_aaa :=_aef .PdfObjectName (string (_bbcb )+_f .Itoa (_caag ));if _ ,_gcdf :=_feb [_aaa ];!_gcdf {_gee [_bbcb ]=_aaa ;break ;};};};};_cbed ,_cbgc :=page .GetContentStreams ();if _cbgc !=nil {return _cbgc ;};_bfa ,_cbgc :=_cdbb .GetContentStreams ();if _cbgc !=nil {return _cbgc ;};for _dege ,_abcd :=range _cbed {for _eccg ,_gacc :=range _gee {_abcd =_dg .Replace (_abcd ,"\u002f"+string (_eccg ),"\u002f"+string (_gacc ),-1);};_cbed [_dege ]=_abcd ;};_bfa =append (_bfa ,_cbed ...);if _fdcf :=_cdbb .SetContentStreams (_bfa ,_aef .NewFlateEncoder ());_fdcf !=nil {return _fdcf ;};_cdbb ._bcgfd =append (_cdbb ._bcgfd ,page ._bcgfd ...);if _cdbb .Resources ==nil {_cdbb .Resources =NewPdfPageResources ();};if page .Resources !=nil {_cdbb .Resources .Font =_eggdd .mergeResources (_cdbb .Resources .Font ,page .Resources .Font ,_gee );_cdbb .Resources .XObject =_eggdd .mergeResources (_cdbb .Resources .XObject ,page .Resources .XObject ,_gee );_cdbb .Resources .Properties =_eggdd .mergeResources (_cdbb .Resources .Properties ,page .Resources .Properties ,_gee );if _cdbb .Resources .ProcSet ==nil {_cdbb .Resources .ProcSet =page .Resources .ProcSet ;};_cdbb .Resources .Shading =_eggdd .mergeResources (_cdbb .Resources .Shading ,page .Resources .Shading ,_gee );_cdbb .Resources .ExtGState =_eggdd .mergeResources (_cdbb .Resources .ExtGState ,page .Resources .ExtGState ,_gee );};_cfea ,_cbgc :=_cdbb .GetMediaBox ();if _cbgc !=nil {return _cbgc ;};_afbe ,_cbgc :=page .GetMediaBox ();if _cbgc !=nil {return _cbgc ;};var _cdca bool ;if _cfea .Llx > _afbe .Llx {_cfea .Llx =_afbe .Llx ;_cdca =true ;};if _cfea .Lly > _afbe .Lly {_cfea .Lly =_afbe .Lly ;_cdca =true ;};if _cfea .Urx < _afbe .Urx {_cfea .Urx =_afbe .Urx ;_cdca =true ;};if _cfea .Ury < _afbe .Ury {_cfea .Ury =_afbe .Ury ;_cdca =true ;};if _cdca {_cdbb .MediaBox =_cfea ;};return nil ;};
|
||
|
||
// PdfInfo holds document information that will overwrite
|
||
// document information global variables defined above.
|
||
type PdfInfo struct{Title *_aef .PdfObjectString ;Author *_aef .PdfObjectString ;Subject *_aef .PdfObjectString ;Keywords *_aef .PdfObjectString ;Creator *_aef .PdfObjectString ;Producer *_aef .PdfObjectString ;CreationDate *PdfDate ;ModifiedDate *PdfDate ;Trapped *_aef .PdfObjectName ;_ebcd *_aef .PdfObjectDictionary ;};
|
||
|
||
// GetNumComponents returns the number of color components (4 for CMYK32).
|
||
func (_egad *PdfColorDeviceCMYK )GetNumComponents ()int {return 4};func _bedgc (_ggce *PdfPage ){_egecf :=_cga .GetLicenseKey ();if _egecf !=nil &&_egecf .IsLicensed (){return ;};_efdgc :=_aef .PdfObjectName ("\u0055\u0046\u0031");if !_ggce .Resources .HasFontByName (_efdgc ){_ggce .Resources .SetFontByName (_efdgc ,DefaultFont ().ToPdfObject ());};var _cegce []string ;_cegce =append (_cegce ,"\u0071");_cegce =append (_cegce ,"\u0042\u0054");_cegce =append (_cegce ,_b .Sprintf ("\u002f%\u0073\u0020\u0031\u0034\u0020\u0054f",_efdgc .String ()));_cegce =append (_cegce ,"\u0031\u0020\u0030\u0020\u0030\u0020\u0072\u0067");_cegce =append (_cegce ,"\u0031\u0030\u0020\u0031\u0030\u0020\u0054\u0064");_fcgaa :="\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";_cegce =append (_cegce ,_b .Sprintf ("\u0028%\u0073\u0029\u0020\u0054\u006a",_fcgaa ));_cegce =append (_cegce ,"\u0045\u0054");_cegce =append (_cegce ,"\u0051");_cgfgf :=_dg .Join (_cegce ,"\u000a");_ggce .AddContentStreamByString (_cgfgf );_ggce .ToPdfObject ();};
|
||
|
||
// ToImage converts an object to an Image which can be transformed or saved out.
|
||
// The image data is decoded and the Image returned.
|
||
func (_ggebee *XObjectImage )ToImage ()(*Image ,error ){_bfagc :=&Image {};if _ggebee .Height ==nil {return nil ,_fa .New ("\u0068e\u0069\u0067\u0068\u0074\u0020\u0061\u0074\u0074\u0072\u0069\u0062u\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_bfagc .Height =*_ggebee .Height ;if _ggebee .Width ==nil {return nil ,_fa .New ("\u0077\u0069\u0064th\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_bfagc .Width =*_ggebee .Width ;if _ggebee .BitsPerComponent ==nil {return nil ,_fa .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");};_bfagc .BitsPerComponent =*_ggebee .BitsPerComponent ;_bfagc .ColorComponents =_ggebee .ColorSpace .GetNumComponents ();_ggebee ._dcafe .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_aef .MakeInteger (int64 (_bfagc .ColorComponents )));_gedef ,_dbbcf :=_aef .DecodeStream (_ggebee ._dcafe );if _dbbcf !=nil {return nil ,_dbbcf ;};_bfagc .Data =_gedef ;if _ggebee .Decode !=nil {_befbg ,_gffcc :=_ggebee .Decode .(*_aef .PdfObjectArray );if !_gffcc {_abe .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020D\u0065\u0063\u006f\u0064\u0065 \u006f\u0062\u006a\u0065\u0063\u0074");return nil ,_fa .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065");};_bfafg ,_babdf :=_befbg .ToFloat64Array ();if _babdf !=nil {return nil ,_babdf ;};_bfagc ._fgafa =_bfafg ;};return _bfagc ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components.
|
||
func (_dfggee *PdfColorspaceDeviceN )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=_dfggee .GetNumComponents (){return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bfcf ,_abacc :=_dfggee .TintTransform .Evaluate (vals );if _abacc !=nil {return nil ,_abacc ;};_bcac ,_abacc :=_dfggee .AlternateSpace .ColorFromFloats (_bfcf );if _abacc !=nil {return nil ,_abacc ;};return _bcac ,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{_gdbbd *_aef .PdfParser ;_eebff _aef .PdfObject ;_cbfdd *_aef .PdfIndirectObject ;_fgbfc *_aef .PdfObjectDictionary ;_dbdgb []*_aef .PdfIndirectObject ;PageList []*PdfPage ;_bbccc int ;_acae *_aef .PdfObjectDictionary ;_gaad *PdfOutlineTreeNode ;AcroForm *PdfAcroForm ;DSS *DSS ;_fggbd *modelManager ;_afae bool ;_cadgb map[_aef .PdfObject ]struct{};_cced _gfc .ReadSeeker ;};
|
||
|
||
// PdfActionImportData represents a importData action.
|
||
type PdfActionImportData struct{*PdfAction ;F *PdfFilespec ;};
|
||
|
||
// AddFont adds a font dictionary to the Font resources.
|
||
func (_gaeeeb *PdfPage )AddFont (name _aef .PdfObjectName ,font _aef .PdfObject )error {if _gaeeeb .Resources ==nil {_gaeeeb .Resources =NewPdfPageResources ();};if _gaeeeb .Resources .Font ==nil {_gaeeeb .Resources .Font =_aef .MakeDict ();};_gdfceg ,_cdea :=_aef .TraceToDirectObject (_gaeeeb .Resources .Font ).(*_aef .PdfObjectDictionary );if !_cdea {_abe .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",_aef .TraceToDirectObject (_gaeeeb .Resources .Font ));return _fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gdfceg .Set (name ,font );return nil ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_afcb *PdfColorLab )A ()float64 {return _afcb [1]};
|
||
|
||
// 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 ;};
|
||
|
||
// NewLTV returns a new LTV client.
|
||
func NewLTV (appender *PdfAppender )(*LTV ,error ){_fccca :=appender .Reader .DSS ;if _fccca ==nil {_fccca =NewDSS ();};if _gaabd :=_fccca .generateHashMaps ();_gaabd !=nil {return nil ,_gaabd ;};return <V {CertClient :_add .NewCertClient (),OCSPClient :_add .NewOCSPClient (),CRLClient :_add .NewCRLClient (),SkipExisting :true ,_bdabf :appender ,_cbcf :_fccca },nil ;};
|
||
|
||
// AddExtGState add External Graphics State (GState). The gsDict can be specified
|
||
// either directly as a dictionary or an indirect object containing a dictionary.
|
||
func (_eged *PdfPageResources )AddExtGState (gsName _aef .PdfObjectName ,gsDict _aef .PdfObject )error {if _eged .ExtGState ==nil {_eged .ExtGState =_aef .MakeDict ();};_aecgd :=_eged .ExtGState ;_fbag ,_bgac :=_aef .TraceToDirectObject (_aecgd ).(*_aef .PdfObjectDictionary );if !_bgac {_abe .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",_aecgd ,_aef .TraceToDirectObject (_aecgd ));return _aef .ErrTypeError ;};_fbag .Set (gsName ,gsDict );return nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the pattern object (indirect object).
|
||
func (_bbdg *PdfPattern )GetContainingPdfObject ()_aef .PdfObject {return _bbdg ._fgbcde };
|
||
|
||
// ToPdfOutlineItem returns a low level PdfOutlineItem object,
|
||
// based on the current instance.
|
||
func (_addcd *OutlineItem )ToPdfOutlineItem ()(*PdfOutlineItem ,int64 ){_ecfdf :=NewPdfOutlineItem ();_ecfdf .Title =_aef .MakeEncodedString (_addcd .Title ,true );_ecfdf .Dest =_addcd .Dest .ToPdfObject ();var _fagef []*PdfOutlineItem ;var _aaddce int64 ;var _ggbaf *PdfOutlineItem ;for _ ,_cdbcb :=range _addcd .Entries {_ggef ,_dgee :=_cdbcb .ToPdfOutlineItem ();_ggef .Parent =&_ecfdf .PdfOutlineTreeNode ;if _ggbaf !=nil {_ggbaf .Next =&_ggef .PdfOutlineTreeNode ;_ggef .Prev =&_ggbaf .PdfOutlineTreeNode ;};_fagef =append (_fagef ,_ggef );_aaddce +=_dgee ;_ggbaf =_ggef ;};_dffbd :=len (_fagef );_aaddce +=int64 (_dffbd );if _dffbd > 0{_ecfdf .First =&_fagef [0].PdfOutlineTreeNode ;_ecfdf .Last =&_fagef [_dffbd -1].PdfOutlineTreeNode ;_ecfdf .Count =&_aaddce ;};return _ecfdf ,_aaddce ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bcbe *PdfActionSetOCGState )ToPdfObject ()_aef .PdfObject {_bcbe .PdfAction .ToPdfObject ();_faa :=_bcbe ._gc ;_gadb :=_faa .PdfObject .(*_aef .PdfObjectDictionary );_gadb .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeSetOCGState )));_gadb .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_bcbe .State );_gadb .SetIfNotNil ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042",_bcbe .PreserveRB );return _faa ;};
|
||
|
||
// NewPdfAnnotationPolygon returns a new polygon annotation.
|
||
func NewPdfAnnotationPolygon ()*PdfAnnotationPolygon {_edf :=NewPdfAnnotation ();_fbef :=&PdfAnnotationPolygon {};_fbef .PdfAnnotation =_edf ;_fbef .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_edf .SetContext (_fbef );return _fbef ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_gfbe *PdfColorLab )B ()float64 {return _gfbe [2]};
|
||
|
||
// GetPatternByName gets the pattern specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_efbeb *PdfPageResources )GetPatternByName (keyName _aef .PdfObjectName )(*PdfPattern ,bool ){if _efbeb .Pattern ==nil {return nil ,false ;};_fdga ,_befbf :=_aef .TraceToDirectObject (_efbeb .Pattern ).(*_aef .PdfObjectDictionary );if !_befbf {_abe .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",_efbeb .Pattern );return nil ,false ;};if _cdbda :=_fdga .Get (keyName );_cdbda !=nil {_dddaa ,_cgedg :=_baaba (_cdbda );if _cgedg !=nil {_abe .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",_cgedg );return nil ,false ;};return _dddaa ,true ;};return nil ,false ;};
|
||
|
||
// FieldValueProvider provides field values from a data source such as FDF, JSON or any other.
|
||
type FieldValueProvider interface{FieldValues ()(map[string ]_aef .PdfObject ,error );};
|
||
|
||
// PdfAnnotationWatermark represents Watermark annotations.
|
||
// (Section 12.5.6.22).
|
||
type PdfAnnotationWatermark struct{*PdfAnnotation ;FixedPrint _aef .PdfObject ;};
|
||
|
||
// 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 (_ebfb *pdfFontSimple )updateStandard14Font (){_bbbee ,_bdde :=_ebfb .Encoder ().(_be .SimpleEncoder );if !_bdde {_abe .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",_ebfb .Encoder (),_ebfb );return ;};_abgba :=_bbbee .Charcodes ();_ebfb ._bacac =make (map[_be .CharCode ]float64 ,len (_abgba ));for _ ,_eceef :=range _abgba {_gggaa ,_ :=_bbbee .CharcodeToRune (_eceef );_ebfb ._bacac [_eceef ]=_ebfb ._gcbd [_gggaa ].Wx ;};};
|
||
|
||
// PdfOutline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
type PdfOutline struct{PdfOutlineTreeNode ;Parent *PdfOutlineTreeNode ;Count *int64 ;_bcbc *_aef .PdfIndirectObject ;};func (_acc *PdfReader )newPdfAnnotationProjectionFromDict (_bdcb *_aef .PdfObjectDictionary )(*PdfAnnotationProjection ,error ){_egfbb :=&PdfAnnotationProjection {};_cgb ,_efa :=_acc .newPdfAnnotationMarkupFromDict (_bdcb );if _efa !=nil {return nil ,_efa ;};_egfbb .PdfAnnotationMarkup =_cgb ;return _egfbb ,nil ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_fdgec pdfFontSimple )GetRuneMetrics (r rune )(_ecf .CharMetrics ,bool ){if _fdgec ._gcbd !=nil {_baagg ,_caab :=_fdgec ._gcbd [r ];if _caab {return _baagg ,true ;};};_bbcc :=_fdgec .Encoder ();if _bbcc ==nil {_abe .Log .Debug ("\u004e\u006f\u0020en\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0073\u003d\u0025\u0073",_fdgec );return _ecf .CharMetrics {},false ;};_cabgg ,_efagg :=_bbcc .RuneToCharcode (r );if !_efagg {if r !=' '{_abe .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 ,_fdgec );};return _ecf .CharMetrics {},false ;};_baaa ,_fcabdg :=_fdgec .GetCharMetrics (_cabgg );return _baaa ,_fcabdg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dab *PdfActionLaunch )ToPdfObject ()_aef .PdfObject {_dab .PdfAction .ToPdfObject ();_dc :=_dab ._gc ;_ce :=_dc .PdfObject .(*_aef .PdfObjectDictionary );_ce .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeLaunch )));if _dab .F !=nil {_ce .Set ("\u0046",_dab .F .ToPdfObject ());};_ce .SetIfNotNil ("\u0057\u0069\u006e",_dab .Win );_ce .SetIfNotNil ("\u004d\u0061\u0063",_dab .Mac );_ce .SetIfNotNil ("\u0055\u006e\u0069\u0078",_dab .Unix );_ce .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_dab .NewWindow );return _dc ;};
|
||
|
||
// GetNumComponents returns the number of color components of the underlying
|
||
// colorspace device.
|
||
func (_dbed *PdfColorspaceSpecialPattern )GetNumComponents ()int {return _dbed .UnderlyingCS .GetNumComponents ();};
|
||
|
||
// WriteString outputs the object as it is to be written to file.
|
||
func (_fdad *pdfSignDictionary )WriteString ()string {_fdad ._dfdbe =0;_fdad ._ffff =0;_fdad ._afebc =0;_fdad ._aceeb =0;_aadga :=_cg .NewBuffer (nil );_aadga .WriteString ("\u003c\u003c");for _ ,_dbaac :=range _fdad .Keys (){_ccege :=_fdad .Get (_dbaac );switch _dbaac {case "\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e":_aadga .WriteString (_dbaac .WriteString ());_aadga .WriteString ("\u0020");_fdad ._afebc =_aadga .Len ();_aadga .WriteString (_ccege .WriteString ());_aadga .WriteString ("\u0020");_fdad ._aceeb =_aadga .Len ()-1;case "\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073":_aadga .WriteString (_dbaac .WriteString ());_aadga .WriteString ("\u0020");_fdad ._dfdbe =_aadga .Len ();_aadga .WriteString (_ccege .WriteString ());_aadga .WriteString ("\u0020");_fdad ._ffff =_aadga .Len ()-1;default:_aadga .WriteString (_dbaac .WriteString ());_aadga .WriteString ("\u0020");_aadga .WriteString (_ccege .WriteString ());};};_aadga .WriteString ("\u003e\u003e");return _aadga .String ();};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_afbda *PdfShadingType5 )ToPdfObject ()_aef .PdfObject {_afbda .PdfShading .ToPdfObject ();_fedcb ,_bdae :=_afbda .getShadingDict ();if _bdae !=nil {_abe .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 _afbda .BitsPerCoordinate !=nil {_fedcb .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_afbda .BitsPerCoordinate );};if _afbda .BitsPerComponent !=nil {_fedcb .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_afbda .BitsPerComponent );};if _afbda .VerticesPerRow !=nil {_fedcb .Set ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077",_afbda .VerticesPerRow );};if _afbda .Decode !=nil {_fedcb .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_afbda .Decode );};if _afbda .Function !=nil {if len (_afbda .Function )==1{_fedcb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_afbda .Function [0].ToPdfObject ());}else {_gdag :=_aef .MakeArray ();for _ ,_adgeb :=range _afbda .Function {_gdag .Append (_adgeb .ToPdfObject ());};_fedcb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gdag );};};return _afbda ._bbga ;};
|
||
|
||
// NewPdfAnnotationSound returns a new sound annotation.
|
||
func NewPdfAnnotationSound ()*PdfAnnotationSound {_cba :=NewPdfAnnotation ();_eabc :=&PdfAnnotationSound {};_eabc .PdfAnnotation =_cba ;_eabc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cba .SetContext (_eabc );return _eabc ;};
|
||
|
||
// 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 (_cbfe *PdfColorspaceCalGray )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_befa ,_bded :=_aef .GetNumbersAsFloat (objects );if _bded !=nil {return nil ,_bded ;};return _cbfe .ColorFromFloats (_befa );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bdca *PdfActionTrans )ToPdfObject ()_aef .PdfObject {_bdca .PdfAction .ToPdfObject ();_ed :=_bdca ._gc ;_dee :=_ed .PdfObject .(*_aef .PdfObjectDictionary );_dee .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeTrans )));_dee .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_bdca .Trans );return _ed ;};
|
||
|
||
// NewPdfColorspaceCalRGB returns a new CalRGB colorspace object.
|
||
func NewPdfColorspaceCalRGB ()*PdfColorspaceCalRGB {_abgg :=&PdfColorspaceCalRGB {};_abgg .BlackPoint =[]float64 {0.0,0.0,0.0};_abgg .Gamma =[]float64 {1.0,1.0,1.0};_abgg .Matrix =[]float64 {1,0,0,0,1,0,0,0,1};return _abgg ;};
|
||
|
||
// SetDate sets the `M` field of the signature.
|
||
func (_ddaefg *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";};_ddaefg .M =_aef .MakeString (date .Format (format ));};
|
||
|
||
// 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 (_acgd _gfc .Reader )(*Image ,error );
|
||
|
||
// NewImageFromGoImage loads a NRGBA32 unidoc Image from a standard Go image structure.
|
||
NewImageFromGoImage (_fggaa _ae .Image )(*Image ,error );
|
||
|
||
// NewGrayImageFromGoImage loads a grayscale unidoc Image from a standard Go image structure.
|
||
NewGrayImageFromGoImage (_cgbfa _ae .Image )(*Image ,error );
|
||
|
||
// Compress an image.
|
||
Compress (_agcb *Image ,_bfceg int64 )(*Image ,error );};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_bgage *PdfColorspaceSpecialSeparation )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ddgdga :=vals [0];_fde :=[]float64 {_ddgdga };_ggecg ,_fcca :=_bgage .TintTransform .Evaluate (_fde );if _fcca !=nil {_abe .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",_fcca );_abe .Log .Trace ("\u0054\u0069\u006e\u0074 t\u0072\u0061\u006e\u0073\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_bgage .TintTransform );return nil ,_fcca ;};_abe .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",_ggecg ,_bgage .AlternateSpace );_acfb ,_fcca :=_bgage .AlternateSpace .ColorFromFloats (_ggecg );if _fcca !=nil {_abe .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",_fcca );return nil ,_fcca ;};return _acfb ,nil ;};func (_cecc *pdfCIDFontType0 )getFontDescriptor ()*PdfFontDescriptor {return _cecc ._bgfd };
|
||
|
||
// PdfActionType represents an action type in PDF (section 12.6.4 p. 417).
|
||
type PdfActionType string ;
|
||
|
||
// HasXObjectByName checks if an XObject with a specified keyName is defined.
|
||
func (_bfgcf *PdfPageResources )HasXObjectByName (keyName _aef .PdfObjectName )bool {_dbgbe ,_ :=_bfgcf .GetXObjectByName (keyName );return _dbgbe !=nil ;};func _daed (_fccaf []byte )([]byte ,error ){_bbfac :=_ec .New ();if _ ,_fegdac :=_gfc .Copy (_bbfac ,_cg .NewReader (_fccaf ));_fegdac !=nil {return nil ,_fegdac ;};return _bbfac .Sum (nil ),nil ;};func _gfab (_agbgd *_aef .PdfObjectDictionary )(*PdfFieldButton ,error ){_cbef :=&PdfFieldButton {};_cbef .Opt ,_ =_aef .GetArray (_agbgd .Get ("\u004f\u0070\u0074"));return _cbef ,nil ;};
|
||
|
||
// Encrypt encrypts the output file with a specified user/owner password.
|
||
func (_eegbff *PdfWriter )Encrypt (userPass ,ownerPass []byte ,options *EncryptOptions )error {_egdba :=RC4_128bit ;if options !=nil {_egdba =options .Algorithm ;};_dbgea :=_db .PermOwner ;if options !=nil {_dbgea =options .Permissions ;};var _bbada _cca .Filter ;switch _egdba {case RC4_128bit :_bbada =_cca .NewFilterV2 (16);case AES_128bit :_bbada =_cca .NewFilterAESV2 ();case AES_256bit :_bbada =_cca .NewFilterAESV3 ();default:return _b .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020a\u006cg\u006fr\u0069\u0074\u0068\u006d\u003a\u0020\u0025v",options .Algorithm );};_daebe ,_abacb ,_baada :=_aef .PdfCryptNewEncrypt (_bbada ,userPass ,ownerPass ,_dbgea );if _baada !=nil {return _baada ;};_eegbff ._ecfag =_daebe ;if _abacb .Major !=0{_eegbff .SetVersion (_abacb .Major ,_abacb .Minor );};_eegbff ._ebeb =_abacb .Encrypt ;_eegbff ._acddd =_aef .MakeArray (_aef .MakeHexString (_abacb .ID0 ),_aef .MakeHexString (_abacb .ID1 ));_degeg :=_aef .MakeIndirectObject (_abacb .Encrypt );_eegbff ._eebbg =_degeg ;_eegbff .addObject (_degeg );return nil ;};type pdfFontSimple struct{fontCommon ;_bcabb *_aef .PdfIndirectObject ;_bacac map[_be .CharCode ]float64 ;_bcbge _be .TextEncoder ;_gbee _be .TextEncoder ;_fggf *PdfFontDescriptor ;
|
||
|
||
// Encoding is subject to limitations that are described in 9.6.6, "Character Encoding".
|
||
// BaseFont is derived differently.
|
||
FirstChar _aef .PdfObject ;LastChar _aef .PdfObject ;Widths _aef .PdfObject ;Encoding _aef .PdfObject ;_gcbd map[rune ]_ecf .CharMetrics ;};
|
||
|
||
// 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 (_dgeb *PdfFont )GetRuneMetrics (r rune )(CharMetrics ,bool ){_fdfa :=_dgeb .actualFont ();if _fdfa ==nil {_abe .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",_dgeb ._dccga );return _ecf .CharMetrics {},false ;};if _facf ,_ddga :=_fdfa .GetRuneMetrics (r );_ddga {return _facf ,true ;};if _dcee ,_eecfd :=_dgeb .GetFontDescriptor ();_eecfd ==nil &&_dcee !=nil {return _ecf .CharMetrics {Wx :_dcee ._gbedb },true ;};_abe .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",_dgeb );return _ecf .CharMetrics {},false ;};
|
||
|
||
// 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 (_afeaac *PdfPageResources )GetFontByName (keyName _aef .PdfObjectName )(_aef .PdfObject ,bool ){if _afeaac .Font ==nil {return nil ,false ;};_gegcdb ,_ffbcf :=_aef .TraceToDirectObject (_afeaac .Font ).(*_aef .PdfObjectDictionary );if !_ffbcf {_abe .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",_aef .TraceToDirectObject (_afeaac .Font ));return nil ,false ;};if _baafe :=_gegcdb .Get (keyName );_baafe !=nil {return _baafe ,true ;};return nil ,false ;};
|
||
|
||
// SetName sets the `Name` field of the signature.
|
||
func (_bcbeg *PdfSignature )SetName (name string ){_bcbeg .Name =_aef .MakeString (name )};
|
||
|
||
// NewPdfAnnotation3D returns a new 3d annotation.
|
||
func NewPdfAnnotation3D ()*PdfAnnotation3D {_gdfg :=NewPdfAnnotation ();_fbdc :=&PdfAnnotation3D {};_fbdc .PdfAnnotation =_gdfg ;_gdfg .SetContext (_fbdc );return _fbdc ;};
|
||
|
||
// String returns the name of the colorspace (DeviceN).
|
||
func (_dcff *PdfColorspaceDeviceN )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u004e"};func _cdcdg (_gfbb []byte )bool {if len (_gfbb )< 4{return true ;};for _cdgd :=range _gfbb [:4]{_abadd :=rune (_cdgd );if !_cc .Is (_cc .ASCII_Hex_Digit ,_abadd )&&!_cc .IsSpace (_abadd ){return true ;};};return false ;};func (_cggc *PdfReader )newPdfActionMovieFromDict (_adce *_aef .PdfObjectDictionary )(*PdfActionMovie ,error ){return &PdfActionMovie {Annotation :_adce .Get ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e"),T :_adce .Get ("\u0054"),Operation :_adce .Get ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn")},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 (_bbae *PdfFont )SubsetRegistered ()error {switch _egac :=_bbae ._dccga .(type ){case *pdfFontType0 :_cdbf :=_egac .subsetRegistered ();if _cdbf !=nil {_abe .Log .Debug ("\u0053\u0075b\u0073\u0065\u0074 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_cdbf );return _cdbf ;};if _egac ._abbb !=nil {if _egac ._eeag !=nil {_egac ._eeag .ToPdfObject ();};_egac .ToPdfObject ();};default:_abe .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",_egac );};return nil ;};func (_fggc *PdfAppender )addNewObject (_fcbdd _aef .PdfObject ){if _ ,_ffed :=_fggc ._abge [_fcbdd ];!_ffed {_fggc ._aeaaa =append (_fggc ._aeaaa ,_fcbdd );_fggc ._abge [_fcbdd ]=struct{}{};};};
|
||
|
||
// PdfVersion returns version of the PDF file.
|
||
func (_fbabc *PdfReader )PdfVersion ()_aef .Version {return _fbabc ._gdbbd .PdfVersion ()};
|
||
|
||
// Add appends a top level outline item to the outline.
|
||
func (_dgfaf *Outline )Add (item *OutlineItem ){_dgfaf .Entries =append (_dgfaf .Entries ,item )};
|
||
|
||
// NewPdfDateFromTime will create a PdfDate based on the given time
|
||
func NewPdfDateFromTime (timeObj _a .Time )(PdfDate ,error ){_eeggcb :=timeObj .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_bbaf ,_ :=_f .ParseInt (_eeggcb [1:3],10,32);_bcaa ,_ :=_f .ParseInt (_eeggcb [4:6],10,32);return PdfDate {_eacag :int64 (timeObj .Year ()),_bfeaf :int64 (timeObj .Month ()),_cecab :int64 (timeObj .Day ()),_begfg :int64 (timeObj .Hour ()),_gdeaef :int64 (timeObj .Minute ()),_ebge :int64 (timeObj .Second ()),_bggc :_eeggcb [0],_bbccf :_bbaf ,_debfg :_bcaa },nil ;};func _agfdf (_dbdc *_aef .PdfObjectDictionary )(*PdfFieldChoice ,error ){_aaab :=&PdfFieldChoice {};_aaab .Opt ,_ =_aef .GetArray (_dbdc .Get ("\u004f\u0070\u0074"));_aaab .TI ,_ =_aef .GetInt (_dbdc .Get ("\u0054\u0049"));_aaab .I ,_ =_aef .GetArray (_dbdc .Get ("\u0049"));return _aaab ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_gcff *PdfFunctionType4 )ToPdfObject ()_aef .PdfObject {_cfeegb :=_gcff ._gegfd ;if _cfeegb ==nil {_gcff ._gegfd =&_aef .PdfObjectStream {};_cfeegb =_gcff ._gegfd ;};_ebgaed :=_aef .MakeDict ();_ebgaed .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_aef .MakeInteger (4));_cgcfe :=&_aef .PdfObjectArray {};for _ ,_febcc :=range _gcff .Domain {_cgcfe .Append (_aef .MakeFloat (_febcc ));};_ebgaed .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cgcfe );_aecd :=&_aef .PdfObjectArray {};for _ ,_dbgafg :=range _gcff .Range {_aecd .Append (_aef .MakeFloat (_dbgafg ));};_ebgaed .Set ("\u0052\u0061\u006eg\u0065",_aecd );if _gcff ._ccagg ==nil &&_gcff .Program !=nil {_gcff ._ccagg =[]byte (_gcff .Program .String ());};_ebgaed .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_gcff ._ccagg ))));_cfeegb .Stream =_gcff ._ccagg ;_cfeegb .PdfObjectDictionary =_ebgaed ;return _cfeegb ;};func (_dbeaa *pdfFontSimple )getFontDescriptor ()*PdfFontDescriptor {if _adadb :=_dbeaa ._bgfd ;_adadb !=nil {return _adadb ;};return _dbeaa ._fggf ;};
|
||
|
||
// NewPdfColorspaceSpecialIndexed returns a new Indexed color.
|
||
func NewPdfColorspaceSpecialIndexed ()*PdfColorspaceSpecialIndexed {return &PdfColorspaceSpecialIndexed {HiVal :255};};
|
||
|
||
// SetDocInfo set document info.
|
||
// This will overwrite any globally declared document info.
|
||
func (_fdgc *PdfWriter )SetDocInfo (info *PdfInfo ){if _fdgc .hasObject (_fdgc ._caefd ){delete (_fdgc ._cafea ,_fdgc ._caefd );delete (_fdgc ._dfdcb ,_fdgc ._caefd );for _cfdag ,_faeca :=range _fdgc ._aage {if _faeca ==_fdgc ._caefd {copy (_fdgc ._aage [_cfdag :],_fdgc ._aage [_cfdag +1:]);_fdgc ._aage [len (_fdgc ._aage )-1]=nil ;_fdgc ._aage =_fdgc ._aage [:len (_fdgc ._aage )-1];break ;};};};_ccfe :=_aef .PdfIndirectObject {};_ccfe .PdfObject =info .ToPdfObject ();_fdgc ._caefd =&_ccfe ;_fdgc .addObject (&_ccfe );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gfae *PdfAnnotationRedact )ToPdfObject ()_aef .PdfObject {_gfae .PdfAnnotation .ToPdfObject ();_acef :=_gfae ._edc ;_gcg :=_acef .PdfObject .(*_aef .PdfObjectDictionary );_gfae .PdfAnnotationMarkup .appendToPdfDictionary (_gcg );_gcg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0052\u0065\u0064\u0061\u0063\u0074"));_gcg .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_gfae .QuadPoints );_gcg .SetIfNotNil ("\u0049\u0043",_gfae .IC );_gcg .SetIfNotNil ("\u0052\u004f",_gfae .RO );_gcg .SetIfNotNil ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074",_gfae .OverlayText );_gcg .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_gfae .Repeat );_gcg .SetIfNotNil ("\u0044\u0041",_gfae .DA );_gcg .SetIfNotNil ("\u0051",_gfae .Q );return _acef ;};func (_fdfg *PdfAcroForm )signatureFields ()[]*PdfFieldSignature {var _cdee []*PdfFieldSignature ;for _ ,_gadeg :=range _fdfg .AllFields (){switch _faaf :=_gadeg .GetContext ().(type ){case *PdfFieldSignature :_adcdb :=_faaf ;_cdee =append (_cdee ,_adcdb );};};return _cdee ;};
|
||
|
||
// PdfFunction interface represents the common methods of a function in PDF.
|
||
type PdfFunction interface{Evaluate ([]float64 )([]float64 ,error );ToPdfObject ()_aef .PdfObject ;};
|
||
|
||
// NewPdfAnnotationLine returns a new line annotation.
|
||
func NewPdfAnnotationLine ()*PdfAnnotationLine {_cbca :=NewPdfAnnotation ();_gedb :=&PdfAnnotationLine {};_gedb .PdfAnnotation =_cbca ;_gedb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cbca .SetContext (_gedb );return _gedb ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_eefgb *PdfColorspaceDeviceRGB )ToPdfObject ()_aef .PdfObject {return _aef .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B");};const (ButtonTypeCheckbox ButtonType =iota ;ButtonTypePush ButtonType =iota ;ButtonTypeRadio ButtonType =iota ;);func (_afecb *PdfWriter )copyObject (_acde _aef .PdfObject ,_dgab map[_aef .PdfObject ]_aef .PdfObject ,_faccd map[_aef .PdfObject ]struct{},_bgcee bool )_aef .PdfObject {_fgefg :=!_afecb ._bcdd &&_faccd !=nil ;if _dfca ,_fegf :=_dgab [_acde ];_fegf {if _fgefg &&!_bgcee {delete (_faccd ,_acde );};return _dfca ;};_ebagf :=_acde ;switch _gbabag :=_acde .(type ){case *_aef .PdfObjectArray :_accba :=_aef .MakeArray ();_ebagf =_accba ;_dgab [_acde ]=_ebagf ;for _ ,_adbb :=range _gbabag .Elements (){_accba .Append (_afecb .copyObject (_adbb ,_dgab ,_faccd ,_bgcee ));};case *_aef .PdfObjectStreams :_deagg :=&_aef .PdfObjectStreams {PdfObjectReference :_gbabag .PdfObjectReference };_ebagf =_deagg ;_dgab [_acde ]=_ebagf ;for _ ,_dddbc :=range _gbabag .Elements (){_deagg .Append (_afecb .copyObject (_dddbc ,_dgab ,_faccd ,_bgcee ));};case *_aef .PdfObjectStream :_bgdeg :=&_aef .PdfObjectStream {Stream :_gbabag .Stream ,PdfObjectReference :_gbabag .PdfObjectReference };_ebagf =_bgdeg ;_dgab [_acde ]=_ebagf ;_bgdeg .PdfObjectDictionary =_afecb .copyObject (_gbabag .PdfObjectDictionary ,_dgab ,_faccd ,_bgcee ).(*_aef .PdfObjectDictionary );case *_aef .PdfObjectDictionary :var _cggfa bool ;if _fgefg &&!_bgcee {if _ecdca ,_ :=_aef .GetNameVal (_gbabag .Get ("\u0054\u0079\u0070\u0065"));_ecdca =="\u0050\u0061\u0067\u0065"{_ ,_gbgde :=_afecb ._cggg [_gbabag ];_bgcee =!_gbgde ;_cggfa =_bgcee ;};};_dbfg :=_aef .MakeDict ();_ebagf =_dbfg ;_dgab [_acde ]=_ebagf ;for _ ,_gbgag :=range _gbabag .Keys (){_dbfg .Set (_gbgag ,_afecb .copyObject (_gbabag .Get (_gbgag ),_dgab ,_faccd ,_bgcee ));};if _cggfa {_ebagf =_aef .MakeNull ();_bgcee =false ;};case *_aef .PdfIndirectObject :_dfbf :=&_aef .PdfIndirectObject {PdfObjectReference :_gbabag .PdfObjectReference };_ebagf =_dfbf ;_dgab [_acde ]=_ebagf ;_dfbf .PdfObject =_afecb .copyObject (_gbabag .PdfObject ,_dgab ,_faccd ,_bgcee );case *_aef .PdfObjectString :_afgce :=*_gbabag ;_ebagf =&_afgce ;_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectName :_fcafb :=*_gbabag ;_ebagf =&_fcafb ;_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectNull :_ebagf =_aef .MakeNull ();_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectInteger :_adede :=*_gbabag ;_ebagf =&_adede ;_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectReference :_bfedf :=*_gbabag ;_ebagf =&_bfedf ;_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectFloat :_gbgec :=*_gbabag ;_ebagf =&_gbgec ;_dgab [_acde ]=_ebagf ;case *_aef .PdfObjectBool :_fdgg :=*_gbabag ;_ebagf =&_fdgg ;_dgab [_acde ]=_ebagf ;case *pdfSignDictionary :_fgfae :=&pdfSignDictionary {PdfObjectDictionary :_aef .MakeDict (),_gegee :_gbabag ._gegee ,_bebca :_gbabag ._bebca };_ebagf =_fgfae ;_dgab [_acde ]=_ebagf ;for _ ,_gbfef :=range _gbabag .Keys (){_fgfae .Set (_gbfef ,_afecb .copyObject (_gbabag .Get (_gbfef ),_dgab ,_faccd ,_bgcee ));};default:_abe .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",_acde );};if _fgefg &&_bgcee {_faccd [_acde ]=struct{}{};};return _ebagf ;};
|
||
|
||
// BaseFont returns the font's "BaseFont" field.
|
||
func (_gbca *PdfFont )BaseFont ()string {return _gbca .baseFields ()._fegdg };
|
||
|
||
// PdfAnnotationCircle represents Circle annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationCircle struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _aef .PdfObject ;IC _aef .PdfObject ;BE _aef .PdfObject ;RD _aef .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bac *PdfActionThread )ToPdfObject ()_aef .PdfObject {_bac .PdfAction .ToPdfObject ();_gad :=_bac ._gc ;_bdc :=_gad .PdfObject .(*_aef .PdfObjectDictionary );_bdc .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeThread )));if _bac .F !=nil {_bdc .Set ("\u0046",_bac .F .ToPdfObject ());};_bdc .SetIfNotNil ("\u0044",_bac .D );_bdc .SetIfNotNil ("\u0042",_bac .B );return _gad ;};
|
||
|
||
// ImageToRGB convert 1-component grayscale data to 3-component RGB.
|
||
func (_gccg *PdfColorspaceDeviceGray )ImageToRGB (img Image )(Image ,error ){if img .ColorComponents !=1{return img ,_fa .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");};_fgbb ,_gcecc :=_gb .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._afge ,img ._fgafa );if _gcecc !=nil {return img ,_gcecc ;};_ddffc ,_gcecc :=_gb .NRGBAConverter .Convert (_fgbb );if _gcecc !=nil {return img ,_gcecc ;};_fdbg :=_cbgdcg (_ddffc .Base ());_abe .Log .Trace ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079\u0020\u002d>\u0020\u0052\u0047\u0042");_abe .Log .Trace ("s\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",img .Data );_abe .Log .Trace ("\u0052G\u0042 \u0073\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",_fdbg .Data );_abe .Log .Trace ("\u0025\u0076\u0020\u002d\u003e\u0020\u0025\u0076",img ,_fdbg );return _fdbg ,nil ;};func _bfegb (_cbgdc *PdfField ,_egdgd _aef .PdfObject )error {switch _cbgdc .GetContext ().(type ){case *PdfFieldText :switch _aagc :=_egdgd .(type ){case *_aef .PdfObjectName :_acfac :=_aagc ;_abe .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",_acfac .String ());_cbgdc .V =_aef .MakeEncodedString (_aagc .String (),true );case *_aef .PdfObjectString :_cbgdc .V =_aef .MakeEncodedString (_aagc .String (),true );default:_abe .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",_aagc ,_aagc );};case *PdfFieldButton :switch _egdgd .(type ){case *_aef .PdfObjectName :if len (_egdgd .String ())> 0{_cbgdc .V =_egdgd ;_gbgga (_cbgdc ,_egdgd );};case *_aef .PdfObjectString :if len (_egdgd .String ())> 0{_cbgdc .V =_aef .MakeName (_egdgd .String ());_gbgga (_cbgdc ,_cbgdc .V );};default:_abe .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",_cbgdc .PartialName (),_egdgd );_cbgdc .V =_egdgd ;};case *PdfFieldChoice :switch _egdgd .(type ){case *_aef .PdfObjectName :if len (_egdgd .String ())> 0{_cbgdc .V =_aef .MakeString (_egdgd .String ());_gbgga (_cbgdc ,_egdgd );};case *_aef .PdfObjectString :if len (_egdgd .String ())> 0{_cbgdc .V =_egdgd ;_gbgga (_cbgdc ,_aef .MakeName (_egdgd .String ()));};default:_abe .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",_cbgdc .PartialName (),_egdgd );_cbgdc .V =_egdgd ;};case *PdfFieldSignature :_abe .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",_cbgdc .PartialName (),_egdgd );};return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_edbc *PdfColorspaceDeviceGray )ToPdfObject ()_aef .PdfObject {return _aef .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079");};
|
||
|
||
// NewPdfOutlineItem returns an initialized PdfOutlineItem.
|
||
func NewPdfOutlineItem ()*PdfOutlineItem {_ffebc :=&PdfOutlineItem {_gdgba :_aef .MakeIndirectObject (_aef .MakeDict ())};_ffebc ._gdgaba =_ffebc ;return _ffebc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cegf *PdfAnnotationPolyLine )ToPdfObject ()_aef .PdfObject {_cegf .PdfAnnotation .ToPdfObject ();_baee :=_cegf ._edc ;_fdgfb :=_baee .PdfObject .(*_aef .PdfObjectDictionary );_cegf .PdfAnnotationMarkup .appendToPdfDictionary (_fdgfb );_fdgfb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065"));_fdgfb .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_cegf .Vertices );_fdgfb .SetIfNotNil ("\u004c\u0045",_cegf .LE );_fdgfb .SetIfNotNil ("\u0042\u0053",_cegf .BS );_fdgfb .SetIfNotNil ("\u0049\u0043",_cegf .IC );_fdgfb .SetIfNotNil ("\u0042\u0045",_cegf .BE );_fdgfb .SetIfNotNil ("\u0049\u0054",_cegf .IT );_fdgfb .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_cegf .Measure );return _baee ;};
|
||
|
||
// PartialName returns the partial name of the field.
|
||
func (_gfcda *PdfField )PartialName ()string {_ffbg :="";if _gfcda .T !=nil {_ffbg =_gfcda .T .Decoded ();}else {_abe .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 _ffbg ;};const (XObjectTypeUndefined XObjectType =iota ;XObjectTypeImage ;XObjectTypeForm ;XObjectTypePS ;XObjectTypeUnknown ;);
|
||
|
||
// 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 (_gfcdd *PdfSignature )bool ;Validate (_daafed *PdfSignature ,_ecdbg Hasher )(SignatureValidationResult ,error );
|
||
|
||
// InitSignature sets the PdfSignature parameters.
|
||
InitSignature (*PdfSignature )error ;NewDigest (_eaaa *PdfSignature )(Hasher ,error );Sign (_bbbgf *PdfSignature ,_dabfc Hasher )error ;};
|
||
|
||
// CharMetrics represents width and height metrics of a glyph.
|
||
type CharMetrics =_ecf .CharMetrics ;
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gaa *PdfActionGoTo3DView )ToPdfObject ()_aef .PdfObject {_gaa .PdfAction .ToPdfObject ();_fbd :=_gaa ._gc ;_egcg :=_fbd .PdfObject .(*_aef .PdfObjectDictionary );_egcg .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeGoTo3DView )));_egcg .SetIfNotNil ("\u0054\u0041",_gaa .TA );_egcg .SetIfNotNil ("\u0056",_gaa .V );return _fbd ;};func (_dbg *PdfReader )newPdfActionGotoRFromDict (_faad *_aef .PdfObjectDictionary )(*PdfActionGoToR ,error ){_ddd ,_gec :=_bfc (_faad .Get ("\u0046"));if _gec !=nil {return nil ,_gec ;};return &PdfActionGoToR {D :_faad .Get ("\u0044"),NewWindow :_faad .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_ddd },nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_fdbgd *PdfColorspaceSpecialPattern )ToPdfObject ()_aef .PdfObject {if _fdbgd .UnderlyingCS ==nil {return _aef .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e");};_bgge :=_aef .MakeArray (_aef .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_bgge .Append (_fdbgd .UnderlyingCS .ToPdfObject ());if _fdbgd ._febfd !=nil {_fdbgd ._febfd .PdfObject =_bgge ;return _fdbgd ._febfd ;};return _bgge ;};
|
||
|
||
// 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 _gfc .ReadSeeker )(*PdfReader ,error ){_edgdc :=&PdfReader {_cced :rs ,_cadgb :map[_aef .PdfObject ]struct{}{},_fggbd :_beed (),_afae :true };_cdge ,_dgaaf :=_aef .NewParser (rs );if _dgaaf !=nil {return nil ,_dgaaf ;};_edgdc ._gdbbd =_cdge ;_bdcda ,_dgaaf :=_edgdc .IsEncrypted ();if _dgaaf !=nil {return nil ,_dgaaf ;};if !_bdcda {_dgaaf =_edgdc .loadStructure ();if _dgaaf !=nil {return nil ,_dgaaf ;};};return _edgdc ,nil ;};func _acfaf (_eeec _aef .PdfObject ,_eeaec bool )(*PdfFont ,error ){_fbdeb ,_fgef ,_aacce :=_fbfg (_eeec );if _aacce !=nil {if _aacce ==ErrType3FontNotSupported ||_aacce ==ErrType1CFontNotSupported {_ddbe ,_dcda :=_ceaf (_fbdeb ,_fgef ,nil );if _dcda !=nil {_abe .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",_fgef ,_dcda );return nil ,_aacce ;};return &PdfFont {_dccga :_ddbe },_aacce ;};return nil ,_aacce ;};_edab :=&PdfFont {};switch _fgef ._ababd {case "\u0054\u0079\u0070e\u0030":if !_eeaec {_abe .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",_fgef );return nil ,_fa .New ("\u0063\u0079\u0063\u006cic\u0061\u006c\u0020\u0074\u0079\u0070\u0065\u0030\u0020\u006c\u006f\u0061\u0064\u0069n\u0067");};_ggdda ,_aecbf :=_bbeg (_fbdeb ,_fgef );if _aecbf !=nil {_abe .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",_fgef ,_aecbf );return nil ,_aecbf ;};_edab ._dccga =_ggdda ;case "\u0054\u0079\u0070e\u0031","\u0054\u0079\u0070e\u0033","\u004dM\u0054\u0079\u0070\u0065\u0031","\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":var _facee *pdfFontSimple ;_dfag ,_ddfd :=_ecf .NewStdFontByName (_ecf .StdFontName (_fgef ._fegdg ));if _ddfd {_gbdc :=_edbed (_dfag );_edab ._dccga =&_gbdc ;_egabe :=_aef .TraceToDirectObject (_gbdc .ToPdfObject ());_cafaf ,_dgdbe ,_agce :=_fbfg (_egabe );if _agce !=nil {_abe .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",_fgef ,_gbdc );return nil ,_agce ;};for _ ,_ffaeg :=range _fbdeb .Keys (){_cafaf .Set (_ffaeg ,_fbdeb .Get (_ffaeg ));};_facee ,_agce =_ceaf (_cafaf ,_dgdbe ,_gbdc ._gbee );if _agce !=nil {_abe .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",_fgef ,_gbdc );return nil ,_agce ;};_facee ._bacac =_gbdc ._bacac ;_facee ._gcbd =_gbdc ._gcbd ;}else {_facee ,_aacce =_ceaf (_fbdeb ,_fgef ,nil );if _aacce !=nil {_abe .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",_fgef ,_aacce );return nil ,_aacce ;};};_aacce =_facee .addEncoding ();if _aacce !=nil {return nil ,_aacce ;};if _ddfd {_facee .updateStandard14Font ();};if _ddfd &&_facee ._bcbge ==nil &&_facee ._gbee ==nil {_abe .Log .Error ("\u0073\u0069\u006d\u0070\u006c\u0065\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_facee );_abe .Log .Error ("\u0066n\u0074\u003d\u0025\u002b\u0076",_dfag );};if len (_facee ._bacac )==0{_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u004e\u006f\u0020\u0077\u0069d\u0074h\u0073.\u0020\u0066\u006f\u006e\u0074\u003d\u0025s",_facee );};_edab ._dccga =_facee ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030":_adadf ,_abcdb :=_gfabd (_fbdeb ,_fgef );if _abcdb !=nil {_abe .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",_abcdb );return nil ,_abcdb ;};_edab ._dccga =_adadf ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_bdabe ,_aega :=_gagac (_fbdeb ,_fgef );if _aega !=nil {_abe .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",_fgef ,_aega );return nil ,_aega ;};_edab ._dccga =_bdabe ;default:_abe .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",_fgef );return nil ,_b .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",_fgef );};return _edab ,nil ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gffaf pdfFontType0 )Encoder ()_be .TextEncoder {return _gffaf ._eeag };func (_afdag *PdfFunctionType0 )processSamples ()error {_cacc :=_ea .ResampleBytes (_afdag ._bdgaa ,_afdag .BitsPerSample );_afdag ._ceeae =_cacc ;return nil ;};
|
||
|
||
// SetXObjectByName adds the XObject from the passed in stream to the page resources.
|
||
// The added XObject is identified by the specified name.
|
||
func (_cabfc *PdfPageResources )SetXObjectByName (keyName _aef .PdfObjectName ,stream *_aef .PdfObjectStream )error {if _cabfc .XObject ==nil {_cabfc .XObject =_aef .MakeDict ();};_fdbfb :=_aef .TraceToDirectObject (_cabfc .XObject );_eadde ,_ccfde :=_fdbfb .(*_aef .PdfObjectDictionary );if !_ccfde {_abe .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",_cabfc .XObject ,_fdbfb );return _fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_eadde .Set (keyName ,stream );return nil ;};
|
||
|
||
// PdfShadingType2 is an Axial shading.
|
||
type PdfShadingType2 struct{*PdfShading ;Coords *_aef .PdfObjectArray ;Domain *_aef .PdfObjectArray ;Function []PdfFunction ;Extend *_aef .PdfObjectArray ;};
|
||
|
||
// PdfAnnotationPopup represents Popup annotations.
|
||
// (Section 12.5.6.14).
|
||
type PdfAnnotationPopup struct{*PdfAnnotation ;Parent _aef .PdfObject ;Open _aef .PdfObject ;};
|
||
|
||
// NewPdfAnnotationPolyLine returns a new polyline annotation.
|
||
func NewPdfAnnotationPolyLine ()*PdfAnnotationPolyLine {_fgb :=NewPdfAnnotation ();_dca :=&PdfAnnotationPolyLine {};_dca .PdfAnnotation =_fgb ;_dca .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fgb .SetContext (_dca );return _dca ;};
|
||
|
||
// NewBorderStyle returns an initialized PdfBorderStyle.
|
||
func NewBorderStyle ()*PdfBorderStyle {_fgfa :=&PdfBorderStyle {};return _fgfa };func (_gdbca *PdfWriter )writeString (_afgdc string ){if _gdbca ._geac !=nil {return ;};_dgcfc ,_cgddbe :=_gdbca ._fcadd .WriteString (_afgdc );_gdbca ._dfdcd +=int64 (_dgcfc );_gdbca ._geac =_cgddbe ;};
|
||
|
||
// GetContainingPdfObject returns the container of the resources object (indirect object).
|
||
func (_fedge *PdfPageResources )GetContainingPdfObject ()_aef .PdfObject {return _fedge ._eede };
|
||
|
||
// NewPdfOutline returns an initialized PdfOutline.
|
||
func NewPdfOutline ()*PdfOutline {_eace :=&PdfOutline {_bcbc :_aef .MakeIndirectObject (_aef .MakeDict ())};_eace ._gdgaba =_eace ;return _eace ;};
|
||
|
||
// Normalize swaps (Llx,Urx) if Urx < Llx, and (Lly,Ury) if Ury < Lly.
|
||
func (_dcgd *PdfRectangle )Normalize (){if _dcgd .Llx > _dcgd .Urx {_dcgd .Llx ,_dcgd .Urx =_dcgd .Urx ,_dcgd .Llx ;};if _dcgd .Lly > _dcgd .Ury {_dcgd .Lly ,_dcgd .Ury =_dcgd .Ury ,_dcgd .Lly ;};};
|
||
|
||
// 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 (_fffa *PdfFieldButton )SetType (btype ButtonType ){_bdgc :=uint32 (0);if _fffa .Ff !=nil {_bdgc =uint32 (*_fffa .Ff );};switch btype {case ButtonTypePush :_bdgc |=FieldFlagPushbutton .Mask ();case ButtonTypeRadio :_bdgc |=FieldFlagRadio .Mask ();};_fffa .Ff =_aef .MakeInteger (int64 (_bdgc ));};
|
||
|
||
// Evaluate runs the function. Input is [x1 x2 x3].
|
||
func (_ccagc *PdfFunctionType4 )Evaluate (xVec []float64 )([]float64 ,error ){if _ccagc ._fgfac ==nil {_ccagc ._fgfac =_ga .NewPSExecutor (_ccagc .Program );};var _aedbd []_ga .PSObject ;for _ ,_ddffg :=range xVec {_aedbd =append (_aedbd ,_ga .MakeReal (_ddffg ));};_eagdd ,_bbad :=_ccagc ._fgfac .Execute (_aedbd );if _bbad !=nil {return nil ,_bbad ;};_gbdd ,_bbad :=_ga .PSObjectArrayToFloat64Array (_eagdd );if _bbad !=nil {return nil ,_bbad ;};return _gbdd ,nil ;};func _abacf (_abcfe _aef .PdfObject )(*PdfPageResourcesColorspaces ,error ){_gbcc :=&PdfPageResourcesColorspaces {};if _decf ,_agecd :=_abcfe .(*_aef .PdfIndirectObject );_agecd {_gbcc ._efbb =_decf ;_abcfe =_decf .PdfObject ;};_cebab ,_ggdfbe :=_aef .GetDict (_abcfe );if !_ggdfbe {return nil ,_fa .New ("\u0043\u0053\u0020at\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_gbcc .Names =[]string {};_gbcc .Colorspaces =map[string ]PdfColorspace {};for _ ,_fdfgf :=range _cebab .Keys (){_gbcf :=_cebab .Get (_fdfgf );_gbcc .Names =append (_gbcc .Names ,string (_fdfgf ));_gbfeb ,_ceade :=NewPdfColorspaceFromPdfObject (_gbcf );if _ceade !=nil {return nil ,_ceade ;};_gbcc .Colorspaces [string (_fdfgf )]=_gbfeb ;};return _gbcc ,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 (_cegb *PdfColorspaceDeviceGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcaf :=vals [0];if _bcaf < 0.0||_bcaf > 1.0{_abe .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 _bcaf < 0.0{_bcaf =0.0;}else if _bcaf > 1.0{_bcaf =1.0;};return NewPdfColorDeviceGray (_bcaf ),nil ;};
|
||
|
||
// NewReaderForText makes a new PdfReader for an input PDF content string. For use in testing.
|
||
func NewReaderForText (txt string )*PdfReader {return &PdfReader {_cadgb :map[_aef .PdfObject ]struct{}{},_fggbd :_beed (),_gdbbd :_aef .NewParserFromString (txt )};};
|
||
|
||
// String returns a string that describes `font`.
|
||
func (_addec *PdfFont )String ()string {_fgda :="";if _addec ._dccga .Encoder ()!=nil {_fgda =_addec ._dccga .Encoder ().String ();};return _b .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0054\u0020\u0025s\u0020\u0025\u0073\u007d",_addec ._dccga ,_addec .baseFields ().coreString (),_fgda );};
|
||
|
||
// RemovePage removes a page by number.
|
||
func (_adab *PdfAppender )RemovePage (pageNum int ){_dgaf :=pageNum -1;_adab ._ebegf =append (_adab ._ebegf [0:_dgaf ],_adab ._ebegf [pageNum :]...);};
|
||
|
||
// SetImage updates XObject Image with new image data.
|
||
func (_bfcea *XObjectImage )SetImage (img *Image ,cs PdfColorspace )error {_bfcea .Filter .UpdateParams (img .GetParamsDict ());_bbbff ,_efee :=_bfcea .Filter .EncodeBytes (img .Data );if _efee !=nil {return _efee ;};_bfcea .Stream =_bbbff ;_acbee :=img .Width ;_bfcea .Width =&_acbee ;_aacbd :=img .Height ;_bfcea .Height =&_aacbd ;_fceea :=img .BitsPerComponent ;_bfcea .BitsPerComponent =&_fceea ;if cs ==nil {if img .ColorComponents ==1{_bfcea .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_bfcea .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_bfcea .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return _fa .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_bfcea .ColorSpace =cs ;};return nil ;};
|
||
|
||
// B returns the value of the blue component of the color.
|
||
func (_afce *PdfColorDeviceRGB )B ()float64 {return _afce [2]};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dbab *PdfAnnotationWidget )ToPdfObject ()_aef .PdfObject {_dbab .PdfAnnotation .ToPdfObject ();_ffd :=_dbab ._edc ;_fdaf :=_ffd .PdfObject .(*_aef .PdfObjectDictionary );if _dbab ._eega {return _ffd ;};_dbab ._eega =true ;_fdaf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0057\u0069\u0064\u0067\u0065\u0074"));_fdaf .SetIfNotNil ("\u0048",_dbab .H );_fdaf .SetIfNotNil ("\u004d\u004b",_dbab .MK );_fdaf .SetIfNotNil ("\u0041",_dbab .A );_fdaf .SetIfNotNil ("\u0041\u0041",_dbab .AA );_fdaf .SetIfNotNil ("\u0042\u0053",_dbab .BS );_ede :=_dbab .Parent ;if _dbab ._ccc !=nil {if _dbab ._ccc ._abebg ==_dbab ._edc {_dbab ._ccc .ToPdfObject ();};_ede =_dbab ._ccc .GetContainingPdfObject ();};if _ede !=_ffd {_fdaf .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_ede );};_dbab ._eega =false ;return _ffd ;};
|
||
|
||
// 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 (_gefda *PdfPageResources )GetColorspaces ()(*PdfPageResourcesColorspaces ,error ){if _gefda ._fcdfg !=nil {return _gefda ._fcdfg ,nil ;};if _gefda .ColorSpace ==nil {return nil ,nil ;};_aebbd ,_eaga :=_abacf (_gefda .ColorSpace );if _eaga !=nil {return nil ,_eaga ;};_gefda ._fcdfg =_aebbd ;return _gefda ._fcdfg ,nil ;};
|
||
|
||
// NewPdfColorspaceDeviceGray returns a new grayscale colorspace.
|
||
func NewPdfColorspaceDeviceGray ()*PdfColorspaceDeviceGray {return &PdfColorspaceDeviceGray {}};
|
||
|
||
// GetNumComponents returns the number of color components (3 for CalRGB).
|
||
func (_gaacb *PdfColorCalRGB )GetNumComponents ()int {return 3};func _bbeg (_agef *_aef .PdfObjectDictionary ,_cbgga *fontCommon )(*pdfFontType0 ,error ){_bacab ,_gfcgc :=_aef .GetArray (_agef .Get ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073"));if !_gfcgc {_abe .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",_cbgga );return nil ,_aef .ErrRangeError ;};if _bacab .Len ()!=1{_abe .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",_bacab .Len ());return nil ,_aef .ErrRangeError ;};_fcebd ,_accbb :=_acfaf (_bacab .Get (0),false );if _accbb !=nil {_abe .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",_accbb ,_cbgga );return nil ,_accbb ;};_ffdfd :=_baca (_cbgga );_ffdfd .DescendantFont =_fcebd ;_dfee ,_gfcgc :=_aef .GetNameVal (_agef .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _gfcgc {if _dfee =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"||_dfee =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0056"{_ffdfd ._eeag =_be .NewIdentityTextEncoder (_dfee );}else if _gg .IsPredefinedCMap (_dfee ){_ffdfd ._dcdab ,_accbb =_gg .LoadPredefinedCMap (_dfee );if _accbb !=nil {_abe .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",_dfee ,_accbb );};}else {_abe .Log .Debug ("\u0055\u006e\u0068\u0061\u006e\u0064\u006c\u0065\u0064\u0020\u0063\u006da\u0070\u0020\u0025\u0071",_dfee );};};if _ccfg :=_fcebd .baseFields ()._ecefd ;_ccfg !=nil {if _eaeg :=_ccfg .Name ();_eaeg =="\u0041d\u006fb\u0065\u002d\u0043\u004e\u0053\u0031\u002d\u0055\u0043\u0053\u0032"||_eaeg =="\u0041\u0064\u006f\u0062\u0065\u002d\u0047\u0042\u0031-\u0055\u0043\u0053\u0032"||_eaeg =="\u0041\u0064\u006f\u0062\u0065\u002d\u004a\u0061\u0070\u0061\u006e\u0031-\u0055\u0043\u0053\u0032"||_eaeg =="\u0041\u0064\u006f\u0062\u0065\u002d\u004b\u006f\u0072\u0065\u0061\u0031-\u0055\u0043\u0053\u0032"{_ffdfd ._eeag =_be .NewCMapEncoder (_dfee ,_ffdfd ._dcdab ,_ccfg );};};return _ffdfd ,nil ;};
|
||
|
||
// GetContentStream returns the XObject Form's content stream.
|
||
func (_gbdgd *XObjectForm )GetContentStream ()([]byte ,error ){_debbe ,_ffcedb :=_aef .DecodeStream (_gbdgd ._ebdad );if _ffcedb !=nil {return nil ,_ffcedb ;};return _debbe ,nil ;};
|
||
|
||
// NewPdfColorspaceDeviceCMYK returns a new CMYK32 colorspace object.
|
||
func NewPdfColorspaceDeviceCMYK ()*PdfColorspaceDeviceCMYK {return &PdfColorspaceDeviceCMYK {}};
|
||
|
||
// NewOutlineBookmark returns an initialized PdfOutlineItem for a given bookmark title and page.
|
||
func NewOutlineBookmark (title string ,page *_aef .PdfIndirectObject )*PdfOutlineItem {_fggea :=PdfOutlineItem {};_fggea ._gdgaba =&_fggea ;_fggea .Title =_aef .MakeString (title );_accbf :=_aef .MakeArray ();_accbf .Append (page );_accbf .Append (_aef .MakeName ("\u0046\u0069\u0074"));_fggea .Dest =_accbf ;return &_fggea ;};
|
||
|
||
// Decrypt decrypts the PDF file with a specified password. Also tries to
|
||
// decrypt with an empty password. Returns true if successful,
|
||
// false otherwise.
|
||
func (_dgdfe *PdfReader )Decrypt (password []byte )(bool ,error ){_gegcd ,_bagfa :=_dgdfe ._gdbbd .Decrypt (password );if _bagfa !=nil {return false ,_bagfa ;};if !_gegcd {return false ,nil ;};_bagfa =_dgdfe .loadStructure ();if _bagfa !=nil {_abe .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",_bagfa );return false ,_bagfa ;};return true ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eeea *PdfAnnotationStamp )ToPdfObject ()_aef .PdfObject {_eeea .PdfAnnotation .ToPdfObject ();_dfggb :=_eeea ._edc ;_cbdc :=_dfggb .PdfObject .(*_aef .PdfObjectDictionary );_eeea .PdfAnnotationMarkup .appendToPdfDictionary (_cbdc );_cbdc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053\u0074\u0061m\u0070"));_cbdc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_eeea .Name );return _dfggb ;};
|
||
|
||
// 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 ()_aef .PdfObject ;GetContainingPdfObject ()_aef .PdfObject ;};func (_eae *PdfReader )newPdfActionRenditionFromDict (_dbd *_aef .PdfObjectDictionary )(*PdfActionRendition ,error ){return &PdfActionRendition {R :_dbd .Get ("\u0052"),AN :_dbd .Get ("\u0041\u004e"),OP :_dbd .Get ("\u004f\u0050"),JS :_dbd .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// IsCheckbox returns true if the button field represents a checkbox, false otherwise.
|
||
func (_fggdc *PdfFieldButton )IsCheckbox ()bool {return _fggdc .GetType ()==ButtonTypeCheckbox };func (_gggg *PdfReader )buildOutlineTree (_fbaec _aef .PdfObject ,_aaebc *PdfOutlineTreeNode ,_gfaa *PdfOutlineTreeNode ,_afaf map[_aef .PdfObject ]struct{})(*PdfOutlineTreeNode ,*PdfOutlineTreeNode ,error ){if _afaf ==nil {_afaf =map[_aef .PdfObject ]struct{}{};};_afaf [_fbaec ]=struct{}{};_gbdddc ,_cgdbc :=_fbaec .(*_aef .PdfIndirectObject );if !_cgdbc {return nil ,nil ,_b .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",_fbaec );};_dcde ,_baea :=_gbdddc .PdfObject .(*_aef .PdfObjectDictionary );if !_baea {return nil ,nil ,_fa .New ("\u006e\u006f\u0074 a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_abe .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",_dcde ,_gbdddc ,_gbdddc );if _bacgg :=_dcde .Get ("\u0054\u0069\u0074l\u0065");_bacgg !=nil {_bdabeg ,_bgce :=_gggg .newPdfOutlineItemFromIndirectObject (_gbdddc );if _bgce !=nil {return nil ,nil ,_bgce ;};_bdabeg .Parent =_aaebc ;_bdabeg .Prev =_gfaa ;_efbg :=_aef .ResolveReference (_dcde .Get ("\u0046\u0069\u0072s\u0074"));if _ ,_fafge :=_afaf [_efbg ];_efbg !=nil &&_efbg !=_gbdddc &&!_fafge {if !_aef .IsNullObject (_efbg ){_cdecef ,_efdfb ,_acdcg :=_gggg .buildOutlineTree (_efbg ,&_bdabeg .PdfOutlineTreeNode ,nil ,_afaf );if _acdcg !=nil {_abe .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",_acdcg );}else {_bdabeg .First =_cdecef ;_bdabeg .Last =_efdfb ;};};};_ffgc :=_aef .ResolveReference (_dcde .Get ("\u004e\u0065\u0078\u0074"));if _ ,_daag :=_afaf [_ffgc ];_ffgc !=nil &&_ffgc !=_gbdddc &&!_daag {if !_aef .IsNullObject (_ffgc ){_ecdac ,_ggedg ,_gdeb :=_gggg .buildOutlineTree (_ffgc ,_aaebc ,&_bdabeg .PdfOutlineTreeNode ,_afaf );if _gdeb !=nil {_abe .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",_gdeb );}else {_bdabeg .Next =_ecdac ;return &_bdabeg .PdfOutlineTreeNode ,_ggedg ,nil ;};};};return &_bdabeg .PdfOutlineTreeNode ,&_bdabeg .PdfOutlineTreeNode ,nil ;};_gefd ,_aecgf :=_cggaf (_gbdddc );if _aecgf !=nil {return nil ,nil ,_aecgf ;};_gefd .Parent =_aaebc ;if _bfcae :=_dcde .Get ("\u0046\u0069\u0072s\u0074");_bfcae !=nil {_bfcae =_aef .ResolveReference (_bfcae );if _ ,_egeee :=_afaf [_bfcae ];_bfcae !=nil &&_bfcae !=_gbdddc &&!_egeee {_bagfb :=_aef .TraceToDirectObject (_bfcae );if _ ,_bbfaf :=_bagfb .(*_aef .PdfObjectNull );!_bbfaf &&_bagfb !=nil {_gceeaf ,_dbaeb ,_fcaa :=_gggg .buildOutlineTree (_bfcae ,&_gefd .PdfOutlineTreeNode ,nil ,_afaf );if _fcaa !=nil {_abe .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",_fcaa );}else {_gefd .First =_gceeaf ;_gefd .Last =_dbaeb ;};};};};return &_gefd .PdfOutlineTreeNode ,&_gefd .PdfOutlineTreeNode ,nil ;};
|
||
|
||
// NewPdfAnnotationFreeText returns a new free text annotation.
|
||
func NewPdfAnnotationFreeText ()*PdfAnnotationFreeText {_bba :=NewPdfAnnotation ();_abg :=&PdfAnnotationFreeText {};_abg .PdfAnnotation =_bba ;_abg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bba .SetContext (_abg );return _abg ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gbbdb *PdfPageResourcesColorspaces )ToPdfObject ()_aef .PdfObject {_ebafff :=_aef .MakeDict ();for _ ,_fbcff :=range _gbbdb .Names {_ebafff .Set (_aef .PdfObjectName (_fbcff ),_gbbdb .Colorspaces [_fbcff ].ToPdfObject ());};if _gbbdb ._efbb !=nil {_gbbdb ._efbb .PdfObject =_ebafff ;return _gbbdb ._efbb ;};return _ebafff ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_fgefd *PdfOutline )ToPdfObject ()_aef .PdfObject {_bbfca :=_fgefd ._bcbc ;_fegba :=_bbfca .PdfObject .(*_aef .PdfObjectDictionary );_fegba .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"));if _fgefd .First !=nil {_fegba .Set ("\u0046\u0069\u0072s\u0074",_fgefd .First .ToPdfObject ());};if _fgefd .Last !=nil {_fegba .Set ("\u004c\u0061\u0073\u0074",_fgefd .Last .GetContext ().GetContainingPdfObject ());};if _fgefd .Parent !=nil {_fegba .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fgefd .Parent .GetContext ().GetContainingPdfObject ());};if _fgefd .Count !=nil {_fegba .Set ("\u0043\u006f\u0075n\u0074",_aef .MakeInteger (*_fgefd .Count ));};return _bbfca ;};func (_acegd *PdfColorspaceCalRGB )String ()string {return "\u0043\u0061\u006c\u0052\u0047\u0042"};
|
||
|
||
// NewPdfAnnotationStrikeOut returns a new text strikeout annotation.
|
||
func NewPdfAnnotationStrikeOut ()*PdfAnnotationStrikeOut {_egg :=NewPdfAnnotation ();_ggdf :=&PdfAnnotationStrikeOut {};_ggdf .PdfAnnotation =_egg ;_ggdf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_egg .SetContext (_ggdf );return _ggdf ;};
|
||
|
||
// PdfFieldButton represents a button field which includes push buttons, checkboxes, and radio buttons.
|
||
type PdfFieldButton struct{*PdfField ;Opt *_aef .PdfObjectArray ;};
|
||
|
||
// SetBorderWidth sets the style's border width.
|
||
func (_eead *PdfBorderStyle )SetBorderWidth (width float64 ){_eead .W =&width };
|
||
|
||
// 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 _aef .PdfObject ;_abea []byte ;_aeca *_aef .PdfIndirectObject ;};
|
||
|
||
// Hasher is the interface that wraps the basic Write method.
|
||
type Hasher interface{Write (_adbab []byte )(_fbee int ,_bfdb error );};
|
||
|
||
// 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 ){_deaec ,_aaed :=_aafde (basefont );if _aaed !=nil {return nil ,_aaed ;};if basefont !=SymbolName &&basefont !=ZapfDingbatsName {_deaec ._bcbge =_be .NewWinAnsiEncoder ();};return &PdfFont {_dccga :&_deaec },nil ;};
|
||
|
||
// PdfActionRendition represents a Rendition action.
|
||
type PdfActionRendition struct{*PdfAction ;R _aef .PdfObject ;AN _aef .PdfObject ;OP _aef .PdfObject ;JS _aef .PdfObject ;};const (_gbfag =0x00001;_begf =0x00002;_adfea =0x00004;_bdaf =0x00008;_gegad =0x00020;_gdfcda =0x00040;_abad =0x10000;_gaeeb =0x20000;_cdec =0x40000;);
|
||
|
||
// ToPdfObject convert PdfInfo to pdf object.
|
||
func (_adag *PdfInfo )ToPdfObject ()_aef .PdfObject {_egdf :=_aef .MakeDict ();_egdf .SetIfNotNil ("\u0054\u0069\u0074l\u0065",_adag .Title );_egdf .SetIfNotNil ("\u0041\u0075\u0074\u0068\u006f\u0072",_adag .Author );_egdf .SetIfNotNil ("\u0053u\u0062\u006a\u0065\u0063\u0074",_adag .Subject );_egdf .SetIfNotNil ("\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_adag .Keywords );_egdf .SetIfNotNil ("\u0043r\u0065\u0061\u0074\u006f\u0072",_adag .Creator );_egdf .SetIfNotNil ("\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_adag .Producer );_egdf .SetIfNotNil ("\u0054r\u0061\u0070\u0070\u0065\u0064",_adag .Trapped );if _adag .CreationDate !=nil {_egdf .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_adag .CreationDate .ToPdfObject ());};if _adag .ModifiedDate !=nil {_egdf .SetIfNotNil ("\u004do\u0064\u0044\u0061\u0074\u0065",_adag .ModifiedDate .ToPdfObject ());};for _ ,_gefc :=range _adag ._ebcd .Keys (){_egdf .SetIfNotNil (_gefc ,_adag ._ebcd .Get (_gefc ));};return _egdf ;};
|
||
|
||
// NewPdfAnnotationTrapNet returns a new trapnet annotation.
|
||
func NewPdfAnnotationTrapNet ()*PdfAnnotationTrapNet {_bga :=NewPdfAnnotation ();_gbfa :=&PdfAnnotationTrapNet {};_gbfa .PdfAnnotation =_bga ;_bga .SetContext (_gbfa );return _gbfa ;};func (_cdbd *PdfAppender )updateObjectsDeep (_gddcd _aef .PdfObject ,_caea map[_aef .PdfObject ]struct{}){if _caea ==nil {_caea =map[_aef .PdfObject ]struct{}{};};if _ ,_eeaa :=_caea [_gddcd ];_eeaa ||_gddcd ==nil {return ;};_caea [_gddcd ]=struct{}{};_cacg :=_aef .ResolveReferencesDeep (_gddcd ,_cdbd ._gfce );if _cacg !=nil {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cacg );};switch _bbagg :=_gddcd .(type ){case *_aef .PdfIndirectObject :switch {case _bbagg .GetParser ()==_cdbd ._fdd ._gdbbd :return ;case _bbagg .GetParser ()==_cdbd .Reader ._gdbbd :_fggb ,_ :=_cdbd ._fdd .GetIndirectObjectByNumber (int (_bbagg .ObjectNumber ));_dfdf ,_bedd :=_fggb .(*_aef .PdfIndirectObject );if _bedd &&_dfdf !=nil {if _dfdf .PdfObject !=_bbagg .PdfObject &&_dfdf .PdfObject .WriteString ()!=_bbagg .PdfObject .WriteString (){_cdbd .addNewObject (_gddcd );_cdbd ._ddff [_gddcd ]=_bbagg .ObjectNumber ;};};default:_cdbd .addNewObject (_gddcd );};_cdbd .updateObjectsDeep (_bbagg .PdfObject ,_caea );case *_aef .PdfObjectArray :for _ ,_cbeg :=range _bbagg .Elements (){_cdbd .updateObjectsDeep (_cbeg ,_caea );};case *_aef .PdfObjectDictionary :for _ ,_dcbc :=range _bbagg .Keys (){_cdbd .updateObjectsDeep (_bbagg .Get (_dcbc ),_caea );};case *_aef .PdfObjectStreams :if _bbagg .GetParser ()!=_cdbd ._fdd ._gdbbd {for _ ,_ebegc :=range _bbagg .Elements (){_cdbd .updateObjectsDeep (_ebegc ,_caea );};};case *_aef .PdfObjectStream :switch {case _bbagg .GetParser ()==_cdbd ._fdd ._gdbbd :return ;case _bbagg .GetParser ()==_cdbd .Reader ._gdbbd :if _cgbf ,_egaa :=_cdbd ._fdd ._gdbbd .LookupByReference (_bbagg .PdfObjectReference );_egaa ==nil {var _ddca bool ;if _fgd ,_deaf :=_aef .GetStream (_cgbf );_deaf &&_cg .Equal (_fgd .Stream ,_bbagg .Stream ){_ddca =true ;};if _bfeg ,_bafd :=_aef .GetDict (_cgbf );_ddca &&_bafd {_ddca =_bfeg .WriteString ()==_bbagg .PdfObjectDictionary .WriteString ();};if _ddca {return ;};};if _bbagg .ObjectNumber !=0{_cdbd ._ddff [_gddcd ]=_bbagg .ObjectNumber ;};default:if _ ,_gcag :=_cdbd ._abge [_gddcd ];!_gcag {_cdbd .addNewObject (_gddcd );};};_cdbd .updateObjectsDeep (_bbagg .PdfObjectDictionary ,_caea );};};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_ebee pdfFontType0 )GetRuneMetrics (r rune )(_ecf .CharMetrics ,bool ){if _ebee .DescendantFont ==nil {_abe .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",_ebee );return _ecf .CharMetrics {},false ;};return _ebee .DescendantFont .GetRuneMetrics (r );};func (_eegee *pdfFontSimple )baseFields ()*fontCommon {return &_eegee .fontCommon };func (_eecf *PdfReader )newPdfAnnotationCircleFromDict (_gcaf *_aef .PdfObjectDictionary )(*PdfAnnotationCircle ,error ){_gaf :=PdfAnnotationCircle {};_dgb ,_gaff :=_eecf .newPdfAnnotationMarkupFromDict (_gcaf );if _gaff !=nil {return nil ,_gaff ;};_gaf .PdfAnnotationMarkup =_dgb ;_gaf .BS =_gcaf .Get ("\u0042\u0053");_gaf .IC =_gcaf .Get ("\u0049\u0043");_gaf .BE =_gcaf .Get ("\u0042\u0045");_gaf .RD =_gcaf .Get ("\u0052\u0044");return &_gaf ,nil ;};
|
||
|
||
// BorderStyle defines border type, typically used for annotations.
|
||
type BorderStyle int ;
|
||
|
||
// GetBorderWidth returns the border style's width.
|
||
func (_bbce *PdfBorderStyle )GetBorderWidth ()float64 {if _bbce .W ==nil {return 1;};return *_bbce .W ;};func (_cagd *PdfReader )newPdfActionNamedFromDict (_fga *_aef .PdfObjectDictionary )(*PdfActionNamed ,error ){return &PdfActionNamed {N :_fga .Get ("\u004e")},nil ;};func _edcgd ()string {_abdcd .Lock ();defer _abdcd .Unlock ();return _afdfd };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_beefd *PdfFilespec )ToPdfObject ()_aef .PdfObject {_babg :=_beefd .getDict ();_babg .Clear ();_babg .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"));_babg .SetIfNotNil ("\u0046\u0053",_beefd .FS );_babg .SetIfNotNil ("\u0046",_beefd .F );_babg .SetIfNotNil ("\u0055\u0046",_beefd .UF );_babg .SetIfNotNil ("\u0044\u004f\u0053",_beefd .DOS );_babg .SetIfNotNil ("\u004d\u0061\u0063",_beefd .Mac );_babg .SetIfNotNil ("\u0055\u006e\u0069\u0078",_beefd .Unix );_babg .SetIfNotNil ("\u0049\u0044",_beefd .ID );_babg .SetIfNotNil ("\u0056",_beefd .V );_babg .SetIfNotNil ("\u0045\u0046",_beefd .EF );_babg .SetIfNotNil ("\u0052\u0046",_beefd .RF );_babg .SetIfNotNil ("\u0044\u0065\u0073\u0063",_beefd .Desc );_babg .SetIfNotNil ("\u0043\u0049",_beefd .CI );return _beefd ._bgbda ;};
|
||
|
||
// SetContentStream sets the pattern cell's content stream.
|
||
func (_dcae *PdfTilingPattern )SetContentStream (content []byte ,encoder _aef .StreamEncoder )error {_fbge ,_caca :=_dcae ._fgbcde .(*_aef .PdfObjectStream );if !_caca {_abe .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",_dcae ._fgbcde );return _aef .ErrTypeError ;};if encoder ==nil {encoder =_aef .NewRawEncoder ();};_ddabg :=_fbge .PdfObjectDictionary ;_ebagc :=encoder .MakeStreamDict ();_ddabg .Merge (_ebagc );_gfbeb ,_adgcd :=encoder .EncodeBytes (content );if _adgcd !=nil {return _adgcd ;};_ddabg .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_gfbeb ))));_fbge .Stream =_gfbeb ;return nil ;};
|
||
|
||
// GetNumComponents returns the number of input color components, i.e. that are input to the tint transform.
|
||
func (_afgc *PdfColorspaceDeviceN )GetNumComponents ()int {return _afgc .ColorantNames .Len ()};var _ pdfFont =(*pdfCIDFontType0 )(nil );
|
||
|
||
// GetEncryptionMethod returns a descriptive information string about the encryption method used.
|
||
func (_aeaed *PdfReader )GetEncryptionMethod ()string {_bcefa :=_aeaed ._gdbbd .GetCrypter ();return _bcefa .String ();};func (_aec *PdfReader )newPdfAnnotationRichMediaFromDict (_afbb *_aef .PdfObjectDictionary )(*PdfAnnotationRichMedia ,error ){_bgca :=&PdfAnnotationRichMedia {};_bgca .RichMediaSettings =_afbb .Get ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073");_bgca .RichMediaContent =_afbb .Get ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074");return _bgca ,nil ;};
|
||
|
||
// 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{_aafba PdfModel ;_abebg *_aef .PdfIndirectObject ;Parent *PdfField ;Annotations []*PdfAnnotationWidget ;Kids []*PdfField ;FT *_aef .PdfObjectName ;T *_aef .PdfObjectString ;TU *_aef .PdfObjectString ;TM *_aef .PdfObjectString ;Ff *_aef .PdfObjectInteger ;V _aef .PdfObject ;DV _aef .PdfObject ;AA _aef .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_eaec *PdfFunctionType2 )ToPdfObject ()_aef .PdfObject {_ddae :=_aef .MakeDict ();_ddae .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_aef .MakeInteger (2));_facdd :=&_aef .PdfObjectArray {};for _ ,_gfgd :=range _eaec .Domain {_facdd .Append (_aef .MakeFloat (_gfgd ));};_ddae .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_facdd );if _eaec .Range !=nil {_feeea :=&_aef .PdfObjectArray {};for _ ,_dfeb :=range _eaec .Range {_feeea .Append (_aef .MakeFloat (_dfeb ));};_ddae .Set ("\u0052\u0061\u006eg\u0065",_feeea );};if _eaec .C0 !=nil {_ggeef :=&_aef .PdfObjectArray {};for _ ,_gfcbc :=range _eaec .C0 {_ggeef .Append (_aef .MakeFloat (_gfcbc ));};_ddae .Set ("\u0043\u0030",_ggeef );};if _eaec .C1 !=nil {_efad :=&_aef .PdfObjectArray {};for _ ,_bfga :=range _eaec .C1 {_efad .Append (_aef .MakeFloat (_bfga ));};_ddae .Set ("\u0043\u0031",_efad );};_ddae .Set ("\u004e",_aef .MakeFloat (_eaec .N ));if _eaec ._fecc !=nil {_eaec ._fecc .PdfObject =_ddae ;return _eaec ._fecc ;};return _ddae ;};
|
||
|
||
// SetLocation sets the `Location` field of the signature.
|
||
func (_cbbd *PdfSignature )SetLocation (location string ){_cbbd .Location =_aef .MakeString (location )};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eabge *PdfAnnotationUnderline )ToPdfObject ()_aef .PdfObject {_eabge .PdfAnnotation .ToPdfObject ();_fdbc :=_eabge ._edc ;_gecd :=_fdbc .PdfObject .(*_aef .PdfObjectDictionary );_eabge .PdfAnnotationMarkup .appendToPdfDictionary (_gecd );_gecd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee"));_gecd .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_eabge .QuadPoints );return _fdbc ;};const (BorderStyleSolid BorderStyle =iota ;BorderStyleDashed BorderStyle =iota ;BorderStyleBeveled BorderStyle =iota ;BorderStyleInset BorderStyle =iota ;BorderStyleUnderline BorderStyle =iota ;);func (_bfgbd SignatureValidationResult )String ()string {var _edbcc _cg .Buffer ;_edbcc .WriteString (_b .Sprintf ("\u004ea\u006d\u0065\u003a\u0020\u0025\u0073\n",_bfgbd .Name ));if _bfgbd .Date ._eacag > 0{_edbcc .WriteString (_b .Sprintf ("\u0044a\u0074\u0065\u003a\u0020\u0025\u0073\n",_bfgbd .Date .ToGoTime ().String ()));}else {_edbcc .WriteString ("\u0044\u0061\u0074\u0065 n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_bfgbd .Reason )> 0{_edbcc .WriteString (_b .Sprintf ("R\u0065\u0061\u0073\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_bfgbd .Reason ));}else {_edbcc .WriteString ("N\u006f \u0072\u0065\u0061\u0073\u006f\u006e\u0020\u0073p\u0065\u0063\u0069\u0066ie\u0064\u000a");};if len (_bfgbd .Location )> 0{_edbcc .WriteString (_b .Sprintf ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_bfgbd .Location ));}else {_edbcc .WriteString ("\u004c\u006f\u0063at\u0069\u006f\u006e\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_bfgbd .ContactInfo )> 0{_edbcc .WriteString (_b .Sprintf ("\u0043\u006f\u006e\u0074\u0061\u0063\u0074\u0020\u0049\u006e\u0066\u006f:\u0020\u0025\u0073\u000a",_bfgbd .ContactInfo ));}else {_edbcc .WriteString ("C\u006f\u006e\u0074\u0061\u0063\u0074 \u0069\u006e\u0066\u006f\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063i\u0066i\u0065\u0064\u000a");};_edbcc .WriteString (_b .Sprintf ("F\u0069\u0065\u006c\u0064\u0073\u003a\u0020\u0025\u0064\u000a",len (_bfgbd .Fields )));if _bfgbd .IsSigned {_edbcc .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 {_edbcc .WriteString ("\u0053\u0069\u0067\u006eed\u003a\u0020\u004e\u006f\u0074\u0020\u0073\u0069\u0067\u006e\u0065\u0064\u000a");};if _bfgbd .IsVerified {_edbcc .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 {_edbcc .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 _bfgbd .IsTrusted {_edbcc .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 {_edbcc .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 !_bfgbd .GeneralizedTime .IsZero (){_edbcc .WriteString (_b .Sprintf ("G\u0065n\u0065\u0072\u0061\u006c\u0069\u007a\u0065\u0064T\u0069\u006d\u0065\u003a %\u0073\u000a",_bfgbd .GeneralizedTime .String ()));};return _edbcc .String ();};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a CalRGB device.
|
||
func (_aecf *PdfColorspaceCalRGB )GetNumComponents ()int {return 3};type fontCommon struct{_fegdg string ;_ababd string ;_cebc string ;_ddcbd _aef .PdfObject ;_ecefd *_gg .CMap ;_bgfd *PdfFontDescriptor ;_adfb int64 ;};var _bbbga =false ;
|
||
|
||
// GenerateXObjectName generates an unused XObject name that can be used for
|
||
// adding new XObjects. Uses format XObj1, XObj2, ...
|
||
func (_fceg *PdfPageResources )GenerateXObjectName ()_aef .PdfObjectName {_fadf :=1;for {_fbbga :=_aef .MakeName (_b .Sprintf ("\u0058\u004f\u0062\u006a\u0025\u0064",_fadf ));if !_fceg .HasXObjectByName (*_fbbga ){return *_fbbga ;};_fadf ++;};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ecc *PdfActionJavaScript )ToPdfObject ()_aef .PdfObject {_ecc .PdfAction .ToPdfObject ();_gcc :=_ecc ._gc ;_cea :=_gcc .PdfObject .(*_aef .PdfObjectDictionary );_cea .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeJavaScript )));_cea .SetIfNotNil ("\u004a\u0053",_ecc .JS );return _gcc ;};
|
||
|
||
// SetForms sets the Acroform for a PDF file.
|
||
func (_efccc *PdfWriter )SetForms (form *PdfAcroForm )error {_efccc ._feabe =form ;return nil };
|
||
|
||
// NewPdfAnnotationInk returns a new ink annotation.
|
||
func NewPdfAnnotationInk ()*PdfAnnotationInk {_cec :=NewPdfAnnotation ();_abed :=&PdfAnnotationInk {};_abed .PdfAnnotation =_cec ;_abed .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cec .SetContext (_abed );return _abed ;};
|
||
|
||
// PdfActionGoToE represents a GoToE action.
|
||
type PdfActionGoToE struct{*PdfAction ;F *PdfFilespec ;D _aef .PdfObject ;NewWindow _aef .PdfObject ;T _aef .PdfObject ;};func (_eegc *pdfCIDFontType2 )getFontDescriptor ()*PdfFontDescriptor {return _eegc ._bgfd };
|
||
|
||
// GetContext returns a reference to the subshading entry as represented by PdfShadingType1-7.
|
||
func (_bfceb *PdfShading )GetContext ()PdfModel {return _bfceb ._egaca };func (_cafbb *PdfReader )loadAnnotations (_acfff _aef .PdfObject )([]*PdfAnnotation ,error ){_dfeac ,_gffeg :=_aef .GetArray (_acfff );if !_gffeg {return nil ,_b .Errorf ("\u0041\u006e\u006e\u006fts\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _bgcga []*PdfAnnotation ;for _ ,_efdf :=range _dfeac .Elements (){_efdf =_aef .ResolveReference (_efdf );if _ ,_bfac :=_efdf .(*_aef .PdfObjectNull );_bfac {continue ;};_dccfac ,_gcdff :=_efdf .(*_aef .PdfObjectDictionary );_bfeea ,_cdcecg :=_efdf .(*_aef .PdfIndirectObject );if _gcdff {_bfeea =&_aef .PdfIndirectObject {};_bfeea .PdfObject =_dccfac ;}else {if !_cdcecg {return nil ,_b .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");};};_ddaac ,_gbdag :=_cafbb .newPdfAnnotationFromIndirectObject (_bfeea );if _gbdag !=nil {return nil ,_gbdag ;};switch _afcc :=_ddaac .GetContext ().(type ){case *PdfAnnotationWidget :for _ ,_cdggc :=range _cafbb .AcroForm .AllFields (){if _cdggc ._abebg ==_afcc .Parent {_afcc ._ccc =_cdggc ;break ;};};};if _ddaac !=nil {_bgcga =append (_bgcga ,_ddaac );};};return _bgcga ,nil ;};
|
||
|
||
// PdfAnnotationInk represents Ink annotations.
|
||
// (Section 12.5.6.13).
|
||
type PdfAnnotationInk struct{*PdfAnnotation ;*PdfAnnotationMarkup ;InkList _aef .PdfObject ;BS _aef .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bce *PdfAnnotationSquare )ToPdfObject ()_aef .PdfObject {_bce .PdfAnnotation .ToPdfObject ();_aee :=_bce ._edc ;_bdf :=_aee .PdfObject .(*_aef .PdfObjectDictionary );if _bce .PdfAnnotationMarkup !=nil {_bce .PdfAnnotationMarkup .appendToPdfDictionary (_bdf );};_bdf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053\u0071\u0075\u0061\u0072\u0065"));_bdf .SetIfNotNil ("\u0042\u0053",_bce .BS );_bdf .SetIfNotNil ("\u0049\u0043",_bce .IC );_bdf .SetIfNotNil ("\u0042\u0045",_bce .BE );_bdf .SetIfNotNil ("\u0052\u0044",_bce .RD );return _aee ;};func (_gcac *PdfAcroForm )filteredFields (_fgdg FieldFilterFunc ,_gcece bool )[]*PdfField {if _gcac ==nil {return nil ;};return _cgbda (_gcac .Fields ,_fgdg ,_gcece );};func (_gae *PdfReader )newPdfActionSubmitFormFromDict (_ace *_aef .PdfObjectDictionary )(*PdfActionSubmitForm ,error ){_fdb ,_aga :=_bfc (_ace .Get ("\u0046"));if _aga !=nil {return nil ,_aga ;};return &PdfActionSubmitForm {F :_fdb ,Fields :_ace .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_ace .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccccb *PdfAnnotationCircle )ToPdfObject ()_aef .PdfObject {_ccccb .PdfAnnotation .ToPdfObject ();_eabg :=_ccccb ._edc ;_eag :=_eabg .PdfObject .(*_aef .PdfObjectDictionary );_ccccb .PdfAnnotationMarkup .appendToPdfDictionary (_eag );_eag .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0043\u0069\u0072\u0063\u006c\u0065"));_eag .SetIfNotNil ("\u0042\u0053",_ccccb .BS );_eag .SetIfNotNil ("\u0049\u0043",_ccccb .IC );_eag .SetIfNotNil ("\u0042\u0045",_ccccb .BE );_eag .SetIfNotNil ("\u0052\u0044",_ccccb .RD );return _eabg ;};
|
||
|
||
// 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 *_aef .PdfObjectStream )(*XObjectImage ,error ){_gddbc :=&XObjectImage {};_gddbc ._dcafe =stream ;_fbeg :=*(stream .PdfObjectDictionary );_afee ,_ebdada :=_aef .NewEncoderFromStream (stream );if _ebdada !=nil {return nil ,_ebdada ;};_gddbc .Filter =_afee ;if _bgadf :=_aef .TraceToDirectObject (_fbeg .Get ("\u0057\u0069\u0064t\u0068"));_bgadf !=nil {_gfcde ,_agaeff :=_bgadf .(*_aef .PdfObjectInteger );if !_agaeff {return nil ,_fa .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");};_abeaf :=int64 (*_gfcde );_gddbc .Width =&_abeaf ;}else {return nil ,_fa .New ("\u0077\u0069\u0064\u0074\u0068\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _aaege :=_aef .TraceToDirectObject (_fbeg .Get ("\u0048\u0065\u0069\u0067\u0068\u0074"));_aaege !=nil {_eedfa ,_ddaeg :=_aaege .(*_aef .PdfObjectInteger );if !_ddaeg {return nil ,_fa .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_gbdgf :=int64 (*_eedfa );_gddbc .Height =&_gbdgf ;}else {return nil ,_fa .New ("\u0068\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};if _dggf :=_aef .TraceToDirectObject (_fbeg .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065"));_dggf !=nil {_fagae ,_gdgae :=NewPdfColorspaceFromPdfObject (_dggf );if _gdgae !=nil {return nil ,_gdgae ;};_gddbc .ColorSpace =_fagae ;}else {_abe .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");_gddbc .ColorSpace =NewPdfColorspaceDeviceGray ();};if _afdfe :=_aef .TraceToDirectObject (_fbeg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"));_afdfe !=nil {_eagfg ,_facgd :=_afdfe .(*_aef .PdfObjectInteger );if !_facgd {return nil ,_fa .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_cddfd :=int64 (*_eagfg );_gddbc .BitsPerComponent =&_cddfd ;};_gddbc .Intent =_fbeg .Get ("\u0049\u006e\u0074\u0065\u006e\u0074");_gddbc .ImageMask =_fbeg .Get ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k");_gddbc .Mask =_fbeg .Get ("\u004d\u0061\u0073\u006b");_gddbc .Decode =_fbeg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");_gddbc .Interpolate =_fbeg .Get ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065");_gddbc .Alternatives =_fbeg .Get ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073");_gddbc .SMask =_fbeg .Get ("\u0053\u004d\u0061s\u006b");_gddbc .SMaskInData =_fbeg .Get ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061");_gddbc .Matte =_fbeg .Get ("\u004d\u0061\u0074t\u0065");_gddbc .Name =_fbeg .Get ("\u004e\u0061\u006d\u0065");_gddbc .StructParent =_fbeg .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_gddbc .ID =_fbeg .Get ("\u0049\u0044");_gddbc .OPI =_fbeg .Get ("\u004f\u0050\u0049");_gddbc .Metadata =_fbeg .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_gddbc .OC =_fbeg .Get ("\u004f\u0043");_gddbc .Stream =stream .Stream ;return _gddbc ,nil ;};func _acfce (_eegfc *fontCommon )*pdfCIDFontType0 {return &pdfCIDFontType0 {fontCommon :*_eegfc }};
|
||
|
||
// 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 (_aefc *PdfFont )CharcodeBytesToUnicode (data []byte )(string ,int ,int ){_dagfa ,_ ,_eddg :=_aefc .CharcodesToUnicodeWithStats (_aefc .BytesToCharcodes (data ));_gcebd :=_be .ExpandLigatures (_dagfa );return _gcebd ,_eca .RuneCountInString (_gcebd ),_eddg ;};
|
||
|
||
// 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 (_ddfg byte )byte ;
|
||
|
||
// 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 *_aef .PdfIndirectObject ;SV *_aef .PdfIndirectObject ;};
|
||
|
||
// 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 {_eefcf ,_afcf :=NewStandard14Font (basefont );if _afcf !=nil {panic (_b .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 _eefcf ;};
|
||
|
||
// UpdatePage updates the `page` in the new revision if it has changed.
|
||
func (_fff *PdfAppender )UpdatePage (page *PdfPage ){_fff .updateObjectsDeep (page .ToPdfObject (),nil )};
|
||
|
||
// GetContainingPdfObject returns the container of the outline item (indirect object).
|
||
func (_gecad *PdfOutlineItem )GetContainingPdfObject ()_aef .PdfObject {return _gecad ._gdgba };func (_daf *PdfReader )newPdfActionTransFromDict (_daeg *_aef .PdfObjectDictionary )(*PdfActionTrans ,error ){return &PdfActionTrans {Trans :_daeg .Get ("\u0054\u0072\u0061n\u0073")},nil ;};
|
||
|
||
// AddWatermarkImage adds a watermark to the page.
|
||
func (_edea *PdfPage )AddWatermarkImage (ximg *XObjectImage ,opt WatermarkImageOptions )error {_dbgafd ,_geab :=_edea .GetMediaBox ();if _geab !=nil {return _geab ;};_bfcad :=_dbgafd .Urx -_dbgafd .Llx ;_bbabc :=_dbgafd .Ury -_dbgafd .Lly ;_ggfgf :=float64 (*ximg .Width );_bcdee :=(_bfcad -_ggfgf )/2;if opt .FitToWidth {_ggfgf =_bfcad ;_bcdee =0;};_bcbf :=_bbabc ;_gdbdb :=float64 (0);if opt .PreserveAspectRatio {_bcbf =_ggfgf *float64 (*ximg .Height )/float64 (*ximg .Width );_gdbdb =(_bbabc -_bcbf )/2;};if _edea .Resources ==nil {_edea .Resources =NewPdfPageResources ();};_agfgf :=0;_afccf :=_aef .PdfObjectName (_b .Sprintf ("\u0049\u006d\u0077%\u0064",_agfgf ));for _edea .Resources .HasXObjectByName (_afccf ){_agfgf ++;_afccf =_aef .PdfObjectName (_b .Sprintf ("\u0049\u006d\u0077%\u0064",_agfgf ));};_geab =_edea .AddImageResource (_afccf ,ximg );if _geab !=nil {return _geab ;};_agfgf =0;_egagb :=_aef .PdfObjectName (_b .Sprintf ("\u0047\u0053\u0025\u0064",_agfgf ));for _edea .HasExtGState (_egagb ){_agfgf ++;_egagb =_aef .PdfObjectName (_b .Sprintf ("\u0047\u0053\u0025\u0064",_agfgf ));};_acbbe :=_aef .MakeDict ();_acbbe .Set ("\u0042\u004d",_aef .MakeName ("\u004e\u006f\u0072\u006d\u0061\u006c"));_acbbe .Set ("\u0043\u0041",_aef .MakeFloat (opt .Alpha ));_acbbe .Set ("\u0063\u0061",_aef .MakeFloat (opt .Alpha ));_geab =_edea .AddExtGState (_egagb ,_acbbe );if _geab !=nil {return _geab ;};_gbfgb :=_b .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",_egagb ,_ggfgf ,_bcbf ,_bcdee ,_gdbdb ,_afccf );_edea .AddContentStreamByString (_gbfgb );return 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 (_bfgg *Image )SetSamples (samples []uint32 ){if _bfgg .BitsPerComponent < 8{samples =_bfgg .samplesAddPadding (samples );};_gdad :=_ea .ResampleUint32 (samples ,int (_bfgg .BitsPerComponent ),8);_geegd :=make ([]byte ,len (_gdad ));for _gffg ,_afcfc :=range _gdad {_geegd [_gffg ]=byte (_afcfc );};_bfgg .Data =_geegd ;};func (_bebfg Image )getBase ()_gb .ImageBase {return _gb .NewImageBase (int (_bebfg .Width ),int (_bebfg .Height ),int (_bebfg .BitsPerComponent ),_bebfg .ColorComponents ,_bebfg .Data ,_bebfg ._afge ,_bebfg ._fgafa );};
|
||
|
||
// PdfAnnotationStrikeOut represents StrikeOut annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationStrikeOut struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _aef .PdfObject ;};func _bdec (_cgfb *_aef .PdfObjectDictionary )(*PdfShadingType4 ,error ){_eegd :=PdfShadingType4 {};_fagaa :=_cgfb .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fagaa ==nil {_abe .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 ;};_aaecb ,_abfde :=_fagaa .(*_aef .PdfObjectInteger );if !_abfde {_abe .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",_fagaa );return nil ,_aef .ErrTypeError ;};_eegd .BitsPerCoordinate =_aaecb ;_fagaa =_cgfb .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fagaa ==nil {_abe .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 ;};_aaecb ,_abfde =_fagaa .(*_aef .PdfObjectInteger );if !_abfde {_abe .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",_fagaa );return nil ,_aef .ErrTypeError ;};_eegd .BitsPerComponent =_aaecb ;_fagaa =_cgfb .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fagaa ==nil {_abe .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 ;};_aaecb ,_abfde =_fagaa .(*_aef .PdfObjectInteger );if !_abfde {_abe .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",_fagaa );return nil ,_aef .ErrTypeError ;};_eegd .BitsPerComponent =_aaecb ;_fagaa =_cgfb .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fagaa ==nil {_abe .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 ;};_abcb ,_abfde :=_fagaa .(*_aef .PdfObjectArray );if !_abfde {_abe .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",_fagaa );return nil ,_aef .ErrTypeError ;};_eegd .Decode =_abcb ;_fagaa =_cgfb .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _fagaa ==nil {_abe .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 ;};_eegd .Function =[]PdfFunction {};if _dbdf ,_gfcf :=_fagaa .(*_aef .PdfObjectArray );_gfcf {for _ ,_bcbed :=range _dbdf .Elements (){_gcbbg ,_fgdga :=_begb (_bcbed );if _fgdga !=nil {_abe .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",_fgdga );return nil ,_fgdga ;};_eegd .Function =append (_eegd .Function ,_gcbbg );};}else {_bcbae ,_baecc :=_begb (_fagaa );if _baecc !=nil {_abe .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",_baecc );return nil ,_baecc ;};_eegd .Function =append (_eegd .Function ,_bcbae );};return &_eegd ,nil ;};func (_gcba *PdfPattern )getDict ()*_aef .PdfObjectDictionary {if _dbfd ,_gbddd :=_gcba ._fgbcde .(*_aef .PdfIndirectObject );_gbddd {_gfbcd ,_cbgf :=_dbfd .PdfObject .(*_aef .PdfObjectDictionary );if !_cbgf {return nil ;};return _gfbcd ;}else if _fcgbg ,_aeeg :=_gcba ._fgbcde .(*_aef .PdfObjectStream );_aeeg {return _fcgbg .PdfObjectDictionary ;}else {_abe .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",_gcba ._fgbcde );return nil ;};};func _cadc (_ecaf _aef .PdfObject )(*PdfBorderStyle ,error ){_fgc :=&PdfBorderStyle {};_fgc ._ggegf =_ecaf ;var _gcec *_aef .PdfObjectDictionary ;_ecaf =_aef .TraceToDirectObject (_ecaf );_gcec ,_fdc :=_ecaf .(*_aef .PdfObjectDictionary );if !_fdc {return nil ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};if _bffe :=_gcec .Get ("\u0054\u0079\u0070\u0065");_bffe !=nil {_eddag ,_dfce :=_bffe .(*_aef .PdfObjectName );if !_dfce {_abe .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",_bffe );}else {if *_eddag !="\u0042\u006f\u0072\u0064\u0065\u0072"{_abe .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",*_eddag );};};};if _cfce :=_gcec .Get ("\u0057");_cfce !=nil {_cbab ,_bgdab :=_aef .GetNumberAsFloat (_cfce );if _bgdab !=nil {_abe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0072\u0065\u0074\u0072\u0069\u0065\u0076\u0069\u006e\u0067\u0020\u0057\u003a\u0020%\u0076",_bgdab );return nil ,_bgdab ;};_fgc .W =&_cbab ;};if _efec :=_gcec .Get ("\u0053");_efec !=nil {_efgf ,_cbba :=_efec .(*_aef .PdfObjectName );if !_cbba {return nil ,_fa .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 _ebdd BorderStyle ;switch *_efgf {case "\u0053":_ebdd =BorderStyleSolid ;case "\u0044":_ebdd =BorderStyleDashed ;case "\u0042":_ebdd =BorderStyleBeveled ;case "\u0049":_ebdd =BorderStyleInset ;case "\u0055":_ebdd =BorderStyleUnderline ;default:_abe .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020s\u0074\u0079\u006c\u0065\u0020n\u0061\u006d\u0065\u0020\u0025\u0073",*_efgf );return nil ,_fa .New ("\u0073\u0074\u0079\u006ce \u0074\u0079\u0070\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065c\u006b");};_fgc .S =&_ebdd ;};if _dfgge :=_gcec .Get ("\u0044");_dfgge !=nil {_fbb ,_fbbd :=_dfgge .(*_aef .PdfObjectArray );if !_fbbd {_abe .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",_dfgge );return nil ,_fa .New ("\u0062o\u0072\u0064\u0065\u0072 \u0044\u0020\u0074\u0079\u0070e\u0020c\u0068e\u0063\u006b\u0020\u0065\u0072\u0072\u006fr");};_beba ,_gafd :=_fbb .ToIntegerArray ();if _gafd !=nil {_abe .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",_gafd );return nil ,_gafd ;};_fgc .D =&_beba ;};return _fgc ,nil ;};func _gfecd (_bfead *_aef .PdfObjectStream )(*PdfFunctionType4 ,error ){_edbdf :=&PdfFunctionType4 {};_edbdf ._gegfd =_bfead ;_agbbe :=_bfead .PdfObjectDictionary ;_dcddc ,_edgfe :=_aef .TraceToDirectObject (_agbbe .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_aef .PdfObjectArray );if !_edgfe {_abe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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 _dcddc .Len ()%2!=0{_abe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fa .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_aebg ,_ggegag :=_dcddc .ToFloat64Array ();if _ggegag !=nil {return nil ,_ggegag ;};_edbdf .Domain =_aebg ;_dcddc ,_edgfe =_aef .TraceToDirectObject (_agbbe .Get ("\u0052\u0061\u006eg\u0065")).(*_aef .PdfObjectArray );if _edgfe {if _dcddc .Len ()< 0||_dcddc .Len ()%2!=0{return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_dbcg ,_ddgac :=_dcddc .ToFloat64Array ();if _ddgac !=nil {return nil ,_ddgac ;};_edbdf .Range =_dbcg ;};_egcfb ,_ggegag :=_aef .DecodeStream (_bfead );if _ggegag !=nil {return nil ,_ggegag ;};_edbdf ._ccagg =_egcfb ;_ffcgd :=_ga .NewPSParser (_egcfb );_edabab ,_ggegag :=_ffcgd .Parse ();if _ggegag !=nil {return nil ,_ggegag ;};_edbdf .Program =_edabab ;return _edbdf ,nil ;};
|
||
|
||
// NewPdfColorspaceLab returns a new Lab colorspace object.
|
||
func NewPdfColorspaceLab ()*PdfColorspaceLab {_eccdc :=&PdfColorspaceLab {};_eccdc .BlackPoint =[]float64 {0.0,0.0,0.0};_eccdc .Range =[]float64 {-100,100,-100,100};return _eccdc ;};
|
||
|
||
// ToPdfObject converts PdfAcroForm to a PdfObject, i.e. an indirect object containing the
|
||
// AcroForm dictionary.
|
||
func (_ecaa *PdfAcroForm )ToPdfObject ()_aef .PdfObject {_adga :=_ecaa ._aade ;_adedg :=_adga .PdfObject .(*_aef .PdfObjectDictionary );if _ecaa .Fields !=nil {_cebcc :=_aef .PdfObjectArray {};for _ ,_eedd :=range *_ecaa .Fields {_dceb :=_eedd .GetContext ();if _dceb !=nil {_cebcc .Append (_dceb .ToPdfObject ());}else {_cebcc .Append (_eedd .ToPdfObject ());};};_adedg .Set ("\u0046\u0069\u0065\u006c\u0064\u0073",&_cebcc );};if _ecaa .NeedAppearances !=nil {_adedg .Set ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073",_ecaa .NeedAppearances );};if _ecaa .SigFlags !=nil {_adedg .Set ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073",_ecaa .SigFlags );};if _ecaa .CO !=nil {_adedg .Set ("\u0043\u004f",_ecaa .CO );};if _ecaa .DR !=nil {_adedg .Set ("\u0044\u0052",_ecaa .DR .ToPdfObject ());};if _ecaa .DA !=nil {_adedg .Set ("\u0044\u0041",_ecaa .DA );};if _ecaa .Q !=nil {_adedg .Set ("\u0051",_ecaa .Q );};if _ecaa .XFA !=nil {_adedg .Set ("\u0058\u0046\u0041",_ecaa .XFA );};return _adga ;};
|
||
|
||
// GetContainingPdfObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_ddda *PdfPage )GetContainingPdfObject ()_aef .PdfObject {return _ddda ._gfbbf };var _cbgcf =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"};
|
||
|
||
// NewPdfAnnotationHighlight returns a new text highlight annotation.
|
||
func NewPdfAnnotationHighlight ()*PdfAnnotationHighlight {_acbf :=NewPdfAnnotation ();_aac :=&PdfAnnotationHighlight {};_aac .PdfAnnotation =_acbf ;_aac .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_acbf .SetContext (_aac );return _aac ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fce *PdfActionSound )ToPdfObject ()_aef .PdfObject {_fce .PdfAction .ToPdfObject ();_ca :=_fce ._gc ;_cae :=_ca .PdfObject .(*_aef .PdfObjectDictionary );_cae .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeSound )));_cae .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_fce .Sound );_cae .SetIfNotNil ("\u0056\u006f\u006c\u0075\u006d\u0065",_fce .Volume );_cae .SetIfNotNil ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073",_fce .Synchronous );_cae .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_fce .Repeat );_cae .SetIfNotNil ("\u004d\u0069\u0078",_fce .Mix );return _ca ;};
|
||
|
||
// NewPdfColorspaceICCBased returns a new ICCBased colorspace object.
|
||
func NewPdfColorspaceICCBased (N int )(*PdfColorspaceICCBased ,error ){_cgfc :=&PdfColorspaceICCBased {};if N !=1&&N !=3&&N !=4{return nil ,_b .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u0031/\u0033\u002f\u0034\u0029");};_cgfc .N =N ;return _cgfc ,nil ;};
|
||
|
||
// GetCerts returns the signature certificate chain.
|
||
func (_efafg *PdfSignature )GetCerts ()([]*_c .Certificate ,error ){var _aafbf []func ()([]*_c .Certificate ,error );switch _efcbeg ,_ :=_aef .GetNameVal (_efafg .SubFilter );_efcbeg {case "\u0061\u0064\u0062\u0065.p\u006b\u0063\u0073\u0037\u002e\u0064\u0065\u0074\u0061\u0063\u0068\u0065\u0064","\u0045\u0054\u0053\u0049.C\u0041\u0064\u0045\u0053\u002e\u0064\u0065\u0074\u0061\u0063\u0068\u0065\u0064":_aafbf =append (_aafbf ,_efafg .extractChainFromPKCS7 ,_efafg .extractChainFromCert );case "\u0061d\u0062e\u002e\u0078\u0035\u0030\u0039.\u0072\u0073a\u005f\u0073\u0068\u0061\u0031":_aafbf =append (_aafbf ,_efafg .extractChainFromCert );case "\u0045\u0054\u0053I\u002e\u0052\u0046\u0043\u0033\u0031\u0036\u0031":_aafbf =append (_aafbf ,_efafg .extractChainFromPKCS7 );default:return nil ,_b .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020S\u0075b\u0046i\u006c\u0074\u0065\u0072\u003a\u0020\u0025s",_efcbeg );};for _ ,_ccedb :=range _aafbf {_afbee ,_dacbc :=_ccedb ();if _dacbc !=nil {return nil ,_dacbc ;};if len (_afbee )> 0{return _afbee ,nil ;};};return nil ,ErrSignNoCertificates ;};
|
||
|
||
// GetXObjectByName gets XObject by name.
|
||
func (_fccg *PdfPage )GetXObjectByName (name _aef .PdfObjectName )(_aef .PdfObject ,bool ){_becaa ,_abcac :=_fccg .Resources .XObject .(*_aef .PdfObjectDictionary );if !_abcac {return nil ,false ;};if _eagc :=_becaa .Get (name );_eagc !=nil {return _eagc ,true ;};return nil ,false ;};
|
||
|
||
// 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 _aef .PdfObjectArray )(*PdfRectangle ,error ){_ddgdgb :=PdfRectangle {};if arr .Len ()!=4{return nil ,_fa .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 _ffced error ;_ddgdgb .Llx ,_ffced =_aef .GetNumberAsFloat (arr .Get (0));if _ffced !=nil {return nil ,_ffced ;};_ddgdgb .Lly ,_ffced =_aef .GetNumberAsFloat (arr .Get (1));if _ffced !=nil {return nil ,_ffced ;};_ddgdgb .Urx ,_ffced =_aef .GetNumberAsFloat (arr .Get (2));if _ffced !=nil {return nil ,_ffced ;};_ddgdgb .Ury ,_ffced =_aef .GetNumberAsFloat (arr .Get (3));if _ffced !=nil {return nil ,_ffced ;};return &_ddgdgb ,nil ;};
|
||
|
||
// 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 (_fdaag *PdfColorspaceDeviceRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbga :=vals [0];if _gbga < 0.0||_gbga > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fcfg :=vals [1];if _fcfg < 0.0||_fcfg > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ecdc :=vals [2];if _ecdc < 0.0||_ecdc > 1.0{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_facg :=NewPdfColorDeviceRGB (_gbga ,_fcfg ,_ecdc );return _facg ,nil ;};func _gbgga (_fgbae *PdfField ,_bbbef _aef .PdfObject ){for _ ,_cbfeg :=range _fgbae .Annotations {_cbfeg .AS =_bbbef ;_cbfeg .ToPdfObject ();};};
|
||
|
||
// C returns the value of the C component of the color.
|
||
func (_cadb *PdfColorCalRGB )C ()float64 {return _cadb [2]};func (_gaef *PdfReader )newPdfAnnotationSquigglyFromDict (_eefa *_aef .PdfObjectDictionary )(*PdfAnnotationSquiggly ,error ){_cecd :=PdfAnnotationSquiggly {};_fedf ,_egfb :=_gaef .newPdfAnnotationMarkupFromDict (_eefa );if _egfb !=nil {return nil ,_egfb ;};_cecd .PdfAnnotationMarkup =_fedf ;_cecd .QuadPoints =_eefa .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_cecd ,nil ;};func _ecgdg ()string {_abdcd .Lock ();defer _abdcd .Unlock ();return _caceb };
|
||
|
||
// IsShading specifies if the pattern is a shading pattern.
|
||
func (_bdbec *PdfPattern )IsShading ()bool {return _bdbec .PatternType ==2};
|
||
|
||
// NewPdfWriter initializes a new PdfWriter.
|
||
func NewPdfWriter ()PdfWriter {_fadab :=PdfWriter {};_fadab ._cafea =map[_aef .PdfObject ]struct{}{};_fadab ._aage =[]_aef .PdfObject {};_fadab ._eabcf =map[_aef .PdfObject ][]*_aef .PdfObjectDictionary {};_fadab ._dfdcb =map[_aef .PdfObject ]struct{}{};_fadab ._cfebb =1;_fadab ._gbcce =3;_caad :=_aef .MakeDict ();_dfgec :=[]struct{_edacadg _aef .PdfObjectName ;_ddegf string ;}{{"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_cgdea ()},{"\u0043r\u0065\u0061\u0074\u006f\u0072",_daefg ()},{"\u0041\u0075\u0074\u0068\u006f\u0072",_abfgb ()},{"\u0053u\u0062\u006a\u0065\u0063\u0074",_edcgd ()},{"\u0054\u0069\u0074l\u0065",_ecgdg ()},{"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_ffdac ()}};for _ ,_cgbfd :=range _dfgec {if _cgbfd ._ddegf !=""{_caad .Set (_cgbfd ._edacadg ,_aef .MakeString (_cgbfd ._ddegf ));};};if _acbdg :=_bgcda ();!_acbdg .IsZero (){if _gbcdea ,_abef :=NewPdfDateFromTime (_acbdg );_abef ==nil {_caad .Set ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_gbcdea .ToPdfObject ());};};if _fdccc :=_dggdf ();!_fdccc .IsZero (){if _afbcb ,_ecece :=NewPdfDateFromTime (_fdccc );_ecece ==nil {_caad .Set ("\u004do\u0064\u0044\u0061\u0074\u0065",_afbcb .ToPdfObject ());};};_ggdae :=_aef .PdfIndirectObject {};_ggdae .PdfObject =_caad ;_fadab ._caefd =&_ggdae ;_fadab .addObject (&_ggdae );_fcga :=_aef .PdfIndirectObject {};_aadgb :=_aef .MakeDict ();_aadgb .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0043a\u0074\u0061\u006c\u006f\u0067"));_fcga .PdfObject =_aadgb ;_fadab ._bdbdfg =&_fcga ;_fadab .addObject (_fadab ._bdbdfg );_dffafb :=_aef .PdfIndirectObject {};_fcdea :=_aef .MakeDict ();_fcdea .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0050\u0061\u0067e\u0073"));_baeeca :=_aef .PdfObjectArray {};_fcdea .Set ("\u004b\u0069\u0064\u0073",&_baeeca );_fcdea .Set ("\u0043\u006f\u0075n\u0074",_aef .MakeInteger (0));_dffafb .PdfObject =_fcdea ;_fadab ._gacae =&_dffafb ;_fadab ._cggg =map[_aef .PdfObject ]struct{}{};_fadab .addObject (_fadab ._gacae );_aadgb .Set ("\u0050\u0061\u0067e\u0073",&_dffafb );_fadab ._abebc =_aadgb ;_abe .Log .Trace ("\u0043\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0025\u0073",_fcga );return _fadab ;};
|
||
|
||
// XObjectType represents the type of an XObject.
|
||
type XObjectType int ;func _aedcd (_dgfa _aef .PdfObject )(*PdfColorspaceSpecialIndexed ,error ){_edbgb :=NewPdfColorspaceSpecialIndexed ();if _cege ,_aebdb :=_dgfa .(*_aef .PdfIndirectObject );_aebdb {_edbgb ._aeca =_cege ;};_dgfa =_aef .TraceToDirectObject (_dgfa );_bdcd ,_bbfd :=_dgfa .(*_aef .PdfObjectArray );if !_bbfd {return nil ,_b .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bdcd .Len ()!=4{return nil ,_b .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");};_dgfa =_bdcd .Get (0);_cada ,_bbfd :=_dgfa .(*_aef .PdfObjectName );if !_bbfd {return nil ,_b .Errorf ("\u0069n\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};if *_cada !="\u0049n\u0064\u0065\u0078\u0065\u0064"{return nil ,_b .Errorf ("\u0069\u006e\u0064\u0065xe\u0064\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u006e\u0061m\u0065");};_dgfa =_bdcd .Get (1);_abab ,_daaa :=DetermineColorspaceNameFromPdfObject (_dgfa );if _daaa !=nil {return nil ,_daaa ;};if _abab =="\u0049n\u0064\u0065\u0078\u0065\u0064"||_abab =="\u0050a\u0074\u0074\u0065\u0072\u006e"{_abe .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",_abab );return nil ,_cbcgg ;};_dcdbe ,_daaa :=NewPdfColorspaceFromPdfObject (_dgfa );if _daaa !=nil {return nil ,_daaa ;};_edbgb .Base =_dcdbe ;_dgfa =_bdcd .Get (2);_cadd ,_daaa :=_aef .GetNumberAsInt64 (_dgfa );if _daaa !=nil {return nil ,_daaa ;};if _cadd > 255{return nil ,_b .Errorf ("\u0069n\u0064\u0065\u0078\u0065d\u0020\u0043\u0053\u003a\u0020I\u006ev\u0061l\u0069\u0064\u0020\u0068\u0069\u0076\u0061l");};_edbgb .HiVal =int (_cadd );_dgfa =_bdcd .Get (3);_edbgb .Lookup =_dgfa ;_dgfa =_aef .TraceToDirectObject (_dgfa );var _eabb []byte ;if _fadd ,_adaa :=_dgfa .(*_aef .PdfObjectString );_adaa {_eabb =_fadd .Bytes ();_abe .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",_eabb );}else if _faecc ,_faagc :=_dgfa .(*_aef .PdfObjectStream );_faagc {_abe .Log .Trace ("\u0049n\u0064e\u0078\u0065\u0064\u0020\u0073t\u0072\u0065a\u006d\u003a\u0020\u0025\u0073",_dgfa .String ());_abe .Log .Trace ("\u0045\u006e\u0063\u006fde\u0064\u0020\u0028\u0025\u0064\u0029\u0020\u003a\u0020\u0025\u0023\u0020\u0078",len (_faecc .Stream ),_faecc .Stream );_ebaf ,_ddeg :=_aef .DecodeStream (_faecc );if _ddeg !=nil {return nil ,_ddeg ;};_abe .Log .Trace ("\u0044e\u0063o\u0064\u0065\u0064\u0020\u0028%\u0064\u0029 \u003a\u0020\u0025\u0020\u0058",len (_ebaf ),_ebaf );_eabb =_ebaf ;}else {_abe .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_dgfa );return nil ,_b .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 (_eabb )< _edbgb .Base .GetNumComponents ()*(_edbgb .HiVal +1){_abe .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");_abe .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 (_eabb ),_edbgb .Base .GetNumComponents (),_edbgb .HiVal );}else {_eabb =_eabb [:_edbgb .Base .GetNumComponents ()*(_edbgb .HiVal +1)];};_edbgb ._abea =_eabb ;return _edbgb ,nil ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_aaceb *pdfFontSimple )Encoder ()_be .TextEncoder {if _aaceb ._bcbge !=nil {return _aaceb ._bcbge ;};if _aaceb ._gbee !=nil {return _aaceb ._gbee ;};_egdbd ,_ :=_be .NewSimpleTextEncoder ("\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",nil );return _egdbd ;};func _cbgdcg (_adaaf *_gb .ImageBase )(_bcga Image ){_bcga .Width =int64 (_adaaf .Width );_bcga .Height =int64 (_adaaf .Height );_bcga .BitsPerComponent =int64 (_adaaf .BitsPerComponent );_bcga .ColorComponents =_adaaf .ColorComponents ;_bcga .Data =_adaaf .Data ;_bcga ._fgafa =_adaaf .Decode ;_bcga ._afge =_adaaf .Alpha ;return _bcga ;};func _cfecc (_cbcd []byte )[]byte {const _bcba =52845;const _fgad =22719;_feab :=55665;for _ ,_acbe :=range _cbcd [:4]{_feab =(int (_acbe )+_feab )*_bcba +_fgad ;};_dabef :=make ([]byte ,len (_cbcd )-4);for _abggc ,_baaf :=range _cbcd [4:]{_dabef [_abggc ]=byte (int (_baaf )^_feab >>8);_feab =(int (_baaf )+_feab )*_bcba +_fgad ;};return _dabef ;};func (_dcad *LTV )buildCertChain (_bgdf ,_fbdbcg []*_c .Certificate )([]*_c .Certificate ,map[string ]*_c .Certificate ,error ){_fbdcg :=map[string ]*_c .Certificate {};for _ ,_cecae :=range _bgdf {_fbdcg [_cecae .Subject .CommonName ]=_cecae ;};_fdcd :=_bgdf ;for _ ,_gcffe :=range _fbdbcg {_gdgfe :=_gcffe .Subject .CommonName ;if _ ,_bggfg :=_fbdcg [_gdgfe ];_bggfg {continue ;};_fbdcg [_gdgfe ]=_gcffe ;_fdcd =append (_fdcd ,_gcffe );};if len (_fdcd )==0{return nil ,nil ,ErrSignNoCertificates ;};var _gbcba error ;for _cfcc :=_fdcd [0];_cfcc !=nil &&!_dcad .CertClient .IsCA (_cfcc );{_ffgfb ,_addg :=_fbdcg [_cfcc .Issuer .CommonName ];if !_addg {if _ffgfb ,_gbcba =_dcad .CertClient .GetIssuer (_cfcc );_gbcba !=nil {_abe .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0043\u006f\u0075\u006cd\u0020\u006e\u006f\u0074\u0020\u0072\u0065tr\u0069\u0065\u0076\u0065 \u0063\u0065\u0072\u0074\u0069\u0066\u0069\u0063\u0061te\u0020\u0069s\u0073\u0075\u0065\u0072\u003a\u0020\u0025\u0076",_gbcba );break ;};_fbdcg [_cfcc .Issuer .CommonName ]=_ffgfb ;_fdcd =append (_fdcd ,_ffgfb );};_cfcc =_ffgfb ;};return _fdcd ,_fbdcg ,nil ;};
|
||
|
||
// ContentStreamWrapper wraps the Page's contentstream into q ... Q blocks.
|
||
type ContentStreamWrapper interface{WrapContentStream (_eege *PdfPage )error ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_dcfgd pdfCIDFontType2 )Encoder ()_be .TextEncoder {return _dcfgd ._gdfaa };
|
||
|
||
// ImageToRGB converts an image in CMYK32 colorspace to an RGB image.
|
||
func (_fagd *PdfColorspaceDeviceCMYK )ImageToRGB (img Image )(Image ,error ){_abe .Log .Trace ("\u0043\u004d\u0059\u004b\u0033\u0032\u0020\u002d\u003e\u0020\u0052\u0047\u0042");_abe .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 );_abe .Log .Trace ("\u004c\u0065\u006e \u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0064",len (img .Data ));_abe .Log .Trace ("H\u0065\u0069\u0067\u0068t:\u0020%\u0064\u002c\u0020\u0057\u0069d\u0074\u0068\u003a\u0020\u0025\u0064",img .Height ,img .Width );_cbeb ,_cdce :=_gb .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._afge ,img ._fgafa );if _cdce !=nil {return Image {},_cdce ;};_cgda ,_cdce :=_gb .NRGBAConverter .Convert (_cbeb );if _cdce !=nil {return Image {},_cdce ;};return _cbgdcg (_cgda .Base ()),nil ;};
|
||
|
||
// Enable LTV enables the specified signature. The signing certificate
|
||
// chain is extracted from the signature dictionary. Optionally, additional
|
||
// certificates can be specified through the `extraCerts` parameter.
|
||
// The LTV client attempts to build the certificate chain up to a trusted root
|
||
// by downloading any missing certificates.
|
||
func (_aaag *LTV )Enable (sig *PdfSignature ,extraCerts []*_c .Certificate )error {if _dfeg :=_aaag .validateSig (sig );_dfeg !=nil {return _dfeg ;};_bffdd ,_ebfbe :=_aaag .generateVRIKey (sig );if _ebfbe !=nil {return _ebfbe ;};if _ ,_gbgeg :=_aaag ._cbcf .VRI [_bffdd ];_gbgeg &&_aaag .SkipExisting {return nil ;};_cedfc ,_ebfbe :=sig .GetCerts ();if _ebfbe !=nil {return _ebfbe ;};return _aaag .enable (_cedfc ,extraCerts ,_bffdd );};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_bccc *PdfColorspaceSpecialIndexed )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};N :=_bccc .Base .GetNumComponents ();_cefeb :=int (vals [0])*N ;if _cefeb < 0||(_cefeb +N -1)>=len (_bccc ._abea ){return nil ,_fa .New ("\u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065");};_cfd :=_bccc ._abea [_cefeb :_cefeb +N ];var _fagb []float64 ;for _ ,_dccaa :=range _cfd {_fagb =append (_fagb ,float64 (_dccaa )/255.0);};_bafdd ,_eadb :=_bccc .Base .ColorFromFloats (_fagb );if _eadb !=nil {return nil ,_eadb ;};return _bafdd ,nil ;};func (_aacg *PdfReader )newPdfAnnotationLineFromDict (_agdd *_aef .PdfObjectDictionary )(*PdfAnnotationLine ,error ){_fced :=PdfAnnotationLine {};_ecac ,_fda :=_aacg .newPdfAnnotationMarkupFromDict (_agdd );if _fda !=nil {return nil ,_fda ;};_fced .PdfAnnotationMarkup =_ecac ;_fced .L =_agdd .Get ("\u004c");_fced .BS =_agdd .Get ("\u0042\u0053");_fced .LE =_agdd .Get ("\u004c\u0045");_fced .IC =_agdd .Get ("\u0049\u0043");_fced .LL =_agdd .Get ("\u004c\u004c");_fced .LLE =_agdd .Get ("\u004c\u004c\u0045");_fced .Cap =_agdd .Get ("\u0043\u0061\u0070");_fced .IT =_agdd .Get ("\u0049\u0054");_fced .LLO =_agdd .Get ("\u004c\u004c\u004f");_fced .CP =_agdd .Get ("\u0043\u0050");_fced .Measure =_agdd .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");_fced .CO =_agdd .Get ("\u0043\u004f");return &_fced ,nil ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_cdadb *PdfFunctionType3 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_abe .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return nil ,_fa .New ("\u006e\u006f\u0074\u0020im\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0079\u0065\u0074");};
|
||
|
||
// 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 (_cgbga *PdfReader )AcroFormNeedsRepair ()(bool ,error ){var _efab []*PdfField ;if _cgbga .AcroForm !=nil {_efab =_cgbga .AcroForm .AllFields ();};_abffg :=make (map[*PdfField ]struct{},len (_efab ));for _ ,_facfb :=range _efab {_abffg [_facfb ]=struct{}{};};for _ ,_bfbdb :=range _cgbga .PageList {_dcfgb ,_dddb :=_bfbdb .GetAnnotations ();if _dddb !=nil {return false ,_dddb ;};for _ ,_afggf :=range _dcfgb {_ccefc ,_baed :=_afggf .GetContext ().(*PdfAnnotationWidget );if !_baed {continue ;};_dgaff :=_ccefc .Field ();if _dgaff ==nil {return true ,nil ;};if _ ,_cfgge :=_abffg [_dgaff ];!_cfgge {return true ,nil ;};};};return false ,nil ;};
|
||
|
||
// ToGray returns a PdfColorDeviceGray color based on the current RGB color.
|
||
func (_gcdg *PdfColorDeviceRGB )ToGray ()*PdfColorDeviceGray {_fbdg :=0.3*_gcdg .R ()+0.59*_gcdg .G ()+0.11*_gcdg .B ();_fbdg =_ad .Min (_ad .Max (_fbdg ,0.0),1.0);return NewPdfColorDeviceGray (_fbdg );};func (_aeggb *PdfReader )resolveReference (_gfabe *_aef .PdfObjectReference )(_aef .PdfObject ,bool ,error ){_cdaee ,_gadba :=_aeggb ._gdbbd .ObjCache [int (_gfabe .ObjectNumber )];if !_gadba {_abe .Log .Trace ("R\u0065\u0061\u0064\u0065r \u004co\u006f\u006b\u0075\u0070\u0020r\u0065\u0066\u003a\u0020\u0025\u0073",_gfabe );_aagf ,_cbccb :=_aeggb ._gdbbd .LookupByReference (*_gfabe );if _cbccb !=nil {return nil ,false ,_cbccb ;};_aeggb ._gdbbd .ObjCache [int (_gfabe .ObjectNumber )]=_aagf ;return _aagf ,false ,nil ;};return _cdaee ,true ,nil ;};
|
||
|
||
// 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 ;_deaga *_aef .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the tiling pattern.
|
||
func (_aafee *PdfTilingPattern )ToPdfObject ()_aef .PdfObject {_aafee .PdfPattern .ToPdfObject ();_fdgde :=_aafee .getDict ();if _aafee .PaintType !=nil {_fdgde .Set ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e",_aafee .PaintType );};if _aafee .TilingType !=nil {_fdgde .Set ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_aafee .TilingType );};if _aafee .BBox !=nil {_fdgde .Set ("\u0042\u0042\u006f\u0078",_aafee .BBox .ToPdfObject ());};if _aafee .XStep !=nil {_fdgde .Set ("\u0058\u0053\u0074e\u0070",_aafee .XStep );};if _aafee .YStep !=nil {_fdgde .Set ("\u0059\u0053\u0074e\u0070",_aafee .YStep );};if _aafee .Resources !=nil {_fdgde .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_aafee .Resources .ToPdfObject ());};if _aafee .Matrix !=nil {_fdgde .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_aafee .Matrix );};return _aafee ._fgbcde ;};
|
||
|
||
// ToPdfOutline returns a low level PdfOutline object, based on the current
|
||
// instance.
|
||
func (_cfdf *Outline )ToPdfOutline ()*PdfOutline {_edcbg :=NewPdfOutline ();var _cacfc []*PdfOutlineItem ;var _edacad int64 ;var _aebfc *PdfOutlineItem ;for _ ,_fgebe :=range _cfdf .Entries {_bcgc ,_gaagf :=_fgebe .ToPdfOutlineItem ();_bcgc .Parent =&_edcbg .PdfOutlineTreeNode ;if _aebfc !=nil {_aebfc .Next =&_bcgc .PdfOutlineTreeNode ;_bcgc .Prev =&_aebfc .PdfOutlineTreeNode ;};_cacfc =append (_cacfc ,_bcgc );_edacad +=_gaagf ;_aebfc =_bcgc ;};_deedd :=int64 (len (_cacfc ));_edacad +=_deedd ;if _deedd > 0{_edcbg .First =&_cacfc [0].PdfOutlineTreeNode ;_edcbg .Last =&_cacfc [_deedd -1].PdfOutlineTreeNode ;_edcbg .Count =&_edacad ;};return _edcbg ;};
|
||
|
||
// String returns a string describing the font descriptor.
|
||
func (_eebccc *PdfFontDescriptor )String ()string {var _edace []string ;if _eebccc .FontName !=nil {_edace =append (_edace ,_eebccc .FontName .String ());};if _eebccc .FontFamily !=nil {_edace =append (_edace ,_eebccc .FontFamily .String ());};if _eebccc .fontFile !=nil {_edace =append (_edace ,_eebccc .fontFile .String ());};if _eebccc ._gffcb !=nil {_edace =append (_edace ,_eebccc ._gffcb .String ());};_edace =append (_edace ,_b .Sprintf ("\u0046\u006f\u006et\u0046\u0069\u006c\u0065\u0033\u003d\u0025\u0074",_eebccc .FontFile3 !=nil ));return _b .Sprintf ("\u0046\u004f\u004e\u0054_D\u0045\u0053\u0043\u0052\u0049\u0050\u0054\u004f\u0052\u007b\u0025\u0073\u007d",_dg .Join (_edace ,"\u002c\u0020"));};
|
||
|
||
// PdfAnnotationLink represents Link annotations.
|
||
// (Section 12.5.6.5 p. 403).
|
||
type PdfAnnotationLink struct{*PdfAnnotation ;A _aef .PdfObject ;Dest _aef .PdfObject ;H _aef .PdfObject ;PA _aef .PdfObject ;QuadPoints _aef .PdfObject ;BS _aef .PdfObject ;_faec *PdfAction ;_cfa *PdfReader ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_aaddc *Outline )Items ()[]*OutlineItem {return _aaddc .Entries };func (_bdgab *LTV )getOCSPs (_adcg []*_c .Certificate ,_egfaa map[string ]*_c .Certificate )([][]byte ,error ){_ggde :=make ([][]byte ,0,len (_adcg ));for _ ,_baaggf :=range _adcg {for _ ,_aaec :=range _baaggf .OCSPServer {if _bdgab .CertClient .IsCA (_baaggf ){continue ;};_ccded ,_deged :=_egfaa [_baaggf .Issuer .CommonName ];if !_deged {_abe .Log .Debug ("\u0057\u0041\u0052\u004e:\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067 \u004f\u0043\u0053\u0050\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u003a\u0020\u0069\u0073\u0073\u0075e\u0072\u0020\u0063\u0065\u0072t\u0069\u0066\u0069\u0063\u0061\u0074\u0065\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");continue ;};_ ,_ccdda ,_abfaf :=_bdgab .OCSPClient .MakeRequest (_aaec ,_baaggf ,_ccded );if _abfaf !=nil {_abe .Log .Debug ("\u0057\u0041\u0052\u004e:\u0020\u004f\u0043\u0053\u0050\u0020\u0072\u0065\u0071\u0075e\u0073t\u0020\u0065\u0072\u0072\u006f\u0072\u003a \u0025\u0076",_abfaf );continue ;};_ggde =append (_ggde ,_ccdda );};};return _ggde ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_agb *PdfAnnotationSound )ToPdfObject ()_aef .PdfObject {_agb .PdfAnnotation .ToPdfObject ();_aag :=_agb ._edc ;_cefe :=_aag .PdfObject .(*_aef .PdfObjectDictionary );_agb .PdfAnnotationMarkup .appendToPdfDictionary (_cefe );_cefe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053\u006f\u0075n\u0064"));_cefe .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_agb .Sound );_cefe .SetIfNotNil ("\u004e\u0061\u006d\u0065",_agb .Name );return _aag ;};func (_beae *fontFile )loadFromSegments (_ffebd ,_ecdae []byte )error {_abe .Log .Trace ("\u006c\u006f\u0061dF\u0072\u006f\u006d\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u0020\u0025\u0064",len (_ffebd ),len (_ecdae ));_befb :=_beae .parseASCIIPart (_ffebd );if _befb !=nil {return _befb ;};_abe .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_beae );if len (_ecdae )==0{return nil ;};_abe .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_beae );return nil ;};func (_fbfdf *pdfCIDFontType2 )baseFields ()*fontCommon {return &_fbfdf .fontCommon };func (_bbaa *DSS )generateHashMap (_gbed []*_aef .PdfObjectStream )(map[string ]*_aef .PdfObjectStream ,error ){_gfcb :=map[string ]*_aef .PdfObjectStream {};for _ ,_ffef :=range _gbed {_agaa ,_ebdb :=_aef .DecodeStream (_ffef );if _ebdb !=nil {return nil ,_ebdb ;};_bbbf ,_ebdb :=_daed (_agaa );if _ebdb !=nil {return nil ,_ebdb ;};_gfcb [string (_bbbf )]=_ffef ;};return _gfcb ,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 *_aef .PdfObjectStream ;Data []byte ;_fcabc *_aef .PdfIndirectObject ;_bcdc *_aef .PdfObjectStream ;};
|
||
|
||
// DecodeArray returns an empty slice as there are no components associated with pattern colorspace.
|
||
func (_abcde *PdfColorspaceSpecialPattern )DecodeArray ()[]float64 {return []float64 {}};
|
||
|
||
// ToPdfObject converts the pdfFontSimple to its PDF representation for outputting.
|
||
func (_begg *pdfFontSimple )ToPdfObject ()_aef .PdfObject {if _begg ._bcabb ==nil {_begg ._bcabb =&_aef .PdfIndirectObject {};};_abff :=_begg .baseFields ().asPdfObjectDictionary ("");_begg ._bcabb .PdfObject =_abff ;if _begg .FirstChar !=nil {_abff .Set ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r",_begg .FirstChar );};if _begg .LastChar !=nil {_abff .Set ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072",_begg .LastChar );};if _begg .Widths !=nil {_abff .Set ("\u0057\u0069\u0064\u0074\u0068\u0073",_begg .Widths );};if _begg .Encoding !=nil {_abff .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_begg .Encoding );}else if _begg ._bcbge !=nil {_cgddg :=_begg ._bcbge .ToPdfObject ();if _cgddg !=nil {_abff .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_cgddg );};};return _begg ._bcabb ;};
|
||
|
||
// 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 _gfc .ReadSeeker )(*PdfReader ,error ){_eafdg :=&PdfReader {_cced :rs ,_cadgb :map[_aef .PdfObject ]struct{}{},_fggbd :_beed (),_afae :false };_cddbe ,_cdffe :=_aef .NewParser (rs );if _cdffe !=nil {return nil ,_cdffe ;};_eafdg ._gdbbd =_cddbe ;_dgeab ,_cdffe :=_eafdg .IsEncrypted ();if _cdffe !=nil {return nil ,_cdffe ;};if !_dgeab {_cdffe =_eafdg .loadStructure ();if _cdffe !=nil {return nil ,_cdffe ;};};return _eafdg ,nil ;};
|
||
|
||
// NewPdfActionGoTo returns a new "go to" action.
|
||
func NewPdfActionGoTo ()*PdfActionGoTo {_cd :=NewPdfAction ();_fag :=&PdfActionGoTo {};_fag .PdfAction =_cd ;_cd .SetContext (_fag );return _fag ;};
|
||
|
||
// EnableAll LTV enables all signatures in the PDF document.
|
||
// The signing certificate chain is extracted from each signature dictionary.
|
||
// Optionally, additional certificates can be specified through the
|
||
// `extraCerts` parameter. The LTV client attempts to build the certificate
|
||
// chain up to a trusted root by downloading any missing certificates.
|
||
func (_gfebc *LTV )EnableAll (extraCerts []*_c .Certificate )error {_ggbfe :=_gfebc ._bdabf ._fdd .AcroForm ;for _ ,_cbcde :=range _ggbfe .AllFields (){_fgeb ,_ :=_cbcde .GetContext ().(*PdfFieldSignature );if _fgeb ==nil {continue ;};_fccd :=_fgeb .V ;if _facga :=_gfebc .validateSig (_fccd );_facga !=nil {_abe .Log .Debug ("\u0057\u0041\u0052N\u003a\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020f\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u0076",_facga );};if _cfeaf :=_gfebc .Enable (_fccd ,extraCerts );_cfeaf !=nil {return _cfeaf ;};};return nil ;};
|
||
|
||
// PdfActionResetForm represents a resetForm action.
|
||
type PdfActionResetForm struct{*PdfAction ;Fields _aef .PdfObject ;Flags _aef .PdfObject ;};
|
||
|
||
// NewPdfPage returns a new PDF page.
|
||
func NewPdfPage ()*PdfPage {_gddg :=PdfPage {};_gddg ._cbefa =_aef .MakeDict ();_gddg .Resources =NewPdfPageResources ();_efgag :=_aef .PdfIndirectObject {};_efgag .PdfObject =_gddg ._cbefa ;_gddg ._gfbbf =&_efgag ;return &_gddg ;};
|
||
|
||
// PdfActionJavaScript represents a javaScript action.
|
||
type PdfActionJavaScript struct{*PdfAction ;JS _aef .PdfObject ;};
|
||
|
||
// GetAlphabet returns a map of the runes in `text` and their frequencies.
|
||
func GetAlphabet (text string )map[rune ]int {_ccbb :=map[rune ]int {};for _ ,_caddb :=range text {_ccbb [_caddb ]++;};return _ccbb ;};func _eaac (_fcbbb *_aef .PdfObjectDictionary )(*PdfShadingPattern ,error ){_gfddca :=&PdfShadingPattern {};_dbecb :=_fcbbb .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");if _dbecb ==nil {_abe .Log .Debug ("\u0053h\u0061d\u0069\u006e\u0067\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gaec ,_afdg :=_cbdfa (_dbecb );if _afdg !=nil {_abe .Log .Debug ("\u0045r\u0072\u006f\u0072\u0020l\u006f\u0061\u0064\u0069\u006eg\u0020s\u0068a\u0064\u0069\u006e\u0067\u003a\u0020\u0025v",_afdg );return nil ,_afdg ;};_gfddca .Shading =_gaec ;if _babbd :=_fcbbb .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_babbd !=nil {_aadb ,_fdafa :=_babbd .(*_aef .PdfObjectArray );if !_fdafa {_abe .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",_babbd );return nil ,_aef .ErrTypeError ;};_gfddca .Matrix =_aadb ;};if _cdbac :=_fcbbb .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_cdbac !=nil {_gfddca .ExtGState =_cdbac ;};return _gfddca ,nil ;};
|
||
|
||
// IsTiling specifies if the pattern is a tiling pattern.
|
||
func (_befdg *PdfPattern )IsTiling ()bool {return _befdg .PatternType ==1};type crossReference struct{Type int ;
|
||
|
||
// Type 1
|
||
Offset int64 ;Generation int64 ;
|
||
|
||
// Type 2
|
||
ObjectNumber int ;Index int ;};
|
||
|
||
// 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 ){_fbedg ,_eadg :=_gf .Open (filePath );if _eadg !=nil {_abe .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",_eadg );return nil ,_eadg ;};defer _fbedg .Close ();return NewPdfFontFromTTF (_fbedg );};
|
||
|
||
// 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 (_agga PdfColor )(PdfColor ,error );
|
||
|
||
// GetNumComponents returns the number of components in the PdfColorspace.
|
||
GetNumComponents ()int ;
|
||
|
||
// ToPdfObject returns a PdfObject representation of the PdfColorspace.
|
||
ToPdfObject ()_aef .PdfObject ;
|
||
|
||
// ColorFromPdfObjects returns a PdfColor in the given PdfColorspace from an array of PdfObject where each
|
||
// PdfObject represents a numeric value.
|
||
ColorFromPdfObjects (_ffgf []_aef .PdfObject )(PdfColor ,error );
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components for a given PdfColorspace.
|
||
ColorFromFloats (_gbdb []float64 )(PdfColor ,error );
|
||
|
||
// DecodeArray returns the Decode array for the PdfColorSpace, i.e. the range of each component.
|
||
DecodeArray ()[]float64 ;};
|
||
|
||
// NewGrayImageFromGoImage creates a new grayscale unidoc Image from a golang Image.
|
||
func (_cfgg DefaultImageHandler )NewGrayImageFromGoImage (goimg _ae .Image )(*Image ,error ){_adca :=goimg .Bounds ();_egdaa :=&Image {Width :int64 (_adca .Dx ()),Height :int64 (_adca .Dy ()),ColorComponents :1,BitsPerComponent :8};switch _ebcae :=goimg .(type ){case *_ae .Gray :if len (_ebcae .Pix )!=_adca .Dx ()*_adca .Dy (){_bedeb ,_feae :=_gb .GrayConverter .Convert (goimg );if _feae !=nil {return nil ,_feae ;};_egdaa .Data =_bedeb .Pix ();}else {_egdaa .Data =_ebcae .Pix ;};case *_ae .Gray16 :_egdaa .BitsPerComponent =16;if len (_ebcae .Pix )!=_adca .Dx ()*_adca .Dy ()*2{_afbd ,_cdfd :=_gb .Gray16Converter .Convert (goimg );if _cdfd !=nil {return nil ,_cdfd ;};_egdaa .Data =_afbd .Pix ();}else {_egdaa .Data =_ebcae .Pix ;};default:_bdafc ,_addeg :=_gb .GrayConverter .Convert (goimg );if _addeg !=nil {return nil ,_addeg ;};_egdaa .Data =_bdafc .Pix ();};return _egdaa ,nil ;};func (_agdb *PdfReader )newPdfAnnotationMarkupFromDict (_afgg *_aef .PdfObjectDictionary )(*PdfAnnotationMarkup ,error ){_cdcg :=&PdfAnnotationMarkup {};if _bgg :=_afgg .Get ("\u0054");_bgg !=nil {_cdcg .T =_bgg ;};if _bag :=_afgg .Get ("\u0050\u006f\u0070u\u0070");_bag !=nil {_dfa ,_abgb :=_bag .(*_aef .PdfIndirectObject );if !_abgb {if _ ,_dge :=_bag .(*_aef .PdfObjectNull );!_dge {return nil ,_fa .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 {_eegg ,_gaac :=_agdb .newPdfAnnotationFromIndirectObject (_dfa );if _gaac !=nil {return nil ,_gaac ;};if _eegg !=nil {_efcd ,_bagf :=_eegg ._eab .(*PdfAnnotationPopup );if !_bagf {return nil ,_fa .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");};_cdcg .Popup =_efcd ;};};};if _ddcf :=_afgg .Get ("\u0043\u0041");_ddcf !=nil {_cdcg .CA =_ddcf ;};if _dbbd :=_afgg .Get ("\u0052\u0043");_dbbd !=nil {_cdcg .RC =_dbbd ;};if _aedg :=_afgg .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065");_aedg !=nil {_cdcg .CreationDate =_aedg ;};if _bef :=_afgg .Get ("\u0049\u0052\u0054");_bef !=nil {_cdcg .IRT =_bef ;};if _becec :=_afgg .Get ("\u0053\u0075\u0062\u006a");_becec !=nil {_cdcg .Subj =_becec ;};if _eggd :=_afgg .Get ("\u0052\u0054");_eggd !=nil {_cdcg .RT =_eggd ;};if _bacg :=_afgg .Get ("\u0049\u0054");_bacg !=nil {_cdcg .IT =_bacg ;};if _dac :=_afgg .Get ("\u0045\u0078\u0044\u0061\u0074\u0061");_dac !=nil {_cdcg .ExData =_dac ;};return _cdcg ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline (indirect object).
|
||
func (_bfbg *PdfOutline )GetContainingPdfObject ()_aef .PdfObject {return _bfbg ._bcbc };func _feefg (_agcd *_aef .PdfObjectDictionary )(*PdfShadingType5 ,error ){_gdgd :=PdfShadingType5 {};_gfaec :=_agcd .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _gfaec ==nil {_abe .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 ;};_cefda ,_afbbec :=_gfaec .(*_aef .PdfObjectInteger );if !_afbbec {_abe .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",_gfaec );return nil ,_aef .ErrTypeError ;};_gdgd .BitsPerCoordinate =_cefda ;_gfaec =_agcd .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _gfaec ==nil {_abe .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 ;};_cefda ,_afbbec =_gfaec .(*_aef .PdfObjectInteger );if !_afbbec {_abe .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",_gfaec );return nil ,_aef .ErrTypeError ;};_gdgd .BitsPerComponent =_cefda ;_gfaec =_agcd .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077");if _gfaec ==nil {_abe .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 ;};_cefda ,_afbbec =_gfaec .(*_aef .PdfObjectInteger );if !_afbbec {_abe .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",_gfaec );return nil ,_aef .ErrTypeError ;};_gdgd .VerticesPerRow =_cefda ;_gfaec =_agcd .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _gfaec ==nil {_abe .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 ;};_acefe ,_afbbec :=_gfaec .(*_aef .PdfObjectArray );if !_afbbec {_abe .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",_gfaec );return nil ,_aef .ErrTypeError ;};_gdgd .Decode =_acefe ;if _febca :=_agcd .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_febca !=nil {_gdgd .Function =[]PdfFunction {};if _gfcdc ,_aaefc :=_febca .(*_aef .PdfObjectArray );_aaefc {for _ ,_fgec :=range _gfcdc .Elements (){_cbff ,_ddffa :=_begb (_fgec );if _ddffa !=nil {_abe .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",_ddffa );return nil ,_ddffa ;};_gdgd .Function =append (_gdgd .Function ,_cbff );};}else {_fead ,_dbdgc :=_begb (_febca );if _dbdgc !=nil {_abe .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",_dbdgc );return nil ,_dbdgc ;};_gdgd .Function =append (_gdgd .Function ,_fead );};};return &_gdgd ,nil ;};func (_gbg *PdfReader )newPdfAnnotationPrinterMarkFromDict (_bfcbg *_aef .PdfObjectDictionary )(*PdfAnnotationPrinterMark ,error ){_gaab :=PdfAnnotationPrinterMark {};_gaab .MN =_bfcbg .Get ("\u004d\u004e");return &_gaab ,nil ;};
|
||
|
||
// Insert adds an outline item as a child of the current outline item,
|
||
// at the specified index.
|
||
func (_gaeag *OutlineItem )Insert (index uint ,item *OutlineItem ){_gdfce :=uint (len (_gaeag .Entries ));if index > _gdfce {index =_gdfce ;};_gaeag .Entries =append (_gaeag .Entries [:index ],append ([]*OutlineItem {item },_gaeag .Entries [index :]...)...);};func (_aeee *PdfReader )loadForms ()(*PdfAcroForm ,error ){if _aeee ._gdbbd .GetCrypter ()!=nil &&!_aeee ._gdbbd .IsAuthenticated (){return nil ,_b .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");};_aaggbe :=_aeee ._acae ;_gfadd :=_aaggbe .Get ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d");if _gfadd ==nil {return nil ,nil ;};_eafge ,_ :=_aef .GetIndirect (_gfadd );_gfadd =_aef .TraceToDirectObject (_gfadd );if _aef .IsNullObject (_gfadd ){_abe .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 ;};_aabafa ,_agca :=_aef .GetDict (_gfadd );if !_agca {_abe .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069d\u0020\u0041\u0063\u0072\u006fF\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_gfadd );_abe .Log .Debug ("\u0044\u006f\u0065\u0073 n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0066\u006f\u0072\u006d\u0073");return nil ,_b .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0061\u0063\u0072\u006ff\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_gfadd );};_abe .Log .Trace ("\u0048\u0061\u0073\u0020\u0041\u0063\u0072\u006f\u0020f\u006f\u0072\u006d\u0073");_abe .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 !_aeee ._afae {_bcbcc :=_aeee .traverseObjectData (_aabafa );if _bcbcc !=nil {_abe .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",_bcbcc );return nil ,_bcbcc ;};};_bceg ,_badbe :=_aeee .newPdfAcroFormFromDict (_eafge ,_aabafa );if _badbe !=nil {return nil ,_badbe ;};return _bceg ,nil ;};func (_ebgfd *PdfWriter )hasObject (_becfc _aef .PdfObject )bool {_ ,_deadb :=_ebgfd ._cafea [_becfc ];return _deadb ;};func _afgd (_aff _aef .PdfObject )(*PdfColorspaceLab ,error ){_effea :=NewPdfColorspaceLab ();if _agde ,_becgb :=_aff .(*_aef .PdfIndirectObject );_becgb {_effea ._aagb =_agde ;};_aff =_aef .TraceToDirectObject (_aff );_aaad ,_dcac :=_aff .(*_aef .PdfObjectArray );if !_dcac {return nil ,_b .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _aaad .Len ()!=2{return nil ,_b .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_aff =_aef .TraceToDirectObject (_aaad .Get (0));_dfe ,_dcac :=_aff .(*_aef .PdfObjectName );if !_dcac {return nil ,_b .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 *_dfe !="\u004c\u0061\u0062"{return nil ,_b .Errorf ("n\u006ft\u0020\u0061\u0020\u004c\u0061\u0062\u0020\u0063o\u006c\u006f\u0072\u0073pa\u0063\u0065");};_aff =_aef .TraceToDirectObject (_aaad .Get (1));_gceb ,_dcac :=_aff .(*_aef .PdfObjectDictionary );if !_dcac {return nil ,_b .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");};_aff =_gceb .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_aff =_aef .TraceToDirectObject (_aff );_dgag ,_dcac :=_aff .(*_aef .PdfObjectArray );if !_dcac {return nil ,_b .Errorf ("\u004c\u0061\u0062\u0020In\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069n\u0074");};if _dgag .Len ()!=3{return nil ,_b .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");};_caae ,_abac :=_dgag .GetAsFloat64Slice ();if _abac !=nil {return nil ,_abac ;};_effea .WhitePoint =_caae ;_aff =_gceb .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _aff !=nil {_aff =_aef .TraceToDirectObject (_aff );_bcdf ,_dedg :=_aff .(*_aef .PdfObjectArray );if !_dedg {return nil ,_b .Errorf ("\u004c\u0061\u0062: \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");};if _bcdf .Len ()!=3{return nil ,_b .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");};_ebbb ,_agbe :=_bcdf .GetAsFloat64Slice ();if _agbe !=nil {return nil ,_agbe ;};_effea .BlackPoint =_ebbb ;};_aff =_gceb .Get ("\u0052\u0061\u006eg\u0065");if _aff !=nil {_aff =_aef .TraceToDirectObject (_aff );_cafg ,_agfc :=_aff .(*_aef .PdfObjectArray );if !_agfc {_abe .Log .Error ("\u0052\u0061n\u0067\u0065\u0020t\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");return nil ,_b .Errorf ("\u004ca\u0062:\u0020\u0054\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cafg .Len ()!=4{_abe .Log .Error ("\u0052\u0061\u006e\u0067\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020e\u0072\u0072\u006f\u0072");return nil ,_b .Errorf ("\u004c\u0061b\u003a\u0020\u0052a\u006e\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_ecdb ,_cbfd :=_cafg .GetAsFloat64Slice ();if _cbfd !=nil {return nil ,_cbfd ;};_effea .Range =_ecdb ;};return _effea ,nil ;};
|
||
|
||
// ToPdfObject converts date to a PDF string object.
|
||
func (_ecbcg *PdfDate )ToPdfObject ()_aef .PdfObject {_ffdfe :=_b .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",_ecbcg ._eacag ,_ecbcg ._bfeaf ,_ecbcg ._cecab ,_ecbcg ._begfg ,_ecbcg ._gdeaef ,_ecbcg ._ebge ,_ecbcg ._bggc ,_ecbcg ._bbccf ,_ecbcg ._debfg );return _aef .MakeString (_ffdfe );};
|
||
|
||
// GetXObjectImageByName returns the XObjectImage with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_gbec *PdfPageResources )GetXObjectImageByName (keyName _aef .PdfObjectName )(*XObjectImage ,error ){_efaf ,_bfgec :=_gbec .GetXObjectByName (keyName );if _efaf ==nil {return nil ,nil ;};if _bfgec !=XObjectTypeImage {return nil ,_fa .New ("\u006e\u006f\u0074 \u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065");};_fdgff ,_cecbg :=NewXObjectImageFromStream (_efaf );if _cecbg !=nil {return nil ,_cecbg ;};return _fdgff ,nil ;};
|
||
|
||
// 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 _gfc .ReadSeeker )(*PdfFont ,error ){_acge ,_bcee :=_eba .ReadAll (r );if _bcee !=nil {_abe .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",_bcee );return nil ,_bcee ;};_egagc ,_bcee :=_ecf .TtfParse (_cg .NewReader (_acge ));if _bcee !=nil {_abe .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",_bcee );return nil ,_bcee ;};_bgdabg :=&pdfCIDFontType2 {fontCommon :fontCommon {_ababd :"\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"},CIDToGIDMap :_aef .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079")};_aegb :=make ([]rune ,0,len (_egagc .Chars ));for _ebafb :=range _egagc .Chars {_aegb =append (_aegb ,_ebafb );};_eg .Slice (_aegb ,func (_gdfea ,_cedef int )bool {return _aegb [_gdfea ]< _aegb [_cedef ]});_ggddf :=1000.0/float64 (_egagc .UnitsPerEm );if len (_egagc .Widths )<=0{return nil ,_fa .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");};_dbacbb :=_ggddf *float64 (_egagc .Widths [0]);_eebd :=make (map[rune ]int );for _ ,_fggbe :=range _aegb {_ebea :=_egagc .Chars [_fggbe ];_ggafeg :=_ggddf *float64 (_egagc .Widths [_ebea ]);_eebd [_fggbe ]=int (_ggafeg );};_bgdabg ._bffbc =_eebd ;_bgdabg .DW =_aef .MakeInteger (int64 (_dbacbb ));_fdca :=_defag (_aegb ,_eebd ,_egagc .Chars );_bgdabg .W =_aef .MakeIndirectObject (_fdca );_eebfg :=_aef .MakeDict ();_eebfg .Set ("\u004f\u0072\u0064\u0065\u0072\u0069\u006e\u0067",_aef .MakeString ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079"));_eebfg .Set ("\u0052\u0065\u0067\u0069\u0073\u0074\u0072\u0079",_aef .MakeString ("\u0041\u0064\u006fb\u0065"));_eebfg .Set ("\u0053\u0075\u0070\u0070\u006c\u0065\u006d\u0065\u006e\u0074",_aef .MakeInteger (0));_bgdabg .CIDSystemInfo =_eebfg ;_dfef :=&PdfFontDescriptor {FontName :_aef .MakeName (_egagc .PostScriptName ),Ascent :_aef .MakeFloat (_ggddf *float64 (_egagc .TypoAscender )),Descent :_aef .MakeFloat (_ggddf *float64 (_egagc .TypoDescender )),CapHeight :_aef .MakeFloat (_ggddf *float64 (_egagc .CapHeight )),FontBBox :_aef .MakeArrayFromFloats ([]float64 {_ggddf *float64 (_egagc .Xmin ),_ggddf *float64 (_egagc .Ymin ),_ggddf *float64 (_egagc .Xmax ),_ggddf *float64 (_egagc .Ymax )}),ItalicAngle :_aef .MakeFloat (_egagc .ItalicAngle ),MissingWidth :_aef .MakeFloat (_ggddf *float64 (_egagc .Widths [0]))};_decb ,_bcee :=_aef .MakeStream (_acge ,_aef .NewFlateEncoder ());if _bcee !=nil {_abe .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",_bcee );return nil ,_bcee ;};_decb .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_aef .MakeInteger (int64 (len (_acge ))));_dfef .FontFile2 =_decb ;if _egagc .Bold {_dfef .StemV =_aef .MakeInteger (120);}else {_dfef .StemV =_aef .MakeInteger (70);};_edec :=_adfea ;if _egagc .IsFixedPitch {_edec |=_gbfag ;};if _egagc .ItalicAngle !=0{_edec |=_gdfcda ;};_dfef .Flags =_aef .MakeInteger (int64 (_edec ));_bgdabg ._fegdg =_egagc .PostScriptName ;_bgdabg ._bgfd =_dfef ;_cgcfc :=pdfFontType0 {fontCommon :fontCommon {_ababd :"\u0054\u0079\u0070e\u0030",_fegdg :_egagc .PostScriptName },DescendantFont :&PdfFont {_dccga :_bgdabg },Encoding :_aef .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"),_eeag :_egagc .NewEncoder ()};if len (_egagc .Chars )> 0{_dbgd :=make (map[_gg .CharCode ]rune ,len (_egagc .Chars ));for _gbdg ,_gbfcd :=range _egagc .Chars {_ebcc :=_gg .CharCode (_gbfcd );if _efage ,_abdg :=_dbgd [_ebcc ];!_abdg ||(_abdg &&_efage > _gbdg ){_dbgd [_ebcc ]=_gbdg ;};};_cgcfc ._ecefd =_gg .NewToUnicodeCMap (_dbgd );};_ggccf :=PdfFont {_dccga :&_cgcfc };return &_ggccf ,nil ;};var _ _aef .PdfObject =&pdfSignDictionary {};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ada *PdfAnnotationLine )ToPdfObject ()_aef .PdfObject {_ada .PdfAnnotation .ToPdfObject ();_ecfc :=_ada ._edc ;_eaed :=_ecfc .PdfObject .(*_aef .PdfObjectDictionary );_ada .PdfAnnotationMarkup .appendToPdfDictionary (_eaed );_eaed .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u004c\u0069\u006e\u0065"));_eaed .SetIfNotNil ("\u004c",_ada .L );_eaed .SetIfNotNil ("\u0042\u0053",_ada .BS );_eaed .SetIfNotNil ("\u004c\u0045",_ada .LE );_eaed .SetIfNotNil ("\u0049\u0043",_ada .IC );_eaed .SetIfNotNil ("\u004c\u004c",_ada .LL );_eaed .SetIfNotNil ("\u004c\u004c\u0045",_ada .LLE );_eaed .SetIfNotNil ("\u0043\u0061\u0070",_ada .Cap );_eaed .SetIfNotNil ("\u0049\u0054",_ada .IT );_eaed .SetIfNotNil ("\u004c\u004c\u004f",_ada .LLO );_eaed .SetIfNotNil ("\u0043\u0050",_ada .CP );_eaed .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_ada .Measure );_eaed .SetIfNotNil ("\u0043\u004f",_ada .CO );return _ecfc ;};
|
||
|
||
// SetContext sets the sub pattern (context). Either PdfTilingPattern or PdfShadingPattern.
|
||
func (_bgefd *PdfPattern )SetContext (ctx PdfModel ){_bgefd ._dgagc =ctx };func _eebga (_bbdd _aef .PdfObject )(string ,error ){_bbdd =_aef .TraceToDirectObject (_bbdd );switch _ddadg :=_bbdd .(type ){case *_aef .PdfObjectString :return _ddadg .Str (),nil ;case *_aef .PdfObjectStream :_dgde ,_fgdge :=_aef .DecodeStream (_ddadg );if _fgdge !=nil {return "",_fgdge ;};return string (_dgde ),nil ;};return "",_b .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",_bbdd );};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_ddddf *PdfFunctionType2 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_abe .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bgab :=[]float64 {0.0};if _ddddf .C0 !=nil {_bgab =_ddddf .C0 ;};_fedfb :=[]float64 {1.0};if _ddddf .C1 !=nil {_fedfb =_ddddf .C1 ;};var _bbgcc []float64 ;for _gccfg :=0;_gccfg < len (_bgab );_gccfg ++{_fgcge :=_bgab [_gccfg ]+_ad .Pow (x [0],_ddddf .N )*(_fedfb [_gccfg ]-_bgab [_gccfg ]);_bbgcc =append (_bbgcc ,_fgcge );};return _bbgcc ,nil ;};
|
||
|
||
// NewPdfColorCalRGB returns a new CalRBG color.
|
||
func NewPdfColorCalRGB (a ,b ,c float64 )*PdfColorCalRGB {_dbecd :=PdfColorCalRGB {a ,b ,c };return &_dbecd ;};func (_ddfca fontCommon )asPdfObjectDictionary (_cffd string )*_aef .PdfObjectDictionary {if _cffd !=""&&_ddfca ._ababd !=""&&_cffd !=_ddfca ._ababd {_abe .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",_cffd ,_ddfca );}else if _cffd ==""&&_ddfca ._ababd ==""{_abe .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",_ddfca );}else if _ddfca ._ababd ==""{_ddfca ._ababd =_cffd ;};_aeaf :=_aef .MakeDict ();_aeaf .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0046\u006f\u006e\u0074"));_aeaf .Set ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074",_aef .MakeName (_ddfca ._fegdg ));_aeaf .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName (_ddfca ._ababd ));if _ddfca ._bgfd !=nil {_aeaf .Set ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072",_ddfca ._bgfd .ToPdfObject ());};if _ddfca ._ddcbd !=nil {_aeaf .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_ddfca ._ddcbd );}else if _ddfca ._ecefd !=nil {_fdffb ,_efag :=_ddfca ._ecefd .Stream ();if _efag !=nil {_abe .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",_efag );}else {_aeaf .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_fdffb );};};return _aeaf ;};
|
||
|
||
// Width returns the width of `rect`.
|
||
func (_bface *PdfRectangle )Width ()float64 {return _ad .Abs (_bface .Urx -_bface .Llx )};
|
||
|
||
// GetXObjectFormByName returns the XObjectForm with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_cbbc *PdfPageResources )GetXObjectFormByName (keyName _aef .PdfObjectName )(*XObjectForm ,error ){_dgbfg ,_bgeg :=_cbbc .GetXObjectByName (keyName );if _dgbfg ==nil {return nil ,nil ;};if _bgeg !=XObjectTypeForm {return nil ,_fa .New ("\u006e\u006f\u0074\u0020\u0061\u0020\u0066\u006f\u0072\u006d");};_ebba ,_bdef :=NewXObjectFormFromStream (_dgbfg );if _bdef !=nil {return nil ,_bdef ;};return _ebba ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_degd *PdfColorspaceLab )ToPdfObject ()_aef .PdfObject {_efcff :=_aef .MakeArray ();_efcff .Append (_aef .MakeName ("\u004c\u0061\u0062"));_gabb :=_aef .MakeDict ();if _degd .WhitePoint !=nil {_cabae :=_aef .MakeArray (_aef .MakeFloat (_degd .WhitePoint [0]),_aef .MakeFloat (_degd .WhitePoint [1]),_aef .MakeFloat (_degd .WhitePoint [2]));_gabb .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_cabae );}else {_abe .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 _degd .BlackPoint !=nil {_ebag :=_aef .MakeArray (_aef .MakeFloat (_degd .BlackPoint [0]),_aef .MakeFloat (_degd .BlackPoint [1]),_aef .MakeFloat (_degd .BlackPoint [2]));_gabb .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_ebag );};if _degd .Range !=nil {_fcbeg :=_aef .MakeArray (_aef .MakeFloat (_degd .Range [0]),_aef .MakeFloat (_degd .Range [1]),_aef .MakeFloat (_degd .Range [2]),_aef .MakeFloat (_degd .Range [3]));_gabb .Set ("\u0052\u0061\u006eg\u0065",_fcbeg );};_efcff .Append (_gabb );if _degd ._aagb !=nil {_degd ._aagb .PdfObject =_efcff ;return _degd ._aagb ;};return _efcff ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_bcafd *PdfColorspaceSpecialIndexed )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dcaba ,_eafe :=_aef .GetNumbersAsFloat (objects );if _eafe !=nil {return nil ,_eafe ;};return _bcafd .ColorFromFloats (_dcaba );};
|
||
|
||
// PdfInfoTrapped specifies pdf trapped information.
|
||
type PdfInfoTrapped string ;
|
||
|
||
// PdfAnnotationHighlight represents Highlight annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationHighlight struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _aef .PdfObject ;};
|
||
|
||
// PdfActionNamed represents a named action.
|
||
type PdfActionNamed struct{*PdfAction ;N _aef .PdfObject ;};
|
||
|
||
// Write writes out the PDF.
|
||
func (_fafbd *PdfWriter )Write (writer _gfc .Writer )error {_abe .Log .Trace ("\u0057r\u0069\u0074\u0065\u0028\u0029");_aaged :=_cga .GetLicenseKey ();if (_aaged ==nil ||!_aaged .IsLicensed ())&&!_bbbga {_b .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");_b .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 _fa .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 _fafbd ._aabdg !=nil {_abe .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0054\u0072\u0065\u0065\u003a\u0020\u0025\u002b\u0076",_fafbd ._aabdg );_bdadg :=_fafbd ._aabdg .ToPdfObject ();_abe .Log .Trace ("\u004fu\u0074\u006c\u0069\u006e\u0065\u0073\u003a\u0020\u0025\u002b\u0076 \u0028\u0025\u0054\u002c\u0020\u0070\u003a\u0025\u0070\u0029",_bdadg ,_bdadg ,_bdadg );_fafbd ._abebc .Set ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073",_bdadg );_eacef :=_fafbd .addObjects (_bdadg );if _eacef !=nil {return _eacef ;};};if _fafbd ._feabe !=nil {_abe .Log .Trace ("\u0057r\u0069t\u0069\u006e\u0067\u0020\u0061c\u0072\u006f \u0066\u006f\u0072\u006d\u0073");_efdca :=_fafbd ._feabe .ToPdfObject ();_abe .Log .Trace ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_efdca );_fafbd ._abebc .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_efdca );_bdcf :=_fafbd .addObjects (_efdca );if _bdcf !=nil {return _bdcf ;};};for _bbegf ,_bdadc :=range _fafbd ._eabcf {if !_fafbd .hasObject (_bbegf ){_abe .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",_bbegf ,_bbegf ,_bbegf );for _ ,_cgbcbd :=range _bdadc {for _ ,_gbcec :=range _cgbcbd .Keys (){_dcfdc :=_cgbcbd .Get (_gbcec );if _dcfdc ==_bbegf {_abe .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");_cgbcbd .Set (_gbcec ,_aef .MakeNull ());break ;};};};};};_fafbd ._abebc .Set ("\u0056e\u0072\u0073\u0069\u006f\u006e",_aef .MakeName (_b .Sprintf ("\u0025\u0064\u002e%\u0064",_fafbd ._cfebb ,_fafbd ._gbcce )));_fafbd .copyObjects ();if _fafbd ._ceag !=nil {var _eeeac error ;_fafbd ._aage ,_eeeac =_fafbd ._ceag .Optimize (_fafbd ._aage );if _eeeac !=nil {return _eeeac ;};_bcaff :=make (map[_aef .PdfObject ]struct{},len (_fafbd ._aage ));for _ ,_edgce :=range _fafbd ._aage {_bcaff [_edgce ]=struct{}{};};_fafbd ._cafea =_bcaff ;};_fafbd ._dfdcd =_fafbd ._ccdaf ;_fafbd ._fcadd =_bc .NewWriter (writer );_abddf :=_fafbd ._cfebb > 1||(_fafbd ._cfebb ==1&&_fafbd ._gbcce > 4);if _fafbd ._ecfeg !=nil {_abddf =*_fafbd ._ecfeg ;};_dffea :=make (map[_aef .PdfObject ]bool );for _ ,_dfgab :=range _fafbd ._aage {if _ddffga ,_deff :=_dfgab .(*_aef .PdfObjectStreams );_deff {_abddf =true ;for _ ,_adbea :=range _ddffga .Elements (){_dffea [_adbea ]=true ;if _baegf ,_acccea :=_adbea .(*_aef .PdfIndirectObject );_acccea {_dffea [_baegf .PdfObject ]=true ;};};};};if _abddf &&_fafbd ._cfebb ==1&&_fafbd ._gbcce < 5{_fafbd ._gbcce =5;};if _fafbd ._bcdd {_fafbd .writeString ("\u000a");}else {_fafbd .writeString (_b .Sprintf ("\u0025\u0025\u0050D\u0046\u002d\u0025\u0064\u002e\u0025\u0064\u000a",_fafbd ._cfebb ,_fafbd ._gbcce ));_fafbd .writeString ("\u0025\u00e2\u00e3\u00cf\u00d3\u000a");};_fafbd .updateObjectNumbers ();_abe .Log .Trace ("\u0057\u0072\u0069\u0074\u0069\u006e\u0067\u0020\u0025d\u0020\u006f\u0062\u006a",len (_fafbd ._aage ));_fafbd ._ffede =make (map[int ]crossReference );_fafbd ._ffede [0]=crossReference {Type :0,ObjectNumber :0,Generation :0xFFFF};if _fafbd ._gdbde .ObjectMap !=nil {for _adbg ,_caafd :=range _fafbd ._gdbde .ObjectMap {if _adbg ==0{continue ;};if _caafd .XType ==_aef .XrefTypeObjectStream {_dfeaa :=crossReference {Type :2,ObjectNumber :_caafd .OsObjNumber ,Index :_caafd .OsObjIndex };_fafbd ._ffede [_adbg ]=_dfeaa ;};if _caafd .XType ==_aef .XrefTypeTableEntry {_befbc :=crossReference {Type :1,ObjectNumber :_caafd .ObjectNumber ,Offset :_caafd .Offset };_fafbd ._ffede [_adbg ]=_befbc ;};};};for _ ,_dgdad :=range _fafbd ._aage {if _aedee :=_dffea [_dgdad ];_aedee {continue ;};_egdd :=int64 (0);switch _ecead :=_dgdad .(type ){case *_aef .PdfIndirectObject :_egdd =_ecead .ObjectNumber ;case *_aef .PdfObjectStream :_egdd =_ecead .ObjectNumber ;case *_aef .PdfObjectStreams :_egdd =_ecead .ObjectNumber ;default:_abe .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",_dgdad );return ErrTypeCheck ;};if _fafbd ._ecfag !=nil &&_dgdad !=_fafbd ._eebbg {_dbaef :=_fafbd ._ecfag .Encrypt (_dgdad ,_egdd ,0);if _dbaef !=nil {_abe .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",_dbaef );return _dbaef ;};};_fafbd .writeObject (int (_egdd ),_dgdad );};_cbde :=_fafbd ._dfdcd ;var _bcbcg int ;for _dbacd :=range _fafbd ._ffede {if _dbacd > _bcbcg {_bcbcg =_dbacd ;};};if _abddf {_gece :=_bcbcg +1;_fafbd ._ffede [_gece ]=crossReference {Type :1,ObjectNumber :_gece ,Offset :_cbde };_gbebg :=_cg .NewBuffer (nil );_fdffbd :=_aef .MakeArray ();for _dceab :=0;_dceab <=_bcbcg ;{for ;_dceab <=_bcbcg ;_dceab ++{_bdafa ,_dffd :=_fafbd ._ffede [_dceab ];if _dffd &&(!_fafbd ._bcdd ||_fafbd ._bcdd &&(_bdafa .Type ==1&&_bdafa .Offset >=_fafbd ._bfagd ||_bdafa .Type ==0)){break ;};};var _dgcce int ;for _dgcce =_dceab +1;_dgcce <=_bcbcg ;_dgcce ++{_dafc ,_bgcaga :=_fafbd ._ffede [_dgcce ];if _bgcaga &&(!_fafbd ._bcdd ||_fafbd ._bcdd &&(_dafc .Type ==1&&_dafc .Offset > _fafbd ._bfagd )){continue ;};break ;};_fdffbd .Append (_aef .MakeInteger (int64 (_dceab )),_aef .MakeInteger (int64 (_dgcce -_dceab )));for _dcfaf :=_dceab ;_dcfaf < _dgcce ;_dcfaf ++{_bcdad :=_fafbd ._ffede [_dcfaf ];switch _bcdad .Type {case 0:_ab .Write (_gbebg ,_ab .BigEndian ,byte (0));_ab .Write (_gbebg ,_ab .BigEndian ,uint32 (0));_ab .Write (_gbebg ,_ab .BigEndian ,uint16 (0xFFFF));case 1:_ab .Write (_gbebg ,_ab .BigEndian ,byte (1));_ab .Write (_gbebg ,_ab .BigEndian ,uint32 (_bcdad .Offset ));_ab .Write (_gbebg ,_ab .BigEndian ,uint16 (_bcdad .Generation ));case 2:_ab .Write (_gbebg ,_ab .BigEndian ,byte (2));_ab .Write (_gbebg ,_ab .BigEndian ,uint32 (_bcdad .ObjectNumber ));_ab .Write (_gbebg ,_ab .BigEndian ,uint16 (_bcdad .Index ));};};_dceab =_dgcce +1;};_fcbf ,_efgb :=_aef .MakeStream (_gbebg .Bytes (),_aef .NewFlateEncoder ());if _efgb !=nil {return _efgb ;};_fcbf .ObjectNumber =int64 (_gece );_fcbf .PdfObjectDictionary .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0058\u0052\u0065\u0066"));_fcbf .PdfObjectDictionary .Set ("\u0057",_aef .MakeArray (_aef .MakeInteger (1),_aef .MakeInteger (4),_aef .MakeInteger (2)));_fcbf .PdfObjectDictionary .Set ("\u0049\u006e\u0064e\u0078",_fdffbd );_fcbf .PdfObjectDictionary .Set ("\u0053\u0069\u007a\u0065",_aef .MakeInteger (int64 (_gece +1)));_fcbf .PdfObjectDictionary .Set ("\u0049\u006e\u0066\u006f",_fafbd ._caefd );_fcbf .PdfObjectDictionary .Set ("\u0052\u006f\u006f\u0074",_fafbd ._bdbdfg );if _fafbd ._bcdd &&_fafbd ._bbbefb > 0{_fcbf .PdfObjectDictionary .Set ("\u0050\u0072\u0065\u0076",_aef .MakeInteger (_fafbd ._bbbefb ));};if _fafbd ._ecfag !=nil {_fcbf .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_fafbd ._eebbg );_fcbf .Set ("\u0049\u0044",_fafbd ._acddd );_abe .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_fafbd ._acddd );};_fafbd .writeObject (int (_fcbf .ObjectNumber ),_fcbf );}else {_fafbd .writeString ("\u0078\u0072\u0065\u0066\u000d\u000a");for _gcfa :=0;_gcfa <=_bcbcg ;{for ;_gcfa <=_bcbcg ;_gcfa ++{_bdcbf ,_gfcbg :=_fafbd ._ffede [_gcfa ];if _gfcbg &&(!_fafbd ._bcdd ||_fafbd ._bcdd &&(_bdcbf .Type ==1&&_bdcbf .Offset >=_fafbd ._bfagd ||_bdcbf .Type ==0)){break ;};};var _ggbe int ;for _ggbe =_gcfa +1;_ggbe <=_bcbcg ;_ggbe ++{_aeddf ,_dgdab :=_fafbd ._ffede [_ggbe ];if _dgdab &&(!_fafbd ._bcdd ||_fafbd ._bcdd &&(_aeddf .Type ==1&&_aeddf .Offset > _fafbd ._bfagd )){continue ;};break ;};_ecdcb :=_b .Sprintf ("\u0025d\u0020\u0025\u0064\u000d\u000a",_gcfa ,_ggbe -_gcfa );_fafbd .writeString (_ecdcb );for _afgeg :=_gcfa ;_afgeg < _ggbe ;_afgeg ++{_daeda :=_fafbd ._ffede [_afgeg ];switch _daeda .Type {case 0:_ecdcb =_b .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u0066\u000d\u000a",0,65535);_fafbd .writeString (_ecdcb );case 1:_ecdcb =_b .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u006e\u000d\u000a",_daeda .Offset ,0);_fafbd .writeString (_ecdcb );};};_gcfa =_ggbe +1;};_dbeag :=_aef .MakeDict ();_dbeag .Set ("\u0049\u006e\u0066\u006f",_fafbd ._caefd );_dbeag .Set ("\u0052\u006f\u006f\u0074",_fafbd ._bdbdfg );_dbeag .Set ("\u0053\u0069\u007a\u0065",_aef .MakeInteger (int64 (_bcbcg +1)));if _fafbd ._bcdd &&_fafbd ._bbbefb > 0{_dbeag .Set ("\u0050\u0072\u0065\u0076",_aef .MakeInteger (_fafbd ._bbbefb ));};if _fafbd ._ecfag !=nil {_dbeag .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_fafbd ._eebbg );_dbeag .Set ("\u0049\u0044",_fafbd ._acddd );_abe .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_fafbd ._acddd );};_fafbd .writeString ("\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u000a");_fafbd .writeString (_dbeag .WriteString ());_fafbd .writeString ("\u000a");};_geceb :=_b .Sprintf ("\u0073\u0074\u0061\u0072\u0074\u0078\u0072\u0065\u0066\u000a\u0025\u0064\u000a",_cbde );_fafbd .writeString (_geceb );_fafbd .writeString ("\u0025\u0025\u0045\u004f\u0046\u000a");if _fafbd ._geac ==nil {_fafbd ._geac =_fafbd ._fcadd .Flush ();};return _fafbd ._geac ;};
|
||
|
||
// 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 ){_bdeb ,_adaga :=_gf .Open (filePath );if _adaga !=nil {_abe .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u006f\u0070\u0065\u006e\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_adaga );return nil ,_adaga ;};defer _bdeb .Close ();return NewCompositePdfFontFromTTF (_bdeb );};
|
||
|
||
// ImageToRGB convert an indexed image to RGB.
|
||
func (_ggdd *PdfColorspaceSpecialIndexed )ImageToRGB (img Image )(Image ,error ){N :=_ggdd .Base .GetNumComponents ();if N < 1{return Image {},_b .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 );};_dcbdgb :=_gb .NewImageBase (int (img .Width ),int (img .Height ),8,N ,nil ,img ._afge ,img ._fgafa );_bbgc :=_ea .NewReader (img .getBase ());_gccgb :=_ea .NewWriter (_dcbdgb );var (_bebaa uint32 ;_dffg int ;_cgbe error ;);for {_bebaa ,_cgbe =_bbgc .ReadSample ();if _cgbe ==_gfc .EOF {break ;}else if _cgbe !=nil {return img ,_cgbe ;};_dffg =int (_bebaa );_abe .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",_dffg ,N ,len (_ggdd ._abea ));if (_dffg +1)*N > len (_ggdd ._abea ){_dffg =len (_ggdd ._abea )/N -1;_abe .Log .Trace ("C\u006c\u0069\u0070\u0070in\u0067 \u0074\u006f\u0020\u0069\u006ed\u0065\u0078\u003a\u0020\u0025\u0064",_dffg );if _dffg < 0{_abe .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 _aegf :=_dffg *N ;_aegf < (_dffg +1)*N ;_aegf ++{if _cgbe =_gccgb .WriteSample (uint32 (_ggdd ._abea [_aegf ]));_cgbe !=nil {return img ,_cgbe ;};};};return _ggdd .Base .ImageToRGB (_cbgdcg (&_dcbdgb ));};
|
||
|
||
// PdfAnnotationRichMedia represents Rich Media annotations.
|
||
type PdfAnnotationRichMedia struct{*PdfAnnotation ;RichMediaSettings _aef .PdfObject ;RichMediaContent _aef .PdfObject ;};
|
||
|
||
// ColorToRGB converts a Lab color to an RGB color.
|
||
func (_ecec *PdfColorspaceLab )ColorToRGB (color PdfColor )(PdfColor ,error ){_gdce :=func (_fbbdd float64 )float64 {if _fbbdd >=6.0/29{return _fbbdd *_fbbdd *_fbbdd ;};return 108.0/841*(_fbbdd -4/29);};_dabgg ,_ccdg :=color .(*PdfColorLab );if !_ccdg {_abe .Log .Debug ("\u0069\u006e\u0070\u0075t \u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u006c\u0061\u0062");return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};LStar :=_dabgg .L ();AStar :=_dabgg .A ();BStar :=_dabgg .B ();L :=(LStar +16)/116+AStar /500;M :=(LStar +16)/116;N :=(LStar +16)/116-BStar /200;X :=_ecec .WhitePoint [0]*_gdce (L );Y :=_ecec .WhitePoint [1]*_gdce (M );Z :=_ecec .WhitePoint [2]*_gdce (N );_cbgdd :=3.240479*X +-1.537150*Y +-0.498535*Z ;_bcbg :=-0.969256*X +1.875992*Y +0.041556*Z ;_gdde :=0.055648*X +-0.204043*Y +1.057311*Z ;_cbgdd =_ad .Min (_ad .Max (_cbgdd ,0),1.0);_bcbg =_ad .Min (_ad .Max (_bcbg ,0),1.0);_gdde =_ad .Min (_ad .Max (_gdde ,0),1.0);return NewPdfColorDeviceRGB (_cbgdd ,_bcbg ,_gdde ),nil ;};
|
||
|
||
// GetPage returns the PdfPage model for the specified page number.
|
||
func (_efgdb *PdfReader )GetPage (pageNumber int )(*PdfPage ,error ){if _efgdb ._gdbbd .GetCrypter ()!=nil &&!_efgdb ._gdbbd .IsAuthenticated (){return nil ,_b .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 (_efgdb ._dbdgb )< pageNumber {return nil ,_fa .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");};_deegg :=pageNumber -1;if _deegg < 0{return nil ,_b .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");};_feeef :=_efgdb .PageList [_deegg ];return _feeef ,nil ;};
|
||
|
||
// 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 _gfc .ReadSeeker )(*PdfFont ,error ){const _fcfd =_be .CharCode (32);const _afca =_be .CharCode (255);_dgba ,_gfddb :=_eba .ReadAll (r );if _gfddb !=nil {_abe .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",_gfddb );return nil ,_gfddb ;};_ccfge ,_gfddb :=_ecf .TtfParse (_cg .NewReader (_dgba ));if _gfddb !=nil {_abe .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",_gfddb );return nil ,_gfddb ;};_cecaa :=&pdfFontSimple {_bacac :make (map[_be .CharCode ]float64 ),fontCommon :fontCommon {_ababd :"\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065"}};_cecaa ._bcbge =_be .NewWinAnsiEncoder ();_cecaa ._fegdg =_ccfge .PostScriptName ;_cecaa .FirstChar =_aef .MakeInteger (int64 (_fcfd ));_cecaa .LastChar =_aef .MakeInteger (int64 (_afca ));_gdga :=1000.0/float64 (_ccfge .UnitsPerEm );if len (_ccfge .Widths )<=0{return nil ,_fa .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");};_gdbbee :=_gdga *float64 (_ccfge .Widths [0]);_affa :=make ([]float64 ,0,_afca -_fcfd +1);for _dfdbd :=_fcfd ;_dfdbd <=_afca ;_dfdbd ++{_gfcgb ,_gbda :=_cecaa .Encoder ().CharcodeToRune (_dfdbd );if !_gbda {_abe .Log .Debug ("\u0052u\u006e\u0065\u0020\u006eo\u0074\u0020\u0066\u006f\u0075n\u0064 \u0028c\u006f\u0064\u0065\u003a\u0020\u0025\u0064)",_dfdbd );_affa =append (_affa ,_gdbbee );continue ;};_bfccg ,_cdfb :=_ccfge .Chars [_gfcgb ];if !_cdfb {_abe .Log .Debug ("R\u0075\u006e\u0065\u0020no\u0074 \u0069\u006e\u0020\u0054\u0054F\u0020\u0043\u0068\u0061\u0072\u0073");_affa =append (_affa ,_gdbbee );continue ;};_aafbd :=_gdga *float64 (_ccfge .Widths [_bfccg ]);_affa =append (_affa ,_aafbd );};_cecaa .Widths =_aef .MakeIndirectObject (_aef .MakeArrayFromFloats (_affa ));if len (_affa )< int (_afca -_fcfd +1){_abe .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 (_affa ),255-32+1);return nil ,_aef .ErrRangeError ;};for _fccc :=_fcfd ;_fccc <=_afca ;_fccc ++{_cecaa ._bacac [_fccc ]=_affa [_fccc -_fcfd ];};_cecaa .Encoding =_aef .MakeName ("\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067");_gdefa :=&PdfFontDescriptor {};_gdefa .FontName =_aef .MakeName (_ccfge .PostScriptName );_gdefa .Ascent =_aef .MakeFloat (_gdga *float64 (_ccfge .TypoAscender ));_gdefa .Descent =_aef .MakeFloat (_gdga *float64 (_ccfge .TypoDescender ));_gdefa .CapHeight =_aef .MakeFloat (_gdga *float64 (_ccfge .CapHeight ));_gdefa .FontBBox =_aef .MakeArrayFromFloats ([]float64 {_gdga *float64 (_ccfge .Xmin ),_gdga *float64 (_ccfge .Ymin ),_gdga *float64 (_ccfge .Xmax ),_gdga *float64 (_ccfge .Ymax )});_gdefa .ItalicAngle =_aef .MakeFloat (_ccfge .ItalicAngle );_gdefa .MissingWidth =_aef .MakeFloat (_gdga *float64 (_ccfge .Widths [0]));_ecfd ,_gfddb :=_aef .MakeStream (_dgba ,_aef .NewFlateEncoder ());if _gfddb !=nil {_abe .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",_gfddb );return nil ,_gfddb ;};_ecfd .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_aef .MakeInteger (int64 (len (_dgba ))));_gdefa .FontFile2 =_ecfd ;if _ccfge .Bold {_gdefa .StemV =_aef .MakeInteger (120);}else {_gdefa .StemV =_aef .MakeInteger (70);};_bfda :=_gegad ;if _ccfge .IsFixedPitch {_bfda |=_gbfag ;};if _ccfge .ItalicAngle !=0{_bfda |=_gdfcda ;};_gdefa .Flags =_aef .MakeInteger (int64 (_bfda ));_cecaa ._bgfd =_gdefa ;_adfd :=&PdfFont {_dccga :_cecaa };return _adfd ,nil ;};type pdfFontType0 struct{fontCommon ;_abbb *_aef .PdfIndirectObject ;_eeag _be .TextEncoder ;Encoding _aef .PdfObject ;DescendantFont *PdfFont ;_dcdab *_gg .CMap ;};
|
||
|
||
// GetPdfInfo returns the PDF info dictionary.
|
||
func (_bdac *PdfReader )GetPdfInfo ()(*PdfInfo ,error ){_aaafe :=PdfInfo {};_dfaeb ,_gecgf :=_bdac .GetTrailer ();if _gecgf !=nil {return nil ,_gecgf ;};var _gdeae *_aef .PdfObjectDictionary ;_ebcdd :=_dfaeb .Get ("\u0049\u006e\u0066\u006f");switch _dgfc :=_ebcdd .(type ){case *_aef .PdfObjectReference :_befe :=_dgfc ;_ebcdd ,_gecgf =_bdac .GetIndirectObjectByNumber (int (_befe .ObjectNumber ));_ebcdd =_aef .TraceToDirectObject (_ebcdd );if _gecgf !=nil {return nil ,_gecgf ;};_gdeae ,_ =_ebcdd .(*_aef .PdfObjectDictionary );case *_aef .PdfObjectDictionary :_gdeae =_dgfc ;};if _gdeae ==nil {return nil ,_fa .New ("I\u006e\u0066\u006f\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006eo\u0074\u0020\u0070r\u0065s\u0065\u006e\u0074");};for _ ,_afbbg :=range _gdeae .Keys (){switch _afbbg {case "\u0054\u0069\u0074l\u0065":_aaafe .Title ,_ =_aef .GetString (_gdeae .Get ("\u0054\u0069\u0074l\u0065"));case "\u0041\u0075\u0074\u0068\u006f\u0072":_aaafe .Author ,_ =_aef .GetString (_gdeae .Get ("\u0041\u0075\u0074\u0068\u006f\u0072"));case "\u0053u\u0062\u006a\u0065\u0063\u0074":_aaafe .Subject ,_ =_aef .GetString (_gdeae .Get ("\u0053u\u0062\u006a\u0065\u0063\u0074"));case "\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073":_aaafe .Keywords ,_ =_aef .GetString (_gdeae .Get ("\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073"));case "\u0043r\u0065\u0061\u0074\u006f\u0072":_aaafe .Creator ,_ =_aef .GetString (_gdeae .Get ("\u0043r\u0065\u0061\u0074\u006f\u0072"));case "\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072":_aaafe .Producer ,_ =_aef .GetString (_gdeae .Get ("\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072"));case "\u0054r\u0061\u0070\u0070\u0065\u0064":_aaafe .Trapped ,_ =_aef .GetName (_gdeae .Get ("\u0054r\u0061\u0070\u0070\u0065\u0064"));case "\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065":if _acgce ,_cbggb :=_aef .GetString (_gdeae .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065"));_cbggb &&_acgce .String ()!=""{_eaafe ,_bdfe :=NewPdfDate (_acgce .String ());if _bdfe !=nil {return nil ,_bdfe ;};_aaafe .CreationDate =&_eaafe ;};case "\u004do\u0064\u0044\u0061\u0074\u0065":if _fcbcd ,_aacca :=_aef .GetString (_gdeae .Get ("\u004do\u0064\u0044\u0061\u0074\u0065"));_aacca &&_fcbcd .String ()!=""{_fbade ,_eecga :=NewPdfDate (_fcbcd .String ());if _eecga !=nil {return nil ,_eecga ;};_aaafe .ModifiedDate =&_fbade ;};default:_gadbf ,_ :=_aef .GetString (_gdeae .Get (_afbbg ));if _aaafe ._ebcd ==nil {_aaafe ._ebcd =_aef .MakeDict ();};_aaafe ._ebcd .Set (_afbbg ,_gadbf );};};return &_aaafe ,nil ;};func (_bgba *PdfField )inherit (_dgcd func (*PdfField )bool )(bool ,error ){_dccg :=map[*PdfField ]bool {};_edeg :=false ;_fgaf :=_bgba ;for _fgaf !=nil {if _ ,_gddda :=_dccg [_fgaf ];_gddda {return false ,_fa .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};_eeggd :=_dgcd (_fgaf );if _eeggd {_edeg =true ;break ;};_dccg [_fgaf ]=true ;_fgaf =_fgaf .Parent ;};return _edeg ,nil ;};
|
||
|
||
// EnableByName LTV enables the signature dictionary of the PDF AcroForm
|
||
// field identified the specified name. The signing certificate chain is
|
||
// extracted from the signature dictionary. Optionally, additional certificates
|
||
// can be specified through the `extraCerts` parameter. The LTV client attempts
|
||
// to build the certificate chain up to a trusted root by downloading any
|
||
// missing certificates.
|
||
func (_ggfbe *LTV )EnableByName (name string ,extraCerts []*_c .Certificate )error {_dbbcae :=_ggfbe ._bdabf ._fdd .AcroForm ;for _ ,_dgbf :=range _dbbcae .AllFields (){_eafda ,_ :=_dgbf .GetContext ().(*PdfFieldSignature );if _eafda ==nil {continue ;};if _dgcb :=_eafda .PartialName ();_dgcb !=name {continue ;};return _ggfbe .Enable (_eafda .V ,extraCerts );};return nil ;};
|
||
|
||
// ImageToRGB converts image in CalGray color space to RGB (A, B, C -> X, Y, Z).
|
||
func (_ecfab *PdfColorspaceCalGray )ImageToRGB (img Image )(Image ,error ){_beea :=_ea .NewReader (img .getBase ());_bdbd :=_gb .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_fdcc :=_ea .NewWriter (_bdbd );_fgeg :=_ad .Pow (2,float64 (img .BitsPerComponent ))-1;_fggd :=make ([]uint32 ,3);var (_aeab uint32 ;ANorm ,X ,Y ,Z ,_eegb ,_fafc ,_fedb float64 ;_cade error ;);for {_aeab ,_cade =_beea .ReadSample ();if _cade ==_gfc .EOF {break ;}else if _cade !=nil {return img ,_cade ;};ANorm =float64 (_aeab )/_fgeg ;X =_ecfab .WhitePoint [0]*_ad .Pow (ANorm ,_ecfab .Gamma );Y =_ecfab .WhitePoint [1]*_ad .Pow (ANorm ,_ecfab .Gamma );Z =_ecfab .WhitePoint [2]*_ad .Pow (ANorm ,_ecfab .Gamma );_eegb =3.240479*X +-1.537150*Y +-0.498535*Z ;_fafc =-0.969256*X +1.875992*Y +0.041556*Z ;_fedb =0.055648*X +-0.204043*Y +1.057311*Z ;_eegb =_ad .Min (_ad .Max (_eegb ,0),1.0);_fafc =_ad .Min (_ad .Max (_fafc ,0),1.0);_fedb =_ad .Min (_ad .Max (_fedb ,0),1.0);_fggd [0]=uint32 (_eegb *_fgeg );_fggd [1]=uint32 (_fafc *_fgeg );_fggd [2]=uint32 (_fedb *_fgeg );if _cade =_fdcc .WriteSamples (_fggd );_cade !=nil {return img ,_cade ;};};return _cbgdcg (&_bdbd ),nil ;};
|
||
|
||
// PdfColor interface represents a generic color in PDF.
|
||
type PdfColor interface{};func (_bcdg *PdfReader )newPdfOutlineItemFromIndirectObject (_cbdb *_aef .PdfIndirectObject )(*PdfOutlineItem ,error ){_fdabc ,_abbbg :=_cbdb .PdfObject .(*_aef .PdfObjectDictionary );if !_abbbg {return nil ,_b .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");};_eece :=NewPdfOutlineItem ();_gfad :=_fdabc .Get ("\u0054\u0069\u0074l\u0065");if _gfad ==nil {return nil ,_b .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");};_cefd ,_ccce :=_aef .GetString (_gfad );if !_ccce {return nil ,_b .Errorf ("\u0074\u0069\u0074le\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0054\u0029",_gfad );};_eece .Title =_cefd ;if _gafbc :=_fdabc .Get ("\u0043\u006f\u0075n\u0074");_gafbc !=nil {_fddd ,_dgeca :=_gafbc .(*_aef .PdfObjectInteger );if !_dgeca {return nil ,_b .Errorf ("\u0063o\u0075\u006e\u0074\u0020n\u006f\u0074\u0020\u0061\u006e \u0069n\u0074e\u0067\u0065\u0072\u0020\u0028\u0025\u0054)",_gafbc );};_bcfd :=int64 (*_fddd );_eece .Count =&_bcfd ;};if _cbbeg :=_fdabc .Get ("\u0044\u0065\u0073\u0074");_cbbeg !=nil {_eece .Dest =_aef .ResolveReference (_cbbeg );if !_bcdg ._afae {_acfaa :=_bcdg .traverseObjectData (_eece .Dest );if _acfaa !=nil {return nil ,_acfaa ;};};};if _cgbfb :=_fdabc .Get ("\u0041");_cgbfb !=nil {_eece .A =_aef .ResolveReference (_cgbfb );if !_bcdg ._afae {_adcbc :=_bcdg .traverseObjectData (_eece .A );if _adcbc !=nil {return nil ,_adcbc ;};};};if _cfef :=_fdabc .Get ("\u0053\u0045");_cfef !=nil {_eece .SE =nil ;};if _ccaga :=_fdabc .Get ("\u0043");_ccaga !=nil {_eece .C =_aef .ResolveReference (_ccaga );};if _ceed :=_fdabc .Get ("\u0046");_ceed !=nil {_eece .F =_aef .ResolveReference (_ceed );};return _eece ,nil ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (3 for rgb).
|
||
func (_ggebe *PdfColorspaceDeviceRGB )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_babf ,_gcee :=_aef .GetNumbersAsFloat (objects );if _gcee !=nil {return nil ,_gcee ;};return _ggebe .ColorFromFloats (_babf );};
|
||
|
||
// ToPdfObject returns a *PdfIndirectObject containing a *PdfObjectArray representation of the DeviceN colorspace.
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
func (_dbaf *PdfColorspaceDeviceN )ToPdfObject ()_aef .PdfObject {_acfa :=_aef .MakeArray (_aef .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u004e"));_acfa .Append (_dbaf .ColorantNames );_acfa .Append (_dbaf .AlternateSpace .ToPdfObject ());_acfa .Append (_dbaf .TintTransform .ToPdfObject ());if _dbaf .Attributes !=nil {_acfa .Append (_dbaf .Attributes .ToPdfObject ());};if _dbaf ._ggbg !=nil {_dbaf ._ggbg .PdfObject =_acfa ;return _dbaf ._ggbg ;};return _acfa ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_cdceb *PdfFunctionType0 )ToPdfObject ()_aef .PdfObject {if _cdceb ._feeee ==nil {_cdceb ._feeee =&_aef .PdfObjectStream {};};_bdfc :=_aef .MakeDict ();_bdfc .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_aef .MakeInteger (0));_fdgd :=&_aef .PdfObjectArray {};for _ ,_dbge :=range _cdceb .Domain {_fdgd .Append (_aef .MakeFloat (_dbge ));};_bdfc .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_fdgd );_ffab :=&_aef .PdfObjectArray {};for _ ,_gdeg :=range _cdceb .Range {_ffab .Append (_aef .MakeFloat (_gdeg ));};_bdfc .Set ("\u0052\u0061\u006eg\u0065",_ffab );_cfdcb :=&_aef .PdfObjectArray {};for _ ,_gabgg :=range _cdceb .Size {_cfdcb .Append (_aef .MakeInteger (int64 (_gabgg )));};_bdfc .Set ("\u0053\u0069\u007a\u0065",_cfdcb );_bdfc .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065",_aef .MakeInteger (int64 (_cdceb .BitsPerSample )));if _cdceb .Order !=1{_bdfc .Set ("\u004f\u0072\u0064e\u0072",_aef .MakeInteger (int64 (_cdceb .Order )));};_bdfc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_cdceb ._bdgaa ))));_cdceb ._feeee .Stream =_cdceb ._bdgaa ;_cdceb ._feeee .PdfObjectDictionary =_bdfc ;return _cdceb ._feeee ;};
|
||
|
||
// 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 (_aabg *PdfColorspaceSpecialPattern )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )< 1{return nil ,_fa .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");};_efgd :=&PdfColorPattern {};_edgd ,_ccfd :=objects [len (objects )-1].(*_aef .PdfObjectName );if !_ccfd {_abe .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 ;};_efgd .PatternName =*_edgd ;if len (objects )> 1{_gafg :=objects [0:len (objects )-1];if _aabg .UnderlyingCS ==nil {_abe .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 ,_fa .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};_fbaef ,_agbg :=_aabg .UnderlyingCS .ColorFromPdfObjects (_gafg );if _agbg !=nil {_abe .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",_agbg );return nil ,_agbg ;};_efgd .Color =_fbaef ;};return _efgd ,nil ;};
|
||
|
||
// 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 (_aeebd *PdfReader )RepairAcroForm (opts *AcroFormRepairOptions )error {var _bcbde []*PdfField ;_decba :=map[*_aef .PdfIndirectObject ]struct{}{};for _ ,_fggeae :=range _aeebd .PageList {_fbeaf ,_ceccf :=_fggeae .GetAnnotations ();if _ceccf !=nil {return _ceccf ;};for _ ,_cbgcfa :=range _fbeaf {var _egaga *PdfField ;switch _edada :=_cbgcfa .GetContext ().(type ){case *PdfAnnotationWidget :if _edada ._ccc !=nil {_egaga =_edada ._ccc ;break ;};if _fafgb ,_fcdd :=_aef .GetIndirect (_edada .Parent );_fcdd {_egaga ,_ceccf =_aeebd .newPdfFieldFromIndirectObject (_fafgb ,nil );if _ceccf ==nil {break ;};_abe .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",_fafgb ,_ceccf );};if _edada ._edc !=nil {_egaga ,_ceccf =_aeebd .newPdfFieldFromIndirectObject (_edada ._edc ,nil );if _ceccf ==nil {break ;};_abe .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",_edada ._edc ,_ceccf );};};if _egaga ==nil {continue ;};if _ ,_abaddd :=_decba [_egaga ._abebg ];_abaddd {continue ;};_decba [_egaga ._abebg ]=struct{}{};_bcbde =append (_bcbde ,_egaga );};};if len (_bcbde )==0{return nil ;};if _aeebd .AcroForm ==nil {_aeebd .AcroForm =NewPdfAcroForm ();};_aeebd .AcroForm .Fields =&_bcbde ;return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_abf *PdfAnnotationScreen )ToPdfObject ()_aef .PdfObject {_abf .PdfAnnotation .ToPdfObject ();_bfcec :=_abf ._edc ;_bfgc :=_bfcec .PdfObject .(*_aef .PdfObjectDictionary );_bfgc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053\u0063\u0072\u0065\u0065\u006e"));_bfgc .SetIfNotNil ("\u0054",_abf .T );_bfgc .SetIfNotNil ("\u004d\u004b",_abf .MK );_bfgc .SetIfNotNil ("\u0041",_abf .A );_bfgc .SetIfNotNil ("\u0041\u0041",_abf .AA );return _bfcec ;};
|
||
|
||
// 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 (_bgea *PdfFont )RunesToCharcodeBytes (data []rune )([]byte ,int ){var _cacdd []_be .TextEncoder ;if _bffda :=_bgea .baseFields ()._ecefd ;_bffda !=nil {_cacdd =append (_cacdd ,_be .NewCMapEncoder ("",nil ,_bffda ));};if _eafa :=_bgea .Encoder ();_eafa !=nil {_cacdd =append (_cacdd ,_eafa );};var _gfeg _cg .Buffer ;var _becf int ;for _ ,_cbbe :=range data {var _deee bool ;for _ ,_daff :=range _cacdd {if _baac :=_daff .Encode (string (_cbbe ));len (_baac )> 0{_gfeg .Write (_baac );_deee =true ;break ;};};if !_deee {_abe .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",_cbbe );_becf ++;};};if _becf !=0{_abe .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 ),_becf ,_bgea ,_cacdd );};return _gfeg .Bytes (),_becf ;};
|
||
|
||
// GetContext returns a reference to the subpattern entry: either PdfTilingPattern or PdfShadingPattern.
|
||
func (_fgaa *PdfPattern )GetContext ()PdfModel {return _fgaa ._dgagc };
|
||
|
||
// PdfFieldChoice represents a choice field which includes scrollable list boxes and combo boxes.
|
||
type PdfFieldChoice struct{*PdfField ;Opt *_aef .PdfObjectArray ;TI *_aef .PdfObjectInteger ;I *_aef .PdfObjectArray ;};
|
||
|
||
// GetAnnotations returns the list of page annotations for `page`. If not loaded attempts to load the
|
||
// annotations, otherwise returns the loaded list.
|
||
func (_daee *PdfPage )GetAnnotations ()([]*PdfAnnotation ,error ){if _daee ._bcgfd !=nil {return _daee ._bcgfd ,nil ;};if _daee .Annots ==nil {_daee ._bcgfd =[]*PdfAnnotation {};return nil ,nil ;};if _daee ._aggeb ==nil {_daee ._bcgfd =[]*PdfAnnotation {};return nil ,nil ;};_bcfg ,_efeba :=_daee ._aggeb .loadAnnotations (_daee .Annots );if _efeba !=nil {return nil ,_efeba ;};if _bcfg ==nil {_daee ._bcgfd =[]*PdfAnnotation {};};_daee ._bcgfd =_bcfg ;return _daee ._bcgfd ,nil ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_bbe *PdfColorCalRGB )B ()float64 {return _bbe [1]};
|
||
|
||
// 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"`;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_cfda pdfCIDFontType0 )GetCharMetrics (code _be .CharCode )(_ecf .CharMetrics ,bool ){_dgdgb :=_cfda ._egcdc ;if _bdga ,_ebfgb :=_cfda ._gfbff [code ];_ebfgb {_dgdgb =_bdga ;};return _ecf .CharMetrics {Wx :_dgdgb },true ;};func (_ceeag *pdfFontType0 )subsetRegistered ()error {_bcadd ,_dggcc :=_ceeag .DescendantFont ._dccga .(*pdfCIDFontType2 );if !_dggcc {_abe .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",_ceeag .DescendantFont );return nil ;};if _bcadd ==nil {return nil ;};if _bcadd ._bgfd ==nil {_abe .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 _ceeag ._eeag ==nil {_abe .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 ;};_egff ,_dggcc :=_aef .GetStream (_bcadd ._bgfd .FontFile2 );if !_dggcc {_abe .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 _fa .New ("\u0066\u006f\u006e\u0074fi\u006c\u0065\u0032\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");};_geeg ,_cdcc :=_aef .DecodeStream (_egff );if _cdcc !=nil {_abe .Log .Debug ("\u0044\u0065c\u006f\u0064\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_cdcc );return _cdcc ;};_fcdc ,_cdcc :=_ee .Parse (_cg .NewReader (_geeg ));if _cdcc !=nil {_abe .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 (_egff .Stream ));return _cdcc ;};var _abdfb []rune ;var _bgcag *_ee .Font ;switch _daefc :=_ceeag ._eeag .(type ){case *_be .TrueTypeFontEncoder :_abdfb =_daefc .RegisteredRunes ();_bgcag ,_cdcc =_fcdc .SubsetKeepRunes (_abdfb );if _cdcc !=nil {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cdcc );return _cdcc ;};_daefc .SubsetRegistered ();case *_be .IdentityEncoder :_abdfb =_daefc .RegisteredRunes ();_gedg :=make ([]_ee .GlyphIndex ,len (_abdfb ));for _aaaf ,_gbaba :=range _abdfb {_gedg [_aaaf ]=_ee .GlyphIndex (_gbaba );};_bgcag ,_cdcc =_fcdc .SubsetKeepIndices (_gedg );if _cdcc !=nil {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cdcc );return _cdcc ;};case _be .SimpleEncoder :_faade :=_daefc .Charcodes ();for _ ,_eggdfc :=range _faade {_acfg ,_debe :=_daefc .CharcodeToRune (_eggdfc );if !_debe {_abe .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",_eggdfc );continue ;};_abdfb =append (_abdfb ,_acfg );};default:return _b .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",_ceeag ._eeag );};var _gaae _cg .Buffer ;_cdcc =_bgcag .Write (&_gaae );if _cdcc !=nil {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cdcc );return _cdcc ;};if _ceeag ._ecefd !=nil {_cgcg :=make (map[_gg .CharCode ]rune ,len (_abdfb ));for _ ,_bbaae :=range _abdfb {_adaff ,_ggdcg :=_ceeag ._eeag .RuneToCharcode (_bbaae );if !_ggdcg {continue ;};_cgcg [_gg .CharCode (_adaff )]=_bbaae ;};_ceeag ._ecefd =_gg .NewToUnicodeCMap (_cgcg );};_egff ,_cdcc =_aef .MakeStream (_gaae .Bytes (),_aef .NewFlateEncoder ());if _cdcc !=nil {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cdcc );return _cdcc ;};_egff .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_aef .MakeInteger (int64 (_gaae .Len ())));if _gdddg ,_abbg :=_aef .GetStream (_bcadd ._bgfd .FontFile2 );_abbg {*_gdddg =*_egff ;}else {_bcadd ._bgfd .FontFile2 =_egff ;};_eccc :=_dbef ();if len (_ceeag ._fegdg )> 0{_ceeag ._fegdg =_fgga (_ceeag ._fegdg ,_eccc );};if len (_bcadd ._fegdg )> 0{_bcadd ._fegdg =_fgga (_bcadd ._fegdg ,_eccc );};if len (_ceeag ._cebc )> 0{_ceeag ._cebc =_fgga (_ceeag ._cebc ,_eccc );};if _bcadd ._bgfd !=nil {_gdbbc ,_cedad :=_aef .GetName (_bcadd ._bgfd .FontName );if _cedad &&len (_gdbbc .String ())> 0{_eadd :=_fgga (_gdbbc .String (),_eccc );_bcadd ._bgfd .FontName =_aef .MakeName (_eadd );};};return nil ;};
|
||
|
||
// PdfAnnotationStamp represents Stamp annotations.
|
||
// (Section 12.5.6.12).
|
||
type PdfAnnotationStamp struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Name _aef .PdfObject ;};var _ pdfFont =(*pdfFontSimple )(nil );
|
||
|
||
// 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 ;_afge []byte ;_fgafa []float64 ;};func _eaae (_agaf _aef .PdfObject ,_bfaa *PdfReader )(*OutlineDest ,error ){_ddef ,_bbfg :=_aef .GetArray (_agaf );if !_bbfg {return nil ,_fa .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");};_fefa :=_ddef .Len ();if _fefa < 2{return nil ,_b .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",_fefa );};_gffba :=&OutlineDest {Mode :"\u0046\u0069\u0074"};_ecge :=_ddef .Get (0);if _ddba ,_gccca :=_aef .GetIndirect (_ecge );_gccca {if _ ,_eabfg ,_bbedf :=_bfaa .PageFromIndirectObject (_ddba );_bbedf ==nil {_gffba .Page =int64 (_eabfg -1);}else {_abe .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",_ddba );};_gffba .PageObj =_ddba ;}else if _ffggf ,_ageca :=_aef .GetIntVal (_ecge );_ageca {if _ffggf >=0&&_ffggf < len (_bfaa .PageList ){_gffba .PageObj =_bfaa .PageList [_ffggf ].GetPageAsIndirectObject ();}else {_abe .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",_ffggf );};_gffba .Page =int64 (_ffggf );}else {return nil ,_b .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",_ecge );};_bcfcf ,_bbfg :=_aef .GetNameVal (_ddef .Get (1));if !_bbfg {_abe .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",_ddef .Get (1));return _gffba ,nil ;};switch _bcfcf {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":if _fefa > 2{_gffba .Y ,_ =_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_ddef .Get (2)));};case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":if _fefa > 2{_gffba .X ,_ =_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_ddef .Get (2)));};case "\u0058\u0059\u005a":if _fefa > 4{_gffba .X ,_ =_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_ddef .Get (2)));_gffba .Y ,_ =_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_ddef .Get (3)));_gffba .Zoom ,_ =_aef .GetNumberAsFloat (_aef .TraceToDirectObject (_ddef .Get (4)));};default:_bcfcf ="\u0046\u0069\u0074";};_gffba .Mode =_bcfcf ;return _gffba ,nil ;};
|
||
|
||
// 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 (_gda *PdfFieldButton )GetType ()ButtonType {_aegfc :=ButtonTypeCheckbox ;if _gda .Ff !=nil {if (uint32 (*_gda .Ff )&FieldFlagPushbutton .Mask ())> 0{_aegfc =ButtonTypePush ;}else if (uint32 (*_gda .Ff )&FieldFlagRadio .Mask ())> 0{_aegfc =ButtonTypeRadio ;};};return _aegfc ;};
|
||
|
||
// 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 (_eccbd *PdfFont )CharcodesToUnicodeWithStats (charcodes []_be .CharCode )(_bgfb []rune ,_bffg ,_cfff int ){_adac ,_bffg ,_cfff :=_eccbd .CharcodesToStrings (charcodes );return []rune (_dg .Join (_adac ,"")),_bffg ,_cfff ;};
|
||
|
||
// Initialize initializes the PdfSignature.
|
||
func (_gdeda *PdfSignature )Initialize ()error {if _gdeda .Handler ==nil {return _fa .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 _gdeda .Handler .InitSignature (_gdeda );};
|
||
|
||
// NewPdfActionSubmitForm returns a new "submit form" action.
|
||
func NewPdfActionSubmitForm ()*PdfActionSubmitForm {_ge :=NewPdfAction ();_gff :=&PdfActionSubmitForm {};_gff .PdfAction =_ge ;_ge .SetContext (_gff );return _gff ;};
|
||
|
||
// GetModelFromPrimitive returns the model corresponding to the `primitive` PdfObject.
|
||
func (_bfece *modelManager )GetModelFromPrimitive (primitive _aef .PdfObject )PdfModel {model ,_baacc :=_bfece ._bgbf [primitive ];if !_baacc {return nil ;};return model ;};
|
||
|
||
// 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 (_egec DefaultImageHandler )Compress (input *Image ,quality int64 )(*Image ,error ){return input ,nil ;};func _dgce (_gegf *_aef .PdfIndirectObject ,_agfd *_aef .PdfObjectDictionary )(*DSS ,error ){if _gegf ==nil {_gegf =_aef .MakeIndirectObject (nil );};_gegf .PdfObject =_aef .MakeDict ();_cdfe :=map[string ]*VRI {};if _debf ,_cbda :=_aef .GetDict (_agfd .Get ("\u0056\u0052\u0049"));_cbda {for _ ,_geee :=range _debf .Keys (){if _adad ,_gcbc :=_aef .GetDict (_debf .Get (_geee ));_gcbc {_cdfe [_dg .ToUpper (_geee .String ())]=_bfba (_adad );};};};return &DSS {Certs :_cbbfg (_agfd .Get ("\u0043\u0065\u0072t\u0073")),OCSPs :_cbbfg (_agfd .Get ("\u004f\u0043\u0053P\u0073")),CRLs :_cbbfg (_agfd .Get ("\u0043\u0052\u004c\u0073")),VRI :_cdfe ,_egdea :_gegf },nil ;};func _dbgaf (_cface *PdfField )[]*PdfField {_ebdeb :=[]*PdfField {_cface };for _ ,_fafbe :=range _cface .Kids {_ebdeb =append (_ebdeb ,_dbgaf (_fafbe )...);};return _ebdeb ;};
|
||
|
||
// ToUnicode returns the name of the font's "ToUnicode" field if there is one, or "" if there isn't.
|
||
func (_dffa *PdfFont )ToUnicode ()string {if _dffa .baseFields ()._ecefd ==nil {return "";};return _dffa .baseFields ()._ecefd .Name ();};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType2 to a PDF representation.
|
||
func (_aggde *pdfCIDFontType2 )ToPdfObject ()_aef .PdfObject {if _aggde ._cafb ==nil {_aggde ._cafb =&_aef .PdfIndirectObject {};};_bfeca :=_aggde .baseFields ().asPdfObjectDictionary ("\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032");_aggde ._cafb .PdfObject =_bfeca ;if _aggde .CIDSystemInfo !=nil {_bfeca .Set ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f",_aggde .CIDSystemInfo );};if _aggde .DW !=nil {_bfeca .Set ("\u0044\u0057",_aggde .DW );};if _aggde .DW2 !=nil {_bfeca .Set ("\u0044\u0057\u0032",_aggde .DW2 );};if _aggde .W !=nil {_bfeca .Set ("\u0057",_aggde .W );};if _aggde .W2 !=nil {_bfeca .Set ("\u0057\u0032",_aggde .W2 );};if _aggde .CIDToGIDMap !=nil {_bfeca .Set ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070",_aggde .CIDToGIDMap );};return _aggde ._cafb ;};func _ddg (_cbec _aef .PdfObject )(*PdfColorspaceCalRGB ,error ){_gccb :=NewPdfColorspaceCalRGB ();if _fccf ,_ebfe :=_cbec .(*_aef .PdfIndirectObject );_ebfe {_gccb ._cdag =_fccf ;};_cbec =_aef .TraceToDirectObject (_cbec );_bgfe ,_gcgd :=_cbec .(*_aef .PdfObjectArray );if !_gcgd {return nil ,_b .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bgfe .Len ()!=2{return nil ,_b .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_cbec =_aef .TraceToDirectObject (_bgfe .Get (0));_dcea ,_gcgd :=_cbec .(*_aef .PdfObjectName );if !_gcgd {return nil ,_b .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 *_dcea !="\u0043\u0061\u006c\u0052\u0047\u0042"{return nil ,_b .Errorf ("\u006e\u006f\u0074 a\u0020\u0043\u0061\u006c\u0052\u0047\u0042\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_cbec =_aef .TraceToDirectObject (_bgfe .Get (1));_efcc ,_gcgd :=_cbec .(*_aef .PdfObjectDictionary );if !_gcgd {return nil ,_b .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");};_cbec =_efcc .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_cbec =_aef .TraceToDirectObject (_cbec );_cfceg ,_gcgd :=_cbec .(*_aef .PdfObjectArray );if !_gcgd {return nil ,_b .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 _cfceg .Len ()!=3{return nil ,_b .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");};_bfdd ,_bbd :=_cfceg .GetAsFloat64Slice ();if _bbd !=nil {return nil ,_bbd ;};_gccb .WhitePoint =_bfdd ;_cbec =_efcc .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _cbec !=nil {_cbec =_aef .TraceToDirectObject (_cbec );_ddfce ,_adde :=_cbec .(*_aef .PdfObjectArray );if !_adde {return nil ,_b .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 _ddfce .Len ()!=3{return nil ,_b .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");};_dbdge ,_bacb :=_ddfce .GetAsFloat64Slice ();if _bacb !=nil {return nil ,_bacb ;};_gccb .BlackPoint =_dbdge ;};_cbec =_efcc .Get ("\u0047\u0061\u006dm\u0061");if _cbec !=nil {_cbec =_aef .TraceToDirectObject (_cbec );_acefb ,_eccbf :=_cbec .(*_aef .PdfObjectArray );if !_eccbf {return nil ,_b .Errorf ("C\u0061\u006c\u0052\u0047B:\u0020I\u006e\u0076\u0061\u006c\u0069d\u0020\u0047\u0061\u006d\u006d\u0061");};if _acefb .Len ()!=3{return nil ,_b .Errorf ("C\u0061\u006c\u0052\u0047\u0042\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0047a\u006d\u006d\u0061 \u0061r\u0072\u0061\u0079");};_dgef ,_gegg :=_acefb .GetAsFloat64Slice ();if _gegg !=nil {return nil ,_gegg ;};_gccb .Gamma =_dgef ;};_cbec =_efcc .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");if _cbec !=nil {_cbec =_aef .TraceToDirectObject (_cbec );_bfdf ,_fcfbg :=_cbec .(*_aef .PdfObjectArray );if !_fcfbg {return nil ,_b .Errorf ("\u0043\u0061\u006c\u0052GB\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004d\u0061\u0074\u0072i\u0078");};if _bfdf .Len ()!=9{_abe .Log .Error ("\u004d\u0061t\u0072\u0069\u0078 \u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0073",_bfdf .String ());return nil ,_b .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");};_fggcb ,_ebga :=_bfdf .GetAsFloat64Slice ();if _ebga !=nil {return nil ,_ebga ;};_gccb .Matrix =_fggcb ;};return _gccb ,nil ;};
|
||
|
||
// ToPdfObject converts the font to a PDF representation.
|
||
func (_aggc *pdfFontType0 )ToPdfObject ()_aef .PdfObject {if _aggc ._abbb ==nil {_aggc ._abbb =&_aef .PdfIndirectObject {};};_fdffc :=_aggc .baseFields ().asPdfObjectDictionary ("\u0054\u0079\u0070e\u0030");_aggc ._abbb .PdfObject =_fdffc ;if _aggc .Encoding !=nil {_fdffc .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_aggc .Encoding );}else if _aggc ._eeag !=nil {_fdffc .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_aggc ._eeag .ToPdfObject ());};if _aggc .DescendantFont !=nil {_fdffc .Set ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073",_aef .MakeArray (_aggc .DescendantFont .ToPdfObject ()));};return _aggc ._abbb ;};func _gaca (_cfcd _aef .PdfObject )(*PdfFunctionType3 ,error ){_cgbg :=&PdfFunctionType3 {};var _egafdb *_aef .PdfObjectDictionary ;if _dgdf ,_cefec :=_cfcd .(*_aef .PdfIndirectObject );_cefec {_agae ,_fabfa :=_dgdf .PdfObject .(*_aef .PdfObjectDictionary );if !_fabfa {return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_cgbg ._deaga =_dgdf ;_egafdb =_agae ;}else if _egef ,_dafg :=_cfcd .(*_aef .PdfObjectDictionary );_dafg {_egafdb =_egef ;}else {return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gdgab ,_afbece :=_aef .TraceToDirectObject (_egafdb .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_aef .PdfObjectArray );if !_afbece {_abe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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 _gdgab .Len ()!=2{_abe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fa .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_fdded ,_dadbc :=_gdgab .ToFloat64Array ();if _dadbc !=nil {return nil ,_dadbc ;};_cgbg .Domain =_fdded ;_gdgab ,_afbece =_aef .TraceToDirectObject (_egafdb .Get ("\u0052\u0061\u006eg\u0065")).(*_aef .PdfObjectArray );if _afbece {if _gdgab .Len ()< 0||_gdgab .Len ()%2!=0{return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_faecf ,_baaae :=_gdgab .ToFloat64Array ();if _baaae !=nil {return nil ,_baaae ;};_cgbg .Range =_faecf ;};_gdgab ,_afbece =_aef .TraceToDirectObject (_egafdb .Get ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es")).(*_aef .PdfObjectArray );if !_afbece {_abe .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 ,_fa .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");};_cgbg .Functions =[]PdfFunction {};for _ ,_adbfa :=range _gdgab .Elements (){_afbg ,_fbgf :=_begb (_adbfa );if _fbgf !=nil {return nil ,_fbgf ;};_cgbg .Functions =append (_cgbg .Functions ,_afbg );};_gdgab ,_afbece =_aef .TraceToDirectObject (_egafdb .Get ("\u0042\u006f\u0075\u006e\u0064\u0073")).(*_aef .PdfObjectArray );if !_afbece {_abe .Log .Error ("B\u006fu\u006e\u0064\u0073\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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");};_acedg ,_dadbc :=_gdgab .ToFloat64Array ();if _dadbc !=nil {return nil ,_dadbc ;};_cgbg .Bounds =_acedg ;if len (_cgbg .Bounds )!=len (_cgbg .Functions )-1{_abe .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 (_cgbg .Bounds ),len (_cgbg .Functions ));return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdgab ,_afbece =_aef .TraceToDirectObject (_egafdb .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_aef .PdfObjectArray );if !_afbece {_abe .Log .Error ("E\u006ec\u006f\u0064\u0065\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fa .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");};_gged ,_dadbc :=_gdgab .ToFloat64Array ();if _dadbc !=nil {return nil ,_dadbc ;};_cgbg .Encode =_gged ;if len (_cgbg .Encode )!=2*len (_cgbg .Functions ){_abe .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 (_cgbg .Encode ),len (_cgbg .Functions ));return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return _cgbg ,nil ;};
|
||
|
||
// 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 ){_ebaba :=PdfDate {};_ggdgc :=_aceda .FindAllStringSubmatch (dateStr ,1);if len (_ggdgc )< 1{return _ebaba ,_b .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 (_ggdgc [0])!=10{return _ebaba ,_fa .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");};_ebaba ._eacag ,_ =_f .ParseInt (_ggdgc [0][1],10,32);_ebaba ._bfeaf ,_ =_f .ParseInt (_ggdgc [0][2],10,32);_ebaba ._cecab ,_ =_f .ParseInt (_ggdgc [0][3],10,32);_ebaba ._begfg ,_ =_f .ParseInt (_ggdgc [0][4],10,32);_ebaba ._gdeaef ,_ =_f .ParseInt (_ggdgc [0][5],10,32);_ebaba ._ebge ,_ =_f .ParseInt (_ggdgc [0][6],10,32);if len (_ggdgc [0][7])> 0{_ebaba ._bggc =_ggdgc [0][7][0];}else {_ebaba ._bggc ='+';};if len (_ggdgc [0][8])> 0{_ebaba ._bbccf ,_ =_f .ParseInt (_ggdgc [0][8],10,32);}else {_ebaba ._bbccf =0;};if len (_ggdgc [0][9])> 0{_ebaba ._debfg ,_ =_f .ParseInt (_ggdgc [0][9],10,32);}else {_ebaba ._debfg =0;};return _ebaba ,nil ;};func (_bfbd *PdfAppender )mergeResources (_gdfed ,_cecf _aef .PdfObject ,_ddbf map[_aef .PdfObjectName ]_aef .PdfObjectName )_aef .PdfObject {if _cecf ==nil &&_gdfed ==nil {return nil ;};if _cecf ==nil {return _gdfed ;};_bfed ,_eccd :=_aef .GetDict (_cecf );if !_eccd {return _gdfed ;};if _gdfed ==nil {_fcfa :=_aef .MakeDict ();_fcfa .Merge (_bfed );return _cecf ;};_abgd ,_eccd :=_aef .GetDict (_gdfed );if !_eccd {_abe .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");_abgd =_aef .MakeDict ();};for _ ,_dadd :=range _bfed .Keys (){if _aebf ,_dade :=_ddbf [_dadd ];_dade {_abgd .Set (_aebf ,_bfed .Get (_dadd ));}else {_abgd .Set (_dadd ,_bfed .Get (_dadd ));};};return _abgd ;};type pdfSignDictionary struct{*_aef .PdfObjectDictionary ;_gegee *SignatureHandler ;_bebca *PdfSignature ;_ggbad int64 ;_dfdbe int ;_ffff int ;_afebc int ;_aceeb int ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_efcdf *PdfAnnotationProjection )ToPdfObject ()_aef .PdfObject {_efcdf .PdfAnnotation .ToPdfObject ();_bbg :=_efcdf ._edc ;_ceea :=_bbg .PdfObject .(*_aef .PdfObjectDictionary );_efcdf .PdfAnnotationMarkup .appendToPdfDictionary (_ceea );return _bbg ;};func (_cfbgd *PdfWriter )seekByName (_effce _aef .PdfObject ,_afbbb []string ,_bgcc string )([]_aef .PdfObject ,error ){_abe .Log .Trace ("\u0053\u0065\u0065\u006b\u0020\u0062\u0079\u0020\u006e\u0061\u006d\u0065.\u002e\u0020\u0025\u0054",_effce );var _febcd []_aef .PdfObject ;if _egfbaf ,_fgffd :=_effce .(*_aef .PdfIndirectObject );_fgffd {return _cfbgd .seekByName (_egfbaf .PdfObject ,_afbbb ,_bgcc );};if _bbdfg ,_egabad :=_effce .(*_aef .PdfObjectStream );_egabad {return _cfbgd .seekByName (_bbdfg .PdfObjectDictionary ,_afbbb ,_bgcc );};if _dfafb ,_ggbaa :=_effce .(*_aef .PdfObjectDictionary );_ggbaa {_abe .Log .Trace ("\u0044\u0069\u0063\u0074");for _ ,_eacee :=range _dfafb .Keys (){_gccda :=_dfafb .Get (_eacee );if string (_eacee )==_bgcc {_febcd =append (_febcd ,_gccda );};for _ ,_abaee :=range _afbbb {if string (_eacee )==_abaee {_abe .Log .Trace ("\u0046\u006f\u006c\u006c\u006f\u0077\u0020\u006b\u0065\u0079\u0020\u0025\u0073",_abaee );_abcced ,_ccecf :=_cfbgd .seekByName (_gccda ,_afbbb ,_bgcc );if _ccecf !=nil {return _febcd ,_ccecf ;};_febcd =append (_febcd ,_abcced ...);break ;};};};return _febcd ,nil ;};return _febcd ,nil ;};
|
||
|
||
// PdfRectangle is a definition of a rectangle.
|
||
type PdfRectangle struct{Llx float64 ;Lly float64 ;Urx float64 ;Ury float64 ;};func (_deea *PdfReader )newPdfAnnotationUnderlineFromDict (_abeb *_aef .PdfObjectDictionary )(*PdfAnnotationUnderline ,error ){_fbab :=PdfAnnotationUnderline {};_acg ,_fgfd :=_deea .newPdfAnnotationMarkupFromDict (_abeb );if _fgfd !=nil {return nil ,_fgfd ;};_fbab .PdfAnnotationMarkup =_acg ;_fbab .QuadPoints =_abeb .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_fbab ,nil ;};
|
||
|
||
// SetVersion sets the PDF version of the output file.
|
||
func (_eafc *PdfWriter )SetVersion (majorVersion ,minorVersion int ){_eafc ._cfebb =majorVersion ;_eafc ._gbcce =minorVersion ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bfce *PdfAnnotationHighlight )ToPdfObject ()_aef .PdfObject {_bfce .PdfAnnotation .ToPdfObject ();_abaa :=_bfce ._edc ;_adda :=_abaa .PdfObject .(*_aef .PdfObjectDictionary );_bfce .PdfAnnotationMarkup .appendToPdfDictionary (_adda );_adda .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t"));_adda .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_bfce .QuadPoints );return _abaa ;};
|
||
|
||
// GetIndirectObjectByNumber retrieves and returns a specific PdfObject by object number.
|
||
func (_cdfcf *PdfReader )GetIndirectObjectByNumber (number int )(_aef .PdfObject ,error ){_dggeb ,_deadgc :=_cdfcf ._gdbbd .LookupByNumber (number );return _dggeb ,_deadgc ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_cfbe *PdfColorspaceCalRGB )ToPdfObject ()_aef .PdfObject {_ffgd :=&_aef .PdfObjectArray {};_ffgd .Append (_aef .MakeName ("\u0043\u0061\u006c\u0052\u0047\u0042"));_ffcag :=_aef .MakeDict ();if _cfbe .WhitePoint !=nil {_dedd :=_aef .MakeArray (_aef .MakeFloat (_cfbe .WhitePoint [0]),_aef .MakeFloat (_cfbe .WhitePoint [1]),_aef .MakeFloat (_cfbe .WhitePoint [2]));_ffcag .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_dedd );}else {_abe .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 _cfbe .BlackPoint !=nil {_cceg :=_aef .MakeArray (_aef .MakeFloat (_cfbe .BlackPoint [0]),_aef .MakeFloat (_cfbe .BlackPoint [1]),_aef .MakeFloat (_cfbe .BlackPoint [2]));_ffcag .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_cceg );};if _cfbe .Gamma !=nil {_ddgd :=_aef .MakeArray (_aef .MakeFloat (_cfbe .Gamma [0]),_aef .MakeFloat (_cfbe .Gamma [1]),_aef .MakeFloat (_cfbe .Gamma [2]));_ffcag .Set ("\u0047\u0061\u006dm\u0061",_ddgd );};if _cfbe .Matrix !=nil {_bddfc :=_aef .MakeArray (_aef .MakeFloat (_cfbe .Matrix [0]),_aef .MakeFloat (_cfbe .Matrix [1]),_aef .MakeFloat (_cfbe .Matrix [2]),_aef .MakeFloat (_cfbe .Matrix [3]),_aef .MakeFloat (_cfbe .Matrix [4]),_aef .MakeFloat (_cfbe .Matrix [5]),_aef .MakeFloat (_cfbe .Matrix [6]),_aef .MakeFloat (_cfbe .Matrix [7]),_aef .MakeFloat (_cfbe .Matrix [8]));_ffcag .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_bddfc );};_ffgd .Append (_ffcag );if _cfbe ._cdag !=nil {_cfbe ._cdag .PdfObject =_ffgd ;return _cfbe ._cdag ;};return _ffgd ;};
|
||
|
||
// AddExtension adds the specified extension to the Extensions dictionary.
|
||
// See section 7.1.2 "Extensions Dictionary" (pp. 108-109 PDF32000_2008).
|
||
func (_geaad *PdfWriter )AddExtension (extName ,baseVersion string ,extLevel int ){_dafe ,_daffb :=_aef .GetDict (_geaad ._abebc .Get ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006e\u0073"));if !_daffb {_dafe =_aef .MakeDict ();_geaad ._abebc .Set ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006e\u0073",_dafe );};_eecad ,_daffb :=_aef .GetDict (_dafe .Get (_aef .PdfObjectName (extName )));if !_daffb {_eecad =_aef .MakeDict ();_dafe .Set (_aef .PdfObjectName (extName ),_eecad );};if _dagfb ,_ :=_aef .GetNameVal (_eecad .Get ("B\u0061\u0073\u0065\u0056\u0065\u0072\u0073\u0069\u006f\u006e"));_dagfb !=baseVersion {_eecad .Set ("B\u0061\u0073\u0065\u0056\u0065\u0072\u0073\u0069\u006f\u006e",_aef .MakeName (baseVersion ));};if _fagefe ,_ :=_aef .GetIntVal (_eecad .Get ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006eL\u0065\u0076\u0065\u006c"));_fagefe !=extLevel {_eecad .Set ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006eL\u0065\u0076\u0065\u006c",_aef .MakeInteger (int64 (extLevel )));};};func (_adgef *LTV )getCerts (_fdbee []*_c .Certificate )([][]byte ,error ){_fdcfg :=make ([][]byte ,0,len (_fdbee ));for _ ,_egacc :=range _fdbee {_fdcfg =append (_fdcfg ,_egacc .Raw );};return _fdcfg ,nil ;};func (_efg *PdfReader )newPdfAnnotationHighlightFromDict (_egaf *_aef .PdfObjectDictionary )(*PdfAnnotationHighlight ,error ){_cddb :=PdfAnnotationHighlight {};_bbfb ,_aba :=_efg .newPdfAnnotationMarkupFromDict (_egaf );if _aba !=nil {return nil ,_aba ;};_cddb .PdfAnnotationMarkup =_bbfb ;_cddb .QuadPoints =_egaf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_cddb ,nil ;};
|
||
|
||
// NewPdfActionLaunch returns a new "launch" action.
|
||
func NewPdfActionLaunch ()*PdfActionLaunch {_dag :=NewPdfAction ();_cf :=&PdfActionLaunch {};_cf .PdfAction =_dag ;_dag .SetContext (_cf );return _cf ;};
|
||
|
||
// GetContentStreamObjs returns a slice of PDF objects containing the content
|
||
// streams of the page.
|
||
func (_cccae *PdfPage )GetContentStreamObjs ()[]_aef .PdfObject {if _cccae .Contents ==nil {return nil ;};_cdagf :=_aef .TraceToDirectObject (_cccae .Contents );if _dacc ,_cggad :=_cdagf .(*_aef .PdfObjectArray );_cggad {return _dacc .Elements ();};return []_aef .PdfObject {_cdagf };};
|
||
|
||
// 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 (_ebcfa *PdfReader )CheckAccessRights (password []byte )(bool ,_db .Permissions ,error ){return _ebcfa ._gdbbd .CheckAccessRights (password );};
|
||
|
||
// PdfOutlineTreeNode contains common fields used by the outline and outline
|
||
// item objects.
|
||
type PdfOutlineTreeNode struct{_gdgaba interface{};First *PdfOutlineTreeNode ;Last *PdfOutlineTreeNode ;};
|
||
|
||
// Val returns the color value.
|
||
func (_ddfc *PdfColorDeviceGray )Val ()float64 {return float64 (*_ddfc )};
|
||
|
||
// Mask returns the uin32 bitmask for the specific flag.
|
||
func (_dcdd FieldFlag )Mask ()uint32 {return uint32 (_dcdd )};
|
||
|
||
// NewPdfAction returns an initialized generic PDF action model.
|
||
func NewPdfAction ()*PdfAction {_dga :=&PdfAction {};_dga ._gc =_aef .MakeIndirectObject (_aef .MakeDict ());return _dga ;};
|
||
|
||
// 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 (_eefbf *PdfPage )SetContentStreams (cStreams []string ,encoder _aef .StreamEncoder )error {if len (cStreams )==0{_eefbf .Contents =nil ;return nil ;};if encoder ==nil {encoder =_aef .NewRawEncoder ();};var _cggce []*_aef .PdfObjectStream ;for _ ,_gfecc :=range cStreams {_aabaf :=&_aef .PdfObjectStream {};_aaabg :=encoder .MakeStreamDict ();_afef ,_fefd :=encoder .EncodeBytes ([]byte (_gfecc ));if _fefd !=nil {return _fefd ;};_aaabg .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_afef ))));_aabaf .PdfObjectDictionary =_aaabg ;_aabaf .Stream =_afef ;_cggce =append (_cggce ,_aabaf );};if len (_cggce )==1{_eefbf .Contents =_cggce [0];}else {_bfedb :=_aef .MakeArray ();for _ ,_bgede :=range _cggce {_bfedb .Append (_bgede );};_eefbf .Contents =_bfedb ;};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 (_ffcd *PdfColorspaceCalRGB )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dece ,_aafe :=_aef .GetNumbersAsFloat (objects );if _aafe !=nil {return nil ,_aafe ;};return _ffcd .ColorFromFloats (_dece );};func (_dcga *PdfReader )flattenFieldsWithOpts (_ggff bool ,_agge FieldAppearanceGenerator ,_dbeg *FieldFlattenOpts )error {if _dbeg ==nil {_dbeg =&FieldFlattenOpts {};};var _badd bool ;_eadfg :=map[*PdfAnnotation ]bool {};{var _dfaff []*PdfField ;_bbacd :=_dcga .AcroForm ;if _bbacd !=nil {if _dbeg .FilterFunc !=nil {_dfaff =_bbacd .filteredFields (_dbeg .FilterFunc ,true );_badd =_bbacd .Fields !=nil &&len (*_bbacd .Fields )> 0;}else {_dfaff =_bbacd .AllFields ();};};for _ ,_affbf :=range _dfaff {for _ ,_dcec :=range _affbf .Annotations {_eadfg [_dcec .PdfAnnotation ]=_affbf .V !=nil ;if _agge !=nil {_agfcc ,_dccad :=_agge .GenerateAppearanceDict (_bbacd ,_affbf ,_dcec );if _dccad !=nil {return _dccad ;};_dcec .AP =_agfcc ;};};};};if _ggff {for _ ,_gdfa :=range _dcga .PageList {_cacga ,_cfgd :=_gdfa .GetAnnotations ();if _cfgd !=nil {return _cfgd ;};for _ ,_cafge :=range _cacga {_eadfg [_cafge ]=true ;};};};for _ ,_bbbg :=range _dcga .PageList {var _cbccg []*PdfAnnotation ;if _agge !=nil {if _ecacb :=_agge .WrapContentStream (_bbbg );_ecacb !=nil {return _ecacb ;};};_aaeeb ,_aecba :=_bbbg .GetAnnotations ();if _aecba !=nil {return _aecba ;};for _ ,_cgddb :=range _aaeeb {_beac ,_badb :=_eadfg [_cgddb ];if !_badb {_cbccg =append (_cbccg ,_cgddb );continue ;};switch _cgddb .GetContext ().(type ){case *PdfAnnotationPopup :continue ;case *PdfAnnotationLink :continue ;case *PdfAnnotationProjection :continue ;};_gbbf ,_afgcd ,_gedba :=_fdef (_cgddb );if _gedba !=nil {if !_beac {_abe .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 ;};_abe .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",_gedba );continue ;};if _gbbf ==nil {continue ;};_debba :=_bbbg .Resources .GenerateXObjectName ();_bbbg .Resources .SetXObjectFormByName (_debba ,_gbbf );_ccfdd :=_ad .Min (_afgcd .Llx ,_afgcd .Urx );_efcdg :=_ad .Min (_afgcd .Lly ,_afgcd .Ury );var _bdge []string ;_bdge =append (_bdge ,"\u0071");_bdge =append (_bdge ,_b .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,_ccfdd ,_efcdg ));_bdge =append (_bdge ,_b .Sprintf ("\u002f\u0025\u0073\u0020\u0044\u006f",_debba .String ()));_bdge =append (_bdge ,"\u0051");_egdag :=_dg .Join (_bdge ,"\u000a");_gedba =_bbbg .AppendContentStream (_egdag );if _gedba !=nil {return _gedba ;};if _gbbf .Resources !=nil {_cbceb ,_cdcd :=_aef .GetDict (_gbbf .Resources .Font );if _cdcd {for _ ,_eabgg :=range _cbceb .Keys (){if !_bbbg .Resources .HasFontByName (_eabgg ){_bbbg .Resources .SetFontByName (_eabgg ,_cbceb .Get (_eabgg ));};};};};};if len (_cbccg )> 0{_bbbg ._bcgfd =_cbccg ;}else {_bbbg ._bcgfd =[]*PdfAnnotation {};};};if !_badd {_dcga .AcroForm =nil ;};return nil ;};
|
||
|
||
// PdfOutlineItem represents an outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type PdfOutlineItem struct{PdfOutlineTreeNode ;Title *_aef .PdfObjectString ;Parent *PdfOutlineTreeNode ;Prev *PdfOutlineTreeNode ;Next *PdfOutlineTreeNode ;Count *int64 ;Dest _aef .PdfObject ;A _aef .PdfObject ;SE _aef .PdfObject ;C _aef .PdfObject ;F _aef .PdfObject ;_gdgba *_aef .PdfIndirectObject ;};func (_aegaf *PdfWriter )writeBytes (_egdffd []byte ){if _aegaf ._geac !=nil {return ;};_bgbfc ,_feccb :=_aegaf ._fcadd .Write (_egdffd );_aegaf ._dfdcd +=int64 (_bgbfc );_aegaf ._geac =_feccb ;};
|
||
|
||
// HasFontByName checks whether a font is defined by the specified keyName.
|
||
func (_eeaafd *PdfPageResources )HasFontByName (keyName _aef .PdfObjectName )bool {_ ,_caebe :=_eeaafd .GetFontByName (keyName );return _caebe ;};
|
||
|
||
// SetDSS sets the DSS dictionary (ETSI TS 102 778-4 V1.1.1) of the current
|
||
// document revision.
|
||
func (_becd *PdfAppender )SetDSS (dss *DSS ){if dss !=nil {_becd .updateObjectsDeep (dss .ToPdfObject (),nil );};_becd ._gcde =dss ;};func (_gfbffa *PdfReader )traverseObjectData (_aaffe _aef .PdfObject )error {return _aef .ResolveReferencesDeep (_aaffe ,_gfbffa ._cadgb );};func (_gfcaf *PdfReader )loadDSS ()(*DSS ,error ){if _gfcaf ._gdbbd .GetCrypter ()!=nil &&!_gfcaf ._gdbbd .IsAuthenticated (){return nil ,_b .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");};_dffbf :=_gfcaf ._acae .Get ("\u0044\u0053\u0053");if _dffbf ==nil {return nil ,nil ;};_eefgc ,_ :=_aef .GetIndirect (_dffbf );_dffbf =_aef .TraceToDirectObject (_dffbf );switch _eacfc :=_dffbf .(type ){case *_aef .PdfObjectNull :return nil ,nil ;case *_aef .PdfObjectDictionary :return _dgce (_eefgc ,_eacfc );};return nil ,_b .Errorf ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0044\u0053\u0053 \u0065\u006e\u0074\u0072y \u0025\u0054",_dffbf );};
|
||
|
||
// ImageToGray returns a new grayscale image based on the passed in RGB image.
|
||
func (_efca *PdfColorspaceDeviceRGB )ImageToGray (img Image )(Image ,error ){if img .ColorComponents !=3{return img ,_fa .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");};_fdaagf ,_ebgd :=_gb .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._afge ,img ._fgafa );if _ebgd !=nil {return img ,_ebgd ;};_eebf ,_ebgd :=_gb .GrayConverter .Convert (_fdaagf );if _ebgd !=nil {return img ,_ebgd ;};return _cbgdcg (_eebf .Base ()),nil ;};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";);
|
||
|
||
// NewPdfAnnotationWatermark returns a new watermark annotation.
|
||
func NewPdfAnnotationWatermark ()*PdfAnnotationWatermark {_dde :=NewPdfAnnotation ();_cbgg :=&PdfAnnotationWatermark {};_cbgg .PdfAnnotation =_dde ;_dde .SetContext (_cbgg );return _cbgg ;};
|
||
|
||
// SetFontByName sets the font specified by keyName to the given object.
|
||
func (_dacce *PdfPageResources )SetFontByName (keyName _aef .PdfObjectName ,obj _aef .PdfObject )error {if _dacce .Font ==nil {_dacce .Font =_aef .MakeDict ();};_debbg ,_cgfeb :=_aef .TraceToDirectObject (_dacce .Font ).(*_aef .PdfObjectDictionary );if !_cgfeb {_abe .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",_aef .TraceToDirectObject (_dacce .Font ));return _aef .ErrTypeError ;};_debbg .Set (keyName ,obj );return nil ;};
|
||
|
||
// SetXObjectImageByName adds the provided XObjectImage to the page resources.
|
||
// The added XObjectImage is identified by the specified name.
|
||
func (_efbf *PdfPageResources )SetXObjectImageByName (keyName _aef .PdfObjectName ,ximg *XObjectImage )error {_dfffd :=ximg .ToPdfObject ().(*_aef .PdfObjectStream );_gbef :=_efbf .SetXObjectByName (keyName ,_dfffd );return _gbef ;};
|
||
|
||
// 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 (_bbcbb *PdfColorspaceLab )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fega :=vals [0];if _fega < 0.0||_fega > 100.0{_abe .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",_fega );return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_efb :=vals [1];_adbc :=float64 (-100);_cfeef :=float64 (100);if len (_bbcbb .Range )> 1{_adbc =_bbcbb .Range [0];_cfeef =_bbcbb .Range [1];};if _efb < _adbc ||_efb > _cfeef {_abe .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",_efb ,_adbc ,_cfeef );return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gfebe :=vals [2];_eabf :=float64 (-100);_gfcea :=float64 (100);if len (_bbcbb .Range )> 3{_eabf =_bbcbb .Range [2];_gfcea =_bbcbb .Range [3];};if _gfebe < _eabf ||_gfebe > _gfcea {_abe .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",_gfebe ,_eabf ,_gfcea );return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bccf :=NewPdfColorLab (_fega ,_efb ,_gfebe );return _bccf ,nil ;};
|
||
|
||
// ReplaceAcroForm replaces the acrobat form. It appends a new form to the Pdf which
|
||
// replaces the original AcroForm.
|
||
func (_dadb *PdfAppender )ReplaceAcroForm (acroForm *PdfAcroForm ){if acroForm !=nil {_dadb .updateObjectsDeep (acroForm .ToPdfObject (),nil );};_dadb ._faga =acroForm ;};
|
||
|
||
// 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 ;
|
||
|
||
// DecodeArray returns the component range values for the DeviceN colorspace.
|
||
// [0 1.0 0 1.0 ...] for each color component.
|
||
func (_bedg *PdfColorspaceDeviceN )DecodeArray ()[]float64 {var _acd []float64 ;for _eegbf :=0;_eegbf < _bedg .GetNumComponents ();_eegbf ++{_acd =append (_acd ,0.0,1.0);};return _acd ;};func (_fdf *PdfReader )newPdfActionURIFromDict (_aeda *_aef .PdfObjectDictionary )(*PdfActionURI ,error ){return &PdfActionURI {URI :_aeda .Get ("\u0055\u0052\u0049"),IsMap :_aeda .Get ("\u0049\u0073\u004da\u0070")},nil ;};
|
||
|
||
// PdfAnnotationPolygon represents Polygon annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolygon struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _aef .PdfObject ;LE _aef .PdfObject ;BS _aef .PdfObject ;IC _aef .PdfObject ;BE _aef .PdfObject ;IT _aef .PdfObject ;Measure _aef .PdfObject ;};
|
||
|
||
// PdfColorspaceCalGray represents CalGray color space.
|
||
type PdfColorspaceCalGray struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma float64 ;_ggdc *_aef .PdfIndirectObject ;};
|
||
|
||
// PdfColorspaceSpecialPattern is a Pattern colorspace.
|
||
// Can be defined either as /Pattern or with an underlying colorspace [/Pattern cs].
|
||
type PdfColorspaceSpecialPattern struct{UnderlyingCS PdfColorspace ;_febfd *_aef .PdfIndirectObject ;};
|
||
|
||
// PdfAnnotation3D represents 3D annotations.
|
||
// (Section 13.6.2).
|
||
type PdfAnnotation3D struct{*PdfAnnotation ;T3DD _aef .PdfObject ;T3DV _aef .PdfObject ;T3DA _aef .PdfObject ;T3DI _aef .PdfObject ;T3DB _aef .PdfObject ;};
|
||
|
||
// GetShadingByName gets the shading specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_egfba *PdfPageResources )GetShadingByName (keyName _aef .PdfObjectName )(*PdfShading ,bool ){if _egfba .Shading ==nil {return nil ,false ;};_bfebge ,_fgega :=_aef .TraceToDirectObject (_egfba .Shading ).(*_aef .PdfObjectDictionary );if !_fgega {_abe .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",_egfba .Shading );return nil ,false ;};if _dede :=_bfebge .Get (keyName );_dede !=nil {_cbfdc ,_dgadc :=_cbdfa (_dede );if _dgadc !=nil {_abe .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",_dgadc );return nil ,false ;};return _cbfdc ,true ;};return nil ,false ;};func _cgcfd (_ccaa _aef .PdfObject )(*PdfColorspaceDeviceN ,error ){_dffe :=NewPdfColorspaceDeviceN ();if _ecag ,_dagd :=_ccaa .(*_aef .PdfIndirectObject );_dagd {_dffe ._ggbg =_ecag ;};_ccaa =_aef .TraceToDirectObject (_ccaa );_daafe ,_bdad :=_ccaa .(*_aef .PdfObjectArray );if !_bdad {return nil ,_b .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 _daafe .Len ()!=4&&_daafe .Len ()!=5{return nil ,_b .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");};_ccaa =_daafe .Get (0);_dbabe ,_bdad :=_ccaa .(*_aef .PdfObjectName );if !_bdad {return nil ,_b .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 *_dbabe !="\u0044e\u0076\u0069\u0063\u0065\u004e"{return nil ,_b .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");};_ccaa =_daafe .Get (1);_ccaa =_aef .TraceToDirectObject (_ccaa );_dcbdf ,_bdad :=_ccaa .(*_aef .PdfObjectArray );if !_bdad {return nil ,_b .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");};_dffe .ColorantNames =_dcbdf ;_ccaa =_daafe .Get (2);_dddf ,_fgfdf :=NewPdfColorspaceFromPdfObject (_ccaa );if _fgfdf !=nil {return nil ,_fgfdf ;};_dffe .AlternateSpace =_dddf ;_bbagc ,_fgfdf :=_begb (_daafe .Get (3));if _fgfdf !=nil {return nil ,_fgfdf ;};_dffe .TintTransform =_bbagc ;if _daafe .Len ()==5{_bfbfd ,_gcecf :=_gcad (_daafe .Get (4));if _gcecf !=nil {return nil ,_gcecf ;};_dffe .Attributes =_bfbfd ;};return _dffe ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gga *PdfActionNamed )ToPdfObject ()_aef .PdfObject {_gga .PdfAction .ToPdfObject ();_fca :=_gga ._gc ;_cbg :=_fca .PdfObject .(*_aef .PdfObjectDictionary );_cbg .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeNamed )));_cbg .SetIfNotNil ("\u004e",_gga .N );return _fca ;};
|
||
|
||
// NewPdfActionMovie returns a new "movie" action.
|
||
func NewPdfActionMovie ()*PdfActionMovie {_aefb :=NewPdfAction ();_cb :=&PdfActionMovie {};_cb .PdfAction =_aefb ;_aefb .SetContext (_cb );return _cb ;};
|
||
|
||
// NewOutlineItem returns a new outline item instance.
|
||
func NewOutlineItem (title string ,dest OutlineDest )*OutlineItem {return &OutlineItem {Title :title ,Dest :dest };};func _gcad (_ggbf _aef .PdfObject )(*PdfColorspaceDeviceNAttributes ,error ){_dbga :=&PdfColorspaceDeviceNAttributes {};var _cecag *_aef .PdfObjectDictionary ;if _dcfg ,_dfea :=_ggbf .(*_aef .PdfIndirectObject );_dfea {_dbga ._ecgdd =_dcfg ;var _acgge bool ;_cecag ,_acgge =_dcfg .PdfObject .(*_aef .PdfObjectDictionary );if !_acgge {_abe .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 ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};}else if _beaa ,_bacd :=_ggbf .(*_aef .PdfObjectDictionary );_bacd {_cecag =_beaa ;}else {_abe .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 ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _eegaf :=_cecag .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_eegaf !=nil {_dgfb ,_eefe :=_aef .TraceToDirectObject (_eegaf ).(*_aef .PdfObjectName );if !_eefe {_abe .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 ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_dbga .Subtype =_dgfb ;};if _gcef :=_cecag .Get ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s");_gcef !=nil {_dbga .Colorants =_gcef ;};if _ccag :=_cecag .Get ("\u0050r\u006f\u0063\u0065\u0073\u0073");_ccag !=nil {_dbga .Process =_ccag ;};if _ccdc :=_cecag .Get ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073");_ccdc !=nil {_dbga .MixingHints =_ccdc ;};return _dbga ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gffd *PdfAnnotationStrikeOut )ToPdfObject ()_aef .PdfObject {_gffd .PdfAnnotation .ToPdfObject ();_dabab :=_gffd ._edc ;_gace :=_dabab .PdfObject .(*_aef .PdfObjectDictionary );_gffd .PdfAnnotationMarkup .appendToPdfDictionary (_gace );_gace .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t"));_gace .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_gffd .QuadPoints );return _dabab ;};
|
||
|
||
// ColorToRGB converts a CMYK32 color to an RGB color.
|
||
func (_ddbg *PdfColorspaceDeviceCMYK )ColorToRGB (color PdfColor )(PdfColor ,error ){_ffbf ,_ffcf :=color .(*PdfColorDeviceCMYK );if !_ffcf {_abe .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 ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_debb :=_ffbf .C ();_fddgc :=_ffbf .M ();_aaeg :=_ffbf .Y ();_cede :=_ffbf .K ();_debb =_debb *(1-_cede )+_cede ;_fddgc =_fddgc *(1-_cede )+_cede ;_aaeg =_aaeg *(1-_cede )+_cede ;_aabfd :=1-_debb ;_dgea :=1-_fddgc ;_eggg :=1-_aaeg ;return NewPdfColorDeviceRGB (_aabfd ,_dgea ,_eggg ),nil ;};
|
||
|
||
// PdfAnnotationMarkup represents additional fields for mark-up annotations.
|
||
// (Section 12.5.6.2 p. 399).
|
||
type PdfAnnotationMarkup struct{T _aef .PdfObject ;Popup *PdfAnnotationPopup ;CA _aef .PdfObject ;RC _aef .PdfObject ;CreationDate _aef .PdfObject ;IRT _aef .PdfObject ;Subj _aef .PdfObject ;RT _aef .PdfObject ;IT _aef .PdfObject ;ExData _aef .PdfObject ;};func (_ecfa *PdfReader )newPdfActionJavaScriptFromDict (_dea *_aef .PdfObjectDictionary )(*PdfActionJavaScript ,error ){return &PdfActionJavaScript {JS :_dea .Get ("\u004a\u0053")},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 (_ddbdc *pdfFontSimple )SetEncoder (encoder _be .TextEncoder ){_ddbdc ._bcbge =encoder };func _agcab (_ebeef []*_aef .PdfObjectStream )*_aef .PdfObjectArray {if len (_ebeef )==0{return nil ;};_aafgf :=make ([]_aef .PdfObject ,0,len (_ebeef ));for _ ,_edfgg :=range _ebeef {_aafgf =append (_aafgf ,_edfgg );};return _aef .MakeArray (_aafgf ...);};func _bfc (_cacd _aef .PdfObject )(*PdfFilespec ,error ){if _cacd ==nil {return nil ,nil ;};return NewPdfFilespecFromObj (_cacd );};
|
||
|
||
// GetCapHeight returns the CapHeight of the font `descriptor`.
|
||
func (_feeff *PdfFontDescriptor )GetCapHeight ()(float64 ,error ){return _aef .GetNumberAsFloat (_feeff .CapHeight );};
|
||
|
||
// PdfActionSound represents a sound action.
|
||
type PdfActionSound struct{*PdfAction ;Sound _aef .PdfObject ;Volume _aef .PdfObject ;Synchronous _aef .PdfObject ;Repeat _aef .PdfObject ;Mix _aef .PdfObject ;};
|
||
|
||
// NewPdfAnnotationLink returns a new link annotation.
|
||
func NewPdfAnnotationLink ()*PdfAnnotationLink {_bgb :=NewPdfAnnotation ();_afe :=&PdfAnnotationLink {};_afe .PdfAnnotation =_bgb ;_bgb .SetContext (_afe );return _afe ;};
|
||
|
||
// PdfBorderStyle represents a border style dictionary (12.5.4 Border Styles p. 394).
|
||
type PdfBorderStyle struct{W *float64 ;S *BorderStyle ;D *[]int ;_ggegf _aef .PdfObject ;};
|
||
|
||
// ImageToRGB returns the passed in image. Method exists in order to satisfy
|
||
// the PdfColorspace interface.
|
||
func (_fbde *PdfColorspaceDeviceRGB )ImageToRGB (img Image )(Image ,error ){return img ,nil };func (_cbd *PdfReader )newPdfAnnotationCaretFromDict (_fbad *_aef .PdfObjectDictionary )(*PdfAnnotationCaret ,error ){_baf :=PdfAnnotationCaret {};_deeg ,_dad :=_cbd .newPdfAnnotationMarkupFromDict (_fbad );if _dad !=nil {return nil ,_dad ;};_baf .PdfAnnotationMarkup =_deeg ;_baf .RD =_fbad .Get ("\u0052\u0044");_baf .Sy =_fbad .Get ("\u0053\u0079");return &_baf ,nil ;};func _gadbg (_abcad *fontCommon )*pdfCIDFontType2 {return &pdfCIDFontType2 {fontCommon :*_abcad }};func _fcdg (_cgbcg *_aef .PdfObjectDictionary )(*PdfShadingType2 ,error ){_aeebc :=PdfShadingType2 {};_cbdg :=_cgbcg .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _cbdg ==nil {_abe .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 ;};_feebb ,_gggc :=_cbdg .(*_aef .PdfObjectArray );if !_gggc {_abe .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",_cbdg );return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};if _feebb .Len ()!=4{_abe .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",_feebb .Len ());return nil ,_fa .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");};_aeebc .Coords =_feebb ;if _ebfbd :=_cgbcg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_ebfbd !=nil {_ebfbd =_aef .TraceToDirectObject (_ebfbd );_gefbg ,_dgcac :=_ebfbd .(*_aef .PdfObjectArray );if !_dgcac {_abe .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",_ebfbd );return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_aeebc .Domain =_gefbg ;};_cbdg =_cgbcg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _cbdg ==nil {_abe .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 ;};_aeebc .Function =[]PdfFunction {};if _bfbgd ,_dcddf :=_cbdg .(*_aef .PdfObjectArray );_dcddf {for _ ,_abage :=range _bfbgd .Elements (){_gaecg ,_cfdb :=_begb (_abage );if _cfdb !=nil {_abe .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",_cfdb );return nil ,_cfdb ;};_aeebc .Function =append (_aeebc .Function ,_gaecg );};}else {_baega ,_cfeb :=_begb (_cbdg );if _cfeb !=nil {_abe .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",_cfeb );return nil ,_cfeb ;};_aeebc .Function =append (_aeebc .Function ,_baega );};if _abcaf :=_cgbcg .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_abcaf !=nil {_abcaf =_aef .TraceToDirectObject (_abcaf );_bcfb ,_aabb :=_abcaf .(*_aef .PdfObjectArray );if !_aabb {_abe .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",_abcaf );return nil ,_aef .ErrTypeError ;};if _bcfb .Len ()!=2{_abe .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",_bcfb .Len ());return nil ,ErrInvalidAttribute ;};_aeebc .Extend =_bcfb ;};return &_aeebc ,nil ;};func _gfebg (_deaef *_aef .PdfObjectDictionary )(*PdfShadingType3 ,error ){_gdgg :=PdfShadingType3 {};_eeac :=_deaef .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _eeac ==nil {_abe .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 ;};_gabge ,_cfbc :=_eeac .(*_aef .PdfObjectArray );if !_cfbc {_abe .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",_eeac );return nil ,_aef .ErrTypeError ;};if _gabge .Len ()!=6{_abe .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",_gabge .Len ());return nil ,ErrInvalidAttribute ;};_gdgg .Coords =_gabge ;if _cffc :=_deaef .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_cffc !=nil {_cffc =_aef .TraceToDirectObject (_cffc );_fdega ,_cgba :=_cffc .(*_aef .PdfObjectArray );if !_cgba {_abe .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",_cffc );return nil ,_aef .ErrTypeError ;};_gdgg .Domain =_fdega ;};_eeac =_deaef .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _eeac ==nil {_abe .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 ;};_gdgg .Function =[]PdfFunction {};if _cfgfa ,_gfda :=_eeac .(*_aef .PdfObjectArray );_gfda {for _ ,_aagga :=range _cfgfa .Elements (){_gbcad ,_afff :=_begb (_aagga );if _afff !=nil {_abe .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",_afff );return nil ,_afff ;};_gdgg .Function =append (_gdgg .Function ,_gbcad );};}else {_fcce ,_fdbgc :=_begb (_eeac );if _fdbgc !=nil {_abe .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",_fdbgc );return nil ,_fdbgc ;};_gdgg .Function =append (_gdgg .Function ,_fcce );};if _bgcff :=_deaef .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_bgcff !=nil {_bgcff =_aef .TraceToDirectObject (_bgcff );_ddgdf ,_cecef :=_bgcff .(*_aef .PdfObjectArray );if !_cecef {_abe .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",_bgcff );return nil ,_aef .ErrTypeError ;};if _ddgdf .Len ()!=2{_abe .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",_ddgdf .Len ());return nil ,ErrInvalidAttribute ;};_gdgg .Extend =_ddgdf ;};return &_gdgg ,nil ;};func (_edb *PdfReader )newPdfActionHideFromDict (_ecbe *_aef .PdfObjectDictionary )(*PdfActionHide ,error ){return &PdfActionHide {T :_ecbe .Get ("\u0054"),H :_ecbe .Get ("\u0048")},nil ;};
|
||
|
||
// NewPdfSignature creates a new PdfSignature object.
|
||
func NewPdfSignature (handler SignatureHandler )*PdfSignature {_ebbdc :=&PdfSignature {Type :_aef .MakeName ("\u0053\u0069\u0067"),Handler :handler };_addcge :=&pdfSignDictionary {PdfObjectDictionary :_aef .MakeDict (),_gegee :&handler ,_bebca :_ebbdc };_ebbdc ._cfcff =_aef .MakeIndirectObject (_addcge );return _ebbdc ;};func (_fefc *PdfColorspaceSpecialSeparation )String ()string {return "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e";};
|
||
|
||
// Set sets the colorspace corresponding to key. Add to Names if not set.
|
||
func (_fcadee *PdfPageResourcesColorspaces )Set (key _aef .PdfObjectName ,val PdfColorspace ){if _ ,_cgaf :=_fcadee .Colorspaces [string (key )];!_cgaf {_fcadee .Names =append (_fcadee .Names ,string (key ));};_fcadee .Colorspaces [string (key )]=val ;};
|
||
|
||
// GetContainingPdfObject returns the container of the shading object (indirect object).
|
||
func (_ddbbc *PdfShading )GetContainingPdfObject ()_aef .PdfObject {return _ddbbc ._bbga };func (_cdfc *PdfReader )newPdfAnnotationFileAttachmentFromDict (_bfd *_aef .PdfObjectDictionary )(*PdfAnnotationFileAttachment ,error ){_cdgc :=PdfAnnotationFileAttachment {};_gfe ,_gffe :=_cdfc .newPdfAnnotationMarkupFromDict (_bfd );if _gffe !=nil {return nil ,_gffe ;};_cdgc .PdfAnnotationMarkup =_gfe ;_cdgc .FS =_bfd .Get ("\u0046\u0053");_cdgc .Name =_bfd .Get ("\u004e\u0061\u006d\u0065");return &_cdgc ,nil ;};
|
||
|
||
// SetColorSpace sets `r` colorspace object to `colorspace`.
|
||
func (_bcafg *PdfPageResources )SetColorSpace (colorspace *PdfPageResourcesColorspaces ){_bcafg ._fcdfg =colorspace ;};
|
||
|
||
// NewXObjectForm creates a brand new XObject Form. Creates a new underlying PDF object stream primitive.
|
||
func NewXObjectForm ()*XObjectForm {_bcgcc :=&XObjectForm {};_cabea :=&_aef .PdfObjectStream {};_cabea .PdfObjectDictionary =_aef .MakeDict ();_bcgcc ._ebdad =_cabea ;return _bcgcc ;};
|
||
|
||
// NewPdfAnnotationMovie returns a new movie annotation.
|
||
func NewPdfAnnotationMovie ()*PdfAnnotationMovie {_eef :=NewPdfAnnotation ();_acea :=&PdfAnnotationMovie {};_acea .PdfAnnotation =_eef ;_eef .SetContext (_acea );return _acea ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cee *PdfAnnotationText )ToPdfObject ()_aef .PdfObject {_cee .PdfAnnotation .ToPdfObject ();_ecef :=_cee ._edc ;_cecb :=_ecef .PdfObject .(*_aef .PdfObjectDictionary );if _cee .PdfAnnotationMarkup !=nil {_cee .PdfAnnotationMarkup .appendToPdfDictionary (_cecb );};_cecb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0054\u0065\u0078\u0074"));_cecb .SetIfNotNil ("\u004f\u0070\u0065\u006e",_cee .Open );_cecb .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cee .Name );_cecb .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_cee .State );_cecb .SetIfNotNil ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c",_cee .StateModel );return _ecef ;};
|
||
|
||
// PdfColorCalGray represents a CalGray colorspace.
|
||
type PdfColorCalGray float64 ;
|
||
|
||
// IsTerminal returns true for terminal fields, false otherwise.
|
||
// Terminal fields are fields whose descendants are only widget annotations.
|
||
func (_ebegce *PdfField )IsTerminal ()bool {return len (_ebegce .Kids )==0};
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
func (_dddcc *PdfColorspaceDeviceN )ImageToRGB (img Image )(Image ,error ){_gcdgd :=_ea .NewReader (img .getBase ());_deec :=_gb .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,nil ,img ._afge ,img ._fgafa );_fffe :=_ea .NewWriter (_deec );_ccda :=_ad .Pow (2,float64 (img .BitsPerComponent ))-1;_cbegec :=_dddcc .GetNumComponents ();_dfdda :=make ([]uint32 ,_cbegec );_ffcfg :=make ([]float64 ,_cbegec );for {_ggfg :=_gcdgd .ReadSamples (_dfdda );if _ggfg ==_gfc .EOF {break ;}else if _ggfg !=nil {return img ,_ggfg ;};for _fceb :=0;_fceb < _cbegec ;_fceb ++{_fcde :=float64 (_dfdda [_fceb ])/_ccda ;_ffcfg [_fceb ]=_fcde ;};_cafa ,_ggfg :=_dddcc .TintTransform .Evaluate (_ffcfg );if _ggfg !=nil {return img ,_ggfg ;};for _ ,_efdc :=range _cafa {_efdc =_ad .Min (_ad .Max (0,_efdc ),1.0);if _ggfg =_fffe .WriteSample (uint32 (_efdc *_ccda ));_ggfg !=nil {return img ,_ggfg ;};};};return _dddcc .AlternateSpace .ImageToRGB (_cbgdcg (&_deec ));};
|
||
|
||
// IsColored specifies if the pattern is colored.
|
||
func (_gfaeb *PdfTilingPattern )IsColored ()bool {if _gfaeb .PaintType !=nil &&*_gfaeb .PaintType ==1{return true ;};return false ;};func (_aggg *PdfReader )buildPageList (_gfaad *_aef .PdfIndirectObject ,_egffe *_aef .PdfIndirectObject ,_efcfg map[_aef .PdfObject ]struct{})error {if _gfaad ==nil {return nil ;};if _ ,_dfdg :=_efcfg [_gfaad ];_dfdg {_abe .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",_gfaad .ObjectNumber );return nil ;};_efcfg [_gfaad ]=struct{}{};_cfgfg ,_ecefea :=_gfaad .PdfObject .(*_aef .PdfObjectDictionary );if !_ecefea {return _fa .New ("n\u006f\u0064\u0065\u0020no\u0074 \u0061\u0020\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");};_fgffc ,_ecefea :=(*_cfgfg ).Get ("\u0054\u0079\u0070\u0065").(*_aef .PdfObjectName );if !_ecefea {if _cfgfg .Get ("\u004b\u0069\u0064\u0073")==nil {return _fa .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");};_abe .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.");_fgffc =_aef .MakeName ("\u0050\u0061\u0067e\u0073");_cfgfg .Set ("\u0054\u0079\u0070\u0065",_fgffc );};_abe .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",*_fgffc ,_gfaad );if *_fgffc =="\u0050\u0061\u0067\u0065"{_bdedcd ,_agabg :=_aggg .newPdfPageFromDict (_cfgfg );if _agabg !=nil {return _agabg ;};_bdedcd .setContainer (_gfaad );if _egffe !=nil {_cfgfg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_egffe );};_aggg ._dbdgb =append (_aggg ._dbdgb ,_gfaad );_aggg .PageList =append (_aggg .PageList ,_bdedcd );return nil ;};if *_fgffc !="\u0050\u0061\u0067e\u0073"{_abe .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",_fgffc );return _fa .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 _egffe !=nil {_cfgfg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_egffe );};if !_aggg ._afae {_dagdg :=_aggg .traverseObjectData (_gfaad );if _dagdg !=nil {return _dagdg ;};};_fcge ,_dabbc :=_aggg ._gdbbd .Resolve (_cfgfg .Get ("\u004b\u0069\u0064\u0073"));if _dabbc !=nil {_abe .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 _dabbc ;};var _fdec *_aef .PdfObjectArray ;_fdec ,_ecefea =_fcge .(*_aef .PdfObjectArray );if !_ecefea {_dgagcd ,_ecgdc :=_fcge .(*_aef .PdfIndirectObject );if !_ecgdc {return _fa .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_fdec ,_ecefea =_dgagcd .PdfObject .(*_aef .PdfObjectArray );if !_ecefea {return _fa .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");};};_abe .Log .Trace ("\u004b\u0069\u0064\u0073\u003a\u0020\u0025\u0073",_fdec );for _facgg ,_dabag :=range _fdec .Elements (){_bfgge ,_ggcfa :=_aef .GetIndirect (_dabag );if !_ggcfa {_abe .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",_bfgge );return _fa .New ("\u0070a\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_fdec .Set (_facgg ,_bfgge );_dabbc =_aggg .buildPageList (_bfgge ,_gfaad ,_efcfg );if _dabbc !=nil {return _dabbc ;};};return 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 (_gaaaf *PdfOutlineTreeNode )GetContext ()PdfModel {if _baab ,_ddbbg :=_gaaaf ._gdgaba .(*PdfOutline );_ddbbg {return _baab ;};if _dacg ,_acgag :=_gaaaf ._gdgaba .(*PdfOutlineItem );_acgag {return _dacg ;};_abe .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 ;};func _baaba (_ebbbb _aef .PdfObject )(*PdfPattern ,error ){_ccdf :=&PdfPattern {};var _aagdb *_aef .PdfObjectDictionary ;if _ffba ,_ecacbd :=_aef .GetIndirect (_ebbbb );_ecacbd {_ccdf ._fgbcde =_ffba ;_ggefg ,_deabc :=_ffba .PdfObject .(*_aef .PdfObjectDictionary );if !_deabc {_abe .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",_ffba .PdfObject );return nil ,_aef .ErrTypeError ;};_aagdb =_ggefg ;}else if _gagb ,_eeaaf :=_aef .GetStream (_ebbbb );_eeaaf {_ccdf ._fgbcde =_gagb ;_aagdb =_gagb .PdfObjectDictionary ;}else {_abe .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",_ebbbb );return nil ,_aef .ErrTypeError ;};_gfcga :=_aagdb .Get ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065");if _gfcga ==nil {_abe .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 ;};_fbbgd ,_aeae :=_gfcga .(*_aef .PdfObjectInteger );if !_aeae {_abe .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",_gfcga );return nil ,_aef .ErrTypeError ;};if *_fbbgd !=1&&*_fbbgd !=2{_abe .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",*_fbbgd );return nil ,_aef .ErrRangeError ;};_ccdf .PatternType =int64 (*_fbbgd );switch *_fbbgd {case 1:_fbfa ,_befdf :=_dbdgg (_aagdb );if _befdf !=nil {return nil ,_befdf ;};_fbfa .PdfPattern =_ccdf ;_ccdf ._dgagc =_fbfa ;return _ccdf ,nil ;case 2:_afbgd ,_dcfa :=_eaac (_aagdb );if _dcfa !=nil {return nil ,_dcfa ;};_afbgd .PdfPattern =_ccdf ;_ccdf ._dgagc =_afbgd ;return _ccdf ,nil ;};return nil ,_fa .New ("\u0075n\u006bn\u006f\u0077\u006e\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e");};func _daefg ()string {_abdcd .Lock ();defer _abdcd .Unlock ();if len (_defge )> 0{return _defge ;};return "\u0055n\u0069\u0044\u006f\u0063 \u002d\u0020\u0068\u0074\u0074p\u003a/\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069o";};
|
||
|
||
// ToPdfObject returns the PDF representation of the DSS dictionary.
|
||
func (_ggcc *DSS )ToPdfObject ()_aef .PdfObject {_dcfe :=_ggcc ._egdea .PdfObject .(*_aef .PdfObjectDictionary );_dcfe .Clear ();_fgfe :=_aef .MakeDict ();for _eefee ,_gdcg :=range _ggcc .VRI {_fgfe .Set (*_aef .MakeName (_eefee ),_gdcg .ToPdfObject ());};_dcfe .SetIfNotNil ("\u0043\u0065\u0072t\u0073",_agcab (_ggcc .Certs ));_dcfe .SetIfNotNil ("\u004f\u0043\u0053P\u0073",_agcab (_ggcc .OCSPs ));_dcfe .SetIfNotNil ("\u0043\u0052\u004c\u0073",_agcab (_ggcc .CRLs ));_dcfe .Set ("\u0056\u0052\u0049",_fgfe );return _ggcc ._egdea ;};
|
||
|
||
// 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 (_ebaa *PdfColorspaceSpecialPattern )ColorToRGB (color PdfColor )(PdfColor ,error ){_eaaf ,_ddbdd :=color .(*PdfColorPattern );if !_ddbdd {_abe .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 _eaaf .Color ==nil {return color ,nil ;};if _ebaa .UnderlyingCS ==nil {return nil ,_fa .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};return _ebaa .UnderlyingCS .ColorToRGB (_eaaf .Color );};
|
||
|
||
// ToPdfObject returns the text field dictionary within an indirect object (container).
|
||
func (_dead *PdfFieldText )ToPdfObject ()_aef .PdfObject {_dead .PdfField .ToPdfObject ();_egcfe :=_dead ._abebg ;_afeg :=_egcfe .PdfObject .(*_aef .PdfObjectDictionary );_afeg .Set ("\u0046\u0054",_aef .MakeName ("\u0054\u0078"));if _dead .DA !=nil {_afeg .Set ("\u0044\u0041",_dead .DA );};if _dead .Q !=nil {_afeg .Set ("\u0051",_dead .Q );};if _dead .DS !=nil {_afeg .Set ("\u0044\u0053",_dead .DS );};if _dead .RV !=nil {_afeg .Set ("\u0052\u0056",_dead .RV );};if _dead .MaxLen !=nil {_afeg .Set ("\u004d\u0061\u0078\u004c\u0065\u006e",_dead .MaxLen );};return _egcfe ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the page resources.
|
||
func (_ccagge *PdfPageResources )ToPdfObject ()_aef .PdfObject {_dfadd :=_ccagge ._eede ;_dfadd .SetIfNotNil ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_ccagge .ExtGState );if _ccagge ._fcdfg !=nil {_ccagge .ColorSpace =_ccagge ._fcdfg .ToPdfObject ();};_dfadd .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_ccagge .ColorSpace );_dfadd .SetIfNotNil ("\u0050a\u0074\u0074\u0065\u0072\u006e",_ccagge .Pattern );_dfadd .SetIfNotNil ("\u0053h\u0061\u0064\u0069\u006e\u0067",_ccagge .Shading );_dfadd .SetIfNotNil ("\u0058O\u0062\u006a\u0065\u0063\u0074",_ccagge .XObject );_dfadd .SetIfNotNil ("\u0046\u006f\u006e\u0074",_ccagge .Font );_dfadd .SetIfNotNil ("\u0050r\u006f\u0063\u0053\u0065\u0074",_ccagge .ProcSet );_dfadd .SetIfNotNil ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",_ccagge .Properties );return _dfadd ;};
|
||
|
||
// PdfAnnotationFileAttachment represents FileAttachment annotations.
|
||
// (Section 12.5.6.15).
|
||
type PdfAnnotationFileAttachment struct{*PdfAnnotation ;*PdfAnnotationMarkup ;FS _aef .PdfObject ;Name _aef .PdfObject ;};func _acaaae (_aadfc *_aef .PdfObjectArray )(float64 ,error ){_egeea ,_edagd :=_aadfc .ToFloat64Array ();if _edagd !=nil {_abe .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",_aadfc ,_edagd );};switch len (_egeea ){case 1:return _egeea [0],nil ;case 3:_gggdd :=PdfColorspaceDeviceRGB {};_edfce ,_gaage :=_gggdd .ColorFromFloats (_egeea );if _gaage !=nil {return 0.0,_gaage ;};return _edfce .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;case 4:_abfdf :=PdfColorspaceDeviceCMYK {};_cbdfc ,_ecga :=_abfdf .ColorFromFloats (_egeea );if _ecga !=nil {return 0.0,_ecga ;};_fcbfc ,_ecga :=_abfdf .ColorToRGB (_cbdfc .(*PdfColorDeviceCMYK ));if _ecga !=nil {return 0.0,_ecga ;};return _fcbfc .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;};_edagd =_fa .New ("\u0062a\u0064 \u004d\u0061\u0074\u0074\u0065\u0020\u0063\u006f\u006c\u006f\u0072");_abe .Log .Error ("\u0074\u006f\u0047ra\u0079\u003a\u0020\u006d\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_aadfc ,_edagd );return 0.0,_edagd ;};
|
||
|
||
// GetDescent returns the Descent of the font `descriptor`.
|
||
func (_faadd *PdfFontDescriptor )GetDescent ()(float64 ,error ){return _aef .GetNumberAsFloat (_faadd .Descent );};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceGray colorspace.
|
||
func (_fgcg *PdfColorspaceDeviceGray )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline item.
|
||
func (_edgb *OutlineItem )ToPdfObject ()_aef .PdfObject {_eecfe ,_ :=_edgb .ToPdfOutlineItem ();return _eecfe .ToPdfObject ();};
|
||
|
||
// PdfShadingType7 is a Tensor-product patch mesh.
|
||
type PdfShadingType7 struct{*PdfShading ;BitsPerCoordinate *_aef .PdfObjectInteger ;BitsPerComponent *_aef .PdfObjectInteger ;BitsPerFlag *_aef .PdfObjectInteger ;Decode *_aef .PdfObjectArray ;Function []PdfFunction ;};func (_eee *PdfReader )newPdfAnnotationStampFromDict (_dfdb *_aef .PdfObjectDictionary )(*PdfAnnotationStamp ,error ){_cedd :=PdfAnnotationStamp {};_gbaf ,_dfff :=_eee .newPdfAnnotationMarkupFromDict (_dfdb );if _dfff !=nil {return nil ,_dfff ;};_cedd .PdfAnnotationMarkup =_gbaf ;_cedd .Name =_dfdb .Get ("\u004e\u0061\u006d\u0065");return &_cedd ,nil ;};
|
||
|
||
// PdfFieldText represents a text field where user can enter text.
|
||
type PdfFieldText struct{*PdfField ;DA *_aef .PdfObjectString ;Q *_aef .PdfObjectInteger ;DS *_aef .PdfObjectString ;RV _aef .PdfObject ;MaxLen *_aef .PdfObjectInteger ;};
|
||
|
||
// SetPdfAuthor sets the Author attribute of the output PDF.
|
||
func SetPdfAuthor (author string ){_abdcd .Lock ();defer _abdcd .Unlock ();_ffac =author };func _cgfcb (_ggag _aef .PdfObject )(*PdfColorspaceSpecialSeparation ,error ){_feeg :=NewPdfColorspaceSpecialSeparation ();if _acgc ,_caaeb :=_ggag .(*_aef .PdfIndirectObject );_caaeb {_feeg ._abfcb =_acgc ;};_ggag =_aef .TraceToDirectObject (_ggag );_abb ,_bdedc :=_ggag .(*_aef .PdfObjectArray );if !_bdedc {return nil ,_b .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 _abb .Len ()!=4{return nil ,_b .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");};_ggag =_abb .Get (0);_ecea ,_bdedc :=_ggag .(*_aef .PdfObjectName );if !_bdedc {return nil ,_b .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 *_ecea !="\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"{return nil ,_b .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");};_ggag =_abb .Get (1);_ecea ,_bdedc =_ggag .(*_aef .PdfObjectName );if !_bdedc {return nil ,_b .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");};_feeg .ColorantName =_ecea ;_ggag =_abb .Get (2);_bfde ,_eeeaa :=NewPdfColorspaceFromPdfObject (_ggag );if _eeeaa !=nil {return nil ,_eeeaa ;};_feeg .AlternateSpace =_bfde ;_aefaa ,_eeeaa :=_begb (_abb .Get (3));if _eeeaa !=nil {return nil ,_eeeaa ;};_feeg .TintTransform =_aefaa ;return _feeg ,nil ;};
|
||
|
||
// 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 ;func _cgdea ()string {_abdcd .Lock ();defer _abdcd .Unlock ();_fecgf :=_cga .GetLicenseKey ();if len (_ggdea )> 0&&(_fecgf .IsLicensed ()||_bbbga ){return _ggdea ;};return _b .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",_fdgac (),_fecgf .TypeToString ());};func (_babb *PdfReader )newPdfAnnotationFromIndirectObject (_ggda *_aef .PdfIndirectObject )(*PdfAnnotation ,error ){_deef ,_aae :=_ggda .PdfObject .(*_aef .PdfObjectDictionary );if !_aae {return nil ,_b .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 :=_babb ._fggbd .GetModelFromPrimitive (_deef );model !=nil {_dccf ,_ccd :=model .(*PdfAnnotation );if !_ccd {return nil ,_b .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 _dccf ,nil ;};_dcbg :=&PdfAnnotation {};_dcbg ._edc =_ggda ;_babb ._fggbd .Register (_deef ,_dcbg );if _egf :=_deef .Get ("\u0054\u0079\u0070\u0065");_egf !=nil {_fcb ,_ebfg :=_egf .(*_aef .PdfObjectName );if !_ebfg {_abe .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",_egf );}else {if *_fcb !="\u0041\u006e\u006eo\u0074"{_abe .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",*_fcb );};};};if _bfg :=_deef .Get ("\u0052\u0065\u0063\u0074");_bfg !=nil {_dcbg .Rect =_bfg ;};if _ggeb :=_deef .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_ggeb !=nil {_dcbg .Contents =_ggeb ;};if _egge :=_deef .Get ("\u0050");_egge !=nil {_dcbg .P =_egge ;};if _ecbb :=_deef .Get ("\u004e\u004d");_ecbb !=nil {_dcbg .NM =_ecbb ;};if _ebg :=_deef .Get ("\u004d");_ebg !=nil {_dcbg .M =_ebg ;};if _cdad :=_deef .Get ("\u0046");_cdad !=nil {_dcbg .F =_cdad ;};if _eebc :=_deef .Get ("\u0041\u0050");_eebc !=nil {_dcbg .AP =_eebc ;};if _cfe :=_deef .Get ("\u0041\u0053");_cfe !=nil {_dcbg .AS =_cfe ;};if _ggdg :=_deef .Get ("\u0042\u006f\u0072\u0064\u0065\u0072");_ggdg !=nil {_dcbg .Border =_ggdg ;};if _aedc :=_deef .Get ("\u0043");_aedc !=nil {_dcbg .C =_aedc ;};if _fgg :=_deef .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_fgg !=nil {_dcbg .StructParent =_fgg ;};if _gbb :=_deef .Get ("\u004f\u0043");_gbb !=nil {_dcbg .OC =_gbb ;};_bgd :=_deef .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");if _bgd ==nil {_abe .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");_dcbg ._eab =nil ;return _dcbg ,nil ;};_fea ,_bgda :=_bgd .(*_aef .PdfObjectName );if !_bgda {_abe .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",_bgd );return nil ,_b .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",_bgd );};switch *_fea {case "\u0054\u0065\u0078\u0074":_aeaa ,_egcb :=_babb .newPdfAnnotationTextFromDict (_deef );if _egcb !=nil {return nil ,_egcb ;};_aeaa .PdfAnnotation =_dcbg ;_dcbg ._eab =_aeaa ;return _dcbg ,nil ;case "\u004c\u0069\u006e\u006b":_fdg ,_caa :=_babb .newPdfAnnotationLinkFromDict (_deef );if _caa !=nil {return nil ,_caa ;};_fdg .PdfAnnotation =_dcbg ;_dcbg ._eab =_fdg ;return _dcbg ,nil ;case "\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074":_eggc ,_agfbb :=_babb .newPdfAnnotationFreeTextFromDict (_deef );if _agfbb !=nil {return nil ,_agfbb ;};_eggc .PdfAnnotation =_dcbg ;_dcbg ._eab =_eggc ;return _dcbg ,nil ;case "\u004c\u0069\u006e\u0065":_cdd ,_bcc :=_babb .newPdfAnnotationLineFromDict (_deef );if _bcc !=nil {return nil ,_bcc ;};_cdd .PdfAnnotation =_dcbg ;_dcbg ._eab =_cdd ;_abe .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",_dcbg ,_dcbg );_abe .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",_cdd ,_cdd );_abe .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",_cdd .PdfAnnotationMarkup ,_cdd .PdfAnnotationMarkup );return _dcbg ,nil ;case "\u0053\u0071\u0075\u0061\u0072\u0065":_fcab ,_deg :=_babb .newPdfAnnotationSquareFromDict (_deef );if _deg !=nil {return nil ,_deg ;};_fcab .PdfAnnotation =_dcbg ;_dcbg ._eab =_fcab ;return _dcbg ,nil ;case "\u0043\u0069\u0072\u0063\u006c\u0065":_abc ,_ebb :=_babb .newPdfAnnotationCircleFromDict (_deef );if _ebb !=nil {return nil ,_ebb ;};_abc .PdfAnnotation =_dcbg ;_dcbg ._eab =_abc ;return _dcbg ,nil ;case "\u0050o\u006c\u0079\u0067\u006f\u006e":_fbdcb ,_gac :=_babb .newPdfAnnotationPolygonFromDict (_deef );if _gac !=nil {return nil ,_gac ;};_fbdcb .PdfAnnotation =_dcbg ;_dcbg ._eab =_fbdcb ;return _dcbg ,nil ;case "\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065":_eecg ,_fed :=_babb .newPdfAnnotationPolyLineFromDict (_deef );if _fed !=nil {return nil ,_fed ;};_eecg .PdfAnnotation =_dcbg ;_dcbg ._eab =_eecg ;return _dcbg ,nil ;case "\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t":_ecd ,_gbdf :=_babb .newPdfAnnotationHighlightFromDict (_deef );if _gbdf !=nil {return nil ,_gbdf ;};_ecd .PdfAnnotation =_dcbg ;_dcbg ._eab =_ecd ;return _dcbg ,nil ;case "\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee":_fdba ,_dagf :=_babb .newPdfAnnotationUnderlineFromDict (_deef );if _dagf !=nil {return nil ,_dagf ;};_fdba .PdfAnnotation =_dcbg ;_dcbg ._eab =_fdba ;return _dcbg ,nil ;case "\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079":_agd ,_geg :=_babb .newPdfAnnotationSquigglyFromDict (_deef );if _geg !=nil {return nil ,_geg ;};_agd .PdfAnnotation =_dcbg ;_dcbg ._eab =_agd ;return _dcbg ,nil ;case "\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t":_fac ,_eaf :=_babb .newPdfAnnotationStrikeOut (_deef );if _eaf !=nil {return nil ,_eaf ;};_fac .PdfAnnotation =_dcbg ;_dcbg ._eab =_fac ;return _dcbg ,nil ;case "\u0043\u0061\u0072e\u0074":_dabg ,_effd :=_babb .newPdfAnnotationCaretFromDict (_deef );if _effd !=nil {return nil ,_effd ;};_dabg .PdfAnnotation =_dcbg ;_dcbg ._eab =_dabg ;return _dcbg ,nil ;case "\u0053\u0074\u0061m\u0070":_dgdg ,_gedf :=_babb .newPdfAnnotationStampFromDict (_deef );if _gedf !=nil {return nil ,_gedf ;};_dgdg .PdfAnnotation =_dcbg ;_dcbg ._eab =_dgdg ;return _dcbg ,nil ;case "\u0049\u006e\u006b":_gea ,_bge :=_babb .newPdfAnnotationInkFromDict (_deef );if _bge !=nil {return nil ,_bge ;};_gea .PdfAnnotation =_dcbg ;_dcbg ._eab =_gea ;return _dcbg ,nil ;case "\u0050\u006f\u0070u\u0070":_fdgf ,_gdbc :=_babb .newPdfAnnotationPopupFromDict (_deef );if _gdbc !=nil {return nil ,_gdbc ;};_fdgf .PdfAnnotation =_dcbg ;_dcbg ._eab =_fdgf ;return _dcbg ,nil ;case "\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074":_aedd ,_edfa :=_babb .newPdfAnnotationFileAttachmentFromDict (_deef );if _edfa !=nil {return nil ,_edfa ;};_aedd .PdfAnnotation =_dcbg ;_dcbg ._eab =_aedd ;return _dcbg ,nil ;case "\u0053\u006f\u0075n\u0064":_dgaa ,_eabd :=_babb .newPdfAnnotationSoundFromDict (_deef );if _eabd !=nil {return nil ,_eabd ;};_dgaa .PdfAnnotation =_dcbg ;_dcbg ._eab =_dgaa ;return _dcbg ,nil ;case "\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a":_bdbe ,_efcb :=_babb .newPdfAnnotationRichMediaFromDict (_deef );if _efcb !=nil {return nil ,_efcb ;};_bdbe .PdfAnnotation =_dcbg ;_dcbg ._eab =_bdbe ;return _dcbg ,nil ;case "\u004d\u006f\u0076i\u0065":_fdbd ,_bfb :=_babb .newPdfAnnotationMovieFromDict (_deef );if _bfb !=nil {return nil ,_bfb ;};_fdbd .PdfAnnotation =_dcbg ;_dcbg ._eab =_fdbd ;return _dcbg ,nil ;case "\u0053\u0063\u0072\u0065\u0065\u006e":_addc ,_ebeg :=_babb .newPdfAnnotationScreenFromDict (_deef );if _ebeg !=nil {return nil ,_ebeg ;};_addc .PdfAnnotation =_dcbg ;_dcbg ._eab =_addc ;return _dcbg ,nil ;case "\u0057\u0069\u0064\u0067\u0065\u0074":_gfb ,_gfcd :=_babb .newPdfAnnotationWidgetFromDict (_deef );if _gfcd !=nil {return nil ,_gfcd ;};_gfb .PdfAnnotation =_dcbg ;_dcbg ._eab =_gfb ;return _dcbg ,nil ;case "P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b":_fec ,_adcb :=_babb .newPdfAnnotationPrinterMarkFromDict (_deef );if _adcb !=nil {return nil ,_adcb ;};_fec .PdfAnnotation =_dcbg ;_dcbg ._eab =_fec ;return _dcbg ,nil ;case "\u0054r\u0061\u0070\u004e\u0065\u0074":_bbb ,_cgfg :=_babb .newPdfAnnotationTrapNetFromDict (_deef );if _cgfg !=nil {return nil ,_cgfg ;};_bbb .PdfAnnotation =_dcbg ;_dcbg ._eab =_bbb ;return _dcbg ,nil ;case "\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k":_fad ,_fcef :=_babb .newPdfAnnotationWatermarkFromDict (_deef );if _fcef !=nil {return nil ,_fcef ;};_fad .PdfAnnotation =_dcbg ;_dcbg ._eab =_fad ;return _dcbg ,nil ;case "\u0033\u0044":_cdg ,_dagb :=_babb .newPdfAnnotation3DFromDict (_deef );if _dagb !=nil {return nil ,_dagb ;};_cdg .PdfAnnotation =_dcbg ;_dcbg ._eab =_cdg ;return _dcbg ,nil ;case "\u0050\u0072\u006f\u006a\u0065\u0063\u0074\u0069\u006f\u006e":_ddaf ,_gaba :=_babb .newPdfAnnotationProjectionFromDict (_deef );if _gaba !=nil {return nil ,_gaba ;};_ddaf .PdfAnnotation =_dcbg ;_dcbg ._eab =_ddaf ;return _dcbg ,nil ;case "\u0052\u0065\u0064\u0061\u0063\u0074":_bfgb ,_adbf :=_babb .newPdfAnnotationRedactFromDict (_deef );if _adbf !=nil {return nil ,_adbf ;};_bfgb .PdfAnnotation =_dcbg ;_dcbg ._eab =_bfgb ;return _dcbg ,nil ;};_abe .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",*_fea );return nil ,nil ;};func (_eeb *PdfReader )newPdfActionThreadFromDict (_ddbb *_aef .PdfObjectDictionary )(*PdfActionThread ,error ){_fba ,_dbec :=_bfc (_ddbb .Get ("\u0046"));if _dbec !=nil {return nil ,_dbec ;};return &PdfActionThread {D :_ddbb .Get ("\u0044"),B :_ddbb .Get ("\u0042"),F :_fba },nil ;};
|
||
|
||
// PdfAnnotationSquiggly represents Squiggly annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationSquiggly struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _aef .PdfObject ;};
|
||
|
||
// LTV represents an LTV (Long-Term Validation) client. It is used to LTV
|
||
// enable signatures by adding validation and revocation data (certificate,
|
||
// OCSP and CRL information) to the DSS dictionary of a PDF document.
|
||
//
|
||
// LTV is added through the DSS by:
|
||
// - Adding certificates, OCSP and CRL information in the global scope of the
|
||
// DSS. The global data is used for validating any of the signatures present
|
||
// in the document.
|
||
// - Adding certificates, OCSP and CRL information for a single signature,
|
||
// through an entry in the VRI dictionary of the DSS. The added data is used
|
||
// for validating that particular signature only. This is the recommended
|
||
// method for adding validation data for a signature. However, this is not
|
||
// is not possible in the same revision the signature is applied. Validation
|
||
// data for a signature is added based on the Contents entry of the signature,
|
||
// which is known only after the revision is written. Even if the Contents
|
||
// are known (e.g. when signing externally), updating the DSS at that point
|
||
// would invalidate the calculated signature. As a result, if adding LTV
|
||
// in the same revision is a requirement, use the first method.
|
||
// See LTV.EnableChain.
|
||
// The client applies both methods, when possible.
|
||
//
|
||
// If `LTV.SkipExisting` is set to true (the default), validations are
|
||
// not added for signatures which are already present in the VRI entry of the
|
||
// document's DSS dictionary.
|
||
type LTV struct{
|
||
|
||
// CertClient is the client used to retrieve certificates.
|
||
CertClient *_add .CertClient ;
|
||
|
||
// OCSPClient is the client used to retrieve OCSP validation information.
|
||
OCSPClient *_add .OCSPClient ;
|
||
|
||
// CRLClient is the client used to retrieve CRL validation information.
|
||
CRLClient *_add .CRLClient ;
|
||
|
||
// SkipExisting specifies whether existing signature validations
|
||
// should be skipped.
|
||
SkipExisting bool ;_bdabf *PdfAppender ;_cbcf *DSS ;};
|
||
|
||
// 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 _aef .StreamEncoder )(*XObjectImage ,error ){_fadaf :=NewXObjectImage ();return UpdateXObjectImageFromImage (_fadaf ,img ,cs ,encoder );};func (_ffcb *fontFile )parseASCIIPart (_dadea []byte )error {if len (_dadea )< 2||string (_dadea [:2])!="\u0025\u0021"{return _fa .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");};_ffcfgf ,_aeaaab ,_daefb :=_fbcg (_dadea );if _daefb !=nil {return _daefb ;};_acbcb :=_caaf (_ffcfgf );_ffcb ._gaed =_acbcb ["\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065"];if _ffcb ._gaed ==""{_abe .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 _aeaaab !=""{_cbaba ,_baage :=_aaac (_aeaaab );if _baage !=nil {return _baage ;};_adbd ,_baage :=_be .NewCustomSimpleTextEncoder (_cbaba ,nil );if _baage !=nil {_abe .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",_baage );return nil ;};_ffcb ._dbadd =_adbd ;};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_feee *PdfAnnotationCaret )ToPdfObject ()_aef .PdfObject {_feee .PdfAnnotation .ToPdfObject ();_bgag :=_feee ._edc ;_fcc :=_bgag .PdfObject .(*_aef .PdfObjectDictionary );_feee .PdfAnnotationMarkup .appendToPdfDictionary (_fcc );_fcc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0043\u0061\u0072e\u0074"));_fcc .SetIfNotNil ("\u0052\u0044",_feee .RD );_fcc .SetIfNotNil ("\u0053\u0079",_feee .Sy );return _bgag ;};
|
||
|
||
// PdfActionGoToR represents a GoToR action.
|
||
type PdfActionGoToR struct{*PdfAction ;F *PdfFilespec ;D _aef .PdfObject ;NewWindow _aef .PdfObject ;};const (BorderEffectNoEffect BorderEffect =iota ;BorderEffectCloudy BorderEffect =iota ;);
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_efcga *PdfFont )Encoder ()_be .TextEncoder {_ddde :=_efcga .actualFont ();if _ddde ==nil {_abe .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",_efcga ._dccga );return nil ;};return _ddde .Encoder ();};
|
||
|
||
// Duplicate creates a duplicate page based on the current one and returns it.
|
||
func (_fcgg *PdfPage )Duplicate ()*PdfPage {_cdfa :=*_fcgg ;_cdfa ._cbefa =_aef .MakeDict ();_cdfa ._gfbbf =_aef .MakeIndirectObject (_cdfa ._cbefa );return &_cdfa ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bg *PdfActionImportData )ToPdfObject ()_aef .PdfObject {_bg .PdfAction .ToPdfObject ();_dbe :=_bg ._gc ;_afbc :=_dbe .PdfObject .(*_aef .PdfObjectDictionary );_afbc .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeImportData )));if _bg .F !=nil {_afbc .Set ("\u0046",_bg .F .ToPdfObject ());};return _dbe ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_fcbcg *PdfFunctionType3 )ToPdfObject ()_aef .PdfObject {_ddcab :=_aef .MakeDict ();_ddcab .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_aef .MakeInteger (3));_dgac :=&_aef .PdfObjectArray {};for _ ,_cbdf :=range _fcbcg .Domain {_dgac .Append (_aef .MakeFloat (_cbdf ));};_ddcab .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_dgac );if _fcbcg .Range !=nil {_dfagf :=&_aef .PdfObjectArray {};for _ ,_aebe :=range _fcbcg .Range {_dfagf .Append (_aef .MakeFloat (_aebe ));};_ddcab .Set ("\u0052\u0061\u006eg\u0065",_dfagf );};if _fcbcg .Functions !=nil {_eaafg :=&_aef .PdfObjectArray {};for _ ,_dgdaa :=range _fcbcg .Functions {_eaafg .Append (_dgdaa .ToPdfObject ());};_ddcab .Set ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es",_eaafg );};if _fcbcg .Bounds !=nil {_ebgae :=&_aef .PdfObjectArray {};for _ ,_fdeeg :=range _fcbcg .Bounds {_ebgae .Append (_aef .MakeFloat (_fdeeg ));};_ddcab .Set ("\u0042\u006f\u0075\u006e\u0064\u0073",_ebgae );};if _fcbcg .Encode !=nil {_aaegb :=&_aef .PdfObjectArray {};for _ ,_dfccg :=range _fcbcg .Encode {_aaegb .Append (_aef .MakeFloat (_dfccg ));};_ddcab .Set ("\u0045\u006e\u0063\u006f\u0064\u0065",_aaegb );};if _fcbcg ._deaga !=nil {_fcbcg ._deaga .PdfObject =_ddcab ;return _fcbcg ._deaga ;};return _ddcab ;};
|
||
|
||
// ToPdfObject converts colorspace to a PDF object. [/Indexed base hival lookup]
|
||
func (_ebaga *PdfColorspaceSpecialIndexed )ToPdfObject ()_aef .PdfObject {_befc :=_aef .MakeArray (_aef .MakeName ("\u0049n\u0064\u0065\u0078\u0065\u0064"));_befc .Append (_ebaga .Base .ToPdfObject ());_befc .Append (_aef .MakeInteger (int64 (_ebaga .HiVal )));_befc .Append (_ebaga .Lookup );if _ebaga ._aeca !=nil {_ebaga ._aeca .PdfObject =_befc ;return _ebaga ._aeca ;};return _befc ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_bdeeg *PdfShadingType2 )ToPdfObject ()_aef .PdfObject {_bdeeg .PdfShading .ToPdfObject ();_ebcef ,_caddc :=_bdeeg .getShadingDict ();if _caddc !=nil {_abe .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 _ebcef ==nil {_abe .Log .Error ("\u0053\u0068\u0061\u0064in\u0067\u0020\u0064\u0069\u0063\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c");return nil ;};if _bdeeg .Coords !=nil {_ebcef .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_bdeeg .Coords );};if _bdeeg .Domain !=nil {_ebcef .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_bdeeg .Domain );};if _bdeeg .Function !=nil {if len (_bdeeg .Function )==1{_ebcef .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_bdeeg .Function [0].ToPdfObject ());}else {_dcafa :=_aef .MakeArray ();for _ ,_deega :=range _bdeeg .Function {_dcafa .Append (_deega .ToPdfObject ());};_ebcef .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dcafa );};};if _bdeeg .Extend !=nil {_ebcef .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_bdeeg .Extend );};return _bdeeg ._bbga ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_afcd *PdfBorderStyle )ToPdfObject ()_aef .PdfObject {_eefg :=_aef .MakeDict ();if _afcd ._ggegf !=nil {if _faeg ,_ebc :=_afcd ._ggegf .(*_aef .PdfIndirectObject );_ebc {_faeg .PdfObject =_eefg ;};};_eefg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0042\u006f\u0072\u0064\u0065\u0072"));if _afcd .W !=nil {_eefg .Set ("\u0057",_aef .MakeFloat (*_afcd .W ));};if _afcd .S !=nil {_eefg .Set ("\u0053",_aef .MakeName (_afcd .S .GetPdfName ()));};if _afcd .D !=nil {_eefg .Set ("\u0044",_aef .MakeArrayFromIntegers (*_afcd .D ));};if _afcd ._ggegf !=nil {return _afcd ._ggegf ;};return _eefg ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_bcad *PdfColorDeviceRGB )ToInteger (bits int )[3]uint32 {_acbg :=_ad .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_acbg *_bcad .R ()),uint32 (_acbg *_bcad .G ()),uint32 (_acbg *_bcad .B ())};};
|
||
|
||
// 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 ;_dgagc PdfModel ;_fgbcde _aef .PdfObject ;};func (_efc *PdfReader )newPdfActionFromIndirectObject (_fafa *_aef .PdfIndirectObject )(*PdfAction ,error ){_bdb ,_fabfe :=_fafa .PdfObject .(*_aef .PdfObjectDictionary );if !_fabfe {return nil ,_b .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 :=_efc ._fggbd .GetModelFromPrimitive (_bdb );model !=nil {_bbf ,_beg :=model .(*PdfAction );if !_beg {return nil ,_b .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 _bbf ,nil ;};_feg :=&PdfAction {};_feg ._gc =_fafa ;_efc ._fggbd .Register (_bdb ,_feg );if _eeg :=_bdb .Get ("\u0054\u0079\u0070\u0065");_eeg !=nil {_dcb ,_faab :=_eeg .(*_aef .PdfObjectName );if !_faab {_abe .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",_eeg );}else {if *_dcb !="\u0041\u0063\u0074\u0069\u006f\u006e"{_abe .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",*_dcb );};_feg .Type =_dcb ;};};if _fd :=_bdb .Get ("\u004e\u0065\u0078\u0074");_fd !=nil {_feg .Next =_fd ;};if _efe :=_bdb .Get ("\u0053");_efe !=nil {_feg .S =_efe ;};_ade ,_cac :=_feg .S .(*_aef .PdfObjectName );if !_cac {_abe .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",_feg .S );return nil ,_b .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",_feg .S );};_bde :=PdfActionType (_ade .String ());switch _bde {case ActionTypeGoTo :_cgd ,_dfd :=_efc .newPdfActionGotoFromDict (_bdb );if _dfd !=nil {return nil ,_dfd ;};_cgd .PdfAction =_feg ;_feg ._ecb =_cgd ;return _feg ,nil ;case ActionTypeGoToR :_gdd ,_ggaf :=_efc .newPdfActionGotoRFromDict (_bdb );if _ggaf !=nil {return nil ,_ggaf ;};_gdd .PdfAction =_feg ;_feg ._ecb =_gdd ;return _feg ,nil ;case ActionTypeGoToE :_beb ,_acbca :=_efc .newPdfActionGotoEFromDict (_bdb );if _acbca !=nil {return nil ,_acbca ;};_beb .PdfAction =_feg ;_feg ._ecb =_beb ;return _feg ,nil ;case ActionTypeLaunch :_ggbc ,_dabf :=_efc .newPdfActionLaunchFromDict (_bdb );if _dabf !=nil {return nil ,_dabf ;};_ggbc .PdfAction =_feg ;_feg ._ecb =_ggbc ;return _feg ,nil ;case ActionTypeThread :_ega ,_cdb :=_efc .newPdfActionThreadFromDict (_bdb );if _cdb !=nil {return nil ,_cdb ;};_ega .PdfAction =_feg ;_feg ._ecb =_ega ;return _feg ,nil ;case ActionTypeURI :_ged ,_cbe :=_efc .newPdfActionURIFromDict (_bdb );if _cbe !=nil {return nil ,_cbe ;};_ged .PdfAction =_feg ;_feg ._ecb =_ged ;return _feg ,nil ;case ActionTypeSound :_ff ,_cef :=_efc .newPdfActionSoundFromDict (_bdb );if _cef !=nil {return nil ,_cef ;};_ff .PdfAction =_feg ;_feg ._ecb =_ff ;return _feg ,nil ;case ActionTypeMovie :_fcf ,_afg :=_efc .newPdfActionMovieFromDict (_bdb );if _afg !=nil {return nil ,_afg ;};_fcf .PdfAction =_feg ;_feg ._ecb =_fcf ;return _feg ,nil ;case ActionTypeHide :_aedf ,_deb :=_efc .newPdfActionHideFromDict (_bdb );if _deb !=nil {return nil ,_deb ;};_aedf .PdfAction =_feg ;_feg ._ecb =_aedf ;return _feg ,nil ;case ActionTypeNamed :_gddc ,_cag :=_efc .newPdfActionNamedFromDict (_bdb );if _cag !=nil {return nil ,_cag ;};_gddc .PdfAction =_feg ;_feg ._ecb =_gddc ;return _feg ,nil ;case ActionTypeSubmitForm :_cgfd ,_gba :=_efc .newPdfActionSubmitFormFromDict (_bdb );if _gba !=nil {return nil ,_gba ;};_cgfd .PdfAction =_feg ;_feg ._ecb =_cgfd ;return _feg ,nil ;case ActionTypeResetForm :_edg ,_adg :=_efc .newPdfActionResetFormFromDict (_bdb );if _adg !=nil {return nil ,_adg ;};_edg .PdfAction =_feg ;_feg ._ecb =_edg ;return _feg ,nil ;case ActionTypeImportData :_fbc ,_bab :=_efc .newPdfActionImportDataFromDict (_bdb );if _bab !=nil {return nil ,_bab ;};_fbc .PdfAction =_feg ;_feg ._ecb =_fbc ;return _feg ,nil ;case ActionTypeSetOCGState :_gaaa ,_bf :=_efc .newPdfActionSetOCGStateFromDict (_bdb );if _bf !=nil {return nil ,_bf ;};_gaaa .PdfAction =_feg ;_feg ._ecb =_gaaa ;return _feg ,nil ;case ActionTypeRendition :_bda ,_ced :=_efc .newPdfActionRenditionFromDict (_bdb );if _ced !=nil {return nil ,_ced ;};_bda .PdfAction =_feg ;_feg ._ecb =_bda ;return _feg ,nil ;case ActionTypeTrans :_adc ,_cab :=_efc .newPdfActionTransFromDict (_bdb );if _cab !=nil {return nil ,_cab ;};_adc .PdfAction =_feg ;_feg ._ecb =_adc ;return _feg ,nil ;case ActionTypeGoTo3DView :_dfdd ,_cgg :=_efc .newPdfActionGoTo3DViewFromDict (_bdb );if _cgg !=nil {return nil ,_cgg ;};_dfdd .PdfAction =_feg ;_feg ._ecb =_dfdd ;return _feg ,nil ;case ActionTypeJavaScript :_gede ,_edga :=_efc .newPdfActionJavaScriptFromDict (_bdb );if _edga !=nil {return nil ,_edga ;};_gede .PdfAction =_feg ;_feg ._ecb =_gede ;return _feg ,nil ;};_abe .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",_bde );return nil ,nil ;};
|
||
|
||
// HasExtGState checks if ExtGState name is available.
|
||
func (_cfaa *PdfPage )HasExtGState (name _aef .PdfObjectName )bool {if _cfaa .Resources ==nil {return false ;};if _cfaa .Resources .ExtGState ==nil {return false ;};_fbcac ,_dbfe :=_aef .TraceToDirectObject (_cfaa .Resources .ExtGState ).(*_aef .PdfObjectDictionary );if !_dbfe {_abe .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",_aef .TraceToDirectObject (_cfaa .Resources .ExtGState ));return false ;};_aggda :=_fbcac .Get (name );_ddeea :=_aggda !=nil ;return _ddeea ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the VRI dictionary.
|
||
func (_gfddc *VRI )ToPdfObject ()*_aef .PdfObjectDictionary {_faeag :=_aef .MakeDict ();_faeag .SetIfNotNil (_aef .PdfObjectName ("\u0043\u0065\u0072\u0074"),_agcab (_gfddc .Cert ));_faeag .SetIfNotNil (_aef .PdfObjectName ("\u004f\u0043\u0053\u0050"),_agcab (_gfddc .OCSP ));_faeag .SetIfNotNil (_aef .PdfObjectName ("\u0043\u0052\u004c"),_agcab (_gfddc .CRL ));_faeag .SetIfNotNil ("\u0054\u0055",_gfddc .TU );_faeag .SetIfNotNil ("\u0054\u0053",_gfddc .TS );return _faeag ;};
|
||
|
||
// PdfAnnotationTrapNet represents TrapNet annotations.
|
||
// (Section 12.5.6.21).
|
||
type PdfAnnotationTrapNet struct{*PdfAnnotation };
|
||
|
||
// PdfColorspaceCalRGB stores A, B, C components
|
||
type PdfColorspaceCalRGB struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma []float64 ;Matrix []float64 ;_dce *_aef .PdfObjectDictionary ;_cdag *_aef .PdfIndirectObject ;};
|
||
|
||
// Height returns the height of `rect`.
|
||
func (_bfddb *PdfRectangle )Height ()float64 {return _ad .Abs (_bfddb .Ury -_bfddb .Lly )};func (_abegg *pdfFontType0 )getFontDescriptor ()*PdfFontDescriptor {if _abegg ._bgfd ==nil &&_abegg .DescendantFont !=nil {return _abegg .DescendantFont .FontDescriptor ();};return _abegg ._bgfd ;};
|
||
|
||
// ColorToRGB converts a CalRGB color to an RGB color.
|
||
func (_bcde *PdfColorspaceCalRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_aeg ,_aeaab :=color .(*PdfColorCalRGB );if !_aeaab {_abe .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 ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_geag :=_aeg .A ();_aefbe :=_aeg .B ();_gagc :=_aeg .C ();X :=_bcde .Matrix [0]*_ad .Pow (_geag ,_bcde .Gamma [0])+_bcde .Matrix [3]*_ad .Pow (_aefbe ,_bcde .Gamma [1])+_bcde .Matrix [6]*_ad .Pow (_gagc ,_bcde .Gamma [2]);Y :=_bcde .Matrix [1]*_ad .Pow (_geag ,_bcde .Gamma [0])+_bcde .Matrix [4]*_ad .Pow (_aefbe ,_bcde .Gamma [1])+_bcde .Matrix [7]*_ad .Pow (_gagc ,_bcde .Gamma [2]);Z :=_bcde .Matrix [2]*_ad .Pow (_geag ,_bcde .Gamma [0])+_bcde .Matrix [5]*_ad .Pow (_aefbe ,_bcde .Gamma [1])+_bcde .Matrix [8]*_ad .Pow (_gagc ,_bcde .Gamma [2]);_dcca :=3.240479*X +-1.537150*Y +-0.498535*Z ;_febf :=-0.969256*X +1.875992*Y +0.041556*Z ;_abda :=0.055648*X +-0.204043*Y +1.057311*Z ;_dcca =_ad .Min (_ad .Max (_dcca ,0),1.0);_febf =_ad .Min (_ad .Max (_febf ,0),1.0);_abda =_ad .Min (_ad .Max (_abda ,0),1.0);return NewPdfColorDeviceRGB (_dcca ,_febf ,_abda ),nil ;};func (_fdcbc *PdfColorspaceLab )String ()string {return "\u004c\u0061\u0062"};
|
||
|
||
// PdfAnnotationRedact represents Redact annotations.
|
||
// (Section 12.5.6.23).
|
||
type PdfAnnotationRedact struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _aef .PdfObject ;IC _aef .PdfObject ;RO _aef .PdfObject ;OverlayText _aef .PdfObject ;Repeat _aef .PdfObject ;DA _aef .PdfObject ;Q _aef .PdfObject ;};func (_fgge *PdfColorspaceDeviceCMYK )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b";};func (_fcbda *PdfReader )newPdfAnnotationTrapNetFromDict (_cfae *_aef .PdfObjectDictionary )(*PdfAnnotationTrapNet ,error ){_gcaff :=PdfAnnotationTrapNet {};return &_gcaff ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eebcc *PdfAnnotationPolygon )ToPdfObject ()_aef .PdfObject {_eebcc .PdfAnnotation .ToPdfObject ();_cddf :=_eebcc ._edc ;_eac :=_cddf .PdfObject .(*_aef .PdfObjectDictionary );_eebcc .PdfAnnotationMarkup .appendToPdfDictionary (_eac );_eac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0050o\u006c\u0079\u0067\u006f\u006e"));_eac .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_eebcc .Vertices );_eac .SetIfNotNil ("\u004c\u0045",_eebcc .LE );_eac .SetIfNotNil ("\u0042\u0053",_eebcc .BS );_eac .SetIfNotNil ("\u0049\u0043",_eebcc .IC );_eac .SetIfNotNil ("\u0042\u0045",_eebcc .BE );_eac .SetIfNotNil ("\u0049\u0054",_eebcc .IT );_eac .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_eebcc .Measure );return _cddf ;};
|
||
|
||
// PdfAnnotationSound represents Sound annotations.
|
||
// (Section 12.5.6.16).
|
||
type PdfAnnotationSound struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Sound _aef .PdfObject ;Name _aef .PdfObject ;};func (_eafd *Image )samplesAddPadding (_abfef []uint32 )[]uint32 {_ceec :=_gb .BytesPerLine (int (_eafd .Width ),int (_eafd .BitsPerComponent ),_eafd .ColorComponents )*(8/int (_eafd .BitsPerComponent ));_gedea :=_ceec *int (_eafd .Height );if len (_abfef )==_gedea {return _abfef ;};_cgfgc :=make ([]uint32 ,_gedea );_aaaa :=int (_eafd .Width )*_eafd .ColorComponents ;for _gacg :=0;_gacg < int (_eafd .Height );_gacg ++{_cfbgf :=_gacg *int (_eafd .Width );_dggce :=_gacg *_ceec ;for _cdbaf :=0;_cdbaf < _aaaa ;_cdbaf ++{_cgfgc [_dggce +_cdbaf ]=_abfef [_cfbgf +_cdbaf ];};};return _cgfgc ;};
|
||
|
||
// 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 *_aef .PdfObjectArray ;ExtGState _aef .PdfObject ;};
|
||
|
||
// SetPdfSubject sets the Subject attribute of the output PDF.
|
||
func SetPdfSubject (subject string ){_abdcd .Lock ();defer _abdcd .Unlock ();_afdfd =subject };
|
||
|
||
// PdfActionSetOCGState represents a SetOCGState action.
|
||
type PdfActionSetOCGState struct{*PdfAction ;State _aef .PdfObject ;PreserveRB _aef .PdfObject ;};
|
||
|
||
// ColorToRGB verifies that the input color is an RGB color. Method exists in
|
||
// order to satisfy the PdfColorspace interface.
|
||
func (_abce *PdfColorspaceDeviceRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_adfc ,_dgbc :=color .(*PdfColorDeviceRGB );if !_dgbc {_abe .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 ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return _adfc ,nil ;};func _edbed (_fbcbe _ecf .StdFont )pdfFontSimple {_bdage :=_fbcbe .Descriptor ();return pdfFontSimple {fontCommon :fontCommon {_ababd :"\u0054\u0079\u0070e\u0031",_fegdg :_fbcbe .Name ()},_gcbd :_fbcbe .GetMetricsTable (),_fggf :&PdfFontDescriptor {FontName :_aef .MakeName (string (_bdage .Name )),FontFamily :_aef .MakeName (_bdage .Family ),FontWeight :_aef .MakeFloat (float64 (_bdage .Weight )),Flags :_aef .MakeInteger (int64 (_bdage .Flags )),FontBBox :_aef .MakeArrayFromFloats (_bdage .BBox [:]),ItalicAngle :_aef .MakeFloat (_bdage .ItalicAngle ),Ascent :_aef .MakeFloat (_bdage .Ascent ),Descent :_aef .MakeFloat (_bdage .Descent ),CapHeight :_aef .MakeFloat (_bdage .CapHeight ),XHeight :_aef .MakeFloat (_bdage .XHeight ),StemV :_aef .MakeFloat (_bdage .StemV ),StemH :_aef .MakeFloat (_bdage .StemH )},_gbee :_fbcbe .Encoder ()};};
|
||
|
||
// PdfDate represents a date, which is a PDF string of the form:
|
||
// (D:YYYYMMDDHHmmSSOHH'mm)
|
||
type PdfDate struct{_eacag int64 ;_bfeaf int64 ;_cecab int64 ;_begfg int64 ;_gdeaef int64 ;_ebge int64 ;_bggc byte ;_bbccf int64 ;_debfg int64 ;};
|
||
|
||
// PdfAnnotationPrinterMark represents PrinterMark annotations.
|
||
// (Section 12.5.6.20).
|
||
type PdfAnnotationPrinterMark struct{*PdfAnnotation ;MN _aef .PdfObject ;};
|
||
|
||
// FullName returns the full name of the field as in rootname.parentname.partialname.
|
||
func (_dfdfd *PdfField )FullName ()(string ,error ){var _cffb _cg .Buffer ;_ddbba :=[]string {};if _dfdfd .T !=nil {_ddbba =append (_ddbba ,_dfdfd .T .Decoded ());};_fdbab :=map[*PdfField ]bool {};_fdbab [_dfdfd ]=true ;_ecacf :=_dfdfd .Parent ;for _ecacf !=nil {if _ ,_dbae :=_fdbab [_ecacf ];_dbae {return _cffb .String (),_fa .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};if _ecacf .T ==nil {return _cffb .String (),_fa .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");};_ddbba =append (_ddbba ,_ecacf .T .Decoded ());_fdbab [_ecacf ]=true ;_ecacf =_ecacf .Parent ;};for _aeaac :=len (_ddbba )-1;_aeaac >=0;_aeaac --{_cffb .WriteString (_ddbba [_aeaac ]);if _aeaac > 0{_cffb .WriteString ("\u002e");};};return _cffb .String (),nil ;};
|
||
|
||
// ToPdfObject returns the PdfFontDescriptor as a PDF dictionary inside an indirect object.
|
||
func (_ggee *PdfFontDescriptor )ToPdfObject ()_aef .PdfObject {_aaae :=_aef .MakeDict ();if _ggee ._ecafc ==nil {_ggee ._ecafc =&_aef .PdfIndirectObject {};};_ggee ._ecafc .PdfObject =_aaae ;_aaae .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"));if _ggee .FontName !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_ggee .FontName );};if _ggee .FontFamily !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079",_ggee .FontFamily );};if _ggee .FontStretch !=nil {_aaae .Set ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068",_ggee .FontStretch );};if _ggee .FontWeight !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074",_ggee .FontWeight );};if _ggee .Flags !=nil {_aaae .Set ("\u0046\u006c\u0061g\u0073",_ggee .Flags );};if _ggee .FontBBox !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078",_ggee .FontBBox );};if _ggee .ItalicAngle !=nil {_aaae .Set ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065",_ggee .ItalicAngle );};if _ggee .Ascent !=nil {_aaae .Set ("\u0041\u0073\u0063\u0065\u006e\u0074",_ggee .Ascent );};if _ggee .Descent !=nil {_aaae .Set ("\u0044e\u0073\u0063\u0065\u006e\u0074",_ggee .Descent );};if _ggee .Leading !=nil {_aaae .Set ("\u004ce\u0061\u0064\u0069\u006e\u0067",_ggee .Leading );};if _ggee .CapHeight !=nil {_aaae .Set ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t",_ggee .CapHeight );};if _ggee .XHeight !=nil {_aaae .Set ("\u0058H\u0065\u0069\u0067\u0068\u0074",_ggee .XHeight );};if _ggee .StemV !=nil {_aaae .Set ("\u0053\u0074\u0065m\u0056",_ggee .StemV );};if _ggee .StemH !=nil {_aaae .Set ("\u0053\u0074\u0065m\u0048",_ggee .StemH );};if _ggee .AvgWidth !=nil {_aaae .Set ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068",_ggee .AvgWidth );};if _ggee .MaxWidth !=nil {_aaae .Set ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068",_ggee .MaxWidth );};if _ggee .MissingWidth !=nil {_aaae .Set ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068",_ggee .MissingWidth );};if _ggee .FontFile !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065",_ggee .FontFile );};if _ggee .FontFile2 !=nil {_aaae .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652",_ggee .FontFile2 );};if _ggee .FontFile3 !=nil {_aaae .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653",_ggee .FontFile3 );};if _ggee .CharSet !=nil {_aaae .Set ("\u0043h\u0061\u0072\u0053\u0065\u0074",_ggee .CharSet );};if _ggee .Style !=nil {_aaae .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_ggee .FontName );};if _ggee .Lang !=nil {_aaae .Set ("\u004c\u0061\u006e\u0067",_ggee .Lang );};if _ggee .FD !=nil {_aaae .Set ("\u0046\u0044",_ggee .FD );};if _ggee .CIDSet !=nil {_aaae .Set ("\u0043\u0049\u0044\u0053\u0065\u0074",_ggee .CIDSet );};return _ggee ._ecafc ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_ddgdg *PdfColorspaceSpecialPattern )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _ddgdg .UnderlyingCS ==nil {return nil ,_fa .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 _ddgdg .UnderlyingCS .ColorFromFloats (vals );};var (_dcfbb =_af .MustCompile ("\u005cd\u002b\u0020\u0064\u0069c\u0074\u005c\u0073\u002b\u0028d\u0075p\u005cs\u002b\u0029\u003f\u0062\u0065\u0067\u0069n");_afgca =_af .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");_aaggb =_af .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");_gdee ="\u002f\u0045\u006e\u0063od\u0069\u006e\u0067\u0020\u0032\u0035\u0036\u0020\u0061\u0072\u0072\u0061\u0079";_affbc ="\u0072\u0065\u0061d\u006f\u006e\u006c\u0079\u0020\u0064\u0065\u0066";_egfg ="\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u0066\u0069\u006c\u0065\u0020e\u0065\u0078\u0065\u0063";);
|
||
|
||
// GetFontDescriptor returns the font descriptor for `font`.
|
||
func (_dadf PdfFont )GetFontDescriptor ()(*PdfFontDescriptor ,error ){return _dadf ._dccga .getFontDescriptor (),nil ;};
|
||
|
||
// PdfAnnotationWidget represents Widget annotations.
|
||
// Note: Widget annotations are used to display form fields.
|
||
// (Section 12.5.6.19).
|
||
type PdfAnnotationWidget struct{*PdfAnnotation ;H _aef .PdfObject ;MK _aef .PdfObject ;A _aef .PdfObject ;AA _aef .PdfObject ;BS _aef .PdfObject ;Parent _aef .PdfObject ;_ccc *PdfField ;_eega bool ;};func _dfcc (_dccfa _aef .PdfObject )(*PdfColorspaceICCBased ,error ){_ebfcg :=&PdfColorspaceICCBased {};if _befab ,_ceba :=_dccfa .(*_aef .PdfIndirectObject );_ceba {_ebfcg ._fcabc =_befab ;};_dccfa =_aef .TraceToDirectObject (_dccfa );_gcgc ,_bfgf :=_dccfa .(*_aef .PdfObjectArray );if !_bfgf {return nil ,_b .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _gcgc .Len ()!=2{return nil ,_b .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020c\u006f\u006c\u006fr\u0073p\u0061\u0063\u0065");};_dccfa =_aef .TraceToDirectObject (_gcgc .Get (0));_eefgg ,_bfgf :=_dccfa .(*_aef .PdfObjectName );if !_bfgf {return nil ,_b .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 *_eefgg !="\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"{return nil ,_b .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");};_dccfa =_gcgc .Get (1);_aded ,_bfgf :=_aef .GetStream (_dccfa );if !_bfgf {_abe .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",_dccfa );return nil ,_b .Errorf ("\u0049\u0043\u0043Ba\u0073\u0065\u0064\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_fegg :=_aded .PdfObjectDictionary ;_cff ,_bfgf :=_fegg .Get ("\u004e").(*_aef .PdfObjectInteger );if !_bfgf {return nil ,_b .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 *_cff !=1&&*_cff !=3&&*_cff !=4{return nil ,_b .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");};_ebfcg .N =int (*_cff );if _ccge :=_fegg .Get ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e");_ccge !=nil {_adea ,_feef :=NewPdfColorspaceFromPdfObject (_ccge );if _feef !=nil {return nil ,_feef ;};_ebfcg .Alternate =_adea ;};if _ggafe :=_fegg .Get ("\u0052\u0061\u006eg\u0065");_ggafe !=nil {_ggafe =_aef .TraceToDirectObject (_ggafe );_cabb ,_dbecdg :=_ggafe .(*_aef .PdfObjectArray );if !_dbecdg {return nil ,_b .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 _cabb .Len ()!=2*_ebfcg .N {return nil ,_b .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");};_ffeea ,_bbab :=_cabb .GetAsFloat64Slice ();if _bbab !=nil {return nil ,_bbab ;};_ebfcg .Range =_ffeea ;}else {_ebfcg .Range =make ([]float64 ,2*_ebfcg .N );for _egdb :=0;_egdb < _ebfcg .N ;_egdb ++{_ebfcg .Range [2*_egdb ]=0.0;_ebfcg .Range [2*_egdb +1]=1.0;};};if _acgg :=_fegg .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_acgg !=nil {_deae ,_cbaa :=_acgg .(*_aef .PdfObjectStream );if !_cbaa {return nil ,_b .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");};_ebfcg .Metadata =_deae ;};_acca ,_cadg :=_aef .DecodeStream (_aded );if _cadg !=nil {return nil ,_cadg ;};_ebfcg .Data =_acca ;_ebfcg ._bcdc =_aded ;return _ebfcg ,nil ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_bcffe pdfCIDFontType2 )GetCharMetrics (code _be .CharCode )(_ecf .CharMetrics ,bool ){if _fdcec ,_egfa :=_bcffe ._gcfe [code ];_egfa {return _ecf .CharMetrics {Wx :_fdcec },true ;};_beaf :=rune (code );_gafa ,_adcd :=_bcffe ._bffbc [_beaf ];if !_adcd {_gafa =int (_bcffe ._efagd );};return _ecf .CharMetrics {Wx :float64 (_gafa )},true ;};
|
||
|
||
// NewPdfFilespecFromObj creates and returns a new PdfFilespec object.
|
||
func NewPdfFilespecFromObj (obj _aef .PdfObject )(*PdfFilespec ,error ){_aacfg :=&PdfFilespec {};var _bfdde *_aef .PdfObjectDictionary ;if _acbb ,_aecb :=_aef .GetIndirect (obj );_aecb {_aacfg ._bgbda =_acbb ;_feaa ,_baga :=_aef .GetDict (_acbb .PdfObject );if !_baga {_abe .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 ,_aef .ErrTypeError ;};_bfdde =_feaa ;}else if _edcd ,_fgaga :=_aef .GetDict (obj );_fgaga {_aacfg ._bgbda =_edcd ;_bfdde =_edcd ;}else {_abe .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 ,_aef .ErrTypeError ;};if _bfdde ==nil {_abe .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_fa .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _gaeee :=_bfdde .Get ("\u0054\u0079\u0070\u0065");_gaeee !=nil {_ddee ,_dcgc :=_gaeee .(*_aef .PdfObjectName );if !_dcgc {_abe .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",_gaeee );}else {if *_ddee !="\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"{_abe .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",*_ddee );};};};if _acdg :=_bfdde .Get ("\u0046\u0053");_acdg !=nil {_aacfg .FS =_acdg ;};if _abgf :=_bfdde .Get ("\u0046");_abgf !=nil {_aacfg .F =_abgf ;};if _cadgg :=_bfdde .Get ("\u0055\u0046");_cadgg !=nil {_aacfg .UF =_cadgg ;};if _dgefb :=_bfdde .Get ("\u0044\u004f\u0053");_dgefb !=nil {_aacfg .DOS =_dgefb ;};if _ffda :=_bfdde .Get ("\u004d\u0061\u0063");_ffda !=nil {_aacfg .Mac =_ffda ;};if _egea :=_bfdde .Get ("\u0055\u006e\u0069\u0078");_egea !=nil {_aacfg .Unix =_egea ;};if _aacc :=_bfdde .Get ("\u0049\u0044");_aacc !=nil {_aacfg .ID =_aacc ;};if _cgdde :=_bfdde .Get ("\u0056");_cgdde !=nil {_aacfg .V =_cgdde ;};if _dfdba :=_bfdde .Get ("\u0045\u0046");_dfdba !=nil {_aacfg .EF =_dfdba ;};if _cefg :=_bfdde .Get ("\u0052\u0046");_cefg !=nil {_aacfg .RF =_cefg ;};if _dcge :=_bfdde .Get ("\u0044\u0065\u0073\u0063");_dcge !=nil {_aacfg .Desc =_dcge ;};if _effda :=_bfdde .Get ("\u0043\u0049");_effda !=nil {_aacfg .CI =_effda ;};return _aacfg ,nil ;};
|
||
|
||
// DecodeArray returns the range of color component values in CalRGB colorspace.
|
||
func (_cbebb *PdfColorspaceCalRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};func (_caff *PdfReader )newPdfActionGotoFromDict (_bee *_aef .PdfObjectDictionary )(*PdfActionGoTo ,error ){return &PdfActionGoTo {D :_bee .Get ("\u0044")},nil ;};
|
||
|
||
// AppendContentStream adds content stream by string. Appends to the last
|
||
// contentstream instance if many.
|
||
func (_baggf *PdfPage )AppendContentStream (contentStr string )error {_cacce ,_dffac :=_baggf .GetContentStreams ();if _dffac !=nil {return _dffac ;};if len (_cacce )==0{_cacce =[]string {contentStr };return _baggf .SetContentStreams (_cacce ,_aef .NewFlateEncoder ());};var _dfcbb _cg .Buffer ;_dfcbb .WriteString (_cacce [len (_cacce )-1]);_dfcbb .WriteString ("\u000a");_dfcbb .WriteString (contentStr );_cacce [len (_cacce )-1]=_dfcbb .String ();return _baggf .SetContentStreams (_cacce ,_aef .NewFlateEncoder ());};
|
||
|
||
// Flags returns the field flags for the field accounting for any inherited flags.
|
||
func (_dgeg *PdfField )Flags ()FieldFlag {var _dgfdg FieldFlag ;_fddge ,_fbdf :=_dgeg .inherit (func (_dcdbf *PdfField )bool {if _dcdbf .Ff !=nil {_dgfdg =FieldFlag (*_dgeg .Ff );return true ;};return false ;});if _fbdf !=nil {_abe .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",_fbdf );};if !_fddge {_abe .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 _dgfdg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cefb *PdfSignature )ToPdfObject ()_aef .PdfObject {_acgca :=_cefb ._cfcff ;var _gbbfc *_aef .PdfObjectDictionary ;if _dagae ,_ecccb :=_acgca .PdfObject .(*pdfSignDictionary );_ecccb {_gbbfc =_dagae .PdfObjectDictionary ;}else {_gbbfc =_acgca .PdfObject .(*_aef .PdfObjectDictionary );};_gbbfc .SetIfNotNil ("\u0054\u0079\u0070\u0065",_cefb .Type );_gbbfc .SetIfNotNil ("\u0046\u0069\u006c\u0074\u0065\u0072",_cefb .Filter );_gbbfc .SetIfNotNil ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r",_cefb .SubFilter );_gbbfc .SetIfNotNil ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_cefb .ByteRange );_gbbfc .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_cefb .Contents );_gbbfc .SetIfNotNil ("\u0043\u0065\u0072\u0074",_cefb .Cert );_gbbfc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cefb .Name );_gbbfc .SetIfNotNil ("\u0052\u0065\u0061\u0073\u006f\u006e",_cefb .Reason );_gbbfc .SetIfNotNil ("\u004d",_cefb .M );_gbbfc .SetIfNotNil ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e",_cefb .Reference );_gbbfc .SetIfNotNil ("\u0043h\u0061\u006e\u0067\u0065\u0073",_cefb .Changes );_gbbfc .SetIfNotNil ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f",_cefb .ContactInfo );return _acgca ;};
|
||
|
||
// PdfColorspaceLab is a L*, a*, b* 3 component colorspace.
|
||
type PdfColorspaceLab struct{WhitePoint []float64 ;BlackPoint []float64 ;Range []float64 ;_aagb *_aef .PdfIndirectObject ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Separation).
|
||
func (_gggbg *PdfColorspaceSpecialSeparation )GetNumComponents ()int {return 1};
|
||
|
||
// PdfAnnotationLine represents Line annotations.
|
||
// (Section 12.5.6.7).
|
||
type PdfAnnotationLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;L _aef .PdfObject ;BS _aef .PdfObject ;LE _aef .PdfObject ;IC _aef .PdfObject ;LL _aef .PdfObject ;LLE _aef .PdfObject ;Cap _aef .PdfObject ;IT _aef .PdfObject ;LLO _aef .PdfObject ;CP _aef .PdfObject ;Measure _aef .PdfObject ;CO _aef .PdfObject ;};func (_ecbce *LTV )validateSig (_gedga *PdfSignature )error {if _gedga ==nil ||_gedga .Contents ==nil ||len (_gedga .Contents .Bytes ())==0{return _b .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065 \u0066\u0069\u0065l\u0064:\u0020\u0025\u0076",_gedga );};return nil ;};
|
||
|
||
// PdfActionGoTo represents a GoTo action.
|
||
type PdfActionGoTo struct{*PdfAction ;D _aef .PdfObject ;};
|
||
|
||
// PdfActionThread represents a thread action.
|
||
type PdfActionThread struct{*PdfAction ;F *PdfFilespec ;D _aef .PdfObject ;B _aef .PdfObject ;};
|
||
|
||
// AcroFormRepairOptions contains options for rebuilding the AcroForm.
|
||
type AcroFormRepairOptions struct{};
|
||
|
||
// NewPdfField returns an initialized PdfField.
|
||
func NewPdfField ()*PdfField {return &PdfField {_abebg :_aef .MakeIndirectObject (_aef .MakeDict ())}};
|
||
|
||
// GetContext returns the annotation context which contains the specific type-dependent context.
|
||
// The context represents the subannotation.
|
||
func (_gaeg *PdfAnnotation )GetContext ()PdfModel {if _gaeg ==nil {return nil ;};return _gaeg ._eab ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gcaa *PdfActionHide )ToPdfObject ()_aef .PdfObject {_gcaa .PdfAction .ToPdfObject ();_gfff :=_gcaa ._gc ;_ggb :=_gfff .PdfObject .(*_aef .PdfObjectDictionary );_ggb .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeHide )));_ggb .SetIfNotNil ("\u0054",_gcaa .T );_ggb .SetIfNotNil ("\u0048",_gcaa .H );return _gfff ;};
|
||
|
||
// 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 (_ebde *PdfFont )StringToCharcodeBytes (str string )([]byte ,int ){return _ebde .RunesToCharcodeBytes ([]rune (str ));};
|
||
|
||
// 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 *_aef .PdfIndirectObject `json:"-"`;Page int64 `json:"page"`;Mode string `json:"mode"`;X float64 `json:"x"`;Y float64 `json:"y"`;Zoom float64 `json:"zoom"`;};
|
||
|
||
// WriteToFile writes the Appender output to file specified by path.
|
||
func (_agac *PdfAppender )WriteToFile (outputPath string )error {_bfeb ,_bca :=_gf .Create (outputPath );if _bca !=nil {return _bca ;};defer _bfeb .Close ();return _agac .Write (_bfeb );};
|
||
|
||
// NewPdfActionGoTo3DView returns a new "goTo3DView" action.
|
||
func NewPdfActionGoTo3DView ()*PdfActionGoTo3DView {_ba :=NewPdfAction ();_eceg :=&PdfActionGoTo3DView {};_eceg .PdfAction =_ba ;_ba .SetContext (_eceg );return _eceg ;};
|
||
|
||
// 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 *_aef .PdfObjectName ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;_abfcb *_aef .PdfIndirectObject ;};
|
||
|
||
// String returns a string that describes `base`.
|
||
func (_agdf fontCommon )String ()string {return _b .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0073\u007d",_agdf .coreString ());};
|
||
|
||
// 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 (_fgf *PdfAnnotationWidget )Field ()*PdfField {return _fgf ._ccc };
|
||
|
||
// ToPdfObject converts the PdfPage to a dictionary within an indirect object container.
|
||
func (_caeffd *PdfPage )ToPdfObject ()_aef .PdfObject {_ffeee :=_caeffd ._gfbbf ;_caeffd .GetPageDict ();return _ffeee ;};func (_bfag *PdfPage )getParentResources ()(*PdfPageResources ,error ){_cbbgeb :=_bfag .Parent ;for _cbbgeb !=nil {_accce ,_bdbba :=_aef .GetDict (_cbbgeb );if !_bdbba {_abe .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 ,_fa .New ("i\u006e\u0076\u0061\u006cid\u0020p\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};if _gccba :=_accce .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_gccba !=nil {_edfaf ,_bcacd :=_aef .GetDict (_gccba );if !_bcacd {return nil ,_fa .New ("i\u006e\u0076\u0061\u006cid\u0020r\u0065\u0073\u006f\u0075\u0072c\u0065\u0020\u0064\u0069\u0063\u0074");};_gabc ,_dcdga :=NewPdfPageResourcesFromDict (_edfaf );if _dcdga !=nil {return nil ,_dcdga ;};return _gabc ,nil ;};_cbbgeb =_accce .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,nil ;};const (TrappedUnknown PdfInfoTrapped ="\u0055n\u006b\u006e\u006f\u0077\u006e";TrappedTrue PdfInfoTrapped ="\u0054\u0072\u0075\u0065";TrappedFalse PdfInfoTrapped ="\u0046\u0061\u006cs\u0065";);func (_egd *PdfReader )newPdfActionResetFormFromDict (_gag *_aef .PdfObjectDictionary )(*PdfActionResetForm ,error ){return &PdfActionResetForm {Fields :_gag .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_gag .Get ("\u0046\u006c\u0061g\u0073")},nil ;};var _aceda =_af .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");func (_eefaa *PdfReader )newPdfAcroFormFromDict (_fede *_aef .PdfIndirectObject ,_gbbb *_aef .PdfObjectDictionary )(*PdfAcroForm ,error ){_abcca :=NewPdfAcroForm ();if _fede !=nil {_abcca ._aade =_fede ;_fede .PdfObject =_aef .MakeDict ();};if _abcga :=_gbbb .Get ("\u0046\u0069\u0065\u006c\u0064\u0073");_abcga !=nil {_ecba ,_cdcee :=_aef .GetArray (_abcga );if !_cdcee {return nil ,_b .Errorf ("\u0066i\u0065\u006c\u0064\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e \u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0025\u0054\u0029",_abcga );};var _added []*PdfField ;for _ ,_aada :=range _ecba .Elements (){_gcbggg ,_afcg :=_aef .GetIndirect (_aada );if !_afcg {if _ ,_edba :=_aada .(*_aef .PdfObjectNull );_edba {_abe .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 ;};_abe .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",_aada );return nil ,_b .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");};_aegbc ,_ebbe :=_eefaa .newPdfFieldFromIndirectObject (_gcbggg ,nil );if _ebbe !=nil {return nil ,_ebbe ;};_abe .Log .Trace ("\u0041\u0063\u0072\u006fFo\u0072\u006d\u0020\u0046\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u002b\u0076",*_aegbc );_added =append (_added ,_aegbc );};_abcca .Fields =&_added ;};if _fdffg :=_gbbb .Get ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073");_fdffg !=nil {_eebg ,_dgcf :=_aef .GetBool (_fdffg );if _dgcf {_abcca .NeedAppearances =_eebg ;}else {_abe .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",_fdffg );};};if _dcbgf :=_gbbb .Get ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073");_dcbgf !=nil {_beca ,_befcc :=_aef .GetInt (_dcbgf );if _befcc {_abcca .SigFlags =_beca ;}else {_abe .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",_dcbgf );};};if _dfdcg :=_gbbb .Get ("\u0043\u004f");_dfdcg !=nil {_dfffg ,_bdeed :=_aef .GetArray (_dfdcg );if _bdeed {_abcca .CO =_dfffg ;}else {_abe .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",_dfdcg );};};if _effb :=_gbbb .Get ("\u0044\u0052");_effb !=nil {if _aecc ,_eeaf :=_aef .GetDict (_effb );_eeaf {_abdb ,_aefcc :=NewPdfPageResourcesFromDict (_aecc );if _aefcc !=nil {_abe .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0044R\u003a\u0020\u0025\u0076",_aefcc );return nil ,_aefcc ;};_abcca .DR =_abdb ;}else {_abe .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",_effb );};};if _ffdab :=_gbbb .Get ("\u0044\u0041");_ffdab !=nil {_cafgag ,_acegeb :=_aef .GetString (_ffdab );if _acegeb {_abcca .DA =_cafgag ;}else {_abe .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",_ffdab );};};if _edaba :=_gbbb .Get ("\u0051");_edaba !=nil {_feed ,_dfgc :=_aef .GetInt (_edaba );if _dfgc {_abcca .Q =_feed ;}else {_abe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0051\u0020\u0069\u006e\u0076a\u006ci\u0064 \u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_edaba );};};if _caage :=_gbbb .Get ("\u0058\u0046\u0041");_caage !=nil {_abcca .XFA =_caage ;};return _abcca ,nil ;};func _geage (_dfacc *_aef .PdfObjectDictionary )(*PdfShadingType1 ,error ){_dfed :=PdfShadingType1 {};if _debed :=_dfacc .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_debed !=nil {_debed =_aef .TraceToDirectObject (_debed );_ecfgb ,_aecdb :=_debed .(*_aef .PdfObjectArray );if !_aecdb {_abe .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",_debed );return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dfed .Domain =_ecfgb ;};if _fdgeb :=_dfacc .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_fdgeb !=nil {_fdgeb =_aef .TraceToDirectObject (_fdgeb );_agdec ,_cgge :=_fdgeb .(*_aef .PdfObjectArray );if !_cgge {_abe .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",_fdgeb );return nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dfed .Matrix =_agdec ;};_cdgaa :=_dfacc .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _cdgaa ==nil {_abe .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 ;};_dfed .Function =[]PdfFunction {};if _cfeae ,_beaae :=_cdgaa .(*_aef .PdfObjectArray );_beaae {for _ ,_aaedd :=range _cfeae .Elements (){_beggd ,_accf :=_begb (_aaedd );if _accf !=nil {_abe .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",_accf );return nil ,_accf ;};_dfed .Function =append (_dfed .Function ,_beggd );};}else {_abedc ,_deege :=_begb (_cdgaa );if _deege !=nil {_abe .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",_deege );return nil ,_deege ;};_dfed .Function =append (_dfed .Function ,_abedc );};return &_dfed ,nil ;};
|
||
|
||
// 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 _aef .StreamEncoder ;Intent _aef .PdfObject ;ImageMask _aef .PdfObject ;Mask _aef .PdfObject ;Matte _aef .PdfObject ;Decode _aef .PdfObject ;Interpolate _aef .PdfObject ;Alternatives _aef .PdfObject ;SMask _aef .PdfObject ;SMaskInData _aef .PdfObject ;Name _aef .PdfObject ;StructParent _aef .PdfObject ;ID _aef .PdfObject ;OPI _aef .PdfObject ;Metadata _aef .PdfObject ;OC _aef .PdfObject ;Stream []byte ;_dcafe *_aef .PdfObjectStream ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_dceca *XObjectImage )ToPdfObject ()_aef .PdfObject {_dabeg :=_dceca ._dcafe ;_gadce :=_dabeg .PdfObjectDictionary ;if _dceca .Filter !=nil {_gadce =_dceca .Filter .MakeStreamDict ();_dabeg .PdfObjectDictionary =_gadce ;};_gadce .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_gadce .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0049\u006d\u0061g\u0065"));_gadce .Set ("\u0057\u0069\u0064t\u0068",_aef .MakeInteger (*(_dceca .Width )));_gadce .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_aef .MakeInteger (*(_dceca .Height )));if _dceca .BitsPerComponent !=nil {_gadce .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_aef .MakeInteger (*(_dceca .BitsPerComponent )));};if _dceca .ColorSpace !=nil {_gadce .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_dceca .ColorSpace .ToPdfObject ());};_gadce .SetIfNotNil ("\u0049\u006e\u0074\u0065\u006e\u0074",_dceca .Intent );_gadce .SetIfNotNil ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k",_dceca .ImageMask );_gadce .SetIfNotNil ("\u004d\u0061\u0073\u006b",_dceca .Mask );_gadce .SetIfNotNil ("\u0044\u0065\u0063\u006f\u0064\u0065",_dceca .Decode );_gadce .SetIfNotNil ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065",_dceca .Interpolate );_gadce .SetIfNotNil ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073",_dceca .Alternatives );_gadce .SetIfNotNil ("\u0053\u004d\u0061s\u006b",_dceca .SMask );_gadce .SetIfNotNil ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061",_dceca .SMaskInData );_gadce .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_dceca .Matte );_gadce .SetIfNotNil ("\u004e\u0061\u006d\u0065",_dceca .Name );_gadce .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_dceca .StructParent );_gadce .SetIfNotNil ("\u0049\u0044",_dceca .ID );_gadce .SetIfNotNil ("\u004f\u0050\u0049",_dceca .OPI );_gadce .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_dceca .Metadata );_gadce .SetIfNotNil ("\u004f\u0043",_dceca .OC );_gadce .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_dceca .Stream ))));_dabeg .Stream =_dceca .Stream ;return _dabeg ;};
|
||
|
||
// NewPdfAnnotationSquiggly returns a new text squiggly annotation.
|
||
func NewPdfAnnotationSquiggly ()*PdfAnnotationSquiggly {_bece :=NewPdfAnnotation ();_gce :=&PdfAnnotationSquiggly {};_gce .PdfAnnotation =_bece ;_gce .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bece .SetContext (_gce );return _gce ;};
|
||
|
||
// AllFields returns a flattened list of all fields in the form.
|
||
func (_fcaf *PdfAcroForm )AllFields ()[]*PdfField {if _fcaf ==nil {return nil ;};var _cecbd []*PdfField ;if _fcaf .Fields !=nil {for _ ,_efce :=range *_fcaf .Fields {_cecbd =append (_cecbd ,_dbgaf (_efce )...);};};return _cecbd ;};
|
||
|
||
// GetPageDict converts the Page to a PDF object dictionary.
|
||
func (_becff *PdfPage )GetPageDict ()*_aef .PdfObjectDictionary {_gaccd :=_becff ._cbefa ;_gaccd .Clear ();_gaccd .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0050\u0061\u0067\u0065"));_gaccd .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_becff .Parent );if _becff .LastModified !=nil {_gaccd .Set ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_becff .LastModified .ToPdfObject ());};if _becff .Resources !=nil {_gaccd .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_becff .Resources .ToPdfObject ());};if _becff .CropBox !=nil {_gaccd .Set ("\u0043r\u006f\u0070\u0042\u006f\u0078",_becff .CropBox .ToPdfObject ());};if _becff .MediaBox !=nil {_gaccd .Set ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078",_becff .MediaBox .ToPdfObject ());};if _becff .BleedBox !=nil {_gaccd .Set ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078",_becff .BleedBox .ToPdfObject ());};if _becff .TrimBox !=nil {_gaccd .Set ("\u0054r\u0069\u006d\u0042\u006f\u0078",_becff .TrimBox .ToPdfObject ());};if _becff .ArtBox !=nil {_gaccd .Set ("\u0041\u0072\u0074\u0042\u006f\u0078",_becff .ArtBox .ToPdfObject ());};_gaccd .SetIfNotNil ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f",_becff .BoxColorInfo );_gaccd .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_becff .Contents );if _becff .Rotate !=nil {_gaccd .Set ("\u0052\u006f\u0074\u0061\u0074\u0065",_aef .MakeInteger (*_becff .Rotate ));};_gaccd .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_becff .Group );_gaccd .SetIfNotNil ("\u0054\u0068\u0075m\u0062",_becff .Thumb );_gaccd .SetIfNotNil ("\u0042",_becff .B );_gaccd .SetIfNotNil ("\u0044\u0075\u0072",_becff .Dur );_gaccd .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_becff .Trans );_gaccd .SetIfNotNil ("\u0041\u0041",_becff .AA );_gaccd .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_becff .Metadata );_gaccd .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_becff .PieceInfo );_gaccd .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_becff .StructParents );_gaccd .SetIfNotNil ("\u0049\u0044",_becff .ID );_gaccd .SetIfNotNil ("\u0050\u005a",_becff .PZ );_gaccd .SetIfNotNil ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f",_becff .SeparationInfo );_gaccd .SetIfNotNil ("\u0054\u0061\u0062\u0073",_becff .Tabs );_gaccd .SetIfNotNil ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064",_becff .TemplateInstantiated );_gaccd .SetIfNotNil ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s",_becff .PresSteps );_gaccd .SetIfNotNil ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074",_becff .UserUnit );_gaccd .SetIfNotNil ("\u0056\u0050",_becff .VP );if _becff ._bcgfd !=nil {_dddge :=_aef .MakeArray ();for _ ,_feafe :=range _becff ._bcgfd {if _gbac :=_feafe .GetContext ();_gbac !=nil {_dddge .Append (_gbac .ToPdfObject ());}else {_dddge .Append (_feafe .ToPdfObject ());};};if _dddge .Len ()> 0{_gaccd .Set ("\u0041\u006e\u006e\u006f\u0074\u0073",_dddge );};}else if _becff .Annots !=nil {_gaccd .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0073",_becff .Annots );};return _gaccd ;};
|
||
|
||
// NewPdfPageResources returns a new PdfPageResources object.
|
||
func NewPdfPageResources ()*PdfPageResources {_bffbf :=&PdfPageResources {};_bffbf ._eede =_aef .MakeDict ();return _bffbf ;};
|
||
|
||
// SetPageLabels sets the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_gfegc *PdfWriter )SetPageLabels (pageLabels _aef .PdfObject )error {if pageLabels ==nil {return nil ;};_abe .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");_gfegc ._abebc .Set ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073",pageLabels );return _gfegc .addObjects (pageLabels );};
|
||
|
||
// PdfColorPattern represents a pattern color.
|
||
type PdfColorPattern struct{Color PdfColor ;PatternName _aef .PdfObjectName ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_effe *PdfAnnotationPopup )ToPdfObject ()_aef .PdfObject {_effe .PdfAnnotation .ToPdfObject ();_gef :=_effe ._edc ;_ggaa :=_gef .PdfObject .(*_aef .PdfObjectDictionary );_ggaa .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0050\u006f\u0070u\u0070"));_ggaa .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_effe .Parent );_ggaa .SetIfNotNil ("\u004f\u0070\u0065\u006e",_effe .Open );return _gef ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (4 for cmyk).
|
||
func (_fbfc *PdfColorspaceDeviceCMYK )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=4{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dcbdg ,_dcf :=_aef .GetNumbersAsFloat (objects );if _dcf !=nil {return nil ,_dcf ;};return _fbfc .ColorFromFloats (_dcbdg );};func _cbdfa (_gaagag _aef .PdfObject )(*PdfShading ,error ){_aebdd :=&PdfShading {};var _caagb *_aef .PdfObjectDictionary ;if _geaac ,_ddadgc :=_aef .GetIndirect (_gaagag );_ddadgc {_aebdd ._bbga =_geaac ;_eggbc ,_ccfgd :=_geaac .PdfObject .(*_aef .PdfObjectDictionary );if !_ccfgd {_abe .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 ,_aef .ErrTypeError ;};_caagb =_eggbc ;}else if _eaecc ,_affaf :=_aef .GetStream (_gaagag );_affaf {_aebdd ._bbga =_eaecc ;_caagb =_eaecc .PdfObjectDictionary ;}else if _cebcb ,_daac :=_aef .GetDict (_gaagag );_daac {_aebdd ._bbga =_cebcb ;_caagb =_cebcb ;}else {_abe .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",_gaagag );return nil ,_aef .ErrTypeError ;};if _caagb ==nil {_abe .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_fa .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_gaagag =_caagb .Get ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _gaagag ==nil {_abe .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 ;};_gaagag =_aef .TraceToDirectObject (_gaagag );_efadf ,_gddgd :=_gaagag .(*_aef .PdfObjectInteger );if !_gddgd {_abe .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",_gaagag );return nil ,_aef .ErrTypeError ;};if *_efadf < 1||*_efadf > 7{_abe .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",*_efadf );return nil ,_aef .ErrTypeError ;};_aebdd .ShadingType =_efadf ;_gaagag =_caagb .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");if _gaagag ==nil {_abe .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 ;};_dabee ,_gdcb :=NewPdfColorspaceFromPdfObject (_gaagag );if _gdcb !=nil {_abe .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",_gdcb );return nil ,_gdcb ;};_aebdd .ColorSpace =_dabee ;_gaagag =_caagb .Get ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064");if _gaagag !=nil {_gaagag =_aef .TraceToDirectObject (_gaagag );_dgeae ,_efdea :=_gaagag .(*_aef .PdfObjectArray );if !_efdea {_abe .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)",_gaagag );return nil ,_aef .ErrTypeError ;};_aebdd .Background =_dgeae ;};_gaagag =_caagb .Get ("\u0042\u0042\u006f\u0078");if _gaagag !=nil {_gaagag =_aef .TraceToDirectObject (_gaagag );_aagfe ,_ffdc :=_gaagag .(*_aef .PdfObjectArray );if !_ffdc {_abe .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)",_gaagag );return nil ,_aef .ErrTypeError ;};_gabe ,_aacb :=NewPdfRectangle (*_aagfe );if _aacb !=nil {_abe .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_aacb );return nil ,_aacb ;};_aebdd .BBox =_gabe ;};_gaagag =_caagb .Get ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s");if _gaagag !=nil {_gaagag =_aef .TraceToDirectObject (_gaagag );_bdbgc ,_ffdg :=_gaagag .(*_aef .PdfObjectBool );if !_ffdg {_abe .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",_gaagag );return nil ,_aef .ErrTypeError ;};_aebdd .AntiAlias =_bdbgc ;};switch *_efadf {case 1:_fcaege ,_cafab :=_geage (_caagb );if _cafab !=nil {return nil ,_cafab ;};_fcaege .PdfShading =_aebdd ;_aebdd ._egaca =_fcaege ;return _aebdd ,nil ;case 2:_abfgd ,_ffbcb :=_fcdg (_caagb );if _ffbcb !=nil {return nil ,_ffbcb ;};_abfgd .PdfShading =_aebdd ;_aebdd ._egaca =_abfgd ;return _aebdd ,nil ;case 3:_feffb ,_fcfcb :=_gfebg (_caagb );if _fcfcb !=nil {return nil ,_fcfcb ;};_feffb .PdfShading =_aebdd ;_aebdd ._egaca =_feffb ;return _aebdd ,nil ;case 4:_aefea ,_acgde :=_bdec (_caagb );if _acgde !=nil {return nil ,_acgde ;};_aefea .PdfShading =_aebdd ;_aebdd ._egaca =_aefea ;return _aebdd ,nil ;case 5:_cdgae ,_caeae :=_feefg (_caagb );if _caeae !=nil {return nil ,_caeae ;};_cdgae .PdfShading =_aebdd ;_aebdd ._egaca =_cdgae ;return _aebdd ,nil ;case 6:_egbb ,_cccb :=_cbgcd (_caagb );if _cccb !=nil {return nil ,_cccb ;};_egbb .PdfShading =_aebdd ;_aebdd ._egaca =_egbb ;return _aebdd ,nil ;case 7:_febgb ,_bdgb :=_aegc (_caagb );if _bdgb !=nil {return nil ,_bdgb ;};_febgb .PdfShading =_aebdd ;_aebdd ._egaca =_febgb ;return _aebdd ,nil ;};return nil ,_fa .New ("u\u006ek\u006e\u006f\u0077\u006e\u0020\u0073\u0068\u0061d\u0069\u006e\u0067\u0020ty\u0070\u0065");};
|
||
|
||
// EnableChain adds the specified certificate chain and validation data (OCSP
|
||
// and CRL information) for it to the global scope of the document DSS. The
|
||
// added data is used for validating any of the signatures present in the
|
||
// document. The LTV client attempts to build the certificate chain up to a
|
||
// trusted root by downloading any missing certificates.
|
||
func (_gbba *LTV )EnableChain (chain []*_c .Certificate )error {return _gbba .enable (nil ,chain ,"")};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// component PDF objects.
|
||
func (_ecgd *PdfColorspaceICCBased )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if _ecgd .Alternate ==nil {if _ecgd .N ==1{_efcg :=NewPdfColorspaceDeviceGray ();return _efcg .ColorFromPdfObjects (objects );}else if _ecgd .N ==3{_bffd :=NewPdfColorspaceDeviceRGB ();return _bffd .ColorFromPdfObjects (objects );}else if _ecgd .N ==4{_eebe :=NewPdfColorspaceDeviceCMYK ();return _eebe .ColorFromPdfObjects (objects );}else {return nil ,_fa .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 _ecgd .Alternate .ColorFromPdfObjects (objects );};func (_eedf *PdfReader )loadStructure ()error {if _eedf ._gdbbd .GetCrypter ()!=nil &&!_eedf ._gdbbd .IsAuthenticated (){return _b .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");};_cegg :=_eedf ._gdbbd .GetTrailer ();if _cegg ==nil {return _b .Errorf ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_fcdee ,_dabgb :=_cegg .Get ("\u0052\u006f\u006f\u0074").(*_aef .PdfObjectReference );if !_dabgb {return _b .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",_cegg );};_afefe ,_cceca :=_eedf ._gdbbd .LookupByReference (*_fcdee );if _cceca !=nil {_abe .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",_cceca );return _cceca ;};_efaggb ,_dabgb :=_afefe .(*_aef .PdfIndirectObject );if !_dabgb {_abe .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",_afefe ,*_cegg );return _fa .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_edbf ,_dabgb :=(*_efaggb ).PdfObject .(*_aef .PdfObjectDictionary );if !_dabgb {_abe .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",_efaggb .PdfObject );return _fa .New ("\u0069n\u0076a\u006c\u0069\u0064\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_abe .Log .Trace ("C\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_edbf );_fbac ,_dabgb :=_edbf .Get ("\u0050\u0061\u0067e\u0073").(*_aef .PdfObjectReference );if !_dabgb {return _fa .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");};_dgca ,_cceca :=_eedf ._gdbbd .LookupByReference (*_fbac );if _cceca !=nil {_abe .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 _cceca ;};_beede ,_dabgb :=_dgca .(*_aef .PdfIndirectObject );if !_dabgb {_abe .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");_abe .Log .Debug ("\u006f\u0070\u003a\u0020\u0025\u0070",_beede );return _fa .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_efda ,_dabgb :=_beede .PdfObject .(*_aef .PdfObjectDictionary );if !_dabgb {_abe .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",_beede );return _fa .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_fbccd ,_dabgb :=_aef .GetInt (_efda .Get ("\u0043\u006f\u0075n\u0074"));if !_dabgb {_abe .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 _fa .New ("\u0070\u0061\u0067\u0065s \u0063\u006f\u0075\u006e\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};if _ ,_dabgb =_aef .GetName (_efda .Get ("\u0054\u0079\u0070\u0065"));!_dabgb {_abe .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");_efda .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0050\u0061\u0067e\u0073"));};_eedf ._eebff =_fcdee ;_eedf ._acae =_edbf ;_eedf ._fgbfc =_efda ;_eedf ._cbfdd =_beede ;_eedf ._bbccc =int (*_fbccd );_eedf ._dbdgb =[]*_aef .PdfIndirectObject {};_ffeeb :=map[_aef .PdfObject ]struct{}{};_cceca =_eedf .buildPageList (_beede ,nil ,_ffeeb );if _cceca !=nil {return _cceca ;};_abe .Log .Trace ("\u002d\u002d\u002d");_abe .Log .Trace ("\u0054\u004f\u0043");_abe .Log .Trace ("\u0050\u0061\u0067e\u0073");_abe .Log .Trace ("\u0025\u0064\u003a\u0020\u0025\u0073",len (_eedf ._dbdgb ),_eedf ._dbdgb );_eedf ._gaad ,_cceca =_eedf .loadOutlines ();if _cceca !=nil {_abe .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",_cceca );return _cceca ;};_eedf .AcroForm ,_cceca =_eedf .loadForms ();if _cceca !=nil {return _cceca ;};_eedf .DSS ,_cceca =_eedf .loadDSS ();if _cceca !=nil {return _cceca ;};return nil ;};var _ pdfFont =(*pdfCIDFontType2 )(nil );func _fgga (_cfadf ,_ebcg string )string {if _dg .Contains (_cfadf ,"\u002b"){_ggagd :=_dg .Split (_cfadf ,"\u002b");if len (_ggagd )==2{_cfadf =_ggagd [1];};};return _ebcg +"\u002b"+_cfadf ;};func (_afag *PdfReader )newPdfActionGotoEFromDict (_ffe *_aef .PdfObjectDictionary )(*PdfActionGoToE ,error ){_cfb ,_gab :=_bfc (_ffe .Get ("\u0046"));if _gab !=nil {return nil ,_gab ;};return &PdfActionGoToE {D :_ffe .Get ("\u0044"),NewWindow :_ffe .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),T :_ffe .Get ("\u0054"),F :_cfb },nil ;};
|
||
|
||
// SetFlag sets the flag for the field.
|
||
func (_gagafe *PdfField )SetFlag (flag FieldFlag ){_gagafe .Ff =_aef .MakeInteger (int64 (flag ))};func _fbcg (_fbfcbe []byte )(_bcfcc ,_feaga string ,_cggf error ){_abe .Log .Trace ("g\u0065\u0074\u0041\u0053CI\u0049S\u0065\u0063\u0074\u0069\u006fn\u0073\u003a\u0020\u0025\u0064\u0020",len (_fbfcbe ));_dgec :=_dcfbb .FindIndex (_fbfcbe );if _dgec ==nil {_abe .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 "","",_aef .ErrTypeError ;};_gdgca :=_dgec [1];_dface :=_dg .Index (string (_fbfcbe [_gdgca :]),_gdee );if _dface < 0{_bcfcc =string (_fbfcbe [_gdgca :]);return _bcfcc ,"",nil ;};_faacf :=_gdgca +_dface ;_bcfcc =string (_fbfcbe [_gdgca :_faacf ]);_ccde :=_faacf ;_dface =_dg .Index (string (_fbfcbe [_ccde :]),_affbc );if _dface < 0{_abe .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",_cggf );return "","",_aef .ErrTypeError ;};_gabg :=_ccde +_dface ;_feaga =string (_fbfcbe [_ccde :_gabg ]);return _bcfcc ,_feaga ,nil ;};func _fdef (_bggf *PdfAnnotation )(*XObjectForm ,*PdfRectangle ,error ){_eebbb ,_agab :=_aef .GetDict (_bggf .AP );if !_agab {return nil ,nil ,_fa .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 _eebbb ==nil {return nil ,nil ,nil ;};_fbfcb ,_agab :=_aef .GetArray (_bggf .Rect );if !_agab ||_fbfcb .Len ()!=4{return nil ,nil ,_fa .New ("\u0072\u0065\u0063t\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_bggb ,_babcg :=NewPdfRectangle (*_fbfcb );if _babcg !=nil {return nil ,nil ,_babcg ;};_adaba :=_aef .TraceToDirectObject (_eebbb .Get ("\u004e"));switch _ecde :=_adaba .(type ){case *_aef .PdfObjectStream :_acdgf :=_ecde ;_agfg ,_aefda :=NewXObjectFormFromStream (_acdgf );return _agfg ,_bggb ,_aefda ;case *_aef .PdfObjectDictionary :_cfgf :=_ecde ;_eedg ,_bedbgb :=_aef .GetName (_bggf .AS );if !_bedbgb {return nil ,nil ,nil ;};if _cfgf .Get (*_eedg )==nil {_abe .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 ;};_gcda ,_bedbgb :=_aef .GetStream (_cfgf .Get (*_eedg ));if !_bedbgb {_abe .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",_eedg );return nil ,nil ,_fa .New ("\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};_abgef ,_egab :=NewXObjectFormFromStream (_gcda );return _abgef ,_bggb ,_egab ;};_abe .Log .Debug ("\u0049\u006e\u0076\u0061li\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066\u006f\u0072\u0020\u004e\u003a\u0020%\u0054",_adaba );return nil ,nil ,_fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};
|
||
|
||
// PdfShadingType6 is a Coons patch mesh.
|
||
type PdfShadingType6 struct{*PdfShading ;BitsPerCoordinate *_aef .PdfObjectInteger ;BitsPerComponent *_aef .PdfObjectInteger ;BitsPerFlag *_aef .PdfObjectInteger ;Decode *_aef .PdfObjectArray ;Function []PdfFunction ;};func (_gcdab *PdfReader )loadOutlines ()(*PdfOutlineTreeNode ,error ){if _gcdab ._gdbbd .GetCrypter ()!=nil &&!_gcdab ._gdbbd .IsAuthenticated (){return nil ,_b .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");};_ebfbb :=_gcdab ._acae ;_cgac :=_ebfbb .Get ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");if _cgac ==nil {return nil ,nil ;};_abe .Log .Trace ("\u002d\u0048\u0061\u0073\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");_gaecd :=_aef .ResolveReference (_cgac );_abe .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0020\u0072\u006f\u006f\u0074\u003a\u0020\u0025\u0076",_gaecd );if _abcgc :=_aef .IsNullObject (_gaecd );_abcgc {_abe .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 ;};_cfdef ,_aadg :=_gaecd .(*_aef .PdfIndirectObject );if !_aadg {if _ ,_babec :=_aef .GetDict (_gaecd );!_babec {_abe .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 ;};_abe .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");_cfdef =_aef .MakeIndirectObject (_gaecd );};_afcag ,_aadg :=_cfdef .PdfObject .(*_aef .PdfObjectDictionary );if !_aadg {return nil ,_fa .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");};_abe .Log .Trace ("O\u0075\u0074\u006c\u0069ne\u0020r\u006f\u006f\u0074\u0020\u0064i\u0063\u0074\u003a\u0020\u0025\u0076",_afcag );_gcdba ,_ ,_acbaa :=_gcdab .buildOutlineTree (_cfdef ,nil ,nil ,nil );if _acbaa !=nil {return nil ,_acbaa ;};_abe .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",_gcdba );return _gcdba ,nil ;};
|
||
|
||
// 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 ;};
|
||
|
||
// GetTrailer returns the PDF's trailer dictionary.
|
||
func (_bfbb *PdfReader )GetTrailer ()(*_aef .PdfObjectDictionary ,error ){_abedg :=_bfbb ._gdbbd .GetTrailer ();if _abedg ==nil {return nil ,_fa .New ("\u0074r\u0061i\u006c\u0065\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};return _abedg ,nil ;};
|
||
|
||
// ButtonType represents the subtype of a button field, can be one of:
|
||
// - Checkbox (ButtonTypeCheckbox)
|
||
// - PushButton (ButtonTypePushButton)
|
||
// - RadioButton (ButtonTypeRadioButton)
|
||
type ButtonType int ;func _dggdf ()_a .Time {_abdcd .Lock ();defer _abdcd .Unlock ();return _ecgff };
|
||
|
||
// NewPdfActionRendition returns a new "rendition" action.
|
||
func NewPdfActionRendition ()*PdfActionRendition {_bcd :=NewPdfAction ();_fg :=&PdfActionRendition {};_fg .PdfAction =_bcd ;_bcd .SetContext (_fg );return _fg ;};
|
||
|
||
// HasExtGState checks whether a font is defined by the specified keyName.
|
||
func (_adeac *PdfPageResources )HasExtGState (keyName _aef .PdfObjectName )bool {_ ,_gcbf :=_adeac .GetFontByName (keyName );return _gcbf ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_eeba *PdfShading )ToPdfObject ()_aef .PdfObject {_gecc :=_eeba ._bbga ;_efgab ,_abebb :=_eeba .getShadingDict ();if _abebb !=nil {_abe .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 _eeba .ShadingType !=nil {_efgab .Set ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_eeba .ShadingType );};if _eeba .ColorSpace !=nil {_efgab .Set ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_eeba .ColorSpace .ToPdfObject ());};if _eeba .Background !=nil {_efgab .Set ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064",_eeba .Background );};if _eeba .BBox !=nil {_efgab .Set ("\u0042\u0042\u006f\u0078",_eeba .BBox .ToPdfObject ());};if _eeba .AntiAlias !=nil {_efgab .Set ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s",_eeba .AntiAlias );};return _gecc ;};
|
||
|
||
// SetContext sets the specific fielddata type, e.g. would be PdfFieldButton for a button field.
|
||
func (_cbfa *PdfField )SetContext (ctx PdfModel ){_cbfa ._aafba =ctx };
|
||
|
||
// 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 *_aef .PdfObjectArray ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;Attributes *PdfColorspaceDeviceNAttributes ;_ggbg *_aef .PdfIndirectObject ;};func _caaf (_gceef string )map[string ]string {_cegda :=_afaa .Split (_gceef ,-1);_aaba :=map[string ]string {};for _ ,_bbfc :=range _cegda {_abdca :=_afgca .FindStringSubmatch (_bbfc );if _abdca ==nil {continue ;};_eaab ,_dfccb :=_abdca [1],_abdca [2];_aaba [_eaab ]=_dfccb ;};return _aaba ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_dgged *PdfColorspaceSpecialSeparation )ColorFromPdfObjects (objects []_aef .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fa .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ffae ,_eeefd :=_aef .GetNumbersAsFloat (objects );if _eeefd !=nil {return nil ,_eeefd ;};return _dgged .ColorFromFloats (_ffae );};
|
||
|
||
// NewPdfActionJavaScript returns a new "javaScript" action.
|
||
func NewPdfActionJavaScript ()*PdfActionJavaScript {_ecg :=NewPdfAction ();_geb :=&PdfActionJavaScript {};_geb .PdfAction =_ecg ;_ecg .SetContext (_geb );return _geb ;};
|
||
|
||
// NewPdfActionSound returns a new "sound" action.
|
||
func NewPdfActionSound ()*PdfActionSound {_ef :=NewPdfAction ();_gd :=&PdfActionSound {};_gd .PdfAction =_ef ;_ef .SetContext (_gd );return _gd ;};
|
||
|
||
// GetOutlines returns a high-level Outline object, based on the outline tree
|
||
// of the reader.
|
||
func (_ggfgb *PdfReader )GetOutlines ()(*Outline ,error ){if _ggfgb ==nil {return nil ,_fa .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");};_egdff :=_ggfgb .GetOutlineTree ();if _egdff ==nil {return nil ,_fa .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 _fgdee func (_aefaf *PdfOutlineTreeNode ,_bcaddb *[]*OutlineItem );_fgdee =func (_bada *PdfOutlineTreeNode ,_aebge *[]*OutlineItem ){if _bada ==nil {return ;};if _bada ._gdgaba ==nil {_abe .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 _cabgf *OutlineItem ;if _bcbfd ,_afaca :=_bada ._gdgaba .(*PdfOutlineItem );_afaca {_bedga :=_bcbfd .Dest ;if (_bedga ==nil ||_aef .IsNullObject (_bedga ))&&_bcbfd .A !=nil {if _egefe ,_effbe :=_aef .GetDict (_bcbfd .A );_effbe {_bedga ,_ =_aef .GetArray (_egefe .Get ("\u0044"));};};var _edfba OutlineDest ;if _bedga !=nil &&!_aef .IsNullObject (_bedga ){if _aaddb ,_effbf :=_eaae (_bedga ,_ggfgb );_effbf ==nil {_edfba =*_aaddb ;}else {_abe .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",_bedga ,_effbf );};};_cabgf =NewOutlineItem (_bcbfd .Title .Decoded (),_edfba );*_aebge =append (*_aebge ,_cabgf );if _bcbfd .Next !=nil {_fgdee (_bcbfd .Next ,_aebge );};};if _bada .First !=nil {if _cabgf !=nil {_aebge =&_cabgf .Entries ;};_fgdee (_bada .First ,_aebge );};};_ecfcf :=NewOutline ();_fgdee (_egdff ,&_ecfcf .Entries );return _ecfcf ,nil ;};
|
||
|
||
// HasColorspaceByName checks if the colorspace with the specified name exists in the page resources.
|
||
func (_fegdf *PdfPageResources )HasColorspaceByName (keyName _aef .PdfObjectName )bool {_gfaaf ,_gcab :=_fegdf .GetColorspaces ();if _gcab !=nil {_abe .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",_gcab );return false ;};if _gfaaf ==nil {return false ;};_ ,_fdaba :=_gfaaf .Colorspaces [string (keyName )];return _fdaba ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
// Note: Call the sub-annotation's ToPdfObject to set both the generic and non-generic information.
|
||
func (_dacb *PdfAnnotation )ToPdfObject ()_aef .PdfObject {_fbf :=_dacb ._edc ;_afbbe :=_fbf .PdfObject .(*_aef .PdfObjectDictionary );_afbbe .Clear ();_afbbe .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0041\u006e\u006eo\u0074"));_afbbe .SetIfNotNil ("\u0052\u0065\u0063\u0074",_dacb .Rect );_afbbe .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_dacb .Contents );_afbbe .SetIfNotNil ("\u0050",_dacb .P );_afbbe .SetIfNotNil ("\u004e\u004d",_dacb .NM );_afbbe .SetIfNotNil ("\u004d",_dacb .M );_afbbe .SetIfNotNil ("\u0046",_dacb .F );_afbbe .SetIfNotNil ("\u0041\u0050",_dacb .AP );_afbbe .SetIfNotNil ("\u0041\u0053",_dacb .AS );_afbbe .SetIfNotNil ("\u0042\u006f\u0072\u0064\u0065\u0072",_dacb .Border );_afbbe .SetIfNotNil ("\u0043",_dacb .C );_afbbe .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_dacb .StructParent );_afbbe .SetIfNotNil ("\u004f\u0043",_dacb .OC );return _fbf ;};func _geefb (_ecega *XObjectImage )error {if _ecega .SMask ==nil {return nil ;};_babcd ,_gebcc :=_ecega .SMask .(*_aef .PdfObjectStream );if !_gebcc {_abe .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 _aef .ErrTypeError ;};_cbbab :=_babcd .PdfObjectDictionary ;_fecdc :=_cbbab .Get ("\u004d\u0061\u0074t\u0065");if _fecdc ==nil {return nil ;};_abaed ,_adeea :=_acaaae (_fecdc .(*_aef .PdfObjectArray ));if _adeea !=nil {return _adeea ;};_cefge :=_aef .MakeArrayFromFloats ([]float64 {_abaed });_cbbab .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_cefge );return nil ;};func (_bcege *XObjectImage )getParamsDict ()*_aef .PdfObjectDictionary {_acec :=_aef .MakeDict ();_acec .Set ("\u0057\u0069\u0064t\u0068",_aef .MakeInteger (*_bcege .Width ));_acec .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_aef .MakeInteger (*_bcege .Height ));_acec .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_aef .MakeInteger (int64 (_bcege .ColorSpace .GetNumComponents ())));_acec .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_aef .MakeInteger (*_bcege .BitsPerComponent ));return _acec ;};
|
||
|
||
// NewPdfActionTrans returns a new "trans" action.
|
||
func NewPdfActionTrans ()*PdfActionTrans {_dec :=NewPdfAction ();_acb :=&PdfActionTrans {};_acb .PdfAction =_dec ;_dec .SetContext (_acb );return _acb ;};
|
||
|
||
// GetContentStream returns the pattern cell's content stream
|
||
func (_eddcg *PdfTilingPattern )GetContentStream ()([]byte ,error ){_fafg ,_ ,_ffga :=_eddcg .GetContentStreamWithEncoder ();return _fafg ,_ffga ;};
|
||
|
||
// EncryptOptions represents encryption options for an output PDF.
|
||
type EncryptOptions struct{Permissions _db .Permissions ;Algorithm EncryptionAlgorithm ;};
|
||
|
||
// ToPdfObject returns an indirect object containing the signature field dictionary.
|
||
func (_bfebg *PdfFieldSignature )ToPdfObject ()_aef .PdfObject {if _bfebg .PdfAnnotationWidget !=nil {_bfebg .PdfAnnotationWidget .ToPdfObject ();};_bfebg .PdfField .ToPdfObject ();_deddb :=_bfebg ._abebg ;_abcc :=_deddb .PdfObject .(*_aef .PdfObjectDictionary );_abcc .SetIfNotNil ("\u0046\u0054",_aef .MakeName ("\u0053\u0069\u0067"));_abcc .SetIfNotNil ("\u004c\u006f\u0063\u006b",_bfebg .Lock );_abcc .SetIfNotNil ("\u0053\u0056",_bfebg .SV );if _bfebg .V !=nil {_abcc .SetIfNotNil ("\u0056",_bfebg .V .ToPdfObject ());};return _deddb ;};func (_dgafb fontCommon )fontFlags ()int {if _dgafb ._bgfd ==nil {return 0;};return _dgafb ._bgfd ._eagd ;};
|
||
|
||
// PdfFunctionType4 is a Postscript calculator functions.
|
||
type PdfFunctionType4 struct{Domain []float64 ;Range []float64 ;Program *_ga .PSProgram ;_fgfac *_ga .PSExecutor ;_ccagg []byte ;_gegfd *_aef .PdfObjectStream ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_gbead *PdfOutlineItem )ToPdfObject ()_aef .PdfObject {_dedfd :=_gbead ._gdgba ;_cbfb :=_dedfd .PdfObject .(*_aef .PdfObjectDictionary );_cbfb .Set ("\u0054\u0069\u0074l\u0065",_gbead .Title );if _gbead .A !=nil {_cbfb .Set ("\u0041",_gbead .A );};if _aefe :=_cbfb .Get ("\u0053\u0045");_aefe !=nil {_cbfb .Remove ("\u0053\u0045");};if _gbead .C !=nil {_cbfb .Set ("\u0043",_gbead .C );};if _gbead .Dest !=nil {_cbfb .Set ("\u0044\u0065\u0073\u0074",_gbead .Dest );};if _gbead .F !=nil {_cbfb .Set ("\u0046",_gbead .F );};if _gbead .Count !=nil {_cbfb .Set ("\u0043\u006f\u0075n\u0074",_aef .MakeInteger (*_gbead .Count ));};if _gbead .Next !=nil {_cbfb .Set ("\u004e\u0065\u0078\u0074",_gbead .Next .ToPdfObject ());};if _gbead .First !=nil {_cbfb .Set ("\u0046\u0069\u0072s\u0074",_gbead .First .ToPdfObject ());};if _gbead .Prev !=nil {_cbfb .Set ("\u0050\u0072\u0065\u0076",_gbead .Prev .GetContext ().GetContainingPdfObject ());};if _gbead .Last !=nil {_cbfb .Set ("\u004c\u0061\u0073\u0074",_gbead .Last .GetContext ().GetContainingPdfObject ());};if _gbead .Parent !=nil {_cbfb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_gbead .Parent .GetContext ().GetContainingPdfObject ());};return _dedfd ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_ffddf pdfCIDFontType2 )GetRuneMetrics (r rune )(_ecf .CharMetrics ,bool ){_debbc ,_ebcf :=_ffddf ._bffbc [r ];if !_ebcf {_eafg ,_afgaa :=_aef .GetInt (_ffddf .DW );if !_afgaa {return _ecf .CharMetrics {},false ;};_debbc =int (*_eafg );};return _ecf .CharMetrics {Wx :float64 (_debbc )},true ;};
|
||
|
||
// IsRadio returns true if the button field represents a radio button, false otherwise.
|
||
func (_cagff *PdfFieldButton )IsRadio ()bool {return _cagff .GetType ()==ButtonTypeRadio };
|
||
|
||
// DecodeArray returns the component range values for the Separation colorspace.
|
||
func (_fdab *PdfColorspaceSpecialSeparation )DecodeArray ()[]float64 {return []float64 {0,1.0}};func _bgcda ()_a .Time {_abdcd .Lock ();defer _abdcd .Unlock ();return _ddea };
|
||
|
||
// 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 *_aef .PdfObjectName ;Colorants _aef .PdfObject ;Process _aef .PdfObject ;MixingHints _aef .PdfObject ;_ecgdd *_aef .PdfIndirectObject ;};
|
||
|
||
// NewPdfColorspaceDeviceRGB returns a new RGB colorspace object.
|
||
func NewPdfColorspaceDeviceRGB ()*PdfColorspaceDeviceRGB {return &PdfColorspaceDeviceRGB {}};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_bfcbgf *PdfShadingType4 )ToPdfObject ()_aef .PdfObject {_bfcbgf .PdfShading .ToPdfObject ();_dacca ,_defgb :=_bfcbgf .getShadingDict ();if _defgb !=nil {_abe .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 _bfcbgf .BitsPerCoordinate !=nil {_dacca .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_bfcbgf .BitsPerCoordinate );};if _bfcbgf .BitsPerComponent !=nil {_dacca .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_bfcbgf .BitsPerComponent );};if _bfcbgf .BitsPerFlag !=nil {_dacca .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_bfcbgf .BitsPerFlag );};if _bfcbgf .Decode !=nil {_dacca .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_bfcbgf .Decode );};if _bfcbgf .Function !=nil {if len (_bfcbgf .Function )==1{_dacca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_bfcbgf .Function [0].ToPdfObject ());}else {_cgdae :=_aef .MakeArray ();for _ ,_fbcdd :=range _bfcbgf .Function {_cgdae .Append (_fbcdd .ToPdfObject ());};_dacca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cgdae );};};return _bfcbgf ._bbga ;};
|
||
|
||
// GetContainingPdfObject returns the container of the DSS (indirect object).
|
||
func (_gbfdc *DSS )GetContainingPdfObject ()_aef .PdfObject {return _gbfdc ._egdea };
|
||
|
||
// 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 ;_cfcff *_aef .PdfIndirectObject ;
|
||
|
||
// Type: Sig/DocTimeStamp
|
||
Type *_aef .PdfObjectName ;Filter *_aef .PdfObjectName ;SubFilter *_aef .PdfObjectName ;Contents *_aef .PdfObjectString ;Cert _aef .PdfObject ;ByteRange *_aef .PdfObjectArray ;Reference *_aef .PdfObjectArray ;Changes *_aef .PdfObjectArray ;Name *_aef .PdfObjectString ;M *_aef .PdfObjectString ;Location *_aef .PdfObjectString ;Reason *_aef .PdfObjectString ;ContactInfo *_aef .PdfObjectString ;R *_aef .PdfObjectInteger ;V *_aef .PdfObjectInteger ;PropBuild *_aef .PdfObjectDictionary ;PropAuthTime *_aef .PdfObjectInteger ;PropAuthType *_aef .PdfObjectName ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eegf *PdfColorDeviceGray )ToInteger (bits int )uint32 {_ddaa :=_ad .Pow (2,float64 (bits ))-1;return uint32 (_ddaa *_eegf .Val ());};func (_cbc *PdfReader )newPdfActionLaunchFromDict (_ccaf *_aef .PdfObjectDictionary )(*PdfActionLaunch ,error ){_deed ,_gcdb :=_bfc (_ccaf .Get ("\u0046"));if _gcdb !=nil {return nil ,_gcdb ;};return &PdfActionLaunch {Win :_ccaf .Get ("\u0057\u0069\u006e"),Mac :_ccaf .Get ("\u004d\u0061\u0063"),Unix :_ccaf .Get ("\u0055\u006e\u0069\u0078"),NewWindow :_ccaf .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_deed },nil ;};func (_bgc *PdfReader )newPdfActionSetOCGStateFromDict (_bec *_aef .PdfObjectDictionary )(*PdfActionSetOCGState ,error ){return &PdfActionSetOCGState {State :_bec .Get ("\u0053\u0074\u0061t\u0065"),PreserveRB :_bec .Get ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042")},nil ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_deddc *PdfSignature )GetContainingPdfObject ()_aef .PdfObject {return _deddc ._cfcff };
|
||
|
||
// SetReason sets the `Reason` field of the signature.
|
||
func (_ecfbg *PdfSignature )SetReason (reason string ){_ecfbg .Reason =_aef .MakeString (reason )};
|
||
|
||
// 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 _aef .PdfObject )(_aef .PdfObjectName ,error ){var _fcad *_aef .PdfObjectName ;var _efea *_aef .PdfObjectArray ;if _cfcg ,_faff :=obj .(*_aef .PdfIndirectObject );_faff {if _dfcb ,_bgagd :=_cfcg .PdfObject .(*_aef .PdfObjectArray );_bgagd {_efea =_dfcb ;}else if _ffc ,_ebab :=_cfcg .PdfObject .(*_aef .PdfObjectName );_ebab {_fcad =_ffc ;};}else if _fabg ,_babba :=obj .(*_aef .PdfObjectArray );_babba {_efea =_fabg ;}else if _gdbb ,_dgcc :=obj .(*_aef .PdfObjectName );_dgcc {_fcad =_gdbb ;};if _fcad !=nil {switch *_fcad {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 *_fcad ,nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return *_fcad ,nil ;};};if _efea !=nil &&_efea .Len ()> 0{if _aead ,_acege :=_efea .Get (0).(*_aef .PdfObjectName );_acege {switch *_aead {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 _efea .Len ()==1{return *_aead ,nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079","\u0043\u0061\u006c\u0052\u0047\u0042","\u004c\u0061\u0062":return *_aead ,nil ;case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064","\u0050a\u0074\u0074\u0065\u0072\u006e","\u0049n\u0064\u0065\u0078\u0065\u0064":return *_aead ,nil ;case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e","\u0044e\u0076\u0069\u0063\u0065\u004e":return *_aead ,nil ;};};};return "",nil ;};
|
||
|
||
// M returns the value of the magenta component of the color.
|
||
func (_baec *PdfColorDeviceCMYK )M ()float64 {return _baec [1]};
|
||
|
||
// NewPdfAcroForm returns a new PdfAcroForm with an intialized container (indirect object).
|
||
func NewPdfAcroForm ()*PdfAcroForm {return &PdfAcroForm {Fields :&[]*PdfField {},_aade :_aef .MakeIndirectObject (_aef .MakeDict ())};};func _ccdb (_eefbc *fontCommon )*pdfFontSimple {return &pdfFontSimple {fontCommon :*_eefbc }};
|
||
|
||
// WatermarkImageOptions contains options for configuring the watermark process.
|
||
type WatermarkImageOptions struct{Alpha float64 ;FitToWidth bool ;PreserveAspectRatio bool ;};
|
||
|
||
// DSS represents a Document Security Store dictionary.
|
||
// The DSS dictionary contains both global and signature specific validation
|
||
// information. The certificates and revocation data in the `Certs`, `OCSPs`,
|
||
// and `CRLs` fields can be used to validate any signature in the document.
|
||
// Additionally, the VRI entry contains validation data per signature.
|
||
// The keys in the VRI entry are calculated as upper(hex(sha1(sig.Contents))).
|
||
// The values are VRI dictionaries containing certificates and revocation
|
||
// information used for validating a single signature.
|
||
// See ETSI TS 102 778-4 V1.1.1 for more information.
|
||
type DSS struct{_egdea *_aef .PdfIndirectObject ;Certs []*_aef .PdfObjectStream ;OCSPs []*_aef .PdfObjectStream ;CRLs []*_aef .PdfObjectStream ;VRI map[string ]*VRI ;_ccagd map[string ]*_aef .PdfObjectStream ;_beef map[string ]*_aef .PdfObjectStream ;_gfbg map[string ]*_aef .PdfObjectStream ;};
|
||
|
||
// AddImageResource adds an image to the XObject resources.
|
||
func (_edgbf *PdfPage )AddImageResource (name _aef .PdfObjectName ,ximg *XObjectImage )error {var _ddbfc *_aef .PdfObjectDictionary ;if _edgbf .Resources .XObject ==nil {_ddbfc =_aef .MakeDict ();_edgbf .Resources .XObject =_ddbfc ;}else {var _gcagg bool ;_ddbfc ,_gcagg =(_edgbf .Resources .XObject ).(*_aef .PdfObjectDictionary );if !_gcagg {return _fa .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u0078\u0072\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020\u0074\u0079p\u0065");};};_ddbfc .Set (name ,ximg .ToPdfObject ());return nil ;};
|
||
|
||
// UpdateObject marks `obj` as updated and to be included in the following revision.
|
||
func (_ggg *PdfAppender )UpdateObject (obj _aef .PdfObject ){_ggg .replaceObject (obj ,obj );if _ ,_gabac :=_ggg ._abge [obj ];!_gabac {_ggg ._aeaaa =append (_ggg ._aeaaa ,obj );_ggg ._abge [obj ]=struct{}{};};};
|
||
|
||
// NewPdfColorCalGray returns a new CalGray color.
|
||
func NewPdfColorCalGray (grayVal float64 )*PdfColorCalGray {_baeg :=PdfColorCalGray (grayVal );return &_baeg ;};
|
||
|
||
// BytesToCharcodes converts the bytes in a PDF string to character codes.
|
||
func (_bcab *PdfFont )BytesToCharcodes (data []byte )[]_be .CharCode {_abe .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 _adadfd ,_bbdb :=_bcab ._dccga .(*pdfFontType0 );_bbdb &&_adadfd ._dcdab !=nil {if _facd ,_afed :=_adadfd .bytesToCharcodes (data );_afed {return _facd ;};};_ddgdgd :=make ([]_be .CharCode ,0,len (data )+len (data )%2);if _bcab .baseFields ().isCIDFont (){if len (data )==1{data =[]byte {0,data [0]};};if len (data )%2!=0{_abe .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 _dgbcf :=0;_dgbcf < len (data );_dgbcf +=2{_bgcb :=uint16 (data [_dgbcf ])<<8|uint16 (data [_dgbcf +1]);_ddgdgd =append (_ddgdgd ,_be .CharCode (_bgcb ));};}else {for _ ,_cdcgd :=range data {_ddgdgd =append (_ddgdgd ,_be .CharCode (_cdcgd ));};};return _ddgdgd ;};
|
||
|
||
// String returns a string representation of what flags are set.
|
||
func (_fcag FieldFlag )String ()string {_fbfce :="";if _fcag ==FieldFlagClear {_fbfce ="\u0043\u006c\u0065a\u0072";return _fbfce ;};if _fcag &FieldFlagReadOnly > 0{_fbfce +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _fcag &FieldFlagRequired > 0{_fbfce +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _fcag &FieldFlagNoExport > 0{_fbfce +="\u007cN\u006f\u0045\u0078\u0070\u006f\u0072t";};if _fcag &FieldFlagNoToggleToOff > 0{_fbfce +="\u007c\u004e\u006f\u0054\u006f\u0067\u0067\u006c\u0065T\u006f\u004f\u0066\u0066";};if _fcag &FieldFlagRadio > 0{_fbfce +="\u007c\u0052\u0061\u0064\u0069\u006f";};if _fcag &FieldFlagPushbutton > 0{_fbfce +="|\u0050\u0075\u0073\u0068\u0062\u0075\u0074\u0074\u006f\u006e";};if _fcag &FieldFlagRadiosInUnision > 0{_fbfce +="\u007c\u0052a\u0064\u0069\u006fs\u0049\u006e\u0055\u006e\u0069\u0073\u0069\u006f\u006e";};if _fcag &FieldFlagMultiline > 0{_fbfce +="\u007c\u004d\u0075\u006c\u0074\u0069\u006c\u0069\u006e\u0065";};if _fcag &FieldFlagPassword > 0{_fbfce +="\u007cP\u0061\u0073\u0073\u0077\u006f\u0072d";};if _fcag &FieldFlagFileSelect > 0{_fbfce +="|\u0046\u0069\u006c\u0065\u0053\u0065\u006c\u0065\u0063\u0074";};if _fcag &FieldFlagDoNotScroll > 0{_fbfce +="\u007c\u0044\u006fN\u006f\u0074\u0053\u0063\u0072\u006f\u006c\u006c";};if _fcag &FieldFlagComb > 0{_fbfce +="\u007c\u0043\u006fm\u0062";};if _fcag &FieldFlagRichText > 0{_fbfce +="\u007cR\u0069\u0063\u0068\u0054\u0065\u0078t";};if _fcag &FieldFlagDoNotSpellCheck > 0{_fbfce +="\u007c\u0044o\u004e\u006f\u0074S\u0070\u0065\u006c\u006c\u0043\u0068\u0065\u0063\u006b";};if _fcag &FieldFlagCombo > 0{_fbfce +="\u007c\u0043\u006f\u006d\u0062\u006f";};if _fcag &FieldFlagEdit > 0{_fbfce +="\u007c\u0045\u0064i\u0074";};if _fcag &FieldFlagSort > 0{_fbfce +="\u007c\u0053\u006fr\u0074";};if _fcag &FieldFlagMultiSelect > 0{_fbfce +="\u007c\u004d\u0075l\u0074\u0069\u0053\u0065\u006c\u0065\u0063\u0074";};if _fcag &FieldFlagCommitOnSelChange > 0{_fbfce +="\u007cC\u006fm\u006d\u0069\u0074\u004f\u006eS\u0065\u006cC\u0068\u0061\u006e\u0067\u0065";};return _dg .Trim (_fbfce ,"\u007c");};
|
||
|
||
// PdfPage represents a page in a PDF document. (7.7.3.3 - Table 30).
|
||
type PdfPage struct{Parent _aef .PdfObject ;LastModified *PdfDate ;Resources *PdfPageResources ;CropBox *PdfRectangle ;MediaBox *PdfRectangle ;BleedBox *PdfRectangle ;TrimBox *PdfRectangle ;ArtBox *PdfRectangle ;BoxColorInfo _aef .PdfObject ;Contents _aef .PdfObject ;Rotate *int64 ;Group _aef .PdfObject ;Thumb _aef .PdfObject ;B _aef .PdfObject ;Dur _aef .PdfObject ;Trans _aef .PdfObject ;AA _aef .PdfObject ;Metadata _aef .PdfObject ;PieceInfo _aef .PdfObject ;StructParents _aef .PdfObject ;ID _aef .PdfObject ;PZ _aef .PdfObject ;SeparationInfo _aef .PdfObject ;Tabs _aef .PdfObject ;TemplateInstantiated _aef .PdfObject ;PresSteps _aef .PdfObject ;UserUnit _aef .PdfObject ;VP _aef .PdfObject ;Annots _aef .PdfObject ;_bcgfd []*PdfAnnotation ;_cbefa *_aef .PdfObjectDictionary ;_gfbbf *_aef .PdfIndirectObject ;_aggeb *PdfReader ;};
|
||
|
||
// GetContainingPdfObject returns the container of the image object (indirect object).
|
||
func (_cdbgbb *XObjectImage )GetContainingPdfObject ()_aef .PdfObject {return _cdbgbb ._dcafe };
|
||
|
||
// XObjectForm (Table 95 in 8.10.2).
|
||
type XObjectForm struct{Filter _aef .StreamEncoder ;FormType _aef .PdfObject ;BBox _aef .PdfObject ;Matrix _aef .PdfObject ;Resources *PdfPageResources ;Group _aef .PdfObject ;Ref _aef .PdfObject ;MetaData _aef .PdfObject ;PieceInfo _aef .PdfObject ;LastModified _aef .PdfObject ;StructParent _aef .PdfObject ;StructParents _aef .PdfObject ;OPI _aef .PdfObject ;OC _aef .PdfObject ;Name _aef .PdfObject ;
|
||
|
||
// Stream data.
|
||
Stream []byte ;_ebdad *_aef .PdfObjectStream ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_bedef *PdfShadingType7 )ToPdfObject ()_aef .PdfObject {_bedef .PdfShading .ToPdfObject ();_eeefdg ,_aadcg :=_bedef .getShadingDict ();if _aadcg !=nil {_abe .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 _bedef .BitsPerCoordinate !=nil {_eeefdg .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_bedef .BitsPerCoordinate );};if _bedef .BitsPerComponent !=nil {_eeefdg .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_bedef .BitsPerComponent );};if _bedef .BitsPerFlag !=nil {_eeefdg .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_bedef .BitsPerFlag );};if _bedef .Decode !=nil {_eeefdg .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_bedef .Decode );};if _bedef .Function !=nil {if len (_bedef .Function )==1{_eeefdg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_bedef .Function [0].ToPdfObject ());}else {_dggga :=_aef .MakeArray ();for _ ,_ecfae :=range _bedef .Function {_dggga .Append (_ecfae .ToPdfObject ());};_eeefdg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dggga );};};return _bedef ._bbga ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccae *PdfAnnotationInk )ToPdfObject ()_aef .PdfObject {_ccae .PdfAnnotation .ToPdfObject ();_aafd :=_ccae ._edc ;_gbgg :=_aafd .PdfObject .(*_aef .PdfObjectDictionary );_ccae .PdfAnnotationMarkup .appendToPdfDictionary (_gbgg );_gbgg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0049\u006e\u006b"));_gbgg .SetIfNotNil ("\u0049n\u006b\u004c\u0069\u0073\u0074",_ccae .InkList );_gbgg .SetIfNotNil ("\u0042\u0053",_ccae .BS );return _aafd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggea *PdfActionResetForm )ToPdfObject ()_aef .PdfObject {_ggea .PdfAction .ToPdfObject ();_cgf :=_ggea ._gc ;_bcb :=_cgf .PdfObject .(*_aef .PdfObjectDictionary );_bcb .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeResetForm )));_bcb .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_ggea .Fields );_bcb .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_ggea .Flags );return _cgf ;};func (_fgfb *Image )resampleLowBits (_edfec []uint32 ){_bbdc :=_gb .BytesPerLine (int (_fgfb .Width ),int (_fgfb .BitsPerComponent ),_fgfb .ColorComponents );_eeff :=make ([]byte ,_fgfb .ColorComponents *_bbdc *int (_fgfb .Height ));_dcdf :=int (_fgfb .BitsPerComponent )*_fgfb .ColorComponents *int (_fgfb .Width );_fdeb :=uint8 (8);var (_cbac ,_fbfb int ;_badba uint32 ;);for _effga :=0;_effga < int (_fgfb .Height );_effga ++{_fbfb =_effga *_bbdc ;for _febge :=0;_febge < _dcdf ;_febge ++{_badba =_edfec [_cbac ];_fdeb -=uint8 (_fgfb .BitsPerComponent );_eeff [_fbfb ]|=byte (_badba )<<_fdeb ;if _fdeb ==0{_fdeb =8;_fbfb ++;};_cbac ++;};};_fgfb .Data =_eeff ;};
|
||
|
||
// NewImageFromGoImage creates a new NRGBA32 unidoc Image from a golang Image.
|
||
// If `goimg` is grayscale (*goimage.Gray8) then calls NewGrayImageFromGoImage instead.
|
||
func (_dceaa DefaultImageHandler )NewImageFromGoImage (goimg _ae .Image )(*Image ,error ){_bbaeb ,_fcgb :=_gb .FromGoImage (goimg );if _fcgb !=nil {return nil ,_fcgb ;};_dfdff :=_cbgdcg (_bbaeb .Base ());return &_dfdff ,nil ;};
|
||
|
||
// AlphaMap performs mapping of alpha data for transformations. Allows custom filtering of alpha data etc.
|
||
func (_fbdgg *Image )AlphaMap (mapFunc AlphaMapFunc ){for _ddfbg ,_dceee :=range _fbdgg ._afge {_fbdgg ._afge [_ddfbg ]=mapFunc (_dceee );};};func (_bdgbf *PdfWriter )copyObjects (){_aaegbe :=make (map[_aef .PdfObject ]_aef .PdfObject );_badc :=make ([]_aef .PdfObject ,0,len (_bdgbf ._aage ));_cabe :=make (map[_aef .PdfObject ]struct{},len (_bdgbf ._aage ));_cgbge :=make (map[_aef .PdfObject ]struct{});for _ ,_cadge :=range _bdgbf ._aage {_aacge :=_bdgbf .copyObject (_cadge ,_aaegbe ,_cgbge ,false );if _ ,_fegcc :=_cgbge [_cadge ];_fegcc {continue ;};_badc =append (_badc ,_aacge );_cabe [_aacge ]=struct{}{};};_bdgbf ._aage =_badc ;_bdgbf ._cafea =_cabe ;_bdgbf ._caefd =_bdgbf .copyObject (_bdgbf ._caefd ,_aaegbe ,nil ,false ).(*_aef .PdfIndirectObject );_bdgbf ._bdbdfg =_bdgbf .copyObject (_bdgbf ._bdbdfg ,_aaegbe ,nil ,false ).(*_aef .PdfIndirectObject );if _bdgbf ._eebbg !=nil {_bdgbf ._eebbg =_bdgbf .copyObject (_bdgbf ._eebbg ,_aaegbe ,nil ,false ).(*_aef .PdfIndirectObject );};if _bdgbf ._bcdd {_deebg :=make (map[_aef .PdfObject ]int64 );for _dgfed ,_caeffa :=range _bdgbf ._bfeac {if _geaf ,_afgef :=_aaegbe [_dgfed ];_afgef {_deebg [_geaf ]=_caeffa ;}else {_abe .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");};};_bdgbf ._bfeac =_deebg ;};};
|
||
|
||
// PageFromIndirectObject returns the PdfPage and page number for a given indirect object.
|
||
func (_gbbba *PdfReader )PageFromIndirectObject (ind *_aef .PdfIndirectObject )(*PdfPage ,int ,error ){if len (_gbbba .PageList )!=len (_gbbba ._dbdgb ){return nil ,0,_fa .New ("\u0070\u0061\u0067\u0065\u0020\u006c\u0069\u0073\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};for _cgec ,_gbfb :=range _gbbba ._dbdgb {if _gbfb ==ind {return _gbbba .PageList [_cgec ],_cgec +1,nil ;};};return nil ,0,_fa .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};func _cbbfg (_gbaag _aef .PdfObject )[]*_aef .PdfObjectStream {if _gbaag ==nil {return nil ;};_edgg ,_cbdag :=_aef .GetArray (_gbaag );if !_cbdag ||_edgg .Len ()==0{return nil ;};_cdab :=make ([]*_aef .PdfObjectStream ,0,_edgg .Len ());for _ ,_facfg :=range _edgg .Elements (){if _eadbcf ,_faabb :=_aef .GetStream (_facfg );_faabb {_cdab =append (_cdab ,_eadbcf );};};return _cdab ;};
|
||
|
||
// AddPage adds a page to the PDF file. The new page should be an indirect object.
|
||
func (_aggaf *PdfWriter )AddPage (page *PdfPage )error {_bedgc (page );_bdffc :=page .ToPdfObject ();_abe .Log .Trace ("\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d");_abe .Log .Trace ("\u0041p\u0070\u0065\u006e\u0064i\u006e\u0067\u0020\u0074\u006f \u0070a\u0067e\u0020\u006c\u0069\u0073\u0074\u0020\u0025T",_bdffc );_ceeg ,_bbbd :=_aef .GetIndirect (_bdffc );if !_bbbd {return _fa .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");};_abe .Log .Trace ("\u0025\u0073",_ceeg );_abe .Log .Trace ("\u0025\u0073",_ceeg .PdfObject );_ddgfg ,_bbbd :=_aef .GetDict (_ceeg .PdfObject );if !_bbbd {return _fa .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");};_adbbd ,_bbbd :=_aef .GetName (_ddgfg .Get ("\u0054\u0079\u0070\u0065"));if !_bbbd {return _b .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",_ddgfg .Get ("\u0054\u0079\u0070\u0065"));};if _adbbd .String ()!="\u0050\u0061\u0067\u0065"{return _fa .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");};_cdcf :=[]_aef .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"};_dfbfb ,_eafae :=_aef .GetIndirect (_ddgfg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_abe .Log .Trace ("P\u0061g\u0065\u0020\u0050\u0061\u0072\u0065\u006e\u0074:\u0020\u0025\u0054\u0020(%\u0076\u0029",_ddgfg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"),_eafae );for _eafae {_abe .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_dfbfb );_eegea ,_fcccg :=_aef .GetDict (_dfbfb .PdfObject );if !_fcccg {return _fa .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_ebgaea :=range _cdcf {_abe .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_ebgaea );if _ddgfg .Get (_ebgaea )!=nil {_abe .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _bdda :=_eegea .Get (_ebgaea );_bdda !=nil {_abe .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_ebgaea );_ddgfg .Set (_ebgaea ,_bdda );};};_dfbfb ,_eafae =_aef .GetIndirect (_eegea .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_abe .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_eegea .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_abe .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c \u0064\u006f\u006e\u0065");_ddgfg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_aggaf ._gacae );_ceeg .PdfObject =_ddgfg ;_gabab ,_bbbd :=_aef .GetDict (_aggaf ._gacae .PdfObject );if !_bbbd {return _fa .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");};_deaeg ,_bbbd :=_aef .GetArray (_gabab .Get ("\u004b\u0069\u0064\u0073"));if !_bbbd {return _fa .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");};_deaeg .Append (_ceeg );_aggaf ._cggg [_ddgfg ]=struct{}{};_eagb ,_bbbd :=_aef .GetInt (_gabab .Get ("\u0043\u006f\u0075n\u0074"));if !_bbbd {return _fa .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");};*_eagb =*_eagb +1;_aggaf .addObject (_ceeg );_ageg :=_aggaf .addObjects (_ddgfg );if _ageg !=nil {return _ageg ;};return nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for Lab).
|
||
func (_dfga *PdfColorLab )GetNumComponents ()int {return 3};func _aaac (_acdff string )(map[_be .CharCode ]_be .GlyphName ,error ){_cfdd :=_dg .Split (_acdff ,"\u000a");_ddbbe :=make (map[_be .CharCode ]_be .GlyphName );for _ ,_cfcf :=range _cfdd {_aggad :=_aaggb .FindStringSubmatch (_cfcf );if _aggad ==nil {continue ;};_gceea ,_dddd :=_aggad [1],_aggad [2];_gbad ,_gfec :=_f .Atoi (_gceea );if _gfec !=nil {_abe .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",_cfcf );return nil ,_aef .ErrTypeError ;};_ddbbe [_be .CharCode (_gbad )]=_be .GlyphName (_dddd );};_abe .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",_ddbbe );return _ddbbe ,nil ;};
|
||
|
||
// String returns a string representation of the field.
|
||
func (_abdea *PdfField )String ()string {if _deda ,_adec :=_abdea .ToPdfObject ().(*_aef .PdfIndirectObject );_adec {return _b .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_abdea ._aafba ,_deda .PdfObject .String ());};return "";};func (_fcac *PdfReader )newPdfSignatureFromIndirect (_addea *_aef .PdfIndirectObject )(*PdfSignature ,error ){_egca ,_egdee :=_addea .PdfObject .(*_aef .PdfObjectDictionary );if !_egdee {_abe .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 _acbce ,_edcce :=_fcac ._fggbd .GetModelFromPrimitive (_addea ).(*PdfSignature );_edcce {return _acbce ,nil ;};_fegae :=&PdfSignature {};_fegae ._cfcff =_addea ;_fegae .Type ,_ =_aef .GetName (_egca .Get ("\u0054\u0079\u0070\u0065"));_fegae .Filter ,_egdee =_aef .GetName (_egca .Get ("\u0046\u0069\u006c\u0074\u0065\u0072"));if !_egdee {_abe .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 ;};_fegae .SubFilter ,_ =_aef .GetName (_egca .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r"));_fegae .Contents ,_egdee =_aef .GetString (_egca .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073"));if !_egdee {_abe .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 ;};_fegae .Cert =_egca .Get ("\u0043\u0065\u0072\u0074");_fegae .ByteRange ,_ =_aef .GetArray (_egca .Get ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e"));_fegae .Reference ,_ =_aef .GetArray (_egca .Get ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e"));_fegae .Changes ,_ =_aef .GetArray (_egca .Get ("\u0043h\u0061\u006e\u0067\u0065\u0073"));_fegae .Name ,_ =_aef .GetString (_egca .Get ("\u004e\u0061\u006d\u0065"));_fegae .M ,_ =_aef .GetString (_egca .Get ("\u004d"));_fegae .Location ,_ =_aef .GetString (_egca .Get ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"));_fegae .Reason ,_ =_aef .GetString (_egca .Get ("\u0052\u0065\u0061\u0073\u006f\u006e"));_fegae .ContactInfo ,_ =_aef .GetString (_egca .Get ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f"));_fegae .R ,_ =_aef .GetInt (_egca .Get ("\u0052"));_fegae .V ,_ =_aef .GetInt (_egca .Get ("\u0056"));_fegae .PropBuild ,_ =_aef .GetDict (_egca .Get ("\u0050\u0072\u006f\u0070\u005f\u0042\u0075\u0069\u006c\u0064"));_fegae .PropAuthTime ,_ =_aef .GetInt (_egca .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0069\u006d\u0065"));_fegae .PropAuthType ,_ =_aef .GetName (_egca .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0079\u0070\u0065"));return _fegae ,nil ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_bbdbc *XObjectForm )ToPdfObject ()_aef .PdfObject {_bdbbf :=_bbdbc ._ebdad ;_ccbf :=_bdbbf .PdfObjectDictionary ;if _bbdbc .Filter !=nil {_ccbf =_bbdbc .Filter .MakeStreamDict ();_bdbbf .PdfObjectDictionary =_ccbf ;};_ccbf .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_ccbf .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_aef .MakeName ("\u0046\u006f\u0072\u006d"));_ccbf .SetIfNotNil ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065",_bbdbc .FormType );_ccbf .SetIfNotNil ("\u0042\u0042\u006f\u0078",_bbdbc .BBox );_ccbf .SetIfNotNil ("\u004d\u0061\u0074\u0072\u0069\u0078",_bbdbc .Matrix );if _bbdbc .Resources !=nil {_ccbf .SetIfNotNil ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_bbdbc .Resources .ToPdfObject ());};_ccbf .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_bbdbc .Group );_ccbf .SetIfNotNil ("\u0052\u0065\u0066",_bbdbc .Ref );_ccbf .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061",_bbdbc .MetaData );_ccbf .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_bbdbc .PieceInfo );_ccbf .SetIfNotNil ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_bbdbc .LastModified );_ccbf .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_bbdbc .StructParent );_ccbf .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_bbdbc .StructParents );_ccbf .SetIfNotNil ("\u004f\u0050\u0049",_bbdbc .OPI );_ccbf .SetIfNotNil ("\u004f\u0043",_bbdbc .OC );_ccbf .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bbdbc .Name );_ccbf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_aef .MakeInteger (int64 (len (_bbdbc .Stream ))));_bdbbf .Stream =_bbdbc .Stream ;return _bdbbf ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for RGB).
|
||
func (_gfcg *PdfColorDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// AddOutlineTree adds outlines to a PDF file.
|
||
func (_gacff *PdfWriter )AddOutlineTree (outlineTree *PdfOutlineTreeNode ){_gacff ._aabdg =outlineTree };
|
||
|
||
// SetShadingByName sets a shading resource specified by keyName.
|
||
func (_aabcf *PdfPageResources )SetShadingByName (keyName _aef .PdfObjectName ,shadingObj _aef .PdfObject )error {if _aabcf .Shading ==nil {_aabcf .Shading =_aef .MakeDict ();};_ecbea ,_gceba :=_aabcf .Shading .(*_aef .PdfObjectDictionary );if !_gceba {return _aef .ErrTypeError ;};_ecbea .Set (keyName ,shadingObj );return nil ;};func _cggaf (_gbfe *_aef .PdfIndirectObject )(*PdfOutline ,error ){_ceee ,_ddeca :=_gbfe .PdfObject .(*_aef .PdfObjectDictionary );if !_ddeca {return nil ,_b .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");};_cddc :=NewPdfOutline ();if _afegf :=_ceee .Get ("\u0054\u0079\u0070\u0065");_afegf !=nil {_bdabg ,_cbgeb :=_afegf .(*_aef .PdfObjectName );if _cbgeb {if *_bdabg !="\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"{_abe .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",*_bdabg );};};};if _adfac :=_ceee .Get ("\u0043\u006f\u0075n\u0074");_adfac !=nil {_ebac ,_dagg :=_aef .GetNumberAsInt64 (_adfac );if _dagg !=nil {return nil ,_dagg ;};_cddc .Count =&_ebac ;};return _cddc ,nil ;};
|
||
|
||
// NewXObjectFormFromStream builds the Form XObject from a stream object.
|
||
// TODO: Should this be exposed? Consider different access points.
|
||
func NewXObjectFormFromStream (stream *_aef .PdfObjectStream )(*XObjectForm ,error ){_degc :=&XObjectForm {};_degc ._ebdad =stream ;_dbbbc :=*(stream .PdfObjectDictionary );_gedc ,_gaeb :=_aef .NewEncoderFromStream (stream );if _gaeb !=nil {return nil ,_gaeb ;};_degc .Filter =_gedc ;if _ccgg :=_dbbbc .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_ccgg !=nil {_gggcg ,_cbagfa :=_ccgg .(*_aef .PdfObjectName );if !_cbagfa {return nil ,_fa .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if *_gggcg !="\u0046\u006f\u0072\u006d"{_abe .Log .Debug ("I\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");return nil ,_fa .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");};};if _gfcaff :=_dbbbc .Get ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065");_gfcaff !=nil {_degc .FormType =_gfcaff ;};if _faeac :=_dbbbc .Get ("\u0042\u0042\u006f\u0078");_faeac !=nil {_degc .BBox =_faeac ;};if _bafa :=_dbbbc .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_bafa !=nil {_degc .Matrix =_bafa ;};if _dcbfe :=_dbbbc .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_dcbfe !=nil {_dcbfe =_aef .TraceToDirectObject (_dcbfe );_ffdgc ,_bfaee :=_dcbfe .(*_aef .PdfObjectDictionary );if !_bfaee {_abe .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 ,_aef .ErrTypeError ;};_cdddg ,_abcfef :=NewPdfPageResourcesFromDict (_ffdgc );if _abcfef !=nil {_abe .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 ,_abcfef ;};_degc .Resources =_cdddg ;_abe .Log .Trace ("\u0046\u006f\u0072\u006d r\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u003a\u0020\u0025\u0023\u0076",_degc .Resources );};_degc .Group =_dbbbc .Get ("\u0047\u0072\u006fu\u0070");_degc .Ref =_dbbbc .Get ("\u0052\u0065\u0066");_degc .MetaData =_dbbbc .Get ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061");_degc .PieceInfo =_dbbbc .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_degc .LastModified =_dbbbc .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_degc .StructParent =_dbbbc .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_degc .StructParents =_dbbbc .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_degc .OPI =_dbbbc .Get ("\u004f\u0050\u0049");_degc .OC =_dbbbc .Get ("\u004f\u0043");_degc .Name =_dbbbc .Get ("\u004e\u0061\u006d\u0065");_degc .Stream =stream .Stream ;return _degc ,nil ;};
|
||
|
||
// ToPdfObject converts the PdfFont object to its PDF representation.
|
||
func (_cbbf *PdfFont )ToPdfObject ()_aef .PdfObject {if _cbbf ._dccga ==nil {_abe .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 _aef .MakeNull ();};return _cbbf ._dccga .ToPdfObject ();};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fe *PdfActionGoToE )ToPdfObject ()_aef .PdfObject {_fe .PdfAction .ToPdfObject ();_agf :=_fe ._gc ;_bedb :=_agf .PdfObject .(*_aef .PdfObjectDictionary );_bedb .SetIfNotNil ("\u0053",_aef .MakeName (string (ActionTypeGoToE )));if _fe .F !=nil {_bedb .Set ("\u0046",_fe .F .ToPdfObject ());};_bedb .SetIfNotNil ("\u0044",_fe .D );_bedb .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_fe .NewWindow );_bedb .SetIfNotNil ("\u0054",_fe .T );return _agf ;};
|
||
|
||
// UpdateXObjectImageFromImage creates a new XObject Image from an
|
||
// Image object `img` and default masks from xobjIn.
|
||
// The default masks are overridden if img.hasAlpha
|
||
// If `encoder` is nil, uses raw encoding (none).
|
||
func UpdateXObjectImageFromImage (xobjIn *XObjectImage ,img *Image ,cs PdfColorspace ,encoder _aef .StreamEncoder )(*XObjectImage ,error ){if encoder ==nil {encoder =_aef .NewRawEncoder ();};encoder .UpdateParams (img .GetParamsDict ());_afaff ,_edgbb :=encoder .EncodeBytes (img .Data );if _edgbb !=nil {_abe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_edgbb );return nil ,_edgbb ;};_bfbaa :=NewXObjectImage ();_eegbe :=img .Width ;_ecdba :=img .Height ;_bfbaa .Width =&_eegbe ;_bfbaa .Height =&_ecdba ;_bcdcb :=img .BitsPerComponent ;_bfbaa .BitsPerComponent =&_bcdcb ;_bfbaa .Filter =encoder ;_bfbaa .Stream =_afaff ;if cs ==nil {if img .ColorComponents ==1{_bfbaa .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_bfbaa .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_bfbaa .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return nil ,_fa .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_bfbaa .ColorSpace =cs ;};if len (img ._afge )!=0{_gdefd :=NewXObjectImage ();_gdefd .Filter =encoder ;_ebcgg ,_cedb :=encoder .EncodeBytes (img ._afge );if _cedb !=nil {_abe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_cedb );return nil ,_cedb ;};_gdefd .Stream =_ebcgg ;_gdefd .BitsPerComponent =_bfbaa .BitsPerComponent ;_gdefd .Width =&img .Width ;_gdefd .Height =&img .Height ;_gdefd .ColorSpace =NewPdfColorspaceDeviceGray ();_bfbaa .SMask =_gdefd .ToPdfObject ();}else {_bfbaa .SMask =xobjIn .SMask ;_bfbaa .ImageMask =xobjIn .ImageMask ;if _bfbaa .ColorSpace .GetNumComponents ()==1{_geefb (_bfbaa );};};return _bfbaa ,nil ;};
|
||
|
||
// NewPdfActionGoToE returns a new "go to embedded" action.
|
||
func NewPdfActionGoToE ()*PdfActionGoToE {_afb :=NewPdfAction ();_gge :=&PdfActionGoToE {};_gge .PdfAction =_afb ;_afb .SetContext (_gge );return _gge ;};func (_gdgec *Image )samplesTrimPadding (_ageee []uint32 )[]uint32 {_gbaef :=_gdgec .ColorComponents *int (_gdgec .Width )*int (_gdgec .Height );if len (_ageee )==_gbaef {return _ageee ;};_gbge :=make ([]uint32 ,_gbaef );_bbec :=int (_gdgec .Width )*_gdgec .ColorComponents ;var _fecd ,_gdfga ,_caaee ,_gecb int ;_gdbcg :=_gb .BytesPerLine (int (_gdgec .Width ),int (_gdgec .BitsPerComponent ),_gdgec .ColorComponents );for _fecd =0;_fecd < int (_gdgec .Height );_fecd ++{_gdfga =_fecd *int (_gdgec .Width );_caaee =_fecd *_gdbcg ;for _gecb =0;_gecb < _bbec ;_gecb ++{_gbge [_gdfga +_gecb ]=_ageee [_caaee +_gecb ];};};return _gbge ;};
|
||
|
||
// G returns the value of the green component of the color.
|
||
func (_egdg *PdfColorDeviceRGB )G ()float64 {return _egdg [1]};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_aed *PdfAction )GetContainingPdfObject ()_aef .PdfObject {return _aed ._gc };
|
||
|
||
// NewPdfPageResourcesFromDict creates and returns a new PdfPageResources object
|
||
// from the input dictionary.
|
||
func NewPdfPageResourcesFromDict (dict *_aef .PdfObjectDictionary )(*PdfPageResources ,error ){_gcca :=NewPdfPageResources ();if _ecdcf :=dict .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_ecdcf !=nil {_gcca .ExtGState =_ecdcf ;};if _cedefg :=dict .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");_cedefg !=nil &&!_aef .IsNullObject (_cedefg ){_gcca .ColorSpace =_cedefg ;};if _gbace :=dict .Get ("\u0050a\u0074\u0074\u0065\u0072\u006e");_gbace !=nil {_gcca .Pattern =_gbace ;};if _geaae :=dict .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");_geaae !=nil {_gcca .Shading =_geaae ;};if _cdgeb :=dict .Get ("\u0058O\u0062\u006a\u0065\u0063\u0074");_cdgeb !=nil {_gcca .XObject =_cdgeb ;};if _aecac :=_aef .ResolveReference (dict .Get ("\u0046\u006f\u006e\u0074"));_aecac !=nil {_gcca .Font =_aecac ;};if _acdd :=dict .Get ("\u0050r\u006f\u0063\u0053\u0065\u0074");_acdd !=nil {_gcca .ProcSet =_acdd ;};if _gcfgd :=dict .Get ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_gcfgd !=nil {_gcca .Properties =_gcfgd ;};return _gcca ,nil ;};
|
||
|
||
// IsPush returns true if the button field represents a push button, false otherwise.
|
||
func (_dfde *PdfFieldButton )IsPush ()bool {return _dfde .GetType ()==ButtonTypePush };func (_egb *PdfReader )newPdfAnnotationRedactFromDict (_aabc *_aef .PdfObjectDictionary )(*PdfAnnotationRedact ,error ){_gfa :=PdfAnnotationRedact {};_addcg ,_edfc :=_egb .newPdfAnnotationMarkupFromDict (_aabc );if _edfc !=nil {return nil ,_edfc ;};_gfa .PdfAnnotationMarkup =_addcg ;_gfa .QuadPoints =_aabc .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_gfa .IC =_aabc .Get ("\u0049\u0043");_gfa .RO =_aabc .Get ("\u0052\u004f");_gfa .OverlayText =_aabc .Get ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074");_gfa .Repeat =_aabc .Get ("\u0052\u0065\u0070\u0065\u0061\u0074");_gfa .DA =_aabc .Get ("\u0044\u0041");_gfa .Q =_aabc .Get ("\u0051");return &_gfa ,nil ;};func (_afd *PdfReader )newPdfAnnotationInkFromDict (_gbe *_aef .PdfObjectDictionary )(*PdfAnnotationInk ,error ){_cdbc :=PdfAnnotationInk {};_bae ,_bcgf :=_afd .newPdfAnnotationMarkupFromDict (_gbe );if _bcgf !=nil {return nil ,_bcgf ;};_cdbc .PdfAnnotationMarkup =_bae ;_cdbc .InkList =_gbe .Get ("\u0049n\u006b\u004c\u0069\u0073\u0074");_cdbc .BS =_gbe .Get ("\u0042\u0053");return &_cdbc ,nil ;};
|
||
|
||
// SetContext sets the sub action (context).
|
||
func (_gfd *PdfAction )SetContext (ctx PdfModel ){_gfd ._ecb =ctx };func (_fdff *PdfReader )newPdfAnnotationSoundFromDict (_bfcb *_aef .PdfObjectDictionary )(*PdfAnnotationSound ,error ){_ecfb :=PdfAnnotationSound {};_egfc ,_bdee :=_fdff .newPdfAnnotationMarkupFromDict (_bfcb );if _bdee !=nil {return nil ,_bdee ;};_ecfb .PdfAnnotationMarkup =_egfc ;_ecfb .Name =_bfcb .Get ("\u004e\u0061\u006d\u0065");_ecfb .Sound =_bfcb .Get ("\u0053\u006f\u0075n\u0064");return &_ecfb ,nil ;};
|
||
|
||
// NewPdfColorspaceSpecialSeparation returns a new separation color.
|
||
func NewPdfColorspaceSpecialSeparation ()*PdfColorspaceSpecialSeparation {_cbcg :=&PdfColorspaceSpecialSeparation {};return _cbcg ;};
|
||
|
||
// R returns the value of the red component of the color.
|
||
func (_edac *PdfColorDeviceRGB )R ()float64 {return _edac [0]};type fontFile struct{_gaed string ;_aacd string ;_dbadd _be .SimpleEncoder ;};
|
||
|
||
// Add appends an outline item as a child of the current outline item.
|
||
func (_ebfbg *OutlineItem )Add (item *OutlineItem ){_ebfbg .Entries =append (_ebfbg .Entries ,item )};
|
||
|
||
// PdfAnnotationScreen represents Screen annotations.
|
||
// (Section 12.5.6.18).
|
||
type PdfAnnotationScreen struct{*PdfAnnotation ;T _aef .PdfObject ;MK _aef .PdfObject ;A _aef .PdfObject ;AA _aef .PdfObject ;};func (_ddddc *PdfSignature )extractChainFromPKCS7 ()([]*_c .Certificate ,error ){_cdecd ,_dbbbb :=_adf .Parse (_ddddc .Contents .Bytes ());if _dbbbb !=nil {return nil ,_dbbbb ;};return _cdecd .Certificates ,nil ;};
|
||
|
||
// GetOptimizer returns current PDF optimizer.
|
||
func (_fadg *PdfWriter )GetOptimizer ()Optimizer {return _fadg ._ceag };
|
||
|
||
// GetContext returns the PdfField context which is the more specific field data type, e.g. PdfFieldButton
|
||
// for a button field.
|
||
func (_efcgf *PdfField )GetContext ()PdfModel {return _efcgf ._aafba };
|
||
|
||
// ToPdfObject returns the PDF representation of the outline tree node.
|
||
func (_acabd *PdfOutlineTreeNode )ToPdfObject ()_aef .PdfObject {return _acabd .GetContext ().ToPdfObject ();};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceRGB colorspace.
|
||
func (_deefg *PdfColorspaceDeviceRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};func (_fcgd *DSS )addOCSPs (_gbag [][]byte )([]*_aef .PdfObjectStream ,error ){return _fcgd .add (&_fcgd .OCSPs ,_fcgd ._beef ,_gbag );};var _gedfb =map[string ]struct{}{"\u0046\u0054":{},"\u004b\u0069\u0064\u0073":{},"\u0054":{},"\u0054\u0055":{},"\u0054\u004d":{},"\u0046\u0066":{},"\u0056":{},"\u0044\u0056":{},"\u0041\u0041":{},"\u0044\u0041":{},"\u0051":{},"\u0044\u0053":{},"\u0052\u0056":{}};var _afaa =_af .MustCompile ("\u005b\\\u006e\u005c\u0072\u005d\u002b");func _dbef ()string {_ggcf :="\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 _ceef _cg .Buffer ;for _cgeg :=0;_cgeg < 6;_cgeg ++{_ceef .WriteRune (rune (_ggcf [_ebe .Intn (len (_ggcf ))]));};return _ceef .String ();};
|
||
|
||
// AddAnnotation appends `annot` to the list of page annotations.
|
||
func (_abcdf *PdfPage )AddAnnotation (annot *PdfAnnotation ){if _abcdf ._bcgfd ==nil {_abcdf .GetAnnotations ();};_abcdf ._bcgfd =append (_abcdf ._bcgfd ,annot );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dgd *PdfAction )ToPdfObject ()_aef .PdfObject {_ggf :=_dgd ._gc ;_aea :=_ggf .PdfObject .(*_aef .PdfObjectDictionary );_aea .Clear ();_aea .Set ("\u0054\u0079\u0070\u0065",_aef .MakeName ("\u0041\u0063\u0074\u0069\u006f\u006e"));_aea .SetIfNotNil ("\u0053",_dgd .S );_aea .SetIfNotNil ("\u004e\u0065\u0078\u0074",_dgd .Next );return _ggf ;};
|
||
|
||
// NewPdfActionNamed returns a new "named" action.
|
||
func NewPdfActionNamed ()*PdfActionNamed {_bed :=NewPdfAction ();_faf :=&PdfActionNamed {};_faf .PdfAction =_bed ;_bed .SetContext (_faf );return _faf ;};func (_febfda *PdfColorspaceSpecialPattern )String ()string {return "\u0050a\u0074\u0074\u0065\u0072\u006e";};func (_abaf *DSS )addCerts (_aecaf [][]byte )([]*_aef .PdfObjectStream ,error ){return _abaf .add (&_abaf .Certs ,_abaf ._ccagd ,_aecaf );};func (_aede *PdfReader )newPdfPageFromDict (_egeec *_aef .PdfObjectDictionary )(*PdfPage ,error ){_befad :=NewPdfPage ();_befad ._cbefa =_egeec ;_agdbg :=*_egeec ;_gacd ,_fgae :=_agdbg .Get ("\u0054\u0079\u0070\u0065").(*_aef .PdfObjectName );if !_fgae {return nil ,_fa .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 *_gacd !="\u0050\u0061\u0067\u0065"{return nil ,_fa .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 _ebceg :=_agdbg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_ebceg !=nil {_befad .Parent =_ebceg ;};if _egaba :=_agdbg .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_egaba !=nil {_dcgga ,_bbbeec :=_aef .GetString (_egaba );if !_bbbeec {return nil ,_fa .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");};_ecged ,_ffaef :=NewPdfDate (_dcgga .Str ());if _ffaef !=nil {return nil ,_ffaef ;};_befad .LastModified =&_ecged ;};if _dcfd :=_agdbg .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_dcfd !=nil &&!_aef .IsNullObject (_dcfd ){_abcge ,_fabfb :=_aef .GetDict (_dcfd );if !_fabfb {return nil ,_b .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",_dcfd );};var _abeee error ;_befad .Resources ,_abeee =NewPdfPageResourcesFromDict (_abcge );if _abeee !=nil {return nil ,_abeee ;};}else {_cead ,_eecee :=_befad .getParentResources ();if _eecee !=nil {return nil ,_eecee ;};if _cead ==nil {_cead =NewPdfPageResources ();};_befad .Resources =_cead ;};if _afaaa :=_agdbg .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_afaaa !=nil {_dedb ,_gfbcb :=_aef .GetArray (_afaaa );if !_gfbcb {return nil ,_fa .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 _geeeg error ;_befad .MediaBox ,_geeeg =NewPdfRectangle (*_dedb );if _geeeg !=nil {return nil ,_geeeg ;};};if _gfdg :=_agdbg .Get ("\u0043r\u006f\u0070\u0042\u006f\u0078");_gfdg !=nil {_edbad ,_geaa :=_aef .GetArray (_gfdg );if !_geaa {return nil ,_fa .New ("\u0070a\u0067\u0065\u0020\u0043r\u006f\u0070\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _cdaf error ;_befad .CropBox ,_cdaf =NewPdfRectangle (*_edbad );if _cdaf !=nil {return nil ,_cdaf ;};};if _eaff :=_agdbg .Get ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078");_eaff !=nil {_cbcga ,_fgff :=_aef .GetArray (_eaff );if !_fgff {return nil ,_fa .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 _efagb error ;_befad .BleedBox ,_efagb =NewPdfRectangle (*_cbcga );if _efagb !=nil {return nil ,_efagb ;};};if _dfaad :=_agdbg .Get ("\u0054r\u0069\u006d\u0042\u006f\u0078");_dfaad !=nil {_ddabe ,_bgfef :=_aef .GetArray (_dfaad );if !_bgfef {return nil ,_fa .New ("\u0070a\u0067\u0065\u0020\u0054r\u0069\u006d\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _defec error ;_befad .TrimBox ,_defec =NewPdfRectangle (*_ddabe );if _defec !=nil {return nil ,_defec ;};};if _fdbcd :=_agdbg .Get ("\u0041\u0072\u0074\u0042\u006f\u0078");_fdbcd !=nil {_fgfba ,_becaf :=_aef .GetArray (_fdbcd );if !_becaf {return nil ,_fa .New ("\u0070a\u0067\u0065\u0020\u0041\u0072\u0074\u0042\u006f\u0078\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _bfecdg error ;_befad .ArtBox ,_bfecdg =NewPdfRectangle (*_fgfba );if _bfecdg !=nil {return nil ,_bfecdg ;};};if _aagd :=_agdbg .Get ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f");_aagd !=nil {_befad .BoxColorInfo =_aagd ;};if _ffdb :=_agdbg .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_ffdb !=nil {_befad .Contents =_ffdb ;};if _fbdbcd :=_agdbg .Get ("\u0052\u006f\u0074\u0061\u0074\u0065");_fbdbcd !=nil {_cdfdb ,_abgeg :=_aef .GetInt (_fbdbcd );if !_abgeg {return nil ,_fa .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");};_addf :=int64 (*_cdfdb );_befad .Rotate =&_addf ;};if _gaefd :=_agdbg .Get ("\u0047\u0072\u006fu\u0070");_gaefd !=nil {_befad .Group =_gaefd ;};if _edgc :=_agdbg .Get ("\u0054\u0068\u0075m\u0062");_edgc !=nil {_befad .Thumb =_edgc ;};if _aaccc :=_agdbg .Get ("\u0042");_aaccc !=nil {_befad .B =_aaccc ;};if _cecg :=_agdbg .Get ("\u0044\u0075\u0072");_cecg !=nil {_befad .Dur =_cecg ;};if _aecg :=_agdbg .Get ("\u0054\u0072\u0061n\u0073");_aecg !=nil {_befad .Trans =_aecg ;};if _fdfe :=_agdbg .Get ("\u0041\u0041");_fdfe !=nil {_befad .AA =_fdfe ;};if _caeb :=_agdbg .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_caeb !=nil {_befad .Metadata =_caeb ;};if _cged :=_agdbg .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_cged !=nil {_befad .PieceInfo =_cged ;};if _dggcg :=_agdbg .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_dggcg !=nil {_befad .StructParents =_dggcg ;};if _eaeab :=_agdbg .Get ("\u0049\u0044");_eaeab !=nil {_befad .ID =_eaeab ;};if _bddeg :=_agdbg .Get ("\u0050\u005a");_bddeg !=nil {_befad .PZ =_bddeg ;};if _cdga :=_agdbg .Get ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f");_cdga !=nil {_befad .SeparationInfo =_cdga ;};if _decg :=_agdbg .Get ("\u0054\u0061\u0062\u0073");_decg !=nil {_befad .Tabs =_decg ;};if _adcc :=_agdbg .Get ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064");_adcc !=nil {_befad .TemplateInstantiated =_adcc ;};if _ffgb :=_agdbg .Get ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s");_ffgb !=nil {_befad .PresSteps =_ffgb ;};if _dcdfe :=_agdbg .Get ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074");_dcdfe !=nil {_befad .UserUnit =_dcdfe ;};if _cdece :=_agdbg .Get ("\u0056\u0050");_cdece !=nil {_befad .VP =_cdece ;};if _bcca :=_agdbg .Get ("\u0041\u006e\u006e\u006f\u0074\u0073");_bcca !=nil {_befad .Annots =_bcca ;};_befad ._aggeb =_aede ;return _befad ,nil ;};
|
||
|
||
// FieldAppearanceGenerator generates appearance stream for a given field.
|
||
type FieldAppearanceGenerator interface{ContentStreamWrapper ;GenerateAppearanceDict (_dcfef *PdfAcroForm ,_abfe *PdfField ,_ecbd *PdfAnnotationWidget )(*_aef .PdfObjectDictionary ,error );};func _bffeb (_bbde *_aef .PdfObjectDictionary )bool {for _ ,_befgb :=range _bbde .Keys (){if _ ,_ebfa :=_gedfb [_befgb .String ()];_ebfa {return true ;};};return false ;};
|
||
|
||
// GetAllContentStreams gets all the content streams for a page as one string.
|
||
func (_beega *PdfPage )GetAllContentStreams ()(string ,error ){_aeef ,_cddd :=_beega .GetContentStreams ();if _cddd !=nil {return "",_cddd ;};return _dg .Join (_aeef ,"\u0020"),nil ;};
|
||
|
||
// NewPdfAnnotationRichMedia returns a new rich media annotation.
|
||
func NewPdfAnnotationRichMedia ()*PdfAnnotationRichMedia {_abdc :=NewPdfAnnotation ();_ggbd :=&PdfAnnotationRichMedia {};_ggbd .PdfAnnotation =_abdc ;_abdc .SetContext (_ggbd );return _ggbd ;};
|
||
|
||
// GetNamedDestinations returns the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_cbbec *PdfReader )GetNamedDestinations ()(_aef .PdfObject ,error ){_deadc :=_aef .ResolveReference (_cbbec ._acae .Get ("\u004e\u0061\u006de\u0073"));if _deadc ==nil {return nil ,nil ;};if !_cbbec ._afae {_geded :=_cbbec .traverseObjectData (_deadc );if _geded !=nil {return nil ,_geded ;};};return _deadc ,nil ;};
|
||
|
||
// NewPdfAnnotationRedact returns a new redact annotation.
|
||
func NewPdfAnnotationRedact ()*PdfAnnotationRedact {_cdf :=NewPdfAnnotation ();_cad :=&PdfAnnotationRedact {};_cad .PdfAnnotation =_cdf ;_cad .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cdf .SetContext (_cad );return _cad ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_dfaf *PdfColorLab )ToInteger (bits int )[3]uint32 {_fdfb :=_ad .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_fdfb *_dfaf .L ()),uint32 (_fdfb *_dfaf .A ()),uint32 (_fdfb *_dfaf .B ())};};
|
||
|
||
// 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 (_efdg *PdfFont )CharcodesToStrings (charcodes []_be .CharCode )([]string ,int ,int ){_fcdf :=_efdg .baseFields ();_ffcg :=make ([]string ,0,len (charcodes ));_gcbbc :=0;for _ ,_gecf :=range charcodes {if _fcdf ._ecefd !=nil {if _efga ,_dbcd :=_fcdf ._ecefd .CharcodeToUnicode (_gg .CharCode (_gecf ));_dbcd {_ffcg =append (_ffcg ,_efga );continue ;};};_bcccd :=_efdg .Encoder ();if _bcccd !=nil {if _acbd ,_aaabc :=_bcccd .CharcodeToRune (_gecf );_aaabc {_ffcg =append (_ffcg ,string (_acbd ));continue ;};};_abe .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",_gecf ,charcodes ,_fcdf .isCIDFont (),_efdg ,_bcccd );_gcbbc ++;_ffcg =append (_ffcg ,_gg .MissingCodeString );};if _gcbbc !=0{_abe .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 ),_gcbbc ,_efdg );};return _ffcg ,len (_ffcg ),_gcbbc ;};
|
||
|
||
// GetPageLabels returns the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_dbaed *PdfReader )GetPageLabels ()(_aef .PdfObject ,error ){_feeb :=_aef .ResolveReference (_dbaed ._acae .Get ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073"));if _feeb ==nil {return nil ,nil ;};if !_dbaed ._afae {_aabdc :=_dbaed .traverseObjectData (_feeb );if _aabdc !=nil {return nil ,_aabdc ;};};return _feeb ,nil ;};
|
||
|
||
// SetAction sets the PDF action for the annotation link.
|
||
func (_fbca *PdfAnnotationLink )SetAction (action *PdfAction ){_fbca ._faec =action ;if action ==nil {_fbca .A =nil ;};};func (_cfg *PdfAnnotation )String ()string {_dbb :="";_dgdc ,_bdd :=_cfg .ToPdfObject ().(*_aef .PdfIndirectObject );if _bdd {_dbb =_b .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_cfg ._eab ,_dgdc .PdfObject .String ());};return _dbb ;};
|
||
|
||
// EncryptionAlgorithm is used in EncryptOptions to change the default algorithm used to encrypt the document.
|
||
type EncryptionAlgorithm int ;func (_ddgad fontCommon )coreString ()string {_eabgd :="";if _ddgad ._bgfd !=nil {_eabgd =_ddgad ._bgfd .String ();};return _b .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",_ddgad ._ababd ,_ddgad ._fegdg ,_ddgad ._cebc ,_ddgad ._adfb ,_ddgad ._ddcbd !=nil ,_ddgad .fontFlags (),_eabgd );};
|
||
|
||
// 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 ;
|
||
|
||
// PdfWriter handles outputing PDF content.
|
||
type PdfWriter struct{_bdbdfg *_aef .PdfIndirectObject ;_gacae *_aef .PdfIndirectObject ;_cggg map[_aef .PdfObject ]struct{};_aage []_aef .PdfObject ;_cafea map[_aef .PdfObject ]struct{};_fgada []*_aef .PdfIndirectObject ;_aabdg *PdfOutlineTreeNode ;_abebc *_aef .PdfObjectDictionary ;_bacacb []_aef .PdfObject ;_caefd *_aef .PdfIndirectObject ;_fcadd *_bc .Writer ;_dfdcd int64 ;_geac error ;_ecfag *_aef .PdfCrypt ;_ebeb *_aef .PdfObjectDictionary ;_eebbg *_aef .PdfIndirectObject ;_acddd *_aef .PdfObjectArray ;_cfebb int ;_gbcce int ;_ecfeg *bool ;_eabcf map[_aef .PdfObject ][]*_aef .PdfObjectDictionary ;_feabe *PdfAcroForm ;_ceag Optimizer ;_ffede map[int ]crossReference ;_ccdaf int64 ;ObjNumOffset int ;_bcdd bool ;_gdbde _aef .XrefTable ;_bbbefb int64 ;_bfagd int64 ;_bfeac map[_aef .PdfObject ]int64 ;_dfdcb map[_aef .PdfObject ]struct{};};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a CalGray device.
|
||
func (_ffeb *PdfColorspaceCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// K returns the value of the key component of the color.
|
||
func (_bddf *PdfColorDeviceCMYK )K ()float64 {return _bddf [3]};func (_dace *DSS )generateHashMaps ()error {_gdgc ,_bfecd :=_dace .generateHashMap (_dace .Certs );if _bfecd !=nil {return _bfecd ;};_bfbfe ,_bfecd :=_dace .generateHashMap (_dace .OCSPs );if _bfecd !=nil {return _bfecd ;};_fgegd ,_bfecd :=_dace .generateHashMap (_dace .CRLs );if _bfecd !=nil {return _bfecd ;};_dace ._ccagd =_gdgc ;_dace ._beef =_bfbfe ;_dace ._gfbg =_fgegd ;return nil ;};func (_agbdf *pdfFontSimple )getFontEncoding ()(_dcgg string ,_eaea map[_be .CharCode ]_be .GlyphName ,_cfec error ){_dcgg ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";if _dbaa ,_afac :=_cbgcf [_agbdf ._fegdg ];_afac {_dcgg =_dbaa ;}else if _agbdf .fontFlags ()&_adfea !=0{for _eggab ,_dbcf :=range _cbgcf {if _dg .Contains (_agbdf ._fegdg ,_eggab ){_dcgg =_dbcf ;break ;};};};if _agbdf .Encoding ==nil {return _dcgg ,nil ,nil ;};switch _bgdd :=_agbdf .Encoding .(type ){case *_aef .PdfObjectName :return string (*_bgdd ),nil ,nil ;case *_aef .PdfObjectDictionary :_bbcea ,_ebefb :=_aef .GetName (_bgdd .Get ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _ebefb {_dcgg =_bbcea .String ();};if _cafga :=_bgdd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073");_cafga !=nil {_caee ,_acedf :=_aef .GetArray (_cafga );if !_acedf {_abe .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",_bgdd ,_bgdd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073"));return "",nil ,_aef .ErrTypeError ;};_eaea ,_cfec =_be .FromFontDifferences (_caee );};return _dcgg ,_eaea ,_cfec ;default:_abe .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",_agbdf .Encoding ,_agbdf .Encoding );return "",nil ,_aef .ErrTypeError ;};};type pdfCIDFontType0 struct{fontCommon ;_edbgg *_aef .PdfIndirectObject ;_bbbe _be .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// (Required) Dictionary that defines the character collection of the CIDFont.
|
||
// See Table 116.
|
||
CIDSystemInfo *_aef .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _aef .PdfObject ;W _aef .PdfObject ;DW2 _aef .PdfObject ;W2 _aef .PdfObject ;_gfbff map[_be .CharCode ]float64 ;_egcdc float64 ;};
|
||
|
||
// SetOCProperties sets the optional content properties.
|
||
func (_bddbc *PdfWriter )SetOCProperties (ocProperties _aef .PdfObject )error {_bgbaf :=_bddbc ._abebc ;if ocProperties !=nil {_abe .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u004f\u0043\u0020\u0050\u0072o\u0070\u0065\u0072\u0074\u0069\u0065\u0073\u002e\u002e\u002e");_bgbaf .Set ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",ocProperties );return _bddbc .addObjects (ocProperties );};return nil ;};func (_ebabb *LTV )generateVRIKey (_fgce *PdfSignature )(string ,error ){_dagc ,_aaaeg :=_daed (_fgce .Contents .Bytes ());if _aaaeg !=nil {return "",_aaaeg ;};return _dg .ToUpper (_eb .EncodeToString (_dagc )),nil ;};
|
||
|
||
// NewPdfAnnotationCaret returns a new caret annotation.
|
||
func NewPdfAnnotationCaret ()*PdfAnnotationCaret {_bebf :=NewPdfAnnotation ();_beda :=&PdfAnnotationCaret {};_beda .PdfAnnotation =_bebf ;_beda .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bebf .SetContext (_beda );return _beda ;};
|
||
|
||
// PdfColorspaceDeviceRGB represents an RGB colorspace.
|
||
type PdfColorspaceDeviceRGB struct{};func _dddc (_bbgd _aef .PdfObject )(*PdfColorspaceCalGray ,error ){_daeb :=NewPdfColorspaceCalGray ();if _bddb ,_bedbg :=_bbgd .(*_aef .PdfIndirectObject );_bedbg {_daeb ._ggdc =_bddb ;};_bbgd =_aef .TraceToDirectObject (_bbgd );_gacb ,_fgcc :=_bbgd .(*_aef .PdfObjectArray );if !_fgcc {return nil ,_b .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _gacb .Len ()!=2{return nil ,_b .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");};_bbgd =_aef .TraceToDirectObject (_gacb .Get (0));_accde ,_fgcc :=_bbgd .(*_aef .PdfObjectName );if !_fgcc {return nil ,_b .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 *_accde !="\u0043a\u006c\u0047\u0072\u0061\u0079"{return nil ,_b .Errorf ("\u006eo\u0074\u0020\u0061\u0020\u0043\u0061\u006c\u0047\u0072\u0061\u0079 \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_bbgd =_aef .TraceToDirectObject (_gacb .Get (1));_afdd ,_fgcc :=_bbgd .(*_aef .PdfObjectDictionary );if !_fgcc {return nil ,_b .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");};_bbgd =_afdd .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_bbgd =_aef .TraceToDirectObject (_bbgd );_bgbc ,_fgcc :=_bbgd .(*_aef .PdfObjectArray );if !_fgcc {return nil ,_b .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 _bgbc .Len ()!=3{return nil ,_b .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");};_gebg ,_gegd :=_bgbc .GetAsFloat64Slice ();if _gegd !=nil {return nil ,_gegd ;};_daeb .WhitePoint =_gebg ;_bbgd =_afdd .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _bbgd !=nil {_bbgd =_aef .TraceToDirectObject (_bbgd );_cded ,_daaf :=_bbgd .(*_aef .PdfObjectArray );if !_daaf {return nil ,_b .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 _cded .Len ()!=3{return nil ,_b .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");};_adabe ,_febb :=_cded .GetAsFloat64Slice ();if _febb !=nil {return nil ,_febb ;};_daeb .BlackPoint =_adabe ;};_bbgd =_afdd .Get ("\u0047\u0061\u006dm\u0061");if _bbgd !=nil {_bbgd =_aef .TraceToDirectObject (_bbgd );_egafb ,_bbgg :=_aef .GetNumberAsFloat (_bbgd );if _bbgg !=nil {return nil ,_b .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0067\u0061\u006d\u006d\u0061\u0020\u006e\u006ft\u0020\u0061\u0020n\u0075m\u0062\u0065\u0072");};_daeb .Gamma =_egafb ;};return _daeb ,nil ;};func (_aedef *PdfWriter )writeObject (_gbgecf int ,_cgbeae _aef .PdfObject ){_abe .Log .Trace ("\u0057\u0072\u0069\u0074\u0065\u0020\u006f\u0062\u006a \u0023\u0025\u0064\u000a",_gbgecf );if _gadd ,_edecg :=_cgbeae .(*_aef .PdfIndirectObject );_edecg {_aedef ._ffede [_gbgecf ]=crossReference {Type :1,Offset :_aedef ._dfdcd ,Generation :_gadd .GenerationNumber };_eecaf :=_b .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_gbgecf );if _gedfd ,_egfgf :=_gadd .PdfObject .(*pdfSignDictionary );_egfgf {_gedfd ._ggbad =_aedef ._dfdcd +int64 (len (_eecaf ));};if _gadd .PdfObject ==nil {_abe .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");_gadd .PdfObject =_aef .MakeNull ();};_eecaf +=_gadd .PdfObject .WriteString ();_eecaf +="\u000a\u0065\u006e\u0064\u006f\u0062\u006a\u000a";_aedef .writeString (_eecaf );return ;};if _ggeba ,_dabga :=_cgbeae .(*_aef .PdfObjectStream );_dabga {_aedef ._ffede [_gbgecf ]=crossReference {Type :1,Offset :_aedef ._dfdcd ,Generation :_ggeba .GenerationNumber };_bbge :=_b .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_gbgecf );_bbge +=_ggeba .PdfObjectDictionary .WriteString ();_bbge +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_aedef .writeString (_bbge );_aedef .writeBytes (_ggeba .Stream );_aedef .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};if _adfda ,_dgadd :=_cgbeae .(*_aef .PdfObjectStreams );_dgadd {_aedef ._ffede [_gbgecf ]=crossReference {Type :1,Offset :_aedef ._dfdcd ,Generation :_adfda .GenerationNumber };_ffcab :=_b .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_gbgecf );var _abbbc []string ;var _cddfb string ;var _cdbgb int64 ;for _gaaf ,_gefde :=range _adfda .Elements (){_ffeff ,_eeged :=_gefde .(*_aef .PdfIndirectObject );if !_eeged {_abe .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",_gbgecf ,_gefde );continue ;};_ebfed :=_ffeff .PdfObject .WriteString ()+"\u0020";_cddfb =_cddfb +_ebfed ;_abbbc =append (_abbbc ,_b .Sprintf ("\u0025\u0064\u0020%\u0064",_ffeff .ObjectNumber ,_cdbgb ));_aedef ._ffede [int (_ffeff .ObjectNumber )]=crossReference {Type :2,ObjectNumber :_gbgecf ,Index :_gaaf };_cdbgb =_cdbgb +int64 (len ([]byte (_ebfed )));};_eddfg :=_dg .Join (_abbbc ,"\u0020")+"\u0020";_dggcgb :=_aef .NewFlateEncoder ();_dgfad :=_dggcgb .MakeStreamDict ();_dgfad .Set (_aef .PdfObjectName ("\u0054\u0079\u0070\u0065"),_aef .MakeName ("\u004f\u0062\u006a\u0053\u0074\u006d"));_eegbfb :=int64 (_adfda .Len ());_dgfad .Set (_aef .PdfObjectName ("\u004e"),_aef .MakeInteger (_eegbfb ));_fcgdg :=int64 (len (_eddfg ));_dgfad .Set (_aef .PdfObjectName ("\u0046\u0069\u0072s\u0074"),_aef .MakeInteger (_fcgdg ));_ddeff ,_ :=_dggcgb .EncodeBytes ([]byte (_eddfg +_cddfb ));_geggdf :=int64 (len (_ddeff ));_dgfad .Set (_aef .PdfObjectName ("\u004c\u0065\u006e\u0067\u0074\u0068"),_aef .MakeInteger (_geggdf ));_ffcab +=_dgfad .WriteString ();_ffcab +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_aedef .writeString (_ffcab );_aedef .writeBytes (_ddeff );_aedef .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};_aedef .writeString (_cgbeae .WriteString ());};
|
||
|
||
// Register registers (caches) a model to primitive object relationship.
|
||
func (_edaf *modelManager )Register (primitive _aef .PdfObject ,model PdfModel ){_edaf ._gfdb [model ]=primitive ;_edaf ._bgbf [primitive ]=model ;};func (_dbea *PdfReader )newPdfAnnotationTextFromDict (_ead *_aef .PdfObjectDictionary )(*PdfAnnotationText ,error ){_abdf :=PdfAnnotationText {};_daba ,_efeg :=_dbea .newPdfAnnotationMarkupFromDict (_ead );if _efeg !=nil {return nil ,_efeg ;};_abdf .PdfAnnotationMarkup =_daba ;_abdf .Open =_ead .Get ("\u004f\u0070\u0065\u006e");_abdf .Name =_ead .Get ("\u004e\u0061\u006d\u0065");_abdf .State =_ead .Get ("\u0053\u0074\u0061t\u0065");_abdf .StateModel =_ead .Get ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c");return &_abdf ,nil ;};
|
||
|
||
// PdfAnnotation represents an annotation in PDF (section 12.5 p. 389).
|
||
type PdfAnnotation struct{_eab PdfModel ;Rect _aef .PdfObject ;Contents _aef .PdfObject ;P _aef .PdfObject ;NM _aef .PdfObject ;M _aef .PdfObject ;F _aef .PdfObject ;AP _aef .PdfObject ;AS _aef .PdfObject ;Border _aef .PdfObject ;C _aef .PdfObject ;StructParent _aef .PdfObject ;OC _aef .PdfObject ;_edc *_aef .PdfIndirectObject ;};
|
||
|
||
// IsEncrypted returns true if the PDF file is encrypted.
|
||
func (_fgdgf *PdfReader )IsEncrypted ()(bool ,error ){return _fgdgf ._gdbbd .IsEncrypted ()};
|
||
|
||
// Y returns the value of the yellow component of the color.
|
||
func (_abde *PdfColorDeviceCMYK )Y ()float64 {return _abde [2]};
|
||
|
||
// 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 (_cgca *PdfFont )GetCharMetrics (code _be .CharCode )(CharMetrics ,bool ){var _aebb _ecf .CharMetrics ;switch _dgfe :=_cgca ._dccga .(type ){case *pdfFontSimple :if _fdbae ,_cfdc :=_dgfe .GetCharMetrics (code );_cfdc {return _fdbae ,_cfdc ;};case *pdfFontType0 :if _ffbe ,_bdfa :=_dgfe .GetCharMetrics (code );_bdfa {return _ffbe ,_bdfa ;};case *pdfCIDFontType0 :if _gfbd ,_cegfc :=_dgfe .GetCharMetrics (code );_cegfc {return _gfbd ,_cegfc ;};case *pdfCIDFontType2 :if _acag ,_gcfg :=_dgfe .GetCharMetrics (code );_gcfg {return _acag ,_gcfg ;};default:_abe .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",_cgca ._dccga );return _aebb ,false ;};if _fgagae ,_afea :=_cgca .GetFontDescriptor ();_afea ==nil &&_fgagae !=nil {return _ecf .CharMetrics {Wx :_fgagae ._gbedb },true ;};_abe .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",_cgca );return _aebb ,false ;};func (_ddaad *PdfPage )setContainer (_bfae *_aef .PdfIndirectObject ){_bfae .PdfObject =_ddaad ._cbefa ;_ddaad ._gfbbf =_bfae ;};
|
||
|
||
// 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"`;};
|
||
|
||
// String implements interface PdfObject.
|
||
func (_de *PdfAction )String ()string {_ecfe ,_ebf :=_de .ToPdfObject ().(*_aef .PdfIndirectObject );if _ebf {return _b .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_de ._ecb ,_ecfe .PdfObject .String ());};return "";};
|
||
|
||
// AddExtGState adds a graphics state to the XObject resources.
|
||
func (_bdedf *PdfPage )AddExtGState (name _aef .PdfObjectName ,egs *_aef .PdfObjectDictionary )error {if _bdedf .Resources ==nil {_bdedf .Resources =NewPdfPageResources ();};if _bdedf .Resources .ExtGState ==nil {_bdedf .Resources .ExtGState =_aef .MakeDict ();};_ddaef ,_dabbd :=_aef .TraceToDirectObject (_bdedf .Resources .ExtGState ).(*_aef .PdfObjectDictionary );if !_dabbd {_abe .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",_aef .TraceToDirectObject (_bdedf .Resources .ExtGState ));return _fa .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ddaef .Set (name ,egs );return nil ;};
|
||
|
||
// C returns the value of the cyan component of the color.
|
||
func (_faged *PdfColorDeviceCMYK )C ()float64 {return _faged [0]};
|
||
|
||
// PdfAnnotationUnderline represents Underline annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationUnderline struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _aef .PdfObject ;};
|
||
|
||
// PdfShadingType1 is a Function-based shading.
|
||
type PdfShadingType1 struct{*PdfShading ;Domain *_aef .PdfObjectArray ;Matrix *_aef .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// VRI represents a Validation-Related Information dictionary.
|
||
// The VRI dictionary contains validation data in the form of
|
||
// certificates, OCSP and CRL information, for a single signature.
|
||
// See ETSI TS 102 778-4 V1.1.1 for more information.
|
||
type VRI struct{Cert []*_aef .PdfObjectStream ;OCSP []*_aef .PdfObjectStream ;CRL []*_aef .PdfObjectStream ;TU *_aef .PdfObjectString ;TS *_aef .PdfObjectString ;};func (_ggd *PdfReader )newPdfActionImportDataFromDict (_egde *_aef .PdfObjectDictionary )(*PdfActionImportData ,error ){_bbcg ,_bdg :=_bfc (_egde .Get ("\u0046"));if _bdg !=nil {return nil ,_bdg ;};return &PdfActionImportData {F :_bbcg },nil ;}; |