mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-29 13:48:54 +08:00
2615 lines
636 KiB
Go
2615 lines
636 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 (_e "bufio";_bg "bytes";_fg "encoding/binary";_fce "errors";_d "fmt";_fca "github.com/unidoc/unipdf/v3/common";_aa "github.com/unidoc/unipdf/v3/common/license";_fd "github.com/unidoc/unipdf/v3/core";_ce "github.com/unidoc/unipdf/v3/core/security";_af "github.com/unidoc/unipdf/v3/core/security/crypt";_agg "github.com/unidoc/unipdf/v3/internal/cmap";_gd "github.com/unidoc/unipdf/v3/internal/imageutil";_ddf "github.com/unidoc/unipdf/v3/internal/sampling";_gf "github.com/unidoc/unipdf/v3/internal/textencoding";_aaf "github.com/unidoc/unipdf/v3/model/internal/fonts";_fe "github.com/unidoc/unipdf/v3/ps";_afe "github.com/unidoc/unitype";_cea "golang.org/x/xerrors";_dg "image";_c "image/color";_ "image/gif";_ "image/png";_fc "io";_ec "io/ioutil";_ff "math";_dd "math/rand";_ab "os";_ag "regexp";_fb "sort";_ca "strconv";_gc "strings";_b "time";_g "unicode";_gb "unicode/utf8";);
|
||
|
||
// 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 *_fd .PdfObjectInteger ;ColorSpace PdfColorspace ;Background *_fd .PdfObjectArray ;BBox *PdfRectangle ;AntiAlias *_fd .PdfObjectBool ;_ebbcbe PdfModel ;_bcgcg _fd .PdfObject ;};func (_cdg *PdfReader )newPdfActionURIFromDict (_bfe *_fd .PdfObjectDictionary )(*PdfActionURI ,error ){return &PdfActionURI {URI :_bfe .Get ("\u0055\u0052\u0049"),IsMap :_bfe .Get ("\u0049\u0073\u004da\u0070")},nil ;};
|
||
|
||
// Normalize swaps (Llx,Urx) if Urx < Llx, and (Lly,Ury) if Ury < Lly.
|
||
func (_fbab *PdfRectangle )Normalize (){if _fbab .Llx > _fbab .Urx {_fbab .Llx ,_fbab .Urx =_fbab .Urx ,_fbab .Llx ;};if _fbab .Lly > _fbab .Ury {_fbab .Lly ,_fbab .Ury =_fbab .Ury ,_fbab .Lly ;};};func (_bbf *PdfAnnotation )String ()string {_cgfe :="";_ffcg ,_cca :=_bbf .ToPdfObject ().(*_fd .PdfIndirectObject );if _cca {_cgfe =_d .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_bbf ._ccd ,_ffcg .PdfObject .String ());};return _cgfe ;};func (_cadf *PdfReader )newPdfAnnotationRedactFromDict (_gabb *_fd .PdfObjectDictionary )(*PdfAnnotationRedact ,error ){_fae :=PdfAnnotationRedact {};_effg ,_geb :=_cadf .newPdfAnnotationMarkupFromDict (_gabb );if _geb !=nil {return nil ,_geb ;};_fae .PdfAnnotationMarkup =_effg ;_fae .QuadPoints =_gabb .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_fae .IC =_gabb .Get ("\u0049\u0043");_fae .RO =_gabb .Get ("\u0052\u004f");_fae .OverlayText =_gabb .Get ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074");_fae .Repeat =_gabb .Get ("\u0052\u0065\u0070\u0065\u0061\u0074");_fae .DA =_gabb .Get ("\u0044\u0041");_fae .Q =_gabb .Get ("\u0051");return &_fae ,nil ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceCMYK colorspace.
|
||
func (_dgbf *PdfColorspaceDeviceCMYK )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_faeb pdfCIDFontType0 )GetCharMetrics (code _gf .CharCode )(_aaf .CharMetrics ,bool ){_gcafc :=_faeb ._bbda ;if _dabgb ,_cbdeb :=_faeb ._cadad [code ];_cbdeb {_gcafc =_dabgb ;};return _aaf .CharMetrics {Wx :_gcafc },true ;};func _dge (_ggegf _fd .PdfObject )(*PdfBorderStyle ,error ){_bccbc :=&PdfBorderStyle {};_bccbc ._fefdb =_ggegf ;var _gggc *_fd .PdfObjectDictionary ;_ggegf =_fd .TraceToDirectObject (_ggegf );_gggc ,_edbf :=_ggegf .(*_fd .PdfObjectDictionary );if !_edbf {return nil ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};if _gfcf :=_gggc .Get ("\u0054\u0079\u0070\u0065");_gfcf !=nil {_feac ,_dbabd :=_gfcf .(*_fd .PdfObjectName );if !_dbabd {_fca .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",_gfcf );}else {if *_feac !="\u0042\u006f\u0072\u0064\u0065\u0072"{_fca .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",*_feac );};};};if _ccbfb :=_gggc .Get ("\u0057");_ccbfb !=nil {_eab ,_ecac :=_fd .GetNumberAsFloat (_ccbfb );if _ecac !=nil {_fca .Log .Debug ("\u0045\u0072\u0072\u006fr \u0072\u0065\u0074\u0072\u0069\u0065\u0076\u0069\u006e\u0067\u0020\u0057\u003a\u0020%\u0076",_ecac );return nil ,_ecac ;};_bccbc .W =&_eab ;};if _aefe :=_gggc .Get ("\u0053");_aefe !=nil {_gbgfe ,_ffgg :=_aefe .(*_fd .PdfObjectName );if !_ffgg {return nil ,_fce .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 _bcdf BorderStyle ;switch *_gbgfe {case "\u0053":_bcdf =BorderStyleSolid ;case "\u0044":_bcdf =BorderStyleDashed ;case "\u0042":_bcdf =BorderStyleBeveled ;case "\u0049":_bcdf =BorderStyleInset ;case "\u0055":_bcdf =BorderStyleUnderline ;default:_fca .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020s\u0074\u0079\u006c\u0065\u0020n\u0061\u006d\u0065\u0020\u0025\u0073",*_gbgfe );return nil ,_fce .New ("\u0073\u0074\u0079\u006ce \u0074\u0079\u0070\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065c\u006b");};_bccbc .S =&_bcdf ;};if _gbea :=_gggc .Get ("\u0044");_gbea !=nil {_aee ,_ggdc :=_gbea .(*_fd .PdfObjectArray );if !_ggdc {_fca .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",_gbea );return nil ,_fce .New ("\u0062o\u0072\u0064\u0065\u0072 \u0044\u0020\u0074\u0079\u0070e\u0020c\u0068e\u0063\u006b\u0020\u0065\u0072\u0072\u006fr");};_cfgc ,_cec :=_aee .ToIntegerArray ();if _cec !=nil {_fca .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",_cec );return nil ,_cec ;};_bccbc .D =&_cfgc ;};return _bccbc ,nil ;};
|
||
|
||
// PdfActionRendition represents a Rendition action.
|
||
type PdfActionRendition struct{*PdfAction ;R _fd .PdfObject ;AN _fd .PdfObject ;OP _fd .PdfObject ;JS _fd .PdfObject ;};
|
||
|
||
// SetXObjectByName adds the XObject from the passed in stream to the page resources.
|
||
// The added XObject is identified by the specified name.
|
||
func (_efaad *PdfPageResources )SetXObjectByName (keyName _fd .PdfObjectName ,stream *_fd .PdfObjectStream )error {if _efaad .XObject ==nil {_efaad .XObject =_fd .MakeDict ();};_abebe :=_fd .TraceToDirectObject (_efaad .XObject );_dgfed ,_cedeg :=_abebe .(*_fd .PdfObjectDictionary );if !_cedeg {_fca .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",_efaad .XObject ,_abebe );return _fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dgfed .Set (keyName ,stream );return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eb *PdfActionGoTo )ToPdfObject ()_fd .PdfObject {_eb .PdfAction .ToPdfObject ();_cfbd :=_eb ._fgb ;_bce :=_cfbd .PdfObject .(*_fd .PdfObjectDictionary );_bce .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeGoTo )));_bce .SetIfNotNil ("\u0044",_eb .D );return _cfbd ;};var _agcgg =_ag .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");
|
||
|
||
// SetFontByName sets the font specified by keyName to the given object.
|
||
func (_ddbed *PdfPageResources )SetFontByName (keyName _fd .PdfObjectName ,obj _fd .PdfObject )error {if _ddbed .Font ==nil {_ddbed .Font =_fd .MakeDict ();};_aabbe ,_eecg :=_fd .TraceToDirectObject (_ddbed .Font ).(*_fd .PdfObjectDictionary );if !_eecg {_fca .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",_fd .TraceToDirectObject (_ddbed .Font ));return _fd .ErrTypeError ;};_aabbe .Set (keyName ,obj );return nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the image object (indirect object).
|
||
func (_daffc *XObjectImage )GetContainingPdfObject ()_fd .PdfObject {return _daffc ._acbee };
|
||
|
||
// GetAnnotations returns the list of page annotations for `page`. If not loaded attempts to load the
|
||
// annotations, otherwise returns the loaded list.
|
||
func (_aebfab *PdfPage )GetAnnotations ()([]*PdfAnnotation ,error ){if _aebfab ._bfedf !=nil {return _aebfab ._bfedf ,nil ;};if _aebfab .Annots ==nil {_aebfab ._bfedf =[]*PdfAnnotation {};return nil ,nil ;};if _aebfab ._gccea ==nil {_aebfab ._bfedf =[]*PdfAnnotation {};return nil ,nil ;};_bcdea ,_eccb :=_aebfab ._gccea .loadAnnotations (_aebfab .Annots );if _eccb !=nil {return nil ,_eccb ;};if _bcdea ==nil {_aebfab ._bfedf =[]*PdfAnnotation {};};_aebfab ._bfedf =_bcdea ;return _aebfab ._bfedf ,nil ;};
|
||
|
||
// PdfAnnotationFileAttachment represents FileAttachment annotations.
|
||
// (Section 12.5.6.15).
|
||
type PdfAnnotationFileAttachment struct{*PdfAnnotation ;*PdfAnnotationMarkup ;FS _fd .PdfObject ;Name _fd .PdfObject ;};
|
||
|
||
// PdfAnnotationPopup represents Popup annotations.
|
||
// (Section 12.5.6.14).
|
||
type PdfAnnotationPopup struct{*PdfAnnotation ;Parent _fd .PdfObject ;Open _fd .PdfObject ;};func (_ddged *PdfAppender )addNewObject (_gcceb _fd .PdfObject ){if _ ,_efff :=_ddged ._baef [_gcceb ];!_efff {_ddged ._efe =append (_ddged ._efe ,_gcceb );_ddged ._baef [_gcceb ]=struct{}{};};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ffg *PdfAction )ToPdfObject ()_fd .PdfObject {_dgf :=_ffg ._fgb ;_cd :=_dgf .PdfObject .(*_fd .PdfObjectDictionary );_cd .Clear ();_cd .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0041\u0063\u0074\u0069\u006f\u006e"));_cd .SetIfNotNil ("\u0053",_ffg .S );_cd .SetIfNotNil ("\u004e\u0065\u0078\u0074",_ffg .Next );return _dgf ;};func _dcdc ()string {return _dfegb };
|
||
|
||
// 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 (_aefgag *PdfPage )SetContentStreams (cStreams []string ,encoder _fd .StreamEncoder )error {if len (cStreams )==0{_aefgag .Contents =nil ;return nil ;};if encoder ==nil {encoder =_fd .NewRawEncoder ();};var _fegag []*_fd .PdfObjectStream ;for _ ,_fedgg :=range cStreams {_dggca :=&_fd .PdfObjectStream {};_eggcd :=encoder .MakeStreamDict ();_bacda ,_ccfec :=encoder .EncodeBytes ([]byte (_fedgg ));if _ccfec !=nil {return _ccfec ;};_eggcd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_bacda ))));_dggca .PdfObjectDictionary =_eggcd ;_dggca .Stream =[]byte (_bacda );_fegag =append (_fegag ,_dggca );};if len (_fegag )==1{_aefgag .Contents =_fegag [0];}else {_eaggf :=_fd .MakeArray ();for _ ,_bccgf :=range _fegag {_eaggf .Append (_bccgf );};_aefgag .Contents =_eaggf ;};return nil ;};
|
||
|
||
// DecodeArray returns an empty slice as there are no components associated with pattern colorspace.
|
||
func (_ggag *PdfColorspaceSpecialPattern )DecodeArray ()[]float64 {return []float64 {}};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// component PDF objects.
|
||
func (_fccgb *PdfColorspaceICCBased )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if _fccgb .Alternate ==nil {if _fccgb .N ==1{_adba :=NewPdfColorspaceDeviceGray ();return _adba .ColorFromPdfObjects (objects );}else if _fccgb .N ==3{_begc :=NewPdfColorspaceDeviceRGB ();return _begc .ColorFromPdfObjects (objects );}else if _fccgb .N ==4{_fbgc :=NewPdfColorspaceDeviceCMYK ();return _fbgc .ColorFromPdfObjects (objects );}else {return nil ,_fce .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 _fccgb .Alternate .ColorFromPdfObjects (objects );};
|
||
|
||
// NewPdfAnnotationPolyLine returns a new polyline annotation.
|
||
func NewPdfAnnotationPolyLine ()*PdfAnnotationPolyLine {_gef :=NewPdfAnnotation ();_ebb :=&PdfAnnotationPolyLine {};_ebb .PdfAnnotation =_gef ;_ebb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gef .SetContext (_ebb );return _ebb ;};func _gdff (_faebc *PdfField )[]*PdfField {_gecc :=[]*PdfField {_faebc };for _ ,_cefce :=range _faebc .Kids {_gecc =append (_gecc ,_gdff (_cefce )...);};return _gecc ;};
|
||
|
||
// UpdatePage updates the `page` in the new revision if it has changed.
|
||
func (_fggd *PdfAppender )UpdatePage (page *PdfPage ){_fggd .updateObjectsDeep (page .ToPdfObject (),nil )};
|
||
|
||
// SetContext sets the specific fielddata type, e.g. would be PdfFieldButton for a button field.
|
||
func (_faaf *PdfField )SetContext (ctx PdfModel ){_faaf ._cacd =ctx };
|
||
|
||
// GetContainingPdfObject returns the container of the outline (indirect object).
|
||
func (_dcgd *PdfOutline )GetContainingPdfObject ()_fd .PdfObject {return _dcgd ._addc };func (_ddb *PdfReader )newPdfActionNamedFromDict (_ecb *_fd .PdfObjectDictionary )(*PdfActionNamed ,error ){return &PdfActionNamed {N :_ecb .Get ("\u004e")},nil ;};
|
||
|
||
// NewPdfSignature creates a new PdfSignature object.
|
||
func NewPdfSignature (handler SignatureHandler )*PdfSignature {_agcb :=&PdfSignature {Type :_fd .MakeName ("\u0053\u0069\u0067"),Handler :handler };_gbcac :=&pdfSignDictionary {PdfObjectDictionary :_fd .MakeDict (),_bedac :&handler ,_beded :_agcb };_agcb ._bcbba =_fd .MakeIndirectObject (_gbcac );return _agcb ;};func _ebeb (_defed *PdfField ,_gacdf _fd .PdfObject )error {switch _defed .GetContext ().(type ){case *PdfFieldText :switch _dggbde :=_gacdf .(type ){case *_fd .PdfObjectName :_dbdef :=_dggbde ;_fca .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",_dbdef .String ());_defed .V =_fd .MakeEncodedString (_dggbde .String (),true );case *_fd .PdfObjectString :_defed .V =_fd .MakeEncodedString (_dggbde .String (),true );default:_fca .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",_dggbde ,_dggbde );};case *PdfFieldButton :switch _gacdf .(type ){case *_fd .PdfObjectName :if len (_gacdf .String ())> 0{_defed .V =_gacdf ;_caacc (_defed ,_gacdf );};case *_fd .PdfObjectString :if len (_gacdf .String ())> 0{_defed .V =_fd .MakeName (_gacdf .String ());_caacc (_defed ,_defed .V );};default:_fca .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",_defed .PartialName (),_gacdf );_defed .V =_gacdf ;};case *PdfFieldChoice :switch _gacdf .(type ){case *_fd .PdfObjectName :if len (_gacdf .String ())> 0{_defed .V =_fd .MakeString (_gacdf .String ());_caacc (_defed ,_gacdf );};case *_fd .PdfObjectString :if len (_gacdf .String ())> 0{_defed .V =_gacdf ;_caacc (_defed ,_fd .MakeName (_gacdf .String ()));};default:_fca .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",_defed .PartialName (),_gacdf );_defed .V =_gacdf ;};case *PdfFieldSignature :_fca .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",_defed .PartialName (),_gacdf );};return nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (4 for CMYK32).
|
||
func (_fagg *PdfColorDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// DecodeArray returns the component range values for the Indexed colorspace.
|
||
func (_fdfb *PdfColorspaceSpecialIndexed )DecodeArray ()[]float64 {return []float64 {0,float64 (_fdfb .HiVal )};};
|
||
|
||
// NewPdfColorDeviceRGB returns a new PdfColorDeviceRGB based on the r,g,b component values.
|
||
func NewPdfColorDeviceRGB (r ,g ,b float64 )*PdfColorDeviceRGB {_cdgg :=PdfColorDeviceRGB {r ,g ,b };return &_cdgg ;};
|
||
|
||
// Clear clears flag fl from the flag and returns the resulting flag.
|
||
func (_ecda FieldFlag )Clear (fl FieldFlag )FieldFlag {return FieldFlag (_ecda .Mask ()&^fl .Mask ())};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edf *PdfActionSubmitForm )ToPdfObject ()_fd .PdfObject {_edf .PdfAction .ToPdfObject ();_cfe :=_edf ._fgb ;_fed :=_cfe .PdfObject .(*_fd .PdfObjectDictionary );_fed .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeSubmitForm )));if _edf .F !=nil {_fed .Set ("\u0046",_edf .F .ToPdfObject ());};_fed .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_edf .Fields );_fed .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_edf .Flags );return _cfe ;};func _begg (_agbb _fd .PdfObject )(*PdfColorspaceCalRGB ,error ){_eeadf :=NewPdfColorspaceCalRGB ();if _gcdf ,_eebba :=_agbb .(*_fd .PdfIndirectObject );_eebba {_eeadf ._eaff =_gcdf ;};_agbb =_fd .TraceToDirectObject (_agbb );_cfddd ,_dbac :=_agbb .(*_fd .PdfObjectArray );if !_dbac {return nil ,_d .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cfddd .Len ()!=2{return nil ,_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_agbb =_fd .TraceToDirectObject (_cfddd .Get (0));_gfeb ,_dbac :=_agbb .(*_fd .PdfObjectName );if !_dbac {return nil ,_d .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 *_gfeb !="\u0043\u0061\u006c\u0052\u0047\u0042"{return nil ,_d .Errorf ("\u006e\u006f\u0074 a\u0020\u0043\u0061\u006c\u0052\u0047\u0042\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_agbb =_fd .TraceToDirectObject (_cfddd .Get (1));_geff ,_dbac :=_agbb .(*_fd .PdfObjectDictionary );if !_dbac {return nil ,_d .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");};_agbb =_geff .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_agbb =_fd .TraceToDirectObject (_agbb );_bdce ,_dbac :=_agbb .(*_fd .PdfObjectArray );if !_dbac {return nil ,_d .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 _bdce .Len ()!=3{return nil ,_d .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");};_fgce ,_efaaf :=_bdce .GetAsFloat64Slice ();if _efaaf !=nil {return nil ,_efaaf ;};_eeadf .WhitePoint =_fgce ;_agbb =_geff .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _agbb !=nil {_agbb =_fd .TraceToDirectObject (_agbb );_aedef ,_dcge :=_agbb .(*_fd .PdfObjectArray );if !_dcge {return nil ,_d .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 _aedef .Len ()!=3{return nil ,_d .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");};_efgb ,_ecaa :=_aedef .GetAsFloat64Slice ();if _ecaa !=nil {return nil ,_ecaa ;};_eeadf .BlackPoint =_efgb ;};_agbb =_geff .Get ("\u0047\u0061\u006dm\u0061");if _agbb !=nil {_agbb =_fd .TraceToDirectObject (_agbb );_feefe ,_aage :=_agbb .(*_fd .PdfObjectArray );if !_aage {return nil ,_d .Errorf ("C\u0061\u006c\u0052\u0047B:\u0020I\u006e\u0076\u0061\u006c\u0069d\u0020\u0047\u0061\u006d\u006d\u0061");};if _feefe .Len ()!=3{return nil ,_d .Errorf ("C\u0061\u006c\u0052\u0047\u0042\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0047a\u006d\u006d\u0061 \u0061r\u0072\u0061\u0079");};_bbga ,_gggg :=_feefe .GetAsFloat64Slice ();if _gggg !=nil {return nil ,_gggg ;};_eeadf .Gamma =_bbga ;};_agbb =_geff .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");if _agbb !=nil {_agbb =_fd .TraceToDirectObject (_agbb );_ecacg ,_dcged :=_agbb .(*_fd .PdfObjectArray );if !_dcged {return nil ,_d .Errorf ("\u0043\u0061\u006c\u0052GB\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004d\u0061\u0074\u0072i\u0078");};if _ecacg .Len ()!=9{_fca .Log .Error ("\u004d\u0061t\u0072\u0069\u0078 \u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0073",_ecacg .String ());return nil ,_d .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");};_edcga ,_abgc :=_ecacg .GetAsFloat64Slice ();if _abgc !=nil {return nil ,_abgc ;};_eeadf .Matrix =_edcga ;};return _eeadf ,nil ;};
|
||
|
||
// SetPdfProducer sets the Producer attribute of the output PDF.
|
||
func SetPdfProducer (producer string ){_daee =producer };func _dade (_abefd *fontCommon )*pdfFontSimple {return &pdfFontSimple {fontCommon :*_abefd }};func (_fcgcc *PdfReader )resolveReference (_fgcf *_fd .PdfObjectReference )(_fd .PdfObject ,bool ,error ){_bdgedc ,_gfce :=_fcgcc ._egbge .ObjCache [int (_fgcf .ObjectNumber )];if !_gfce {_fca .Log .Trace ("R\u0065\u0061\u0064\u0065r \u004co\u006f\u006b\u0075\u0070\u0020r\u0065\u0066\u003a\u0020\u0025\u0073",_fgcf );_fcdde ,_eadec :=_fcgcc ._egbge .LookupByReference (*_fgcf );if _eadec !=nil {return nil ,false ,_eadec ;};_fcgcc ._egbge .ObjCache [int (_fgcf .ObjectNumber )]=_fcdde ;return _fcdde ,false ,nil ;};return _bdgedc ,true ,nil ;};
|
||
|
||
// GetOCProperties returns the optional content properties PdfObject.
|
||
func (_cegfa *PdfReader )GetOCProperties ()(_fd .PdfObject ,error ){_eebee :=_cegfa ._bfcbd ;_efadg :=_eebee .Get ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_efadg =_fd .ResolveReference (_efadg );if !_cegfa ._ebeae {_deabc :=_cegfa .traverseObjectData (_efadg );if _deabc !=nil {return nil ,_deabc ;};};return _efadg ,nil ;};
|
||
|
||
// NewPdfAnnotationFileAttachment returns a new file attachment annotation.
|
||
func NewPdfAnnotationFileAttachment ()*PdfAnnotationFileAttachment {_dedc :=NewPdfAnnotation ();_aag :=&PdfAnnotationFileAttachment {};_aag .PdfAnnotation =_dedc ;_aag .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dedc .SetContext (_aag );return _aag ;};
|
||
|
||
// K returns the value of the key component of the color.
|
||
func (_ddaga *PdfColorDeviceCMYK )K ()float64 {return float64 (_ddaga [3])};func (_ddgf *PdfShading )getShadingDict ()(*_fd .PdfObjectDictionary ,error ){_bdcbf :=_ddgf ._bcgcg ;if _cgfac ,_dadfa :=_bdcbf .(*_fd .PdfIndirectObject );_dadfa {_abgg ,_faedg :=_cgfac .PdfObject .(*_fd .PdfObjectDictionary );if !_faedg {return nil ,_fd .ErrTypeError ;};return _abgg ,nil ;}else if _facaea ,_beeea :=_bdcbf .(*_fd .PdfObjectStream );_beeea {return _facaea .PdfObjectDictionary ,nil ;}else if _fbebe ,_fbdbg :=_bdcbf .(*_fd .PdfObjectDictionary );_fbdbg {return _fbebe ,nil ;}else {_fca .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 ,_fd .ErrTypeError ;};};
|
||
|
||
// ColorToRGB converts gray -> rgb for a single color component.
|
||
func (_edeg *PdfColorspaceDeviceGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_ddac ,_fadf :=color .(*PdfColorDeviceGray );if !_fadf {_fca .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 ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return NewPdfColorDeviceRGB (float64 (*_ddac ),float64 (*_ddac ),float64 (*_ddac )),nil ;};var _bdde =_ag .MustCompile ("\u005b\\\u006e\u005c\u0072\u005d\u002b");
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cedf *PdfAnnotationScreen )ToPdfObject ()_fd .PdfObject {_cedf .PdfAnnotation .ToPdfObject ();_gfa :=_cedf ._defg ;_acfc :=_gfa .PdfObject .(*_fd .PdfObjectDictionary );_acfc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053\u0063\u0072\u0065\u0065\u006e"));_acfc .SetIfNotNil ("\u0054",_cedf .T );_acfc .SetIfNotNil ("\u004d\u004b",_cedf .MK );_acfc .SetIfNotNil ("\u0041",_cedf .A );_acfc .SetIfNotNil ("\u0041\u0041",_cedf .AA );return _gfa ;};func _bbfde (_eefdf *_fd .PdfObjectDictionary )(*PdfShadingType3 ,error ){_facaa :=PdfShadingType3 {};_gcebc :=_eefdf .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _gcebc ==nil {_fca .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 ;};_cdefe ,_eddf :=_gcebc .(*_fd .PdfObjectArray );if !_eddf {_fca .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",_gcebc );return nil ,_fd .ErrTypeError ;};if _cdefe .Len ()!=6{_fca .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",_cdefe .Len ());return nil ,ErrInvalidAttribute ;};_facaa .Coords =_cdefe ;if _daeb :=_eefdf .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_daeb !=nil {_daeb =_fd .TraceToDirectObject (_daeb );_cgabb ,_fcge :=_daeb .(*_fd .PdfObjectArray );if !_fcge {_fca .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",_daeb );return nil ,_fd .ErrTypeError ;};_facaa .Domain =_cgabb ;};_gcebc =_eefdf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _gcebc ==nil {_fca .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 ;};_facaa .Function =[]PdfFunction {};if _bdaf ,_gdgd :=_gcebc .(*_fd .PdfObjectArray );_gdgd {for _ ,_cdgfc :=range _bdaf .Elements (){_cbcge ,_babe :=_fagc (_cdgfc );if _babe !=nil {_fca .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",_babe );return nil ,_babe ;};_facaa .Function =append (_facaa .Function ,_cbcge );};}else {_egae ,_ebfab :=_fagc (_gcebc );if _ebfab !=nil {_fca .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",_ebfab );return nil ,_ebfab ;};_facaa .Function =append (_facaa .Function ,_egae );};if _defdb :=_eefdf .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_defdb !=nil {_defdb =_fd .TraceToDirectObject (_defdb );_ecaf ,_fgbee :=_defdb .(*_fd .PdfObjectArray );if !_fgbee {_fca .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",_defdb );return nil ,_fd .ErrTypeError ;};if _ecaf .Len ()!=2{_fca .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",_ecaf .Len ());return nil ,ErrInvalidAttribute ;};_facaa .Extend =_ecaf ;};return &_facaa ,nil ;};type pdfCIDFontType2 struct{fontCommon ;_cgfb *_fd .PdfIndirectObject ;_dagf _gf .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// Dictionary that defines the character collection of the CIDFont (required).
|
||
// See Table 116.
|
||
CIDSystemInfo *_fd .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _fd .PdfObject ;W _fd .PdfObject ;DW2 _fd .PdfObject ;W2 _fd .PdfObject ;
|
||
|
||
// CIDs to glyph indices mapping (optional).
|
||
CIDToGIDMap _fd .PdfObject ;_bggdf map[_gf .CharCode ]float64 ;_gcegd float64 ;_ebfg map[rune ]int ;};func (_ddace *PdfColorspaceCalGray )String ()string {return "\u0043a\u006c\u0047\u0072\u0061\u0079"};
|
||
|
||
// SetFlag sets the flag for the field.
|
||
func (_eafgd *PdfField )SetFlag (flag FieldFlag ){_eafgd .Ff =_fd .MakeInteger (int64 (flag ))};func (_ceg *PdfReader )newPdfAnnotationInkFromDict (_bfaf *_fd .PdfObjectDictionary )(*PdfAnnotationInk ,error ){_dbab :=PdfAnnotationInk {};_fdfd ,_fgbc :=_ceg .newPdfAnnotationMarkupFromDict (_bfaf );if _fgbc !=nil {return nil ,_fgbc ;};_dbab .PdfAnnotationMarkup =_fdfd ;_dbab .InkList =_bfaf .Get ("\u0049n\u006b\u004c\u0069\u0073\u0074");_dbab .BS =_bfaf .Get ("\u0042\u0053");return &_dbab ,nil ;};func (_cce *PdfReader )newPdfAnnotationWidgetFromDict (_efg *_fd .PdfObjectDictionary )(*PdfAnnotationWidget ,error ){_feea :=PdfAnnotationWidget {};_feea .H =_efg .Get ("\u0048");_feea .MK =_efg .Get ("\u004d\u004b");_feea .A =_efg .Get ("\u0041");_feea .AA =_efg .Get ("\u0041\u0041");_feea .BS =_efg .Get ("\u0042\u0053");_feea .Parent =_efg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");return &_feea ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_faea *PdfAnnotationUnderline )ToPdfObject ()_fd .PdfObject {_faea .PdfAnnotation .ToPdfObject ();_dgbb :=_faea ._defg ;_cdfc :=_dgbb .PdfObject .(*_fd .PdfObjectDictionary );_faea .PdfAnnotationMarkup .appendToPdfDictionary (_cdfc );_cdfc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee"));_cdfc .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_faea .QuadPoints );return _dgbb ;};
|
||
|
||
// PdfActionGoToE represents a GoToE action.
|
||
type PdfActionGoToE struct{*PdfAction ;F *PdfFilespec ;D _fd .PdfObject ;NewWindow _fd .PdfObject ;T _fd .PdfObject ;};func (_dggbb *pdfCIDFontType0 )getFontDescriptor ()*PdfFontDescriptor {return _dggbb ._ggbg };
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_adef *PdfColorCalRGB )ToInteger (bits int )[3]uint32 {_cageb :=_ff .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_cageb *_adef .A ()),uint32 (_cageb *_adef .B ()),uint32 (_cageb *_adef .C ())};};
|
||
|
||
// PdfAnnotationText represents Text annotations.
|
||
// (Section 12.5.6.4 p. 402).
|
||
type PdfAnnotationText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Open _fd .PdfObject ;Name _fd .PdfObject ;State _fd .PdfObject ;StateModel _fd .PdfObject ;};
|
||
|
||
// BorderStyle defines border type, typically used for annotations.
|
||
type BorderStyle int ;
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ace *PdfAnnotationCircle )ToPdfObject ()_fd .PdfObject {_ace .PdfAnnotation .ToPdfObject ();_fcbg :=_ace ._defg ;_daf :=_fcbg .PdfObject .(*_fd .PdfObjectDictionary );_ace .PdfAnnotationMarkup .appendToPdfDictionary (_daf );_daf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0043\u0069\u0072\u0063\u006c\u0065"));_daf .SetIfNotNil ("\u0042\u0053",_ace .BS );_daf .SetIfNotNil ("\u0049\u0043",_ace .IC );_daf .SetIfNotNil ("\u0042\u0045",_ace .BE );_daf .SetIfNotNil ("\u0052\u0044",_ace .RD );return _fcbg ;};
|
||
|
||
// 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 _fd .PdfObject ;FontFamily _fd .PdfObject ;FontStretch _fd .PdfObject ;FontWeight _fd .PdfObject ;Flags _fd .PdfObject ;FontBBox _fd .PdfObject ;ItalicAngle _fd .PdfObject ;Ascent _fd .PdfObject ;Descent _fd .PdfObject ;Leading _fd .PdfObject ;CapHeight _fd .PdfObject ;XHeight _fd .PdfObject ;StemV _fd .PdfObject ;StemH _fd .PdfObject ;AvgWidth _fd .PdfObject ;MaxWidth _fd .PdfObject ;MissingWidth _fd .PdfObject ;FontFile _fd .PdfObject ;FontFile2 _fd .PdfObject ;FontFile3 _fd .PdfObject ;CharSet _fd .PdfObject ;_fgaf int ;_bcgdc float64 ;*fontFile ;_accda *_aaf .TtfType ;
|
||
|
||
// Additional entries for CIDFonts
|
||
Style _fd .PdfObject ;Lang _fd .PdfObject ;FD _fd .PdfObject ;CIDSet _fd .PdfObject ;_dgad *_fd .PdfIndirectObject ;};
|
||
|
||
// 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 *_fd .PdfObjectArray ;ExtGState _fd .PdfObject ;};
|
||
|
||
// PdfAnnotationPolyLine represents PolyLine annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolyLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _fd .PdfObject ;LE _fd .PdfObject ;BS _fd .PdfObject ;IC _fd .PdfObject ;BE _fd .PdfObject ;IT _fd .PdfObject ;Measure _fd .PdfObject ;};
|
||
|
||
// 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 ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for an RGB device.
|
||
func (_fadfd *PdfColorspaceDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline destination.
|
||
func (_afgdg OutlineDest )ToPdfObject ()_fd .PdfObject {if (_afgdg .PageObj ==nil &&_afgdg .Page < 0)||_afgdg .Mode ==""{return _fd .MakeNull ();};_gcedf :=_fd .MakeArray ();if _afgdg .PageObj !=nil {_gcedf .Append (_afgdg .PageObj );}else {_gcedf .Append (_fd .MakeInteger (_afgdg .Page ));};_gcedf .Append (_fd .MakeName (_afgdg .Mode ));switch _afgdg .Mode {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":_gcedf .Append (_fd .MakeFloat (_afgdg .Y ));case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":_gcedf .Append (_fd .MakeFloat (_afgdg .X ));case "\u0058\u0059\u005a":_gcedf .Append (_fd .MakeFloat (_afgdg .X ));_gcedf .Append (_fd .MakeFloat (_afgdg .Y ));_gcedf .Append (_fd .MakeFloat (_afgdg .Zoom ));default:_gcedf .Set (1,_fd .MakeName ("\u0046\u0069\u0074"));};return _gcedf ;};
|
||
|
||
// SetPdfAuthor sets the Author attribute of the output PDF.
|
||
func SetPdfAuthor (author string ){_ffeac =author };
|
||
|
||
// 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 (_gabeb *PdfColorspaceCalRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdbe :=vals [0];if _gdbe < 0.0||_gdbe > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bebf :=vals [1];if _bebf < 0.0||_bebf > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aafc :=vals [2];if _aafc < 0.0||_aafc > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbef :=NewPdfColorCalRGB (_gdbe ,_bebf ,_aafc );return _gbef ,nil ;};
|
||
|
||
// PdfWriter handles outputing PDF content.
|
||
type PdfWriter struct{_faaba *_fd .PdfIndirectObject ;_fgcc *_fd .PdfIndirectObject ;_geaba map[_fd .PdfObject ]struct{};_edeb []_fd .PdfObject ;_fgdfc map[_fd .PdfObject ]struct{};_aabgf []*_fd .PdfIndirectObject ;_gafg *PdfOutlineTreeNode ;_agagg *_fd .PdfObjectDictionary ;_decac []_fd .PdfObject ;_fcacd *_fd .PdfIndirectObject ;_gedga *_e .Writer ;_bdbgg int64 ;_egffc error ;_cdba *_fd .PdfCrypt ;_fabfg *_fd .PdfObjectDictionary ;_bgfdd *_fd .PdfIndirectObject ;_dbcae *_fd .PdfObjectArray ;_fddbd int ;_cecag int ;_ccec *bool ;_efce map[_fd .PdfObject ][]*_fd .PdfObjectDictionary ;_cfbfa *PdfAcroForm ;_gegg Optimizer ;_gace map[int ]crossReference ;_bddag int64 ;ObjNumOffset int ;_gfggd bool ;_gdeae _fd .XrefTable ;_cfad int64 ;_dbdg int64 ;_febae map[_fd .PdfObject ]int64 ;_dedba map[_fd .PdfObject ]struct{};};
|
||
|
||
// IsCheckbox returns true if the button field represents a checkbox, false otherwise.
|
||
func (_fdfc *PdfFieldButton )IsCheckbox ()bool {return _fdfc .GetType ()==ButtonTypeCheckbox };
|
||
|
||
// SetPdfCreator sets the Creator attribute of the output PDF.
|
||
func SetPdfCreator (creator string ){_gadfb =creator };
|
||
|
||
// NewPdfActionHide returns a new "hide" action.
|
||
func NewPdfActionHide ()*PdfActionHide {_fac :=NewPdfAction ();_gddf :=&PdfActionHide {};_gddf .PdfAction =_fac ;_fac .SetContext (_gddf );return _gddf ;};func (_acc *PdfReader )newPdfAnnotationStampFromDict (_bec *_fd .PdfObjectDictionary )(*PdfAnnotationStamp ,error ){_eegf :=PdfAnnotationStamp {};_bdgd ,_ddca :=_acc .newPdfAnnotationMarkupFromDict (_bec );if _ddca !=nil {return nil ,_ddca ;};_eegf .PdfAnnotationMarkup =_bdgd ;_eegf .Name =_bec .Get ("\u004e\u0061\u006d\u0065");return &_eegf ,nil ;};
|
||
|
||
// DecodeArray returns the component range values for the DeviceN colorspace.
|
||
// [0 1.0 0 1.0 ...] for each color component.
|
||
func (_beadg *PdfColorspaceDeviceN )DecodeArray ()[]float64 {var _bcebb []float64 ;for _gccbe :=0;_gccbe < _beadg .GetNumComponents ();_gccbe ++{_bcebb =append (_bcebb ,0.0,1.0);};return _bcebb ;};
|
||
|
||
// NewPdfAnnotation3D returns a new 3d annotation.
|
||
func NewPdfAnnotation3D ()*PdfAnnotation3D {_gfg :=NewPdfAnnotation ();_ebf :=&PdfAnnotation3D {};_ebf .PdfAnnotation =_gfg ;_gfg .SetContext (_ebf );return _ebf ;};func (_dcd *PdfAnnotationMarkup )appendToPdfDictionary (_bebg *_fd .PdfObjectDictionary ){_bebg .SetIfNotNil ("\u0054",_dcd .T );if _dcd .Popup !=nil {_bebg .Set ("\u0050\u006f\u0070u\u0070",_dcd .Popup .ToPdfObject ());};_bebg .SetIfNotNil ("\u0043\u0041",_dcd .CA );_bebg .SetIfNotNil ("\u0052\u0043",_dcd .RC );_bebg .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_dcd .CreationDate );_bebg .SetIfNotNil ("\u0049\u0052\u0054",_dcd .IRT );_bebg .SetIfNotNil ("\u0053\u0075\u0062\u006a",_dcd .Subj );_bebg .SetIfNotNil ("\u0052\u0054",_dcd .RT );_bebg .SetIfNotNil ("\u0049\u0054",_dcd .IT );_bebg .SetIfNotNil ("\u0045\u0078\u0044\u0061\u0074\u0061",_dcd .ExData );};
|
||
|
||
// NewPdfColorDeviceCMYK returns a new CMYK32 color.
|
||
func NewPdfColorDeviceCMYK (c ,m ,y ,k float64 )*PdfColorDeviceCMYK {_ddgc :=PdfColorDeviceCMYK {c ,m ,y ,k };return &_ddgc ;};var _fgfc =false ;
|
||
|
||
// FieldFlag represents form field flags. Some of the flags can apply to all types of fields whereas other
|
||
// flags are specific.
|
||
type FieldFlag uint32 ;
|
||
|
||
// NewPdfActionMovie returns a new "movie" action.
|
||
func NewPdfActionMovie ()*PdfActionMovie {_ge :=NewPdfAction ();_gde :=&PdfActionMovie {};_gde .PdfAction =_ge ;_ge .SetContext (_gde );return _gde ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eada *PdfAnnotationLink )ToPdfObject ()_fd .PdfObject {_eada .PdfAnnotation .ToPdfObject ();_ggcf :=_eada ._defg ;_ccac :=_ggcf .PdfObject .(*_fd .PdfObjectDictionary );_ccac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u004c\u0069\u006e\u006b"));if _eada ._bda !=nil &&_eada ._bda ._db !=nil {_ccac .Set ("\u0041",_eada ._bda ._db .ToPdfObject ());}else if _eada .A !=nil {_ccac .Set ("\u0041",_eada .A );};_ccac .SetIfNotNil ("\u0044\u0065\u0073\u0074",_eada .Dest );_ccac .SetIfNotNil ("\u0048",_eada .H );_ccac .SetIfNotNil ("\u0050\u0041",_eada .PA );_ccac .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_eada .QuadPoints );_ccac .SetIfNotNil ("\u0042\u0053",_eada .BS );return _ggcf ;};
|
||
|
||
// NewPdfAction returns an initialized generic PDF action model.
|
||
func NewPdfAction ()*PdfAction {_dc :=&PdfAction {};_dc ._fgb =_fd .MakeIndirectObject (_fd .MakeDict ());return _dc ;};
|
||
|
||
// 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 ;
|
||
|
||
// 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 (_ggcfe *Image )SetSamples (samples []uint32 ){if _ggcfe .BitsPerComponent < 8{samples =_ggcfe .samplesAddPadding (samples );};_ggcaa :=_ddf .ResampleUint32 (samples ,int (_ggcfe .BitsPerComponent ),8);_fgdad :=make ([]byte ,len (_ggcaa ));for _efde ,_dacec :=range _ggcaa {_fgdad [_efde ]=byte (_dacec );};_ggcfe .Data =_fgdad ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_cadgf *PdfPageResourcesColorspaces )ToPdfObject ()_fd .PdfObject {_fdad :=_fd .MakeDict ();for _ ,_eaaa :=range _cadgf .Names {_fdad .Set (_fd .PdfObjectName (_eaaa ),_cadgf .Colorspaces [_eaaa ].ToPdfObject ());};if _cadgf ._eeaafd !=nil {_cadgf ._eeaafd .PdfObject =_fdad ;return _cadgf ._eeaafd ;};return _fdad ;};func (_cbcb *PdfColorspaceLab )String ()string {return "\u004c\u0061\u0062"};
|
||
|
||
// GetContext returns the annotation context which contains the specific type-dependent context.
|
||
// The context represents the subannotation.
|
||
func (_acbg *PdfAnnotation )GetContext ()PdfModel {if _acbg ==nil {return nil ;};return _acbg ._ccd ;};func (_aafd *PdfAppender )updateObjectsDeep (_cddc _fd .PdfObject ,_efgc map[_fd .PdfObject ]struct{}){if _efgc ==nil {_efgc =map[_fd .PdfObject ]struct{}{};};if _ ,_fffe :=_efgc [_cddc ];_fffe ||_cddc ==nil {return ;};_efgc [_cddc ]=struct{}{};_fbe :=_fd .ResolveReferencesDeep (_cddc ,_aafd ._ddag );if _fbe !=nil {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_fbe );};switch _fdcae :=_cddc .(type ){case *_fd .PdfIndirectObject :switch {case _fdcae .GetParser ()==_aafd ._bfb ._egbge :return ;case _fdcae .GetParser ()==_aafd .Reader ._egbge :_bfgba ,_ :=_aafd ._bfb .GetIndirectObjectByNumber (int (_fdcae .ObjectNumber ));_aeeb ,_degf :=_bfgba .(*_fd .PdfIndirectObject );if _degf &&_aeeb !=nil {if _aeeb .PdfObject !=_fdcae .PdfObject &&_aeeb .PdfObject .WriteString ()!=_fdcae .PdfObject .WriteString (){_aafd .addNewObject (_cddc );_aafd ._daec [_cddc ]=_fdcae .ObjectNumber ;};};default:_aafd .addNewObject (_cddc );};_aafd .updateObjectsDeep (_fdcae .PdfObject ,_efgc );case *_fd .PdfObjectArray :for _ ,_cfeb :=range _fdcae .Elements (){_aafd .updateObjectsDeep (_cfeb ,_efgc );};case *_fd .PdfObjectDictionary :for _ ,_efgg :=range _fdcae .Keys (){_aafd .updateObjectsDeep (_fdcae .Get (_efgg ),_efgc );};case *_fd .PdfObjectStreams :if _fdcae .GetParser ()!=_aafd ._bfb ._egbge {for _ ,_abfd :=range _fdcae .Elements (){_aafd .updateObjectsDeep (_abfd ,_efgc );};};case *_fd .PdfObjectStream :switch {case _fdcae .GetParser ()==_aafd ._bfb ._egbge :return ;case _fdcae .GetParser ()==_aafd .Reader ._egbge :if _ebbb ,_gaeg :=_aafd ._bfb ._egbge .LookupByReference (_fdcae .PdfObjectReference );_gaeg ==nil {var _egbgd bool ;if _egdg ,_cgeg :=_fd .GetStream (_ebbb );_cgeg &&_bg .Equal (_egdg .Stream ,_fdcae .Stream ){_egbgd =true ;};if _bcec ,_eead :=_fd .GetDict (_ebbb );_egbgd &&_eead {_egbgd =_bcec .WriteString ()==_fdcae .PdfObjectDictionary .WriteString ();};if _egbgd {return ;};};if _fdcae .ObjectNumber !=0{_aafd ._daec [_cddc ]=_fdcae .ObjectNumber ;};default:if _ ,_gdebc :=_aafd ._baef [_cddc ];!_gdebc {_aafd .addNewObject (_cddc );};};_aafd .updateObjectsDeep (_fdcae .PdfObjectDictionary ,_efgc );};};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_fcadc *PdfColorspaceSpecialPattern )ToPdfObject ()_fd .PdfObject {if _fcadc .UnderlyingCS ==nil {return _fd .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e");};_ggce :=_fd .MakeArray (_fd .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_ggce .Append (_fcadc .UnderlyingCS .ToPdfObject ());if _fcadc ._agedg !=nil {_fcadc ._agedg .PdfObject =_ggce ;return _fcadc ._agedg ;};return _ggce ;};
|
||
|
||
// NewPdfAnnotationFreeText returns a new free text annotation.
|
||
func NewPdfAnnotationFreeText ()*PdfAnnotationFreeText {_bfg :=NewPdfAnnotation ();_cda :=&PdfAnnotationFreeText {};_cda .PdfAnnotation =_bfg ;_cda .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bfg .SetContext (_cda );return _cda ;};func _geddg ()string {_ffab :=_aa .GetLicenseKey ();if len (_daee )> 0&&(_ffab .IsLicensed ()||_fgfc ){return _daee ;};return _d .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",_ebddd (),_ffab .TypeToString ());};
|
||
|
||
// SetVersion sets the PDF version of the output file.
|
||
func (_bfdab *PdfWriter )SetVersion (majorVersion ,minorVersion int ){_bfdab ._fddbd =majorVersion ;_bfdab ._cecag =minorVersion ;};
|
||
|
||
// CharMetrics represents width and height metrics of a glyph.
|
||
type CharMetrics =_aaf .CharMetrics ;
|
||
|
||
// PdfVersion returns version of the PDF file.
|
||
func (_cdgbb *PdfReader )PdfVersion ()_fd .Version {return _cdgbb ._egbge .PdfVersion ()};
|
||
|
||
// ToPdfObject returns a PdfObject representation of PdfColorspaceDeviceNAttributes as a PdfObjectDictionary directly
|
||
// or indirectly within an indirect object container.
|
||
func (_ecce *PdfColorspaceDeviceNAttributes )ToPdfObject ()_fd .PdfObject {_beff :=_fd .MakeDict ();if _ecce .Subtype !=nil {_beff .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ecce .Subtype );};_beff .SetIfNotNil ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s",_ecce .Colorants );_beff .SetIfNotNil ("\u0050r\u006f\u0063\u0065\u0073\u0073",_ecce .Process );_beff .SetIfNotNil ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073",_ecce .MixingHints );if _ecce ._bcda !=nil {_ecce ._bcda .PdfObject =_beff ;return _ecce ._bcda ;};return _beff ;};
|
||
|
||
// NewPdfAnnotationPolygon returns a new polygon annotation.
|
||
func NewPdfAnnotationPolygon ()*PdfAnnotationPolygon {_gca :=NewPdfAnnotation ();_fddg :=&PdfAnnotationPolygon {};_fddg .PdfAnnotation =_gca ;_fddg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gca .SetContext (_fddg );return _fddg ;};
|
||
|
||
// GenerateXObjectName generates an unused XObject name that can be used for
|
||
// adding new XObjects. Uses format XObj1, XObj2, ...
|
||
func (_baefe *PdfPageResources )GenerateXObjectName ()_fd .PdfObjectName {_deeb :=1;for {_bcfa :=_fd .MakeName (_d .Sprintf ("\u0058\u004f\u0062\u006a\u0025\u0064",_deeb ));if !_baefe .HasXObjectByName (*_bcfa ){return *_bcfa ;};_deeb ++;};};func _ceeg (_aebc *_fd .PdfObjectDictionary ,_adbad *fontCommon )(*pdfCIDFontType2 ,error ){if _adbad ._ccea !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_fca .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",_adbad );return nil ,_fd .ErrRangeError ;};_cggfc :=_aedbg (_adbad );_gcedb ,_cggcg :=_fd .GetDict (_aebc .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_cggcg {_fca .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",_adbad );return nil ,ErrRequiredAttributeMissing ;};_cggfc .CIDSystemInfo =_gcedb ;_cggfc .DW =_aebc .Get ("\u0044\u0057");_cggfc .W =_aebc .Get ("\u0057");_cggfc .DW2 =_aebc .Get ("\u0044\u0057\u0032");_cggfc .W2 =_aebc .Get ("\u0057\u0032");_cggfc .CIDToGIDMap =_aebc .Get ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070");_cggfc ._gcegd =1000.0;if _agfe ,_babb :=_fd .GetNumberAsFloat (_cggfc .DW );_babb ==nil {_cggfc ._gcegd =_agfe ;};_aacb ,_eegfb :=_fggb (_cggfc .W );if _eegfb !=nil {return nil ,_eegfb ;};if _aacb ==nil {_aacb =map[_gf .CharCode ]float64 {};};_cggfc ._bggdf =_aacb ;return _cggfc ,nil ;};func _cdef (_deef _fd .PdfObject )(*PdfFontDescriptor ,error ){_fcggd :=&PdfFontDescriptor {};_deef =_fd .ResolveReference (_deef );if _ddbeg ,_cfddb :=_deef .(*_fd .PdfIndirectObject );_cfddb {_fcggd ._dgad =_ddbeg ;_deef =_ddbeg .PdfObject ;};_fcbdg ,_fdfdc :=_fd .GetDict (_deef );if !_fdfdc {_fca .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",_deef );return nil ,_fd .ErrTypeError ;};if _aggcd :=_fcbdg .Get ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065");_aggcd !=nil {_fcggd .FontName =_aggcd ;}else {_fca .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");};_becffc ,_ :=_fd .GetName (_fcggd .FontName );if _aacec :=_fcbdg .Get ("\u0054\u0079\u0070\u0065");_aacec !=nil {_cgfec ,_ffed :=_aacec .(*_fd .PdfObjectName );if !_ffed ||string (*_cgfec )!="\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"{_fca .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",_aacec ,_becffc ,_fcggd .FontName );};}else {_fca .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",_becffc ,_fcggd .FontName );};_fcggd .FontFamily =_fcbdg .Get ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079");_fcggd .FontStretch =_fcbdg .Get ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068");_fcggd .FontWeight =_fcbdg .Get ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074");_fcggd .Flags =_fcbdg .Get ("\u0046\u006c\u0061g\u0073");_fcggd .FontBBox =_fcbdg .Get ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078");_fcggd .ItalicAngle =_fcbdg .Get ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065");_fcggd .Ascent =_fcbdg .Get ("\u0041\u0073\u0063\u0065\u006e\u0074");_fcggd .Descent =_fcbdg .Get ("\u0044e\u0073\u0063\u0065\u006e\u0074");_fcggd .Leading =_fcbdg .Get ("\u004ce\u0061\u0064\u0069\u006e\u0067");_fcggd .CapHeight =_fcbdg .Get ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t");_fcggd .XHeight =_fcbdg .Get ("\u0058H\u0065\u0069\u0067\u0068\u0074");_fcggd .StemV =_fcbdg .Get ("\u0053\u0074\u0065m\u0056");_fcggd .StemH =_fcbdg .Get ("\u0053\u0074\u0065m\u0048");_fcggd .AvgWidth =_fcbdg .Get ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068");_fcggd .MaxWidth =_fcbdg .Get ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068");_fcggd .MissingWidth =_fcbdg .Get ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068");_fcggd .FontFile =_fcbdg .Get ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065");_fcggd .FontFile2 =_fcbdg .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652");_fcggd .FontFile3 =_fcbdg .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653");_fcggd .CharSet =_fcbdg .Get ("\u0043h\u0061\u0072\u0053\u0065\u0074");_fcggd .Style =_fcbdg .Get ("\u0053\u0074\u0079l\u0065");_fcggd .Lang =_fcbdg .Get ("\u004c\u0061\u006e\u0067");_fcggd .FD =_fcbdg .Get ("\u0046\u0044");_fcggd .CIDSet =_fcbdg .Get ("\u0043\u0049\u0044\u0053\u0065\u0074");if _fcggd .Flags !=nil {if _gabf ,_ggfd :=_fd .GetIntVal (_fcggd .Flags );_ggfd {_fcggd ._fgaf =_gabf ;};};if _fcggd .MissingWidth !=nil {if _fgeg ,_fcef :=_fd .GetNumberAsFloat (_fcggd .MissingWidth );_fcef ==nil {_fcggd ._bcgdc =_fgeg ;};};if _fcggd .FontFile !=nil {_cada ,_fbecf :=_fdaeg (_fcggd .FontFile );if _fbecf !=nil {return _fcggd ,_fbecf ;};_fca .Log .Trace ("f\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u003d\u0025\u0073",_cada );_fcggd .fontFile =_cada ;};if _fcggd .FontFile2 !=nil {_bbcba ,_effb :=_aaf .NewFontFile2FromPdfObject (_fcggd .FontFile2 );if _effb !=nil {return _fcggd ,_effb ;};_fca .Log .Trace ("\u0066\u006f\u006et\u0046\u0069\u006c\u0065\u0032\u003d\u0025\u0073",_bbcba .String ());_fcggd ._accda =&_bbcba ;};return _fcggd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eegd *PdfAnnotationRichMedia )ToPdfObject ()_fd .PdfObject {_eegd .PdfAnnotation .ToPdfObject ();_dbe :=_eegd ._defg ;_gacg :=_dbe .PdfObject .(*_fd .PdfObjectDictionary );_gacg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a"));_gacg .SetIfNotNil ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073",_eegd .RichMediaSettings );_gacg .SetIfNotNil ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074",_eegd .RichMediaContent );return _dbe ;};func _cccc (_dbdc _fd .PdfObject )(*PdfColorspaceDeviceN ,error ){_fcae :=NewPdfColorspaceDeviceN ();if _adff ,_bbac :=_dbdc .(*_fd .PdfIndirectObject );_bbac {_fcae ._cbcba =_adff ;};_dbdc =_fd .TraceToDirectObject (_dbdc );_ecdd ,_cafcc :=_dbdc .(*_fd .PdfObjectArray );if !_cafcc {return nil ,_d .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 _ecdd .Len ()!=4&&_ecdd .Len ()!=5{return nil ,_d .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");};_dbdc =_ecdd .Get (0);_decg ,_cafcc :=_dbdc .(*_fd .PdfObjectName );if !_cafcc {return nil ,_d .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 *_decg !="\u0044e\u0076\u0069\u0063\u0065\u004e"{return nil ,_d .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");};_dbdc =_ecdd .Get (1);_dbdc =_fd .TraceToDirectObject (_dbdc );_fdacb ,_cafcc :=_dbdc .(*_fd .PdfObjectArray );if !_cafcc {return nil ,_d .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");};_fcae .ColorantNames =_fdacb ;_dbdc =_ecdd .Get (2);_dgfda ,_efb :=NewPdfColorspaceFromPdfObject (_dbdc );if _efb !=nil {return nil ,_efb ;};_fcae .AlternateSpace =_dgfda ;_fcecc ,_efb :=_fagc (_ecdd .Get (3));if _efb !=nil {return nil ,_efb ;};_fcae .TintTransform =_fcecc ;if _ecdd .Len ()==5{_dbbcca ,_gfcg :=_cedcc (_ecdd .Get (4));if _gfcg !=nil {return nil ,_gfcg ;};_fcae .Attributes =_dbbcca ;};return _fcae ,nil ;};func (_cgba *PdfReader )loadAnnotations (_ebabc _fd .PdfObject )([]*PdfAnnotation ,error ){_ddaba ,_egegf :=_fd .GetArray (_ebabc );if !_egegf {return nil ,_d .Errorf ("\u0041\u006e\u006e\u006fts\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _ceedee []*PdfAnnotation ;for _ ,_gbfbf :=range _ddaba .Elements (){_gbfbf =_fd .ResolveReference (_gbfbf );if _ ,_feaad :=_gbfbf .(*_fd .PdfObjectNull );_feaad {continue ;};_gaebgd ,_cffg :=_gbfbf .(*_fd .PdfObjectDictionary );_febdc ,_ageg :=_gbfbf .(*_fd .PdfIndirectObject );if _cffg {_febdc =&_fd .PdfIndirectObject {};_febdc .PdfObject =_gaebgd ;}else {if !_ageg {return nil ,_d .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");};};_dgbab ,_gccfb :=_cgba .newPdfAnnotationFromIndirectObject (_febdc );if _gccfb !=nil {return nil ,_gccfb ;};switch _aedddc :=_dgbab .GetContext ().(type ){case *PdfAnnotationWidget :for _ ,_afagc :=range _cgba .AcroForm .AllFields (){if _afagc ._fbef ==_aedddc .Parent {_aedddc ._eaeb =_afagc ;break ;};};};if _dgbab !=nil {_ceedee =append (_ceedee ,_dgbab );};};return _ceedee ,nil ;};
|
||
|
||
// AddPages adds pages to be appended to the end of the source PDF.
|
||
func (_faed *PdfAppender )AddPages (pages ...*PdfPage ){for _ ,_dbed :=range pages {_dbed =_dbed .Duplicate ();_cfadfb (_dbed );_faed ._eafg =append (_faed ._eafg ,_dbed );};return ;};
|
||
|
||
// PdfAnnotationScreen represents Screen annotations.
|
||
// (Section 12.5.6.18).
|
||
type PdfAnnotationScreen struct{*PdfAnnotation ;T _fd .PdfObject ;MK _fd .PdfObject ;A _fd .PdfObject ;AA _fd .PdfObject ;};func (_eaebb *PdfReader )newPdfAnnotationFreeTextFromDict (_gab *_fd .PdfObjectDictionary )(*PdfAnnotationFreeText ,error ){_fcfa :=PdfAnnotationFreeText {};_gdeg ,_aebf :=_eaebb .newPdfAnnotationMarkupFromDict (_gab );if _aebf !=nil {return nil ,_aebf ;};_fcfa .PdfAnnotationMarkup =_gdeg ;_fcfa .DA =_gab .Get ("\u0044\u0041");_fcfa .Q =_gab .Get ("\u0051");_fcfa .RC =_gab .Get ("\u0052\u0043");_fcfa .DS =_gab .Get ("\u0044\u0053");_fcfa .CL =_gab .Get ("\u0043\u004c");_fcfa .IT =_gab .Get ("\u0049\u0054");_fcfa .BE =_gab .Get ("\u0042\u0045");_fcfa .RD =_gab .Get ("\u0052\u0044");_fcfa .BS =_gab .Get ("\u0042\u0053");_fcfa .LE =_gab .Get ("\u004c\u0045");return &_fcfa ,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 _fd .StreamEncoder ;Intent _fd .PdfObject ;ImageMask _fd .PdfObject ;Mask _fd .PdfObject ;Matte _fd .PdfObject ;Decode _fd .PdfObject ;Interpolate _fd .PdfObject ;Alternatives _fd .PdfObject ;SMask _fd .PdfObject ;SMaskInData _fd .PdfObject ;Name _fd .PdfObject ;StructParent _fd .PdfObject ;ID _fd .PdfObject ;OPI _fd .PdfObject ;Metadata _fd .PdfObject ;OC _fd .PdfObject ;Stream []byte ;_acbee *_fd .PdfObjectStream ;};func _edded (_eedgd *_fd .PdfObjectDictionary )(*PdfFieldButton ,error ){_eabd :=&PdfFieldButton {};_eabd .Opt ,_ =_fd .GetArray (_eedgd .Get ("\u004f\u0070\u0074"));return _eabd ,nil ;};
|
||
|
||
// NewPdfAnnotationSquare returns a new square annotation.
|
||
func NewPdfAnnotationSquare ()*PdfAnnotationSquare {_bbbb :=NewPdfAnnotation ();_cbbc :=&PdfAnnotationSquare {};_cbbc .PdfAnnotation =_bbbb ;_cbbc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bbbb .SetContext (_cbbc );return _cbbc ;};
|
||
|
||
// GetContainingPdfObject returns the container of the shading object (indirect object).
|
||
func (_dgeea *PdfShading )GetContainingPdfObject ()_fd .PdfObject {return _dgeea ._bcgcg };func (_cag *PdfReader )newPdfActionLaunchFromDict (_deg *_fd .PdfObjectDictionary )(*PdfActionLaunch ,error ){_eeg ,_fag :=_dgd (_deg .Get ("\u0046"));if _fag !=nil {return nil ,_fag ;};return &PdfActionLaunch {Win :_deg .Get ("\u0057\u0069\u006e"),Mac :_deg .Get ("\u004d\u0061\u0063"),Unix :_deg .Get ("\u0055\u006e\u0069\u0078"),NewWindow :_deg .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_eeg },nil ;};
|
||
|
||
// WriteToFile writes the Appender output to file specified by path.
|
||
func (_acee *PdfAppender )WriteToFile (outputPath string )error {_ggdg ,_gbfb :=_ab .Create (outputPath );if _gbfb !=nil {return _gbfb ;};defer _ggdg .Close ();return _acee .Write (_ggdg );};func (_eegg *PdfAcroForm )fill (_gdbfc FieldValueProvider ,_gefeff FieldAppearanceGenerator )error {if _eegg ==nil {return nil ;};_edab ,_aeca :=_gdbfc .FieldValues ();if _aeca !=nil {return _aeca ;};for _ ,_dedeg :=range _eegg .AllFields (){_eeddf :=_dedeg .PartialName ();_bebc ,_efgcb :=_edab [_eeddf ];if !_efgcb {if _ccbe ,_gfcgg :=_dedeg .FullName ();_gfcgg ==nil {_bebc ,_efgcb =_edab [_ccbe ];};};if !_efgcb {_fca .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",_eeddf );continue ;};if _dbbfd :=_ebeb (_dedeg ,_bebc );_dbbfd !=nil {return _dbbfd ;};if _gefeff ==nil {continue ;};for _ ,_gfbaf :=range _dedeg .Annotations {_dcae ,_fbdfe :=_gefeff .GenerateAppearanceDict (_eegg ,_dedeg ,_gfbaf );if _fbdfe !=nil {return _fbdfe ;};_gfbaf .AP =_dcae ;_gfbaf .ToPdfObject ();};};return nil ;};
|
||
|
||
// GetPrimitiveFromModel returns the primitive object corresponding to the input `model`.
|
||
func (_gdcab *modelManager )GetPrimitiveFromModel (model PdfModel )_fd .PdfObject {_adce ,_ecebc :=_gdcab ._ecca [model ];if !_ecebc {return nil ;};return _adce ;};
|
||
|
||
// ToImage converts an object to an Image which can be transformed or saved out.
|
||
// The image data is decoded and the Image returned.
|
||
func (_ffacf *XObjectImage )ToImage ()(*Image ,error ){_afcfe :=&Image {};if _ffacf .Height ==nil {return nil ,_fce .New ("\u0068e\u0069\u0067\u0068\u0074\u0020\u0061\u0074\u0074\u0072\u0069\u0062u\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_afcfe .Height =*_ffacf .Height ;if _ffacf .Width ==nil {return nil ,_fce .New ("\u0077\u0069\u0064th\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_afcfe .Width =*_ffacf .Width ;if _ffacf .BitsPerComponent ==nil {return nil ,_fce .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");};_afcfe .BitsPerComponent =*_ffacf .BitsPerComponent ;_afcfe .ColorComponents =_ffacf .ColorSpace .GetNumComponents ();_ffacf ._acbee .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_fd .MakeInteger (int64 (_afcfe .ColorComponents )));_cbfbf ,_gefccg :=_fd .DecodeStream (_ffacf ._acbee );if _gefccg !=nil {return nil ,_gefccg ;};_afcfe .Data =_cbfbf ;if _ffacf .Decode !=nil {_ccfef ,_eafge :=_ffacf .Decode .(*_fd .PdfObjectArray );if !_eafge {_fca .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020D\u0065\u0063\u006f\u0064\u0065 \u006f\u0062\u006a\u0065\u0063\u0074");return nil ,_fce .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065");};_gbbea ,_fggga :=_ccfef .ToFloat64Array ();if _fggga !=nil {return nil ,_fggga ;};_afcfe ._dfec =_gbbea ;};return _afcfe ,nil ;};
|
||
|
||
// NewXObjectImage returns a new XObjectImage.
|
||
func NewXObjectImage ()*XObjectImage {_adbab :=&XObjectImage {};_eeace :=&_fd .PdfObjectStream {};_eeace .PdfObjectDictionary =_fd .MakeDict ();_adbab ._acbee =_eeace ;return _adbab ;};
|
||
|
||
// PdfBorderStyle represents a border style dictionary (12.5.4 Border Styles p. 394).
|
||
type PdfBorderStyle struct{W *float64 ;S *BorderStyle ;D *[]int ;_fefdb _fd .PdfObject ;};
|
||
|
||
// PdfActionGoToR represents a GoToR action.
|
||
type PdfActionGoToR struct{*PdfAction ;F *PdfFilespec ;D _fd .PdfObject ;NewWindow _fd .PdfObject ;};
|
||
|
||
// PdfAnnotationStamp represents Stamp annotations.
|
||
// (Section 12.5.6.12).
|
||
type PdfAnnotationStamp struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Name _fd .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_daadd *PdfShadingType2 )ToPdfObject ()_fd .PdfObject {_daadd .PdfShading .ToPdfObject ();_cbgdg ,_gdeeb :=_daadd .getShadingDict ();if _gdeeb !=nil {_fca .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 _cbgdg ==nil {_fca .Log .Error ("\u0053\u0068\u0061\u0064in\u0067\u0020\u0064\u0069\u0063\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c");return nil ;};if _daadd .Coords !=nil {_cbgdg .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_daadd .Coords );};if _daadd .Domain !=nil {_cbgdg .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_daadd .Domain );};if _daadd .Function !=nil {if len (_daadd .Function )==1{_cbgdg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_daadd .Function [0].ToPdfObject ());}else {_baefg :=_fd .MakeArray ();for _ ,_fdbd :=range _daadd .Function {_baefg .Append (_fdbd .ToPdfObject ());};_cbgdg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_baefg );};};if _daadd .Extend !=nil {_cbgdg .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_daadd .Extend );};return _daadd ._bcgcg ;};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););
|
||
|
||
// SetAnnotations sets the annotations list.
|
||
func (_fgeee *PdfPage )SetAnnotations (annotations []*PdfAnnotation ){_fgeee ._bfedf =annotations };type modelManager struct{_ecca map[PdfModel ]_fd .PdfObject ;_gfbaa map[_fd .PdfObject ]PdfModel ;};
|
||
|
||
// ToPdfObject returns the choice field dictionary within an indirect object (container).
|
||
func (_bcde *PdfFieldChoice )ToPdfObject ()_fd .PdfObject {_bcde .PdfField .ToPdfObject ();_gccebd :=_bcde ._fbef ;_gggf :=_gccebd .PdfObject .(*_fd .PdfObjectDictionary );_gggf .Set ("\u0046\u0054",_fd .MakeName ("\u0043\u0068"));if _bcde .Opt !=nil {_gggf .Set ("\u004f\u0070\u0074",_bcde .Opt );};if _bcde .TI !=nil {_gggf .Set ("\u0054\u0049",_bcde .TI );};if _bcde .I !=nil {_gggf .Set ("\u0049",_bcde .I );};return _gccebd ;};func _cbbb (_ggec _fd .PdfObject )(*PdfColorspaceCalGray ,error ){_beee :=NewPdfColorspaceCalGray ();if _edege ,_ecga :=_ggec .(*_fd .PdfIndirectObject );_ecga {_beee ._agcc =_edege ;};_ggec =_fd .TraceToDirectObject (_ggec );_fgdg ,_dcfa :=_ggec .(*_fd .PdfObjectArray );if !_dcfa {return nil ,_d .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _fgdg .Len ()!=2{return nil ,_d .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");};_ggec =_fd .TraceToDirectObject (_fgdg .Get (0));_acde ,_dcfa :=_ggec .(*_fd .PdfObjectName );if !_dcfa {return nil ,_d .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 *_acde !="\u0043a\u006c\u0047\u0072\u0061\u0079"{return nil ,_d .Errorf ("\u006eo\u0074\u0020\u0061\u0020\u0043\u0061\u006c\u0047\u0072\u0061\u0079 \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_ggec =_fd .TraceToDirectObject (_fgdg .Get (1));_gfdd ,_dcfa :=_ggec .(*_fd .PdfObjectDictionary );if !_dcfa {return nil ,_d .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");};_ggec =_gfdd .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_ggec =_fd .TraceToDirectObject (_ggec );_fddb ,_dcfa :=_ggec .(*_fd .PdfObjectArray );if !_dcfa {return nil ,_d .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 _fddb .Len ()!=3{return nil ,_d .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");};_adad ,_cagbd :=_fddb .GetAsFloat64Slice ();if _cagbd !=nil {return nil ,_cagbd ;};_beee .WhitePoint =_adad ;_ggec =_gfdd .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _ggec !=nil {_ggec =_fd .TraceToDirectObject (_ggec );_ceed ,_bccc :=_ggec .(*_fd .PdfObjectArray );if !_bccc {return nil ,_d .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 _ceed .Len ()!=3{return nil ,_d .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");};_cefc ,_gbga :=_ceed .GetAsFloat64Slice ();if _gbga !=nil {return nil ,_gbga ;};_beee .BlackPoint =_cefc ;};_ggec =_gfdd .Get ("\u0047\u0061\u006dm\u0061");if _ggec !=nil {_ggec =_fd .TraceToDirectObject (_ggec );_fecd ,_dgecf :=_fd .GetNumberAsFloat (_ggec );if _dgecf !=nil {return nil ,_d .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0067\u0061\u006d\u006d\u0061\u0020\u006e\u006ft\u0020\u0061\u0020n\u0075m\u0062\u0065\u0072");};_beee .Gamma =_fecd ;};return _beee ,nil ;};
|
||
|
||
// PdfActionHide represents a hide action.
|
||
type PdfActionHide struct{*PdfAction ;T _fd .PdfObject ;H _fd .PdfObject ;};
|
||
|
||
// String returns a human readable description of `fontfile`.
|
||
func (_eecaf *fontFile )String ()string {_fega :="\u005b\u004e\u006f\u006e\u0065\u005d";if _eecaf ._dfga !=nil {_fega =_eecaf ._dfga .String ();};return _d .Sprintf ("\u0046O\u004e\u0054\u0046\u0049\u004c\u0045\u007b\u0025\u0023\u0071\u0020e\u006e\u0063\u006f\u0064\u0065\u0072\u003d\u0025\u0073\u007d",_eecaf ._edgf ,_fega );};func (_ebbf *PdfReader )newPdfAnnotationUnderlineFromDict (_bage *_fd .PdfObjectDictionary )(*PdfAnnotationUnderline ,error ){_cbbf :=PdfAnnotationUnderline {};_dgbc ,_daae :=_ebbf .newPdfAnnotationMarkupFromDict (_bage );if _daae !=nil {return nil ,_daae ;};_cbbf .PdfAnnotationMarkup =_dgbc ;_cbbf .QuadPoints =_bage .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_cbbf ,nil ;};
|
||
|
||
// GetSubFilter returns SubFilter value or empty string.
|
||
func (_dbcc *pdfSignDictionary )GetSubFilter ()string {_cggbd :=_dbcc .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r");if _cggbd ==nil {return "";};if _cdedg ,_fffeg :=_fd .GetNameVal (_cggbd );_fffeg {return _cdedg ;};return "";};
|
||
|
||
// Insert adds a top level outline item in the outline,
|
||
// at the specified index.
|
||
func (_gcdd *Outline )Insert (index uint ,item *OutlineItem ){_gcca :=uint (len (_gcdd .Entries ));if index > _gcca {index =_gcca ;};_gcdd .Entries =append (_gcdd .Entries [:index ],append ([]*OutlineItem {item },_gcdd .Entries [index :]...)...);};func _caaab ()*modelManager {_ddfed :=modelManager {};_ddfed ._ecca =map[PdfModel ]_fd .PdfObject {};_ddfed ._gfbaa =map[_fd .PdfObject ]PdfModel {};return &_ddfed ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eae *PdfActionImportData )ToPdfObject ()_fd .PdfObject {_eae .PdfAction .ToPdfObject ();_bca :=_eae ._fgb ;_bb :=_bca .PdfObject .(*_fd .PdfObjectDictionary );_bb .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeImportData )));if _eae .F !=nil {_bb .Set ("\u0046",_eae .F .ToPdfObject ());};return _bca ;};
|
||
|
||
// PdfOutline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
type PdfOutline struct{PdfOutlineTreeNode ;Parent *PdfOutlineTreeNode ;Count *int64 ;_addc *_fd .PdfIndirectObject ;};
|
||
|
||
// SetPageLabels sets the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_cdcae *PdfWriter )SetPageLabels (pageLabels _fd .PdfObject )error {if pageLabels ==nil {return nil ;};_fca .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");_cdcae ._agagg .Set ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073",pageLabels );return _cdcae .addObjects (pageLabels );};func (_agda *PdfColorspaceSpecialPattern )String ()string {return "\u0050a\u0074\u0074\u0065\u0072\u006e";};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_afga *PdfShading )ToPdfObject ()_fd .PdfObject {_agdc :=_afga ._bcgcg ;_aadcgf ,_ggeea :=_afga .getShadingDict ();if _ggeea !=nil {_fca .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 _afga .ShadingType !=nil {_aadcgf .Set ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_afga .ShadingType );};if _afga .ColorSpace !=nil {_aadcgf .Set ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_afga .ColorSpace .ToPdfObject ());};if _afga .Background !=nil {_aadcgf .Set ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064",_afga .Background );};if _afga .BBox !=nil {_aadcgf .Set ("\u0042\u0042\u006f\u0078",_afga .BBox .ToPdfObject ());};if _afga .AntiAlias !=nil {_aadcgf .Set ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s",_afga .AntiAlias );};return _agdc ;};
|
||
|
||
// NewPdfAcroForm returns a new PdfAcroForm with an intialized container (indirect object).
|
||
func NewPdfAcroForm ()*PdfAcroForm {return &PdfAcroForm {Fields :&[]*PdfField {},_dbcdb :_fd .MakeIndirectObject (_fd .MakeDict ())};};func _adca (_aafg *_fd .PdfObjectDictionary )(*PdfFieldChoice ,error ){_efeb :=&PdfFieldChoice {};_efeb .Opt ,_ =_fd .GetArray (_aafg .Get ("\u004f\u0070\u0074"));_efeb .TI ,_ =_fd .GetInt (_aafg .Get ("\u0054\u0049"));_efeb .I ,_ =_fd .GetArray (_aafg .Get ("\u0049"));return _efeb ,nil ;};
|
||
|
||
// ImageToRGB returns the passed in image. Method exists in order to satisfy
|
||
// the PdfColorspace interface.
|
||
func (_ccbc *PdfColorspaceDeviceRGB )ImageToRGB (img Image )(Image ,error ){return img ,nil };func (_gcfd *PdfColorspaceDeviceRGB )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B";};
|
||
|
||
// GetContentStreams returns the content stream as an array of strings.
|
||
func (_fceba *PdfPage )GetContentStreams ()([]string ,error ){if _fceba .Contents ==nil {return nil ,nil ;};_gfacc :=_fd .TraceToDirectObject (_fceba .Contents );var _cdagb []_fd .PdfObject ;if _cgag ,_eecd :=_gfacc .(*_fd .PdfObjectArray );_eecd {_cdagb =_cgag .Elements ();}else {_cdagb =[]_fd .PdfObject {_gfacc };};var _gfdc []string ;for _ ,_gfgg :=range _cdagb {_cffef ,_adeeg :=_agdfe (_gfgg );if _adeeg !=nil {return nil ,_adeeg ;};_gfdc =append (_gfdc ,_cffef );};return _gfdc ,nil ;};
|
||
|
||
// NewPdfAnnotationPrinterMark returns a new printermark annotation.
|
||
func NewPdfAnnotationPrinterMark ()*PdfAnnotationPrinterMark {_dbd :=NewPdfAnnotation ();_eeag :=&PdfAnnotationPrinterMark {};_eeag .PdfAnnotation =_dbd ;_dbd .SetContext (_eeag );return _eeag ;};func (_ggdba *PdfReader )buildPageList (_deed *_fd .PdfIndirectObject ,_ebcc *_fd .PdfIndirectObject ,_afgcd map[_fd .PdfObject ]struct{})error {if _deed ==nil {return nil ;};if _ ,_bafcg :=_afgcd [_deed ];_bafcg {_fca .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",_deed .ObjectNumber );return nil ;};_afgcd [_deed ]=struct{}{};_cdaeec ,_befbea :=_deed .PdfObject .(*_fd .PdfObjectDictionary );if !_befbea {return _fce .New ("n\u006f\u0064\u0065\u0020no\u0074 \u0061\u0020\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");};_dgfg ,_befbea :=(*_cdaeec ).Get ("\u0054\u0079\u0070\u0065").(*_fd .PdfObjectName );if !_befbea {if _cdaeec .Get ("\u004b\u0069\u0064\u0073")==nil {return _fce .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");};_fca .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.");_dgfg =_fd .MakeName ("\u0050\u0061\u0067e\u0073");_cdaeec .Set ("\u0054\u0079\u0070\u0065",_dgfg );};_fca .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",*_dgfg ,_deed );if *_dgfg =="\u0050\u0061\u0067\u0065"{_bccd ,_ecfc :=_ggdba .newPdfPageFromDict (_cdaeec );if _ecfc !=nil {return _ecfc ;};_bccd .setContainer (_deed );if _ebcc !=nil {_cdaeec .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ebcc );};_ggdba ._faca =append (_ggdba ._faca ,_deed );_ggdba .PageList =append (_ggdba .PageList ,_bccd );return nil ;};if *_dgfg !="\u0050\u0061\u0067e\u0073"{_fca .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",_dgfg );return _fce .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 _ebcc !=nil {_cdaeec .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ebcc );};if !_ggdba ._ebeae {_cgfbg :=_ggdba .traverseObjectData (_deed );if _cgfbg !=nil {return _cgfbg ;};};_agggf ,_ccbec :=_ggdba ._egbge .Resolve (_cdaeec .Get ("\u004b\u0069\u0064\u0073"));if _ccbec !=nil {_fca .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 _ccbec ;};var _caad *_fd .PdfObjectArray ;_caad ,_befbea =_agggf .(*_fd .PdfObjectArray );if !_befbea {_cgbfc ,_fffdg :=_agggf .(*_fd .PdfIndirectObject );if !_fffdg {return _fce .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_caad ,_befbea =_cgbfc .PdfObject .(*_fd .PdfObjectArray );if !_befbea {return _fce .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");};};_fca .Log .Trace ("\u004b\u0069\u0064\u0073\u003a\u0020\u0025\u0073",_caad );for _gcdac ,_fbaga :=range _caad .Elements (){_befae ,_ecgca :=_fd .GetIndirect (_fbaga );if !_ecgca {_fca .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",_befae );return _fce .New ("\u0070a\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_caad .Set (_gcdac ,_befae );_ccbec =_ggdba .buildPageList (_befae ,_deed ,_afgcd );if _ccbec !=nil {return _ccbec ;};};return nil ;};func _gdadd ()_b .Time {return _afed };
|
||
|
||
// GetContext returns a reference to the subshading entry as represented by PdfShadingType1-7.
|
||
func (_bggbe *PdfShading )GetContext ()PdfModel {return _bggbe ._ebbcbe };
|
||
|
||
// GetModelFromPrimitive returns the model corresponding to the `primitive` PdfObject.
|
||
func (_edead *modelManager )GetModelFromPrimitive (primitive _fd .PdfObject )PdfModel {model ,_efcfb :=_edead ._gfbaa [primitive ];if !_efcfb {return nil ;};return model ;};var _ pdfFont =(*pdfFontType0 )(nil );
|
||
|
||
// AddPage adds a page to the PDF file. The new page should be an indirect object.
|
||
func (_abfbef *PdfWriter )AddPage (page *PdfPage )error {_cfadfb (page );_eeccd :=page .ToPdfObject ();_fca .Log .Trace ("\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d");_fca .Log .Trace ("\u0041p\u0070\u0065\u006e\u0064i\u006e\u0067\u0020\u0074\u006f \u0070a\u0067e\u0020\u006c\u0069\u0073\u0074\u0020\u0025T",_eeccd );_bfdd ,_addgf :=_fd .GetIndirect (_eeccd );if !_addgf {return _fce .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");};_fca .Log .Trace ("\u0025\u0073",_bfdd );_fca .Log .Trace ("\u0025\u0073",_bfdd .PdfObject );_cgae ,_addgf :=_fd .GetDict (_bfdd .PdfObject );if !_addgf {return _fce .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");};_fbggf ,_addgf :=_fd .GetName (_cgae .Get ("\u0054\u0079\u0070\u0065"));if !_addgf {return _d .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",_cgae .Get ("\u0054\u0079\u0070\u0065"));};if _fbggf .String ()!="\u0050\u0061\u0067\u0065"{return _fce .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");};_cadfc :=[]_fd .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"};_cfcbc ,_dddgb :=_fd .GetIndirect (_cgae .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_fca .Log .Trace ("P\u0061g\u0065\u0020\u0050\u0061\u0072\u0065\u006e\u0074:\u0020\u0025\u0054\u0020(%\u0076\u0029",_cgae .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"),_dddgb );for _dddgb {_fca .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cfcbc );_ddcaa ,_defa :=_fd .GetDict (_cfcbc .PdfObject );if !_defa {return _fce .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_fgbcc :=range _cadfc {_fca .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_fgbcc );if _cgae .Get (_fgbcc )!=nil {_fca .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _fgggg :=_ddcaa .Get (_fgbcc );_fgggg !=nil {_fca .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_fgbcc );_cgae .Set (_fgbcc ,_fgggg );};};_cfcbc ,_dddgb =_fd .GetIndirect (_ddcaa .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_fca .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_ddcaa .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_fca .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c \u0064\u006f\u006e\u0065");_cgae .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_abfbef ._fgcc );_bfdd .PdfObject =_cgae ;_gfffd ,_addgf :=_fd .GetDict (_abfbef ._fgcc .PdfObject );if !_addgf {return _fce .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");};_cgdfa ,_addgf :=_fd .GetArray (_gfffd .Get ("\u004b\u0069\u0064\u0073"));if !_addgf {return _fce .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");};_cgdfa .Append (_bfdd );_abfbef ._geaba [_cgae ]=struct{}{};_cfadf ,_addgf :=_fd .GetInt (_gfffd .Get ("\u0043\u006f\u0075n\u0074"));if !_addgf {return _fce .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");};*_cfadf =*_cfadf +1;_abfbef .addObject (_bfdd );_abcdb :=_abfbef .addObjects (_cgae );if _abcdb !=nil {return _abcdb ;};return nil ;};
|
||
|
||
// Sign signs a specific page with a digital signature.
|
||
// The signature field parameter must have a valid signature dictionary
|
||
// specified by its V field.
|
||
func (_gccd *PdfAppender )Sign (pageNum int ,field *PdfFieldSignature )error {if field ==nil {return _fce .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");};_gfea :=field .V ;if _gfea ==nil {return _fce .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");};_fbda :=pageNum -1;if _fbda < 0||_fbda > len (_gccd ._eafg )-1{return _d .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064",pageNum );};_ccdf :=_gccd .Reader .PageList [_fbda ];field .P =_ccdf .ToPdfObject ();if field .T ==nil ||field .T .String ()==""{field .T =_fd .MakeString (_d .Sprintf ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072\u0065\u0020\u0025\u0064",pageNum ));};_ccdf .AddAnnotation (field .PdfAnnotationWidget .PdfAnnotation );if _gccd ._bbce ==_gccd ._bfb .AcroForm {_gccd ._bbce =_gccd .Reader .AcroForm ;};_bcfg :=_gccd ._bbce ;if _bcfg ==nil {_bcfg =NewPdfAcroForm ();};_bcfg .SigFlags =_fd .MakeInteger (3);_cbbd :=append (_bcfg .AllFields (),field .PdfField );_bcfg .Fields =&_cbbd ;_gccd .ReplaceAcroForm (_bcfg );_gccd .UpdatePage (_ccdf );_gccd ._eafg [_fbda ]=_ccdf ;return nil ;};func (_acgf *pdfFontType0 )baseFields ()*fontCommon {return &_acgf .fontCommon };func (_fede *PdfReader )newPdfAnnotation3DFromDict (_ecc *_fd .PdfObjectDictionary )(*PdfAnnotation3D ,error ){_cfaa :=PdfAnnotation3D {};_cfaa .T3DD =_ecc .Get ("\u0033\u0044\u0044");_cfaa .T3DV =_ecc .Get ("\u0033\u0044\u0056");_cfaa .T3DA =_ecc .Get ("\u0033\u0044\u0041");_cfaa .T3DI =_ecc .Get ("\u0033\u0044\u0049");_cfaa .T3DB =_ecc .Get ("\u0033\u0044\u0042");return &_cfaa ,nil ;};var _dfegb ="";func _acbe (_bfbe _fd .PdfObject )(*PdfColorspaceSpecialSeparation ,error ){_dggb :=NewPdfColorspaceSpecialSeparation ();if _cecd ,_afaa :=_bfbe .(*_fd .PdfIndirectObject );_afaa {_dggb ._gfbf =_cecd ;};_bfbe =_fd .TraceToDirectObject (_bfbe );_ggac ,_bfafd :=_bfbe .(*_fd .PdfObjectArray );if !_bfafd {return nil ,_d .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 _ggac .Len ()!=4{return nil ,_d .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");};_bfbe =_ggac .Get (0);_bbae ,_bfafd :=_bfbe .(*_fd .PdfObjectName );if !_bfafd {return nil ,_d .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 *_bbae !="\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"{return nil ,_d .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");};_bfbe =_ggac .Get (1);_bbae ,_bfafd =_bfbe .(*_fd .PdfObjectName );if !_bfafd {return nil ,_d .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");};_dggb .ColorantName =_bbae ;_bfbe =_ggac .Get (2);_bafe ,_gcdb :=NewPdfColorspaceFromPdfObject (_bfbe );if _gcdb !=nil {return nil ,_gcdb ;};_dggb .AlternateSpace =_bafe ;_cbee ,_gcdb :=_fagc (_ggac .Get (3));if _gcdb !=nil {return nil ,_gcdb ;};_dggb .TintTransform =_cbee ;return _dggb ,nil ;};func _debafb ()string {return _ffeac };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bccb *PdfAnnotationPolygon )ToPdfObject ()_fd .PdfObject {_bccb .PdfAnnotation .ToPdfObject ();_cabe :=_bccb ._defg ;_bdgc :=_cabe .PdfObject .(*_fd .PdfObjectDictionary );_bccb .PdfAnnotationMarkup .appendToPdfDictionary (_bdgc );_bdgc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0050o\u006c\u0079\u0067\u006f\u006e"));_bdgc .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_bccb .Vertices );_bdgc .SetIfNotNil ("\u004c\u0045",_bccb .LE );_bdgc .SetIfNotNil ("\u0042\u0053",_bccb .BS );_bdgc .SetIfNotNil ("\u0049\u0043",_bccb .IC );_bdgc .SetIfNotNil ("\u0042\u0045",_bccb .BE );_bdgc .SetIfNotNil ("\u0049\u0054",_bccb .IT );_bdgc .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_bccb .Measure );return _cabe ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_gfgb *PdfColorspaceSpecialIndexed )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fab ,_gfac :=_fd .GetNumbersAsFloat (objects );if _gfac !=nil {return nil ,_gfac ;};return _gfgb .ColorFromFloats (_fab );};
|
||
|
||
// GetParamsDict returns *core.PdfObjectDictionary with a set of basic image parameters.
|
||
func (_dfgg *Image )GetParamsDict ()*_fd .PdfObjectDictionary {_cdabc :=_fd .MakeDict ();_cdabc .Set ("\u0057\u0069\u0064t\u0068",_fd .MakeInteger (_dfgg .Width ));_cdabc .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_fd .MakeInteger (_dfgg .Height ));_cdabc .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_fd .MakeInteger (int64 (_dfgg .ColorComponents )));_cdabc .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_fd .MakeInteger (_dfgg .BitsPerComponent ));return _cdabc ;};
|
||
|
||
// ColorToRGB converts a CalRGB color to an RGB color.
|
||
func (_aefg *PdfColorspaceCalRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_befac ,_dbbcc :=color .(*PdfColorCalRGB );if !_dbbcc {_fca .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 ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gecg :=_befac .A ();_bcca :=_befac .B ();_gcaf :=_befac .C ();X :=_aefg .Matrix [0]*_ff .Pow (_gecg ,_aefg .Gamma [0])+_aefg .Matrix [3]*_ff .Pow (_bcca ,_aefg .Gamma [1])+_aefg .Matrix [6]*_ff .Pow (_gcaf ,_aefg .Gamma [2]);Y :=_aefg .Matrix [1]*_ff .Pow (_gecg ,_aefg .Gamma [0])+_aefg .Matrix [4]*_ff .Pow (_bcca ,_aefg .Gamma [1])+_aefg .Matrix [7]*_ff .Pow (_gcaf ,_aefg .Gamma [2]);Z :=_aefg .Matrix [2]*_ff .Pow (_gecg ,_aefg .Gamma [0])+_aefg .Matrix [5]*_ff .Pow (_bcca ,_aefg .Gamma [1])+_aefg .Matrix [8]*_ff .Pow (_gcaf ,_aefg .Gamma [2]);_edaa :=3.240479*X +-1.537150*Y +-0.498535*Z ;_fage :=-0.969256*X +1.875992*Y +0.041556*Z ;_cdcd :=0.055648*X +-0.204043*Y +1.057311*Z ;_edaa =_ff .Min (_ff .Max (_edaa ,0),1.0);_fage =_ff .Min (_ff .Max (_fage ,0),1.0);_cdcd =_ff .Min (_ff .Max (_cdcd ,0),1.0);return NewPdfColorDeviceRGB (_edaa ,_fage ,_cdcd ),nil ;};
|
||
|
||
// SetOCProperties sets the optional content properties.
|
||
func (_affcc *PdfWriter )SetOCProperties (ocProperties _fd .PdfObject )error {_fgdagb :=_affcc ._agagg ;if ocProperties !=nil {_fca .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u004f\u0043\u0020\u0050\u0072o\u0070\u0065\u0072\u0074\u0069\u0065\u0073\u002e\u002e\u002e");_fgdagb .Set ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",ocProperties );return _affcc .addObjects (ocProperties );};return nil ;};
|
||
|
||
// NewReaderForText makes a new PdfReader for an input PDF content string. For use in testing.
|
||
func NewReaderForText (txt string )*PdfReader {return &PdfReader {_caece :map[_fd .PdfObject ]struct{}{},_gggcg :_caaab (),_egbge :_fd .NewParserFromString (txt )};};func (_cdcebc fontCommon )asPdfObjectDictionary (_ccce string )*_fd .PdfObjectDictionary {if _ccce !=""&&_cdcebc ._ccea !=""&&_ccce !=_cdcebc ._ccea {_fca .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",_ccce ,_cdcebc );}else if _ccce ==""&&_cdcebc ._ccea ==""{_fca .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",_cdcebc );}else if _cdcebc ._ccea ==""{_cdcebc ._ccea =_ccce ;};_befbb :=_fd .MakeDict ();_befbb .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0046\u006f\u006e\u0074"));_befbb .Set ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074",_fd .MakeName (_cdcebc ._egfg ));_befbb .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName (_cdcebc ._ccea ));if _cdcebc ._ggbg !=nil {_befbb .Set ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072",_cdcebc ._ggbg .ToPdfObject ());};if _cdcebc ._ddaf !=nil {_befbb .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_cdcebc ._ddaf );}else if _cdcebc ._facge !=nil {_fadg ,_fadfe :=_cdcebc ._facge .Stream ();if _fadfe !=nil {_fca .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",_fadfe );}else {_befbb .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_fadg );};};return _befbb ;};
|
||
|
||
// PdfColorDeviceCMYK is a CMYK32 color, where each component is defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorDeviceCMYK [4]float64 ;func (_feccc fontCommon )isCIDFont ()bool {if _feccc ._ccea ==""{_fca .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",_feccc );};_bece :=false ;switch _feccc ._ccea {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":_bece =true ;};_fca .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",_bece ,_feccc );return _bece ;};func (_gfff *pdfFontType0 )bytesToCharcodes (_gecb []byte )([]_gf .CharCode ,bool ){if _gfff ._cfcce ==nil {return nil ,false ;};_bfeeg ,_afb :=_gfff ._cfcce .BytesToCharcodes (_gecb );if !_afb {return nil ,false ;};_bcaee :=make ([]_gf .CharCode ,len (_bfeeg ));for _agcg ,_ebaa :=range _bfeeg {_bcaee [_agcg ]=_gf .CharCode (_ebaa );};return _bcaee ,true ;};func (_eeedd *pdfFontType0 )subsetRegistered ()error {_ecgg ,_eegc :=_eeedd .DescendantFont ._bbaa .(*pdfCIDFontType2 );if !_eegc {_fca .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",_eeedd .DescendantFont );return nil ;};if _ecgg ==nil {return nil ;};if _ecgg ._ggbg ==nil {_fca .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 _eeedd ._dbbce ==nil {_fca .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 ;};_ggfg ,_eegc :=_fd .GetStream (_ecgg ._ggbg .FontFile2 );if !_eegc {_fca .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 _fce .New ("\u0066\u006f\u006e\u0074fi\u006c\u0065\u0032\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");};_abcf ,_dfdf :=_fd .DecodeStream (_ggfg );if _dfdf !=nil {_fca .Log .Debug ("\u0044\u0065c\u006f\u0064\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_dfdf );return _dfdf ;};_decfe ,_dfdf :=_afe .Parse (_bg .NewReader (_abcf ));if _dfdf !=nil {_fca .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 (_ggfg .Stream ));return _dfdf ;};var _ecge []rune ;var _fbfgg *_afe .Font ;switch _abec :=_eeedd ._dbbce .(type ){case *_gf .TrueTypeFontEncoder :_ecge =_abec .RegisteredRunes ();_fbfgg ,_dfdf =_decfe .SubsetKeepRunes (_ecge );if _dfdf !=nil {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_dfdf );return _dfdf ;};_abec .SubsetRegistered ();case *_gf .IdentityEncoder :_ecge =_abec .RegisteredRunes ();_caggda :=make ([]_afe .GlyphIndex ,len (_ecge ));for _fgbd ,_gade :=range _ecge {_caggda [_fgbd ]=_afe .GlyphIndex (_gade );};_fbfgg ,_dfdf =_decfe .SubsetKeepIndices (_caggda );if _dfdf !=nil {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_dfdf );return _dfdf ;};case _gf .SimpleEncoder :_adcf :=_abec .Charcodes ();for _ ,_ffdfd :=range _adcf {_ecag ,_bgdb :=_abec .CharcodeToRune (_ffdfd );if !_bgdb {_fca .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",_ffdfd );continue ;};_ecge =append (_ecge ,_ecag );};default:return _d .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",_eeedd ._dbbce );};var _eadag _bg .Buffer ;_dfdf =_fbfgg .Write (&_eadag );if _dfdf !=nil {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_dfdf );return _dfdf ;};if _eeedd ._facge !=nil {_faeaa :=make (map[_agg .CharCode ]rune ,len (_ecge ));for _ ,_dgbbdg :=range _ecge {_gdegb ,_cceb :=_eeedd ._dbbce .RuneToCharcode (_dgbbdg );if !_cceb {continue ;};_faeaa [_agg .CharCode (_gdegb )]=_dgbbdg ;};_eeedd ._facge =_agg .NewToUnicodeCMap (_faeaa );};_ggfg ,_dfdf =_fd .MakeStream (_eadag .Bytes (),_fd .NewFlateEncoder ());if _dfdf !=nil {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_dfdf );return _dfdf ;};_ggfg .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_fd .MakeInteger (int64 (_eadag .Len ())));if _agdf ,_ddec :=_fd .GetStream (_ecgg ._ggbg .FontFile2 );_ddec {*_agdf =*_ggfg ;}else {_ecgg ._ggbg .FontFile2 =_ggfg ;};_dcgfe :=_ecdff ();if len (_eeedd ._egfg )> 0{_eeedd ._egfg =_gddge (_eeedd ._egfg ,_dcgfe );};if len (_ecgg ._egfg )> 0{_ecgg ._egfg =_gddge (_ecgg ._egfg ,_dcgfe );};if len (_eeedd ._gaebg )> 0{_eeedd ._gaebg =_gddge (_eeedd ._gaebg ,_dcgfe );};if _ecgg ._ggbg !=nil {_effa ,_aadgb :=_fd .GetName (_ecgg ._ggbg .FontName );if _aadgb &&len (_effa .String ())> 0{_dcad :=_gddge (_effa .String (),_dcgfe );_ecgg ._ggbg .FontName =_fd .MakeName (_dcad );};};return nil ;};
|
||
|
||
// PdfAnnotationLine represents Line annotations.
|
||
// (Section 12.5.6.7).
|
||
type PdfAnnotationLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;L _fd .PdfObject ;BS _fd .PdfObject ;LE _fd .PdfObject ;IC _fd .PdfObject ;LL _fd .PdfObject ;LLE _fd .PdfObject ;Cap _fd .PdfObject ;IT _fd .PdfObject ;LLO _fd .PdfObject ;CP _fd .PdfObject ;Measure _fd .PdfObject ;CO _fd .PdfObject ;};func _cbbce (_egbc _fd .PdfObject )(*PdfFunctionType2 ,error ){_ecacb :=&PdfFunctionType2 {};var _acbfg *_fd .PdfObjectDictionary ;if _dfge ,_gfgag :=_egbc .(*_fd .PdfIndirectObject );_gfgag {_gbfg ,_gbcf :=_dfge .PdfObject .(*_fd .PdfObjectDictionary );if !_gbcf {return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ecacb ._ecadf =_dfge ;_acbfg =_gbfg ;}else if _egea ,_fgdac :=_egbc .(*_fd .PdfObjectDictionary );_fgdac {_acbfg =_egea ;}else {return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fca .Log .Trace ("\u0046U\u004e\u0043\u0032\u003a\u0020\u0025s",_acbfg .String ());_fefc ,_cfeed :=_fd .TraceToDirectObject (_acbfg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_fd .PdfObjectArray );if !_cfeed {_fca .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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 _fefc .Len ()< 0||_fefc .Len ()%2!=0{_fca .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u0072\u0061\u006e\u0067e\u0020\u0069\u006e\u0076al\u0069\u0064");return nil ,_fce .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_afbg ,_adee :=_fefc .ToFloat64Array ();if _adee !=nil {return nil ,_adee ;};_ecacb .Domain =_afbg ;_fefc ,_cfeed =_fd .TraceToDirectObject (_acbfg .Get ("\u0052\u0061\u006eg\u0065")).(*_fd .PdfObjectArray );if _cfeed {if _fefc .Len ()< 0||_fefc .Len ()%2!=0{return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_ecfg ,_efffb :=_fefc .ToFloat64Array ();if _efffb !=nil {return nil ,_efffb ;};_ecacb .Range =_ecfg ;};_fefc ,_cfeed =_fd .TraceToDirectObject (_acbfg .Get ("\u0043\u0030")).(*_fd .PdfObjectArray );if _cfeed {_ccde ,_bccga :=_fefc .ToFloat64Array ();if _bccga !=nil {return nil ,_bccga ;};_ecacb .C0 =_ccde ;};_fefc ,_cfeed =_fd .TraceToDirectObject (_acbfg .Get ("\u0043\u0031")).(*_fd .PdfObjectArray );if _cfeed {_cebb ,_ffece :=_fefc .ToFloat64Array ();if _ffece !=nil {return nil ,_ffece ;};_ecacb .C1 =_cebb ;};if len (_ecacb .C0 )!=len (_ecacb .C1 ){_fca .Log .Error ("\u0043\u0030\u0020\u0061nd\u0020\u0043\u0031\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0069n\u0067");return nil ,_fd .ErrRangeError ;};N ,_adee :=_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_acbfg .Get ("\u004e")));if _adee !=nil {_fca .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",_acbfg .String ());return nil ,_adee ;};_ecacb .N =N ;return _ecacb ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfd *PdfAnnotationStrikeOut )ToPdfObject ()_fd .PdfObject {_cfd .PdfAnnotation .ToPdfObject ();_gbgf :=_cfd ._defg ;_cgg :=_gbgf .PdfObject .(*_fd .PdfObjectDictionary );_cfd .PdfAnnotationMarkup .appendToPdfDictionary (_cgg );_cgg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t"));_cgg .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_cfd .QuadPoints );return _gbgf ;};func (_dfa *PdfReader )newPdfAnnotationSquareFromDict (_bdbc *_fd .PdfObjectDictionary )(*PdfAnnotationSquare ,error ){_adfe :=PdfAnnotationSquare {};_fcdd ,_adgf :=_dfa .newPdfAnnotationMarkupFromDict (_bdbc );if _adgf !=nil {return nil ,_adgf ;};_adfe .PdfAnnotationMarkup =_fcdd ;_adfe .BS =_bdbc .Get ("\u0042\u0053");_adfe .IC =_bdbc .Get ("\u0049\u0043");_adfe .BE =_bdbc .Get ("\u0042\u0045");_adfe .RD =_bdbc .Get ("\u0052\u0044");return &_adfe ,nil ;};func _bgba (_dcbc _fd .PdfObject ){_fca .Log .Debug ("\u006f\u0062\u006a\u003a\u0020\u0025\u0054\u0020\u0025\u0073",_dcbc ,_dcbc .String ());if _cbgbf ,_gbedb :=_dcbc .(*_fd .PdfObjectStream );_gbedb {_bgae ,_gede :=_fd .DecodeStream (_cbgbf );if _gede !=nil {_fca .Log .Debug ("\u0045r\u0072\u006f\u0072\u003a\u0020\u0025v",_gede );return ;};_fca .Log .Debug ("D\u0065\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0073",_bgae );}else if _afcd ,_facfg :=_dcbc .(*_fd .PdfIndirectObject );_facfg {_fca .Log .Debug ("\u0025\u0054\u0020%\u0076",_afcd .PdfObject ,_afcd .PdfObject );_fca .Log .Debug ("\u0025\u0073",_afcd .PdfObject .String ());};};
|
||
|
||
// PdfActionNamed represents a named action.
|
||
type PdfActionNamed struct{*PdfAction ;N _fd .PdfObject ;};
|
||
|
||
// PdfAppender appends new PDF content to an existing PDF document via incremental updates.
|
||
type PdfAppender struct{_ddbg _fc .ReadSeeker ;_fbgg *_fd .PdfParser ;_bfb *PdfReader ;Reader *PdfReader ;_eafg []*PdfPage ;_bbce *PdfAcroForm ;_fdb _fd .XrefTable ;_bceb int64 ;_bfbb int ;_efe []_fd .PdfObject ;_baef map[_fd .PdfObject ]struct{};_daec map[_fd .PdfObject ]int64 ;_ddgd map[_fd .PdfObject ]struct{};_ddag map[_fd .PdfObject ]struct{};_gedb int64 ;_gfd bool ;};
|
||
|
||
// SetPdfSubject sets the Subject attribute of the output PDF.
|
||
func SetPdfSubject (subject string ){_dfegb =subject };func (_aaac *PdfReader )newPdfAnnotationFileAttachmentFromDict (_bdgga *_fd .PdfObjectDictionary )(*PdfAnnotationFileAttachment ,error ){_gdega :=PdfAnnotationFileAttachment {};_gbee ,_abed :=_aaac .newPdfAnnotationMarkupFromDict (_bdgga );if _abed !=nil {return nil ,_abed ;};_gdega .PdfAnnotationMarkup =_gbee ;_gdega .FS =_bdgga .Get ("\u0046\u0053");_gdega .Name =_bdgga .Get ("\u004e\u0061\u006d\u0065");return &_gdega ,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 (_bcgcc *PdfFont )FontDescriptor ()*PdfFontDescriptor {if _bcgcc .baseFields ()._ggbg !=nil {return _bcgcc .baseFields ()._ggbg ;};if _egef :=_bcgcc ._bbaa .getFontDescriptor ();_egef !=nil {return _egef ;};_fca .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",_bcgcc );return 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 *_fd .PdfObjectStream ;Data []byte ;_acfb *_fd .PdfIndirectObject ;_beab *_fd .PdfObjectStream ;};
|
||
|
||
// FullName returns the full name of the field as in rootname.parentname.partialname.
|
||
func (_baag *PdfField )FullName ()(string ,error ){var _addf _bg .Buffer ;if _baag .T ==nil {return _addf .String (),_fce .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");};_dbded :=[]string {_baag .T .Decoded ()};_egeb :=map[*PdfField ]bool {};_egeb [_baag ]=true ;_accd :=_baag .Parent ;for _accd !=nil {if _ ,_dgdf :=_egeb [_accd ];_dgdf {return _addf .String (),_fce .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};if _accd .T ==nil {return _addf .String (),_fce .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");};_dbded =append (_dbded ,_accd .T .Decoded ());_egeb [_accd ]=true ;_accd =_accd .Parent ;};for _eagc :=len (_dbded )-1;_eagc >=0;_eagc --{_addf .WriteString (_dbded [_eagc ]);if _eagc > 0{_addf .WriteString ("\u002e");};};return _addf .String (),nil ;};
|
||
|
||
// NewPdfOutlineTree returns an initialized PdfOutline tree.
|
||
func NewPdfOutlineTree ()*PdfOutline {_egagb :=NewPdfOutline ();_egagb ._ccggf =&_egagb ;return _egagb ;};func (_fdbag *PdfColorspaceSpecialSeparation )String ()string {return "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e";};
|
||
|
||
// NewPdfActionSetOCGState returns a new "named" action.
|
||
func NewPdfActionSetOCGState ()*PdfActionSetOCGState {_fdf :=NewPdfAction ();_cff :=&PdfActionSetOCGState {};_cff .PdfAction =_fdf ;_fdf .SetContext (_cff );return _cff ;};
|
||
|
||
// String returns a string that describes `font`.
|
||
func (_dfdb *PdfFont )String ()string {_eafee :="";if _dfdb ._bbaa .Encoder ()!=nil {_eafee =_dfdb ._bbaa .Encoder ().String ();};return _d .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0054\u0020\u0025s\u0020\u0025\u0073\u007d",_dfdb ._bbaa ,_dfdb .baseFields ().coreString (),_eafee );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_egbg *PdfActionNamed )ToPdfObject ()_fd .PdfObject {_egbg .PdfAction .ToPdfObject ();_ged :=_egbg ._fgb ;_cee :=_ged .PdfObject .(*_fd .PdfObjectDictionary );_cee .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeNamed )));_cee .SetIfNotNil ("\u004e",_egbg .N );return _ged ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_bcfge pdfCIDFontType2 )GetRuneMetrics (r rune )(_aaf .CharMetrics ,bool ){_fggda ,_beggb :=_bcfge ._ebfg [r ];if !_beggb {_ddbgd ,_bfaa :=_fd .GetInt (_bcfge .DW );if !_bfaa {return _aaf .CharMetrics {},false ;};_fggda =int (*_ddbgd );};return _aaf .CharMetrics {Wx :float64 (_fggda )},true ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gaec *PdfAnnotationCaret )ToPdfObject ()_fd .PdfObject {_gaec .PdfAnnotation .ToPdfObject ();_cgaf :=_gaec ._defg ;_dedf :=_cgaf .PdfObject .(*_fd .PdfObjectDictionary );_gaec .PdfAnnotationMarkup .appendToPdfDictionary (_dedf );_dedf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0043\u0061\u0072e\u0074"));_dedf .SetIfNotNil ("\u0052\u0044",_gaec .RD );_dedf .SetIfNotNil ("\u0053\u0079",_gaec .Sy );return _cgaf ;};func _bfdgg (_cagd *_fd .PdfObjectDictionary ,_eeddg *fontCommon ,_caec _gf .TextEncoder )(*pdfFontSimple ,error ){_bcbbf :=_dade (_eeddg );_bcbbf ._cgdd =_caec ;if _caec ==nil {_eeba :=_cagd .Get ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r");if _eeba ==nil {_eeba =_fd .MakeInteger (0);};_bcbbf .FirstChar =_eeba ;_dfee ,_afgd :=_fd .GetIntVal (_eeba );if !_afgd {_fca .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",_eeba );return nil ,_fd .ErrTypeError ;};_cgbf :=_gf .CharCode (_dfee );_eeba =_cagd .Get ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072");if _eeba ==nil {_eeba =_fd .MakeInteger (255);};_bcbbf .LastChar =_eeba ;_dfee ,_afgd =_fd .GetIntVal (_eeba );if !_afgd {_fca .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",_eeba );return nil ,_fd .ErrTypeError ;};_bfbad :=_gf .CharCode (_dfee );_bcbbf ._cfcg =make (map[_gf .CharCode ]float64 );_eeba =_cagd .Get ("\u0057\u0069\u0064\u0074\u0068\u0073");if _eeba !=nil {_bcbbf .Widths =_eeba ;_adeac ,_dfeec :=_fd .GetArray (_eeba );if !_dfeec {_fca .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",_eeba );return nil ,_fd .ErrTypeError ;};_eeadd ,_deda :=_adeac .ToFloat64Array ();if _deda !=nil {_fca .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 ,_deda ;};if len (_eeadd )!=int (_bfbad -_cgbf +1){_fca .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",_bfbad -_cgbf +1,len (_eeadd ));return nil ,_fd .ErrRangeError ;};for _feggd ,_ecf :=range _eeadd {_bcbbf ._cfcg [_cgbf +_gf .CharCode (_feggd )]=_ecf ;};};};_bcbbf .Encoding =_fd .TraceToDirectObject (_cagd .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));return _bcbbf ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fgcb *PdfActionSetOCGState )ToPdfObject ()_fd .PdfObject {_fgcb .PdfAction .ToPdfObject ();_ade :=_fgcb ._fgb ;_ecg :=_ade .PdfObject .(*_fd .PdfObjectDictionary );_ecg .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeSetOCGState )));_ecg .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_fgcb .State );_ecg .SetIfNotNil ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042",_fgcb .PreserveRB );return _ade ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a Lab device.
|
||
func (_dbgec *PdfColorspaceLab )GetNumComponents ()int {return 3};
|
||
|
||
// PdfOutlineTreeNode contains common fields used by the outline and outline
|
||
// item objects.
|
||
type PdfOutlineTreeNode struct{_ccggf interface{};First *PdfOutlineTreeNode ;Last *PdfOutlineTreeNode ;};
|
||
|
||
// NewPdfAnnotationCaret returns a new caret annotation.
|
||
func NewPdfAnnotationCaret ()*PdfAnnotationCaret {_dea :=NewPdfAnnotation ();_bbe :=&PdfAnnotationCaret {};_bbe .PdfAnnotation =_dea ;_bbe .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dea .SetContext (_bbe );return _bbe ;};func (_cbfd *PdfFilespec )getDict ()*_fd .PdfObjectDictionary {if _cdab ,_ceef :=_cbfd ._gccf .(*_fd .PdfIndirectObject );_ceef {_agec ,_gbca :=_cdab .PdfObject .(*_fd .PdfObjectDictionary );if !_gbca {return nil ;};return _agec ;}else if _edbd ,_aefge :=_cbfd ._gccf .(*_fd .PdfObjectDictionary );_aefge {return _edbd ;}else {_fca .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",_cbfd ._gccf );return nil ;};};
|
||
|
||
// NewPdfColorspaceDeviceN returns an initialized PdfColorspaceDeviceN.
|
||
func NewPdfColorspaceDeviceN ()*PdfColorspaceDeviceN {_cdbd :=&PdfColorspaceDeviceN {};return _cdbd };func _caacc (_gcdga *PdfField ,_eeaad _fd .PdfObject ){for _ ,_fcgcb :=range _gcdga .Annotations {_fcgcb .AS =_eeaad ;_fcgcb .ToPdfObject ();};};func _gfaf (_efcg string )map[string ]string {_fafdc :=_bdde .Split (_efcg ,-1);_fdda :=map[string ]string {};for _ ,_ddbff :=range _fafdc {_ecbeg :=_fcdb .FindStringSubmatch (_ddbff );if _ecbeg ==nil {continue ;};_cbdee ,_ddbb :=_ecbeg [1],_ecbeg [2];_fdda [_cbdee ]=_ddbb ;};return _fdda ;};
|
||
|
||
// DefaultImageHandler is the default implementation of the ImageHandler using the standard go library.
|
||
type DefaultImageHandler struct{};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Indexed).
|
||
func (_edcfb *PdfColorspaceSpecialIndexed )GetNumComponents ()int {return 1};
|
||
|
||
// NewPdfColorspaceSpecialPattern returns a new pattern color.
|
||
func NewPdfColorspaceSpecialPattern ()*PdfColorspaceSpecialPattern {return &PdfColorspaceSpecialPattern {};};
|
||
|
||
// ToPdfObject converts the PdfPage to a dictionary within an indirect object container.
|
||
func (_edfdc *PdfPage )ToPdfObject ()_fd .PdfObject {_cadae :=_edfdc ._debfd ;_edfdc .GetPageDict ();return _cadae ;};func _dbbbc (_gebdf []byte )bool {if len (_gebdf )< 4{return true ;};for _agdb :=range _gebdf [:4]{_fecf :=rune (_agdb );if !_g .Is (_g .ASCII_Hex_Digit ,_fecf )&&!_g .IsSpace (_fecf ){return true ;};};return false ;};
|
||
|
||
// NewPdfDateFromTime will create a PdfDate based on the given time
|
||
func NewPdfDateFromTime (timeObj _b .Time )(PdfDate ,error ){_dabea :=timeObj .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_fgace ,_ :=_ca .ParseInt (_dabea [1:3],10,32);_baefb ,_ :=_ca .ParseInt (_dabea [4:6],10,32);return PdfDate {_bgggb :int64 (timeObj .Year ()),_baced :int64 (timeObj .Month ()),_beffe :int64 (timeObj .Day ()),_dcbba :int64 (timeObj .Hour ()),_fbbgf :int64 (timeObj .Minute ()),_cfegc :int64 (timeObj .Second ()),_bbeedc :_dabea [0],_edbcf :_fgace ,_eaegd :_baefb },nil ;};
|
||
|
||
// PdfFieldChoice represents a choice field which includes scrollable list boxes and combo boxes.
|
||
type PdfFieldChoice struct{*PdfField ;Opt *_fd .PdfObjectArray ;TI *_fd .PdfObjectInteger ;I *_fd .PdfObjectArray ;};func (_ddaced *PdfPattern )getDict ()*_fd .PdfObjectDictionary {if _fgea ,_ffda :=_ddaced ._bfcg .(*_fd .PdfIndirectObject );_ffda {_dfbe ,_bbcea :=_fgea .PdfObject .(*_fd .PdfObjectDictionary );if !_bbcea {return nil ;};return _dfbe ;}else if _abdd ,_aagfa :=_ddaced ._bfcg .(*_fd .PdfObjectStream );_aagfa {return _abdd .PdfObjectDictionary ;}else {_fca .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",_ddaced ._bfcg );return nil ;};};
|
||
|
||
// NewBorderStyle returns an initialized PdfBorderStyle.
|
||
func NewBorderStyle ()*PdfBorderStyle {_fdaa :=&PdfBorderStyle {};return _fdaa };func (_fafa *PdfColorspaceDeviceCMYK )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b";};func (_bfee *PdfFont )baseFields ()*fontCommon {if _bfee ._bbaa ==nil {_fca .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 _bfee ._bbaa .baseFields ();};
|
||
|
||
// ReplacePage replaces the original page to a new page.
|
||
func (_bcf *PdfAppender )ReplacePage (pageNum int ,page *PdfPage ){_ddga :=pageNum -1;for _aaca :=range _bcf ._eafg {if _aaca ==_ddga {_edea :=page .Duplicate ();_cfadfb (_edea );_bcf ._eafg [_aaca ]=_edea ;};};};func (_abd *PdfReader )newPdfAnnotationLinkFromDict (_ffb *_fd .PdfObjectDictionary )(*PdfAnnotationLink ,error ){_bagb :=PdfAnnotationLink {};_bagb .A =_ffb .Get ("\u0041");_bagb .Dest =_ffb .Get ("\u0044\u0065\u0073\u0074");_bagb .H =_ffb .Get ("\u0048");_bagb .PA =_ffb .Get ("\u0050\u0041");_bagb .QuadPoints =_ffb .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_bagb .BS =_ffb .Get ("\u0042\u0053");return &_bagb ,nil ;};
|
||
|
||
// 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"`;};func (_edgg *PdfReader )loadAction (_aeb _fd .PdfObject )(*PdfAction ,error ){if _bdgg ,_bdbg :=_fd .GetIndirect (_aeb );_bdbg {_gdec ,_babf :=_edgg .newPdfActionFromIndirectObject (_bdgg );if _babf !=nil {return nil ,_babf ;};return _gdec ,nil ;}else if !_fd .IsNullObject (_aeb ){return nil ,_fce .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 ;};
|
||
|
||
// PdfAnnotationHighlight represents Highlight annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationHighlight struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _fd .PdfObject ;};
|
||
|
||
// ReplaceAcroForm replaces the acrobat form. It appends a new form to the Pdf which
|
||
// replaces the original AcroForm.
|
||
func (_egec *PdfAppender )ReplaceAcroForm (acroForm *PdfAcroForm ){if acroForm !=nil {_egec .updateObjectsDeep (acroForm .ToPdfObject (),nil );};_egec ._bbce =acroForm ;};func _fcegc (_fcddf _fd .PdfObject )(*PdfShading ,error ){_beba :=&PdfShading {};var _befab *_fd .PdfObjectDictionary ;if _afaaf ,_aege :=_fd .GetIndirect (_fcddf );_aege {_beba ._bcgcg =_afaaf ;_ccddf ,_cdceca :=_afaaf .PdfObject .(*_fd .PdfObjectDictionary );if !_cdceca {_fca .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 ,_fd .ErrTypeError ;};_befab =_ccddf ;}else if _ddcee ,_adgdc :=_fd .GetStream (_fcddf );_adgdc {_beba ._bcgcg =_ddcee ;_befab =_ddcee .PdfObjectDictionary ;}else if _bfcbb ,_afgge :=_fd .GetDict (_fcddf );_afgge {_beba ._bcgcg =_bfcbb ;_befab =_bfcbb ;}else {_fca .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",_fcddf );return nil ,_fd .ErrTypeError ;};if _befab ==nil {_fca .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_fce .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_fcddf =_befab .Get ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _fcddf ==nil {_fca .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 ;};_fcddf =_fd .TraceToDirectObject (_fcddf );_ebaag ,_fbbcb :=_fcddf .(*_fd .PdfObjectInteger );if !_fbbcb {_fca .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",_fcddf );return nil ,_fd .ErrTypeError ;};if *_ebaag < 1||*_ebaag > 7{_fca .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",*_ebaag );return nil ,_fd .ErrTypeError ;};_beba .ShadingType =_ebaag ;_fcddf =_befab .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");if _fcddf ==nil {_fca .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 ;};_cgda ,_ggeefa :=NewPdfColorspaceFromPdfObject (_fcddf );if _ggeefa !=nil {_fca .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",_ggeefa );return nil ,_ggeefa ;};_beba .ColorSpace =_cgda ;_fcddf =_befab .Get ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064");if _fcddf !=nil {_fcddf =_fd .TraceToDirectObject (_fcddf );_fbbbb ,_fdacfa :=_fcddf .(*_fd .PdfObjectArray );if !_fdacfa {_fca .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)",_fcddf );return nil ,_fd .ErrTypeError ;};_beba .Background =_fbbbb ;};_fcddf =_befab .Get ("\u0042\u0042\u006f\u0078");if _fcddf !=nil {_fcddf =_fd .TraceToDirectObject (_fcddf );_bffg ,_dedaf :=_fcddf .(*_fd .PdfObjectArray );if !_dedaf {_fca .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)",_fcddf );return nil ,_fd .ErrTypeError ;};_ebcg ,_fgdfg :=NewPdfRectangle (*_bffg );if _fgdfg !=nil {_fca .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_fgdfg );return nil ,_fgdfg ;};_beba .BBox =_ebcg ;};_fcddf =_befab .Get ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s");if _fcddf !=nil {_fcddf =_fd .TraceToDirectObject (_fcddf );_eecaff ,_ccace :=_fcddf .(*_fd .PdfObjectBool );if !_ccace {_fca .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",_fcddf );return nil ,_fd .ErrTypeError ;};_beba .AntiAlias =_eecaff ;};switch *_ebaag {case 1:_dadd ,_dgbad :=_abgff (_befab );if _dgbad !=nil {return nil ,_dgbad ;};_dadd .PdfShading =_beba ;_beba ._ebbcbe =_dadd ;return _beba ,nil ;case 2:_faee ,_bcge :=_gafbdb (_befab );if _bcge !=nil {return nil ,_bcge ;};_faee .PdfShading =_beba ;_beba ._ebbcbe =_faee ;return _beba ,nil ;case 3:_cceaff ,_cbaee :=_bbfde (_befab );if _cbaee !=nil {return nil ,_cbaee ;};_cceaff .PdfShading =_beba ;_beba ._ebbcbe =_cceaff ;return _beba ,nil ;case 4:_ceba ,_cfab :=_ecfcf (_befab );if _cfab !=nil {return nil ,_cfab ;};_ceba .PdfShading =_beba ;_beba ._ebbcbe =_ceba ;return _beba ,nil ;case 5:_ebee ,_acbca :=_dgefd (_befab );if _acbca !=nil {return nil ,_acbca ;};_ebee .PdfShading =_beba ;_beba ._ebbcbe =_ebee ;return _beba ,nil ;case 6:_faddc ,_babfg :=_aageg (_befab );if _babfg !=nil {return nil ,_babfg ;};_faddc .PdfShading =_beba ;_beba ._ebbcbe =_faddc ;return _beba ,nil ;case 7:_ebae ,_ebgc :=_dbec (_befab );if _ebgc !=nil {return nil ,_ebgc ;};_ebae .PdfShading =_beba ;_beba ._ebbcbe =_ebae ;return _beba ,nil ;};return nil ,_fce .New ("u\u006ek\u006e\u006f\u0077\u006e\u0020\u0073\u0068\u0061d\u0069\u006e\u0067\u0020ty\u0070\u0065");};
|
||
|
||
// PdfShadingType7 is a Tensor-product patch mesh.
|
||
type PdfShadingType7 struct{*PdfShading ;BitsPerCoordinate *_fd .PdfObjectInteger ;BitsPerComponent *_fd .PdfObjectInteger ;BitsPerFlag *_fd .PdfObjectInteger ;Decode *_fd .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// ToOutlineTree returns a low level PdfOutlineTreeNode object, based on
|
||
// the current instance.
|
||
func (_cfacb *Outline )ToOutlineTree ()*PdfOutlineTreeNode {return &_cfacb .ToPdfOutline ().PdfOutlineTreeNode ;};
|
||
|
||
// PdfFilespec represents a file specification which can either refer to an external or embedded file.
|
||
type PdfFilespec struct{Type _fd .PdfObject ;FS _fd .PdfObject ;F _fd .PdfObject ;UF _fd .PdfObject ;DOS _fd .PdfObject ;Mac _fd .PdfObject ;Unix _fd .PdfObject ;ID _fd .PdfObject ;V _fd .PdfObject ;EF _fd .PdfObject ;RF _fd .PdfObject ;Desc _fd .PdfObject ;CI _fd .PdfObject ;_gccf _fd .PdfObject ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_fbea *PdfColorspaceSpecialPattern )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _fbea .UnderlyingCS ==nil {return nil ,_fce .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 _fbea .UnderlyingCS .ColorFromFloats (vals );};type pdfSignDictionary struct{*_fd .PdfObjectDictionary ;_bedac *SignatureHandler ;_beded *PdfSignature ;_ecebb int64 ;_aagdc int ;_cfdc int ;_gdcfb int ;_eaece int ;};
|
||
|
||
// XObjectType represents the type of an XObject.
|
||
type XObjectType int ;type pdfFont interface{_aaf .Font ;
|
||
|
||
// ToPdfObject returns a PDF representation of the font and implements interface Model.
|
||
ToPdfObject ()_fd .PdfObject ;getFontDescriptor ()*PdfFontDescriptor ;baseFields ()*fontCommon ;};
|
||
|
||
// 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 (_adeb *PdfColorspaceLab )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ddfd :=vals [0];if _ddfd < 0.0||_ddfd > 100.0{_fca .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",_ddfd );return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_edgd :=vals [1];_befe :=float64 (-100);_gdada :=float64 (100);if len (_adeb .Range )> 1{_befe =_adeb .Range [0];_gdada =_adeb .Range [1];};if _edgd < _befe ||_edgd > _gdada {_fca .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",_edgd ,_befe ,_gdada );return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_faabe :=vals [2];_dgge :=float64 (-100);_agag :=float64 (100);if len (_adeb .Range )> 3{_dgge =_adeb .Range [2];_agag =_adeb .Range [3];};if _faabe < _dgge ||_faabe > _agag {_fca .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",_faabe ,_dgge ,_agag );return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_edccd :=NewPdfColorLab (_ddfd ,_edgd ,_faabe );return _edccd ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name stream]
|
||
func (_dbeb *PdfColorspaceICCBased )ToPdfObject ()_fd .PdfObject {_dbgd :=&_fd .PdfObjectArray {};_dbgd .Append (_fd .MakeName ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"));var _fcfea *_fd .PdfObjectStream ;if _dbeb ._beab !=nil {_fcfea =_dbeb ._beab ;}else {_fcfea =&_fd .PdfObjectStream {};};_dfd :=_fd .MakeDict ();_dfd .Set ("\u004e",_fd .MakeInteger (int64 (_dbeb .N )));if _dbeb .Alternate !=nil {_dfd .Set ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e",_dbeb .Alternate .ToPdfObject ());};if _dbeb .Metadata !=nil {_dfd .Set ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_dbeb .Metadata );};if _dbeb .Range !=nil {var _gfeag []_fd .PdfObject ;for _ ,_ebbd :=range _dbeb .Range {_gfeag =append (_gfeag ,_fd .MakeFloat (_ebbd ));};_dfd .Set ("\u0052\u0061\u006eg\u0065",_fd .MakeArray (_gfeag ...));};_dfd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_dbeb .Data ))));_fcfea .Stream =_dbeb .Data ;_fcfea .PdfObjectDictionary =_dfd ;_dbgd .Append (_fcfea );if _dbeb ._acfb !=nil {_dbeb ._acfb .PdfObject =_dbgd ;return _dbeb ._acfb ;};return _dbgd ;};
|
||
|
||
// DecodeArray returns the range of color component values in the Lab colorspace.
|
||
func (_gebag *PdfColorspaceLab )DecodeArray ()[]float64 {_dfgbb :=[]float64 {0,100};if _gebag .Range !=nil &&len (_gebag .Range )==4{_dfgbb =append (_dfgbb ,_gebag .Range ...);}else {_dfgbb =append (_dfgbb ,-100,100,-100,100);};return _dfgbb ;};const (XObjectTypeUndefined XObjectType =iota ;XObjectTypeImage ;XObjectTypeForm ;XObjectTypePS ;XObjectTypeUnknown ;);
|
||
|
||
// 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 (_adefe *PdfReader )GetObjectNums ()[]int {return _adefe ._egbge .GetObjectNums ()};
|
||
|
||
// PdfColorspaceDeviceCMYK represents a CMYK32 colorspace.
|
||
type PdfColorspaceDeviceCMYK struct{};
|
||
|
||
// NewPdfAnnotationHighlight returns a new text highlight annotation.
|
||
func NewPdfAnnotationHighlight ()*PdfAnnotationHighlight {_eed :=NewPdfAnnotation ();_cgfeg :=&PdfAnnotationHighlight {};_cgfeg .PdfAnnotation =_eed ;_cgfeg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eed .SetContext (_cgfeg );return _cgfeg ;};
|
||
|
||
// 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 ;
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_aeaf pdfCIDFontType0 )GetRuneMetrics (r rune )(_aaf .CharMetrics ,bool ){return _aaf .CharMetrics {Wx :_aeaf ._bbda },true ;};
|
||
|
||
// NewPdfAnnotationTrapNet returns a new trapnet annotation.
|
||
func NewPdfAnnotationTrapNet ()*PdfAnnotationTrapNet {_ece :=NewPdfAnnotation ();_eag :=&PdfAnnotationTrapNet {};_eag .PdfAnnotation =_ece ;_ece .SetContext (_eag );return _eag ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_ebba *PdfColorLab )A ()float64 {return float64 (_ebba [1])};
|
||
|
||
// PdfAnnotationPolygon represents Polygon annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolygon struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _fd .PdfObject ;LE _fd .PdfObject ;BS _fd .PdfObject ;IC _fd .PdfObject ;BE _fd .PdfObject ;IT _fd .PdfObject ;Measure _fd .PdfObject ;};
|
||
|
||
// Has checks if flag fl is set in flag and returns true if so, false otherwise.
|
||
func (_gcag FieldFlag )Has (fl FieldFlag )bool {return (_gcag .Mask ()&fl .Mask ())> 0};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_efdg *PdfAnnotationInk )ToPdfObject ()_fd .PdfObject {_efdg .PdfAnnotation .ToPdfObject ();_ceec :=_efdg ._defg ;_faag :=_ceec .PdfObject .(*_fd .PdfObjectDictionary );_efdg .PdfAnnotationMarkup .appendToPdfDictionary (_faag );_faag .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0049\u006e\u006b"));_faag .SetIfNotNil ("\u0049n\u006b\u004c\u0069\u0073\u0074",_efdg .InkList );_faag .SetIfNotNil ("\u0042\u0053",_efdg .BS );return _ceec ;};func (_gbc *PdfReader )newPdfAnnotationHighlightFromDict (_ddfb *_fd .PdfObjectDictionary )(*PdfAnnotationHighlight ,error ){_gea :=PdfAnnotationHighlight {};_eefd ,_eff :=_gbc .newPdfAnnotationMarkupFromDict (_ddfb );if _eff !=nil {return nil ,_eff ;};_gea .PdfAnnotationMarkup =_eefd ;_gea .QuadPoints =_ddfb .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_gea ,nil ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_faagg *Outline )Items ()[]*OutlineItem {return _faagg .Entries };func (_dacff fontCommon )coreString ()string {_cegg :="";if _dacff ._ggbg !=nil {_cegg =_dacff ._ggbg .String ();};return _d .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",_dacff ._ccea ,_dacff ._egfg ,_dacff ._gaebg ,_dacff ._edcb ,_dacff ._ddaf !=nil ,_dacff .fontFlags (),_cegg );};func _begcg (_dggc _fd .PdfObject ,_fcbe *fontCommon )(*_agg .CMap ,error ){_dbaba ,_dcgab :=_fd .GetStream (_dggc );if !_dcgab {_fca .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",_dggc );return nil ,_fd .ErrTypeError ;};_aaae ,_fgfag :=_fd .DecodeStream (_dbaba );if _fgfag !=nil {return nil ,_fgfag ;};_dace ,_fgfag :=_agg .LoadCmapFromData (_aaae ,!_fcbe .isCIDFont ());if _fgfag !=nil {_fca .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",_dbaba .ObjectNumber ,_fgfag );};return _dace ,_fgfag ;};
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
func (_eccg *PdfColorspaceDeviceN )ImageToRGB (img Image )(Image ,error ){_eaag :=_ddf .NewReader (img .getBase ());_ffbfa :=_gd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,nil ,img ._cded ,img ._dfec );_dgaf :=_ddf .NewWriter (_ffbfa );_eedg :=_ff .Pow (2,float64 (img .BitsPerComponent ))-1;_bfdg :=_eccg .GetNumComponents ();_eega :=make ([]uint32 ,_bfdg );_cdfe :=make ([]float64 ,_bfdg );for {_geec :=_eaag .ReadSamples (_eega );if _geec ==_fc .EOF {break ;}else if _geec !=nil {return img ,_geec ;};for _febd :=0;_febd < _bfdg ;_febd ++{_cgge :=float64 (_eega [_febd ])/_eedg ;_cdfe [_febd ]=_cgge ;};_geceg ,_geec :=_eccg .TintTransform .Evaluate (_cdfe );if _geec !=nil {return img ,_geec ;};for _ ,_gdgc :=range _geceg {_gdgc =_ff .Min (_ff .Max (0,_gdgc ),1.0);if _geec =_dgaf .WriteSample (uint32 (_gdgc *_eedg ));_geec !=nil {return img ,_geec ;};};};return _eccg .AlternateSpace .ImageToRGB (_baaaa (&_ffbfa ));};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_fbae *PdfOutlineItem )ToPdfObject ()_fd .PdfObject {_fgegc :=_fbae ._ffdcf ;_gdfbb :=_fgegc .PdfObject .(*_fd .PdfObjectDictionary );_gdfbb .Set ("\u0054\u0069\u0074l\u0065",_fbae .Title );if _fbae .A !=nil {_gdfbb .Set ("\u0041",_fbae .A );};if _ebec :=_gdfbb .Get ("\u0053\u0045");_ebec !=nil {_gdfbb .Remove ("\u0053\u0045");};if _fbae .C !=nil {_gdfbb .Set ("\u0043",_fbae .C );};if _fbae .Dest !=nil {_gdfbb .Set ("\u0044\u0065\u0073\u0074",_fbae .Dest );};if _fbae .F !=nil {_gdfbb .Set ("\u0046",_fbae .F );};if _fbae .Count !=nil {_gdfbb .Set ("\u0043\u006f\u0075n\u0074",_fd .MakeInteger (*_fbae .Count ));};if _fbae .Next !=nil {_gdfbb .Set ("\u004e\u0065\u0078\u0074",_fbae .Next .ToPdfObject ());};if _fbae .First !=nil {_gdfbb .Set ("\u0046\u0069\u0072s\u0074",_fbae .First .ToPdfObject ());};if _fbae .Prev !=nil {_gdfbb .Set ("\u0050\u0072\u0065\u0076",_fbae .Prev .GetContext ().GetContainingPdfObject ());};if _fbae .Last !=nil {_gdfbb .Set ("\u004c\u0061\u0073\u0074",_fbae .Last .GetContext ().GetContainingPdfObject ());};if _fbae .Parent !=nil {_gdfbb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fbae .Parent .GetContext ().GetContainingPdfObject ());};return _fgegc ;};
|
||
|
||
// NewPdfAnnotationRedact returns a new redact annotation.
|
||
func NewPdfAnnotationRedact ()*PdfAnnotationRedact {_adbg :=NewPdfAnnotation ();_febf :=&PdfAnnotationRedact {};_febf .PdfAnnotation =_adbg ;_febf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_adbg .SetContext (_febf );return _febf ;};
|
||
|
||
// NewPdfActionImportData returns a new "import data" action.
|
||
func NewPdfActionImportData ()*PdfActionImportData {_bgg :=NewPdfAction ();_ddd :=&PdfActionImportData {};_ddd .PdfAction =_bgg ;_bgg .SetContext (_ddd );return _ddd ;};
|
||
|
||
// ToGray returns a PdfColorDeviceGray color based on the current RGB color.
|
||
func (_bbdg *PdfColorDeviceRGB )ToGray ()*PdfColorDeviceGray {_ebcb :=0.3*_bbdg .R ()+0.59*_bbdg .G ()+0.11*_bbdg .B ();_ebcb =_ff .Min (_ff .Max (_ebcb ,0.0),1.0);return NewPdfColorDeviceGray (_ebcb );};
|
||
|
||
// PdfOutlineItem represents an outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type PdfOutlineItem struct{PdfOutlineTreeNode ;Title *_fd .PdfObjectString ;Parent *PdfOutlineTreeNode ;Prev *PdfOutlineTreeNode ;Next *PdfOutlineTreeNode ;Count *int64 ;Dest _fd .PdfObject ;A _fd .PdfObject ;SE _fd .PdfObject ;C _fd .PdfObject ;F _fd .PdfObject ;_ffdcf *_fd .PdfIndirectObject ;};
|
||
|
||
// 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{_egbge *_fd .PdfParser ;_edfdb _fd .PdfObject ;_geda *_fd .PdfIndirectObject ;_abfb *_fd .PdfObjectDictionary ;_faca []*_fd .PdfIndirectObject ;PageList []*PdfPage ;_bbdb int ;_bfcbd *_fd .PdfObjectDictionary ;_fbdb *PdfOutlineTreeNode ;AcroForm *PdfAcroForm ;_gggcg *modelManager ;_ebeae bool ;_caece map[_fd .PdfObject ]struct{};_eade _fc .ReadSeeker ;};
|
||
|
||
// ImageToRGB converts Lab colorspace image to RGB and returns the result.
|
||
func (_bgaae *PdfColorspaceLab )ImageToRGB (img Image )(Image ,error ){_beag :=func (_ccfda float64 )float64 {if _ccfda >=6.0/29{return _ccfda *_ccfda *_ccfda ;};return 108.0/841*(_ccfda -4/29);};_dagcb :=img ._dfec ;if len (_dagcb )!=6{_fca .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");_dagcb =_bgaae .DecodeArray ();};_afgc :=_ddf .NewReader (img .getBase ());_abfe :=_gd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,img ._cded ,img ._dfec );_cfef :=_ddf .NewWriter (_abfe );_dfgfg :=_ff .Pow (2,float64 (img .BitsPerComponent ))-1;_cbcdd :=make ([]uint32 ,3);var (_adaa error ;Ls ,As ,Bs ,L ,M ,N ,X ,Y ,Z ,_ddgdb ,_bgbeg ,_aaea float64 ;);for {_adaa =_afgc .ReadSamples (_cbcdd );if _adaa ==_fc .EOF {break ;}else if _adaa !=nil {return img ,_adaa ;};Ls =float64 (_cbcdd [0])/_dfgfg ;As =float64 (_cbcdd [1])/_dfgfg ;Bs =float64 (_cbcdd [2])/_dfgfg ;Ls =_gd .LinearInterpolate (Ls ,0.0,1.0,_dagcb [0],_dagcb [1]);As =_gd .LinearInterpolate (As ,0.0,1.0,_dagcb [2],_dagcb [3]);Bs =_gd .LinearInterpolate (Bs ,0.0,1.0,_dagcb [4],_dagcb [5]);L =(Ls +16)/116+As /500;M =(Ls +16)/116;N =(Ls +16)/116-Bs /200;X =_bgaae .WhitePoint [0]*_beag (L );Y =_bgaae .WhitePoint [1]*_beag (M );Z =_bgaae .WhitePoint [2]*_beag (N );_ddgdb =3.240479*X +-1.537150*Y +-0.498535*Z ;_bgbeg =-0.969256*X +1.875992*Y +0.041556*Z ;_aaea =0.055648*X +-0.204043*Y +1.057311*Z ;_ddgdb =_ff .Min (_ff .Max (_ddgdb ,0),1.0);_bgbeg =_ff .Min (_ff .Max (_bgbeg ,0),1.0);_aaea =_ff .Min (_ff .Max (_aaea ,0),1.0);_cbcdd [0]=uint32 (_ddgdb *_dfgfg );_cbcdd [1]=uint32 (_bgbeg *_dfgfg );_cbcdd [2]=uint32 (_aaea *_dfgfg );if _adaa =_cfef .WriteSamples (_cbcdd );_adaa !=nil {return img ,_adaa ;};};return _baaaa (&_abfe ),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 (_cdaag *PdfColorspaceDeviceGray )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bege ,_ccdb :=_fd .GetNumbersAsFloat (objects );if _ccdb !=nil {return nil ,_ccdb ;};return _cdaag .ColorFromFloats (_bege );};
|
||
|
||
// 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 _fc .ReadSeeker )(*PdfReader ,error ){_fbcga :=&PdfReader {_eade :rs ,_caece :map[_fd .PdfObject ]struct{}{},_gggcg :_caaab (),_ebeae :true };_gebbb ,_caead :=_fd .NewParser (rs );if _caead !=nil {return nil ,_caead ;};_fbcga ._egbge =_gebbb ;_dbgbg ,_caead :=_fbcga .IsEncrypted ();if _caead !=nil {return nil ,_caead ;};if !_dbgbg {_caead =_fbcga .loadStructure ();if _caead !=nil {return nil ,_caead ;};};return _fbcga ,nil ;};func _cfcff ()_b .Time {return _fdgee };func _abgff (_baeff *_fd .PdfObjectDictionary )(*PdfShadingType1 ,error ){_dbfgcf :=PdfShadingType1 {};if _abad :=_baeff .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_abad !=nil {_abad =_fd .TraceToDirectObject (_abad );_befad ,_ecab :=_abad .(*_fd .PdfObjectArray );if !_ecab {_fca .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",_abad );return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dbfgcf .Domain =_befad ;};if _bfgc :=_baeff .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_bfgc !=nil {_bfgc =_fd .TraceToDirectObject (_bfgc );_beedd ,_aeedg :=_bfgc .(*_fd .PdfObjectArray );if !_aeedg {_fca .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",_bfgc );return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dbfgcf .Matrix =_beedd ;};_cagde :=_baeff .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _cagde ==nil {_fca .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 ;};_dbfgcf .Function =[]PdfFunction {};if _egeag ,_ccba :=_cagde .(*_fd .PdfObjectArray );_ccba {for _ ,_faafb :=range _egeag .Elements (){_acdfe ,_gbbef :=_fagc (_faafb );if _gbbef !=nil {_fca .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",_gbbef );return nil ,_gbbef ;};_dbfgcf .Function =append (_dbfgcf .Function ,_acdfe );};}else {_gccebdc ,_fgafb :=_fagc (_cagde );if _fgafb !=nil {_fca .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",_fgafb );return nil ,_fgafb ;};_dbfgcf .Function =append (_dbfgcf .Function ,_gccebdc );};return &_dbfgcf ,nil ;};const (ButtonTypeCheckbox ButtonType =iota ;ButtonTypePush ButtonType =iota ;ButtonTypeRadio ButtonType =iota ;);
|
||
|
||
// NewPdfAnnotationScreen returns a new screen annotation.
|
||
func NewPdfAnnotationScreen ()*PdfAnnotationScreen {_aae :=NewPdfAnnotation ();_gfed :=&PdfAnnotationScreen {};_gfed .PdfAnnotation =_aae ;_aae .SetContext (_gfed );return _gfed ;};
|
||
|
||
// ImageToRGB returns an error since an image cannot be defined in a pattern colorspace.
|
||
func (_ccff *PdfColorspaceSpecialPattern )ImageToRGB (img Image )(Image ,error ){_fca .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 ,_fce .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");};
|
||
|
||
// PdfFont represents an underlying font structure which can be of type:
|
||
// - Type0
|
||
// - Type1
|
||
// - TrueType
|
||
// etc.
|
||
type PdfFont struct{_bbaa pdfFont };func _ecdff ()string {_gbbc :="\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 _eeec _bg .Buffer ;for _gbdbg :=0;_gbdbg < 6;_gbdbg ++{_eeec .WriteRune (rune (_gbbc [_dd .Intn (len (_gbbc ))]));};return _eeec .String ();};func (_facgef *PdfReader )buildOutlineTree (_bgfce _fd .PdfObject ,_ggdf *PdfOutlineTreeNode ,_bdged *PdfOutlineTreeNode ,_abbdf map[_fd .PdfObject ]struct{})(*PdfOutlineTreeNode ,*PdfOutlineTreeNode ,error ){if _abbdf ==nil {_abbdf =map[_fd .PdfObject ]struct{}{};};_abbdf [_bgfce ]=struct{}{};_gadag ,_agaba :=_bgfce .(*_fd .PdfIndirectObject );if !_agaba {return nil ,nil ,_d .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",_bgfce );};_facae ,_eefcc :=_gadag .PdfObject .(*_fd .PdfObjectDictionary );if !_eefcc {return nil ,nil ,_fce .New ("\u006e\u006f\u0074 a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_fca .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",_facae ,_gadag ,_gadag );if _adaff :=_facae .Get ("\u0054\u0069\u0074l\u0065");_adaff !=nil {_bfcgb ,_aegc :=_facgef .newPdfOutlineItemFromIndirectObject (_gadag );if _aegc !=nil {return nil ,nil ,_aegc ;};_bfcgb .Parent =_ggdf ;_bfcgb .Prev =_bdged ;_ecgaf :=_fd .ResolveReference (_facae .Get ("\u0046\u0069\u0072s\u0074"));if _ ,_deab :=_abbdf [_ecgaf ];_ecgaf !=nil &&_ecgaf !=_gadag &&!_deab {if !_fd .IsNullObject (_ecgaf ){_bedf ,_gfbge ,_gbdag :=_facgef .buildOutlineTree (_ecgaf ,&_bfcgb .PdfOutlineTreeNode ,nil ,_abbdf );if _gbdag !=nil {_fca .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",_gbdag );}else {_bfcgb .First =_bedf ;_bfcgb .Last =_gfbge ;};};};_abcb :=_fd .ResolveReference (_facae .Get ("\u004e\u0065\u0078\u0074"));if _ ,_gddfg :=_abbdf [_abcb ];_abcb !=nil &&_abcb !=_gadag &&!_gddfg {if !_fd .IsNullObject (_abcb ){_geabc ,_gbcbf ,_facag :=_facgef .buildOutlineTree (_abcb ,_ggdf ,&_bfcgb .PdfOutlineTreeNode ,_abbdf );if _facag !=nil {_fca .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",_facag );}else {_bfcgb .Next =_geabc ;return &_bfcgb .PdfOutlineTreeNode ,_gbcbf ,nil ;};};};return &_bfcgb .PdfOutlineTreeNode ,&_bfcgb .PdfOutlineTreeNode ,nil ;};_eeede ,_aebgb :=_dafbdd (_gadag );if _aebgb !=nil {return nil ,nil ,_aebgb ;};_eeede .Parent =_ggdf ;if _acag :=_facae .Get ("\u0046\u0069\u0072s\u0074");_acag !=nil {_acag =_fd .ResolveReference (_acag );_cfgg :=_fd .TraceToDirectObject (_acag );if _ ,_bfggf :=_cfgg .(*_fd .PdfObjectNull );!_bfggf &&_cfgg !=nil {_egbgdb ,_cecgg ,_accag :=_facgef .buildOutlineTree (_acag ,&_eeede .PdfOutlineTreeNode ,nil ,_abbdf );if _accag !=nil {_fca .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",_accag );}else {_eeede .First =_egbgdb ;_eeede .Last =_cecgg ;};};};return &_eeede .PdfOutlineTreeNode ,&_eeede .PdfOutlineTreeNode ,nil ;};
|
||
|
||
// NewPdfField returns an initialized PdfField.
|
||
func NewPdfField ()*PdfField {return &PdfField {_fbef :_fd .MakeIndirectObject (_fd .MakeDict ())}};
|
||
|
||
// ToPdfObject converts rectangle to a PDF object.
|
||
func (_aagdcd *PdfRectangle )ToPdfObject ()_fd .PdfObject {return _fd .MakeArray (_fd .MakeFloat (_aagdcd .Llx ),_fd .MakeFloat (_aagdcd .Lly ),_fd .MakeFloat (_aagdcd .Urx ),_fd .MakeFloat (_aagdcd .Ury ));};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_degfa pdfCIDFontType0 )Encoder ()_gf .TextEncoder {return _degfa ._dgfdf };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edegc *PdfFilespec )ToPdfObject ()_fd .PdfObject {_bgfd :=_edegc .getDict ();_bgfd .Clear ();_bgfd .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"));_bgfd .SetIfNotNil ("\u0046\u0053",_edegc .FS );_bgfd .SetIfNotNil ("\u0046",_edegc .F );_bgfd .SetIfNotNil ("\u0055\u0046",_edegc .UF );_bgfd .SetIfNotNil ("\u0044\u004f\u0053",_edegc .DOS );_bgfd .SetIfNotNil ("\u004d\u0061\u0063",_edegc .Mac );_bgfd .SetIfNotNil ("\u0055\u006e\u0069\u0078",_edegc .Unix );_bgfd .SetIfNotNil ("\u0049\u0044",_edegc .ID );_bgfd .SetIfNotNil ("\u0056",_edegc .V );_bgfd .SetIfNotNil ("\u0045\u0046",_edegc .EF );_bgfd .SetIfNotNil ("\u0052\u0046",_edegc .RF );_bgfd .SetIfNotNil ("\u0044\u0065\u0073\u0063",_edegc .Desc );_bgfd .SetIfNotNil ("\u0043\u0049",_edegc .CI );return _edegc ._gccf ;};type crossReference struct{Type int ;
|
||
|
||
// Type 1
|
||
Offset int64 ;Generation int64 ;
|
||
|
||
// Type 2
|
||
ObjectNumber int ;Index int ;};var (ErrRequiredAttributeMissing =_fce .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 =_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");ErrTypeCheck =_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");_fgbb =_fce .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");ErrEncrypted =_fce .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 =_fce .New ("\u0066\u006fn\u0074\u0020\u006eo\u0074\u0020\u0064\u0065\u0066\u0069\u006e\u0065\u0064");ErrFontNotSupported =_cea .Errorf ("u\u006e\u0073\u0075\u0070po\u0072t\u0065\u0064\u0020\u0066\u006fn\u0074\u0020\u0028\u0025\u0077\u0029",_fd .ErrNotSupported );ErrType1CFontNotSupported =_cea .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",_fd .ErrNotSupported );ErrType3FontNotSupported =_cea .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",_fd .ErrNotSupported );ErrTTCmapNotSupported =_cea .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",_fd .ErrNotSupported );ErrSignNotEnoughSpace =_cea .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"););type pdfFontType0 struct{fontCommon ;_gced *_fd .PdfIndirectObject ;_dbbce _gf .TextEncoder ;Encoding _fd .PdfObject ;DescendantFont *PdfFont ;_cfcce *_agg .CMap ;};
|
||
|
||
// ToPdfObject converts PdfAcroForm to a PdfObject, i.e. an indirect object containing the
|
||
// AcroForm dictionary.
|
||
func (_gcaa *PdfAcroForm )ToPdfObject ()_fd .PdfObject {_gebge :=_gcaa ._dbcdb ;_feefg :=_gebge .PdfObject .(*_fd .PdfObjectDictionary );if _gcaa .Fields !=nil {_eddd :=_fd .PdfObjectArray {};for _ ,_cafb :=range *_gcaa .Fields {_gaed :=_cafb .GetContext ();if _gaed !=nil {_eddd .Append (_gaed .ToPdfObject ());}else {_eddd .Append (_cafb .ToPdfObject ());};};_feefg .Set ("\u0046\u0069\u0065\u006c\u0064\u0073",&_eddd );};if _gcaa .NeedAppearances !=nil {_feefg .Set ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073",_gcaa .NeedAppearances );};if _gcaa .SigFlags !=nil {_feefg .Set ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073",_gcaa .SigFlags );};if _gcaa .CO !=nil {_feefg .Set ("\u0043\u004f",_gcaa .CO );};if _gcaa .DR !=nil {_feefg .Set ("\u0044\u0052",_gcaa .DR .ToPdfObject ());};if _gcaa .DA !=nil {_feefg .Set ("\u0044\u0041",_gcaa .DA );};if _gcaa .Q !=nil {_feefg .Set ("\u0051",_gcaa .Q );};if _gcaa .XFA !=nil {_feefg .Set ("\u0058\u0046\u0041",_gcaa .XFA );};return _gebge ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aacc *PdfAnnotationRedact )ToPdfObject ()_fd .PdfObject {_aacc .PdfAnnotation .ToPdfObject ();_gagd :=_aacc ._defg ;_gccg :=_gagd .PdfObject .(*_fd .PdfObjectDictionary );_aacc .PdfAnnotationMarkup .appendToPdfDictionary (_gccg );_gccg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0052\u0065\u0064\u0061\u0063\u0074"));_gccg .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_aacc .QuadPoints );_gccg .SetIfNotNil ("\u0049\u0043",_aacc .IC );_gccg .SetIfNotNil ("\u0052\u004f",_aacc .RO );_gccg .SetIfNotNil ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074",_aacc .OverlayText );_gccg .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_aacc .Repeat );_gccg .SetIfNotNil ("\u0044\u0041",_aacc .DA );_gccg .SetIfNotNil ("\u0051",_aacc .Q );return _gagd ;};
|
||
|
||
// 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 (_eddce *PdfPageResources )GetFontByName (keyName _fd .PdfObjectName )(_fd .PdfObject ,bool ){if _eddce .Font ==nil {return nil ,false ;};_fecce ,_dbbea :=_fd .TraceToDirectObject (_eddce .Font ).(*_fd .PdfObjectDictionary );if !_dbbea {_fca .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",_fd .TraceToDirectObject (_eddce .Font ));return nil ,false ;};if _adbbb :=_fecce .Get (keyName );_adbbb !=nil {return _adbbb ,true ;};return nil ,false ;};
|
||
|
||
// PartialName returns the partial name of the field.
|
||
func (_befc *PdfField )PartialName ()string {_gadg :="";if _befc .T !=nil {_gadg =_befc .T .Decoded ();}else {_fca .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 _gadg ;};
|
||
|
||
// PdfActionResetForm represents a resetForm action.
|
||
type PdfActionResetForm struct{*PdfAction ;Fields _fd .PdfObject ;Flags _fd .PdfObject ;};
|
||
|
||
// PdfAnnotationSquiggly represents Squiggly annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationSquiggly struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _fd .PdfObject ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (4 for cmyk).
|
||
func (_dbca *PdfColorspaceDeviceCMYK )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=4{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_abfa ,_dcdg :=_fd .GetNumbersAsFloat (objects );if _dcdg !=nil {return nil ,_dcdg ;};return _dbca .ColorFromFloats (_abfa );};
|
||
|
||
// GetNumComponents returns the number of input color components, i.e. that are input to the tint transform.
|
||
func (_gfeaf *PdfColorspaceDeviceN )GetNumComponents ()int {return _gfeaf .ColorantNames .Len ()};
|
||
|
||
// WatermarkImageOptions contains options for configuring the watermark process.
|
||
type WatermarkImageOptions struct{Alpha float64 ;FitToWidth bool ;PreserveAspectRatio bool ;};
|
||
|
||
// ToGoTime returns the date in time.Time format.
|
||
func (_ccab PdfDate )ToGoTime ()_b .Time {_gbabc :=int (_ccab ._edbcf *60*60+_ccab ._eaegd *60);switch _ccab ._bbeedc {case '-':_gbabc =-_gbabc ;case 'Z':_gbabc =0;};_cceaa :=_d .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_ccab ._bbeedc ,_ccab ._edbcf ,_ccab ._eaegd );_dbecb :=_b .FixedZone (_cceaa ,_gbabc );return _b .Date (int (_ccab ._bgggb ),_b .Month (_ccab ._baced ),int (_ccab ._beffe ),int (_ccab ._dcbba ),int (_ccab ._fbbgf ),int (_ccab ._cfegc ),0,_dbecb );};
|
||
|
||
// String returns a string describing the font descriptor.
|
||
func (_bcdgdd *PdfFontDescriptor )String ()string {var _eafb []string ;if _bcdgdd .FontName !=nil {_eafb =append (_eafb ,_bcdgdd .FontName .String ());};if _bcdgdd .FontFamily !=nil {_eafb =append (_eafb ,_bcdgdd .FontFamily .String ());};if _bcdgdd .fontFile !=nil {_eafb =append (_eafb ,_bcdgdd .fontFile .String ());};if _bcdgdd ._accda !=nil {_eafb =append (_eafb ,_bcdgdd ._accda .String ());};_eafb =append (_eafb ,_d .Sprintf ("\u0046\u006f\u006et\u0046\u0069\u006c\u0065\u0033\u003d\u0025\u0074",_bcdgdd .FontFile3 !=nil ));return _d .Sprintf ("\u0046\u004f\u004e\u0054_D\u0045\u0053\u0043\u0052\u0049\u0050\u0054\u004f\u0052\u007b\u0025\u0073\u007d",_gc .Join (_eafb ,"\u002c\u0020"));};
|
||
|
||
// GetOutlines returns a high-level Outline object, based on the outline tree
|
||
// of the reader.
|
||
func (_dfacb *PdfReader )GetOutlines ()(*Outline ,error ){if _dfacb ==nil {return nil ,_fce .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");};_geecbg :=_dfacb .GetOutlineTree ();if _geecbg ==nil {return nil ,_fce .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 _eaeaf func (_eacca *PdfOutlineTreeNode ,_eaga *[]*OutlineItem );_eaeaf =func (_afbdf *PdfOutlineTreeNode ,_efdd *[]*OutlineItem ){if _afbdf ==nil {return ;};if _afbdf ._ccggf ==nil {_fca .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 _cacg *OutlineItem ;if _fbbg ,_cegd :=_afbdf ._ccggf .(*PdfOutlineItem );_cegd {_efcdb :=_fbbg .Dest ;if (_efcdb ==nil ||_fd .IsNullObject (_efcdb ))&&_fbbg .A !=nil {if _cegef ,_fgbgg :=_fd .GetDict (_fbbg .A );_fgbgg {_efcdb ,_ =_fd .GetArray (_cegef .Get ("\u0044"));};};var _dbfaf OutlineDest ;if _efcdb !=nil &&!_fd .IsNullObject (_efcdb ){if _ebge ,_afcgb :=_cadcg (_efcdb ,_dfacb );_afcgb ==nil {_dbfaf =*_ebge ;}else {_fca .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",_efcdb ,_afcgb );};};_cacg =NewOutlineItem (_fbbg .Title .Decoded (),_dbfaf );*_efdd =append (*_efdd ,_cacg );if _fbbg .Next !=nil {_eaeaf (_fbbg .Next ,_efdd );};};if _afbdf .First !=nil {if _cacg !=nil {_efdd =&_cacg .Entries ;};_eaeaf (_afbdf .First ,_efdd );};};_dgfcbb :=NewOutline ();_eaeaf (_geecbg ,&_dgfcbb .Entries );return _dgfcbb ,nil ;};
|
||
|
||
// NewPdfWriter initializes a new PdfWriter.
|
||
func NewPdfWriter ()PdfWriter {_dbef :=PdfWriter {};_dbef ._fgdfc =map[_fd .PdfObject ]struct{}{};_dbef ._edeb =[]_fd .PdfObject {};_dbef ._efce =map[_fd .PdfObject ][]*_fd .PdfObjectDictionary {};_dbef ._dedba =map[_fd .PdfObject ]struct{}{};_dbef ._fddbd =1;_dbef ._cecag =3;_cbea :=_fd .MakeDict ();_eaeda :=[]struct{_ecefd _fd .PdfObjectName ;_gefce string ;}{{"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_geddg ()},{"\u0043r\u0065\u0061\u0074\u006f\u0072",_bgbea ()},{"\u0041\u0075\u0074\u0068\u006f\u0072",_debafb ()},{"\u0053u\u0062\u006a\u0065\u0063\u0074",_dcdc ()},{"\u0054\u0069\u0074l\u0065",_fgcgg ()},{"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_gccce ()}};for _ ,_ebdbg :=range _eaeda {if _ebdbg ._gefce !=""{_cbea .Set (_ebdbg ._ecefd ,_fd .MakeString (_ebdbg ._gefce ));};};if _dacfd :=_cfcff ();!_dacfd .IsZero (){if _bedff ,_ddfa :=NewPdfDateFromTime (_dacfd );_ddfa ==nil {_cbea .Set ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_bedff .ToPdfObject ());};};if _aedga :=_gdadd ();!_aedga .IsZero (){if _ffdcc ,_ccadf :=NewPdfDateFromTime (_aedga );_ccadf ==nil {_cbea .Set ("\u004do\u0064\u0044\u0061\u0074\u0065",_ffdcc .ToPdfObject ());};};_efae :=_fd .PdfIndirectObject {};_efae .PdfObject =_cbea ;_dbef ._fcacd =&_efae ;_dbef .addObject (&_efae );_dcgaba :=_fd .PdfIndirectObject {};_cdda :=_fd .MakeDict ();_cdda .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0043a\u0074\u0061\u006c\u006f\u0067"));_dcgaba .PdfObject =_cdda ;_dbef ._faaba =&_dcgaba ;_dbef .addObject (_dbef ._faaba );_addad :=_fd .PdfIndirectObject {};_gcafe :=_fd .MakeDict ();_gcafe .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0050\u0061\u0067e\u0073"));_bagd :=_fd .PdfObjectArray {};_gcafe .Set ("\u004b\u0069\u0064\u0073",&_bagd );_gcafe .Set ("\u0043\u006f\u0075n\u0074",_fd .MakeInteger (0));_addad .PdfObject =_gcafe ;_dbef ._fgcc =&_addad ;_dbef ._geaba =map[_fd .PdfObject ]struct{}{};_dbef .addObject (_dbef ._fgcc );_cdda .Set ("\u0050\u0061\u0067e\u0073",&_addad );_dbef ._agagg =_cdda ;_fca .Log .Trace ("\u0043\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0025\u0073",_dcgaba );return _dbef ;};const (_efafc =0x00001;_cddf =0x00002;_eecbf =0x00004;_efegg =0x00008;_egabc =0x00020;_gfeaa =0x00040;_fcbd =0x10000;_cfgf =0x20000;_dccg =0x40000;);
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_dgfcb *PdfFunctionType0 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=_dgfcb .NumInputs {_fca .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 ,_fce .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");};if _dgfcb ._cfcb ==nil {_ggff :=_dgfcb .processSamples ();if _ggff !=nil {return nil ,_ggff ;};};_baea :=_dgfcb .Encode ;if _baea ==nil {_baea =[]float64 {};for _gbgga :=0;_gbgga < len (_dgfcb .Size );_gbgga ++{_baea =append (_baea ,0);_baea =append (_baea ,float64 (_dgfcb .Size [_gbgga ]-1));};};_bfag :=_dgfcb .Decode ;if _bfag ==nil {_bfag =_dgfcb .Range ;};_affd :=make ([]int ,len (x ));for _eefdg :=0;_eefdg < len (x );_eefdg ++{_bbgg :=x [_eefdg ];_faeg :=_ff .Min (_ff .Max (_bbgg ,_dgfcb .Domain [2*_eefdg ]),_dgfcb .Domain [2*_eefdg +1]);_ebbbb :=_gd .LinearInterpolate (_faeg ,_dgfcb .Domain [2*_eefdg ],_dgfcb .Domain [2*_eefdg +1],_baea [2*_eefdg ],_baea [2*_eefdg +1]);_cfgcfe :=_ff .Min (_ff .Max (_ebbbb ,0),float64 (_dgfcb .Size [_eefdg ]-1));_efac :=int (_ff .Floor (_cfgcfe +0.5));if _efac < 0{_efac =0;}else if _efac > _dgfcb .Size [_eefdg ]{_efac =_dgfcb .Size [_eefdg ]-1;};_affd [_eefdg ]=_efac ;};_ffeaf :=_affd [0];for _ccgg :=1;_ccgg < _dgfcb .NumInputs ;_ccgg ++{_eeebc :=_affd [_ccgg ];for _fgbed :=0;_fgbed < _ccgg ;_fgbed ++{_eeebc *=_dgfcb .Size [_fgbed ];};_ffeaf +=_eeebc ;};_ffeaf *=_dgfcb .NumOutputs ;var _beaa []float64 ;for _gaac :=0;_gaac < _dgfcb .NumOutputs ;_gaac ++{_fcace :=_ffeaf +_gaac ;if _fcace >=len (_dgfcb ._cfcb ){_fca .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 ;};_gefega :=_dgfcb ._cfcb [_fcace ];_acaa :=_gd .LinearInterpolate (float64 (_gefega ),0,_ff .Pow (2,float64 (_dgfcb .BitsPerSample )),_bfag [2*_gaac ],_bfag [2*_gaac +1]);_bgdef :=_ff .Min (_ff .Max (_acaa ,_dgfcb .Range [2*_gaac ]),_dgfcb .Range [2*_gaac +1]);_beaa =append (_beaa ,_bgdef );};return _beaa ,nil ;};
|
||
|
||
// ImageToRGB convert an indexed image to RGB.
|
||
func (_facg *PdfColorspaceSpecialIndexed )ImageToRGB (img Image )(Image ,error ){N :=_facg .Base .GetNumComponents ();if N < 1{return Image {},_d .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 );};_efeg :=_gd .NewImageBase (int (img .Width ),int (img .Height ),8,N ,nil ,img ._cded ,img ._dfec );_cffb :=_ddf .NewReader (img .getBase ());_cgfa :=_ddf .NewWriter (_efeg );var (_caedf uint32 ;_fgee int ;_fffd error ;);for {_caedf ,_fffd =_cffb .ReadSample ();if _fffd ==_fc .EOF {break ;}else if _fffd !=nil {return img ,_fffd ;};_fgee =int (_caedf );_fca .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",_fgee ,N ,len (_facg ._cfbf ));if (_fgee +1)*N > len (_facg ._cfbf ){_fgee =len (_facg ._cfbf )/N -1;_fca .Log .Trace ("C\u006c\u0069\u0070\u0070in\u0067 \u0074\u006f\u0020\u0069\u006ed\u0065\u0078\u003a\u0020\u0025\u0064",_fgee );if _fgee < 0{_fca .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 _feace :=_fgee *N ;_feace < (_fgee +1)*N ;_feace ++{if _fffd =_cgfa .WriteSample (uint32 (_facg ._cfbf [_feace ]));_fffd !=nil {return img ,_fffd ;};};};return _facg .Base .ImageToRGB (_baaaa (&_efeg ));};
|
||
|
||
// PdfAnnotationPrinterMark represents PrinterMark annotations.
|
||
// (Section 12.5.6.20).
|
||
type PdfAnnotationPrinterMark struct{*PdfAnnotation ;MN _fd .PdfObject ;};
|
||
|
||
// GetContainingPdfObject returns the containing object for the PdfField, i.e. an indirect object
|
||
// containing the field dictionary.
|
||
func (_ededa *PdfField )GetContainingPdfObject ()_fd .PdfObject {return _ededa ._fbef };
|
||
|
||
// 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 (_cagf *PdfFieldButton )SetType (btype ButtonType ){_bbfe :=uint32 (0);if _cagf .Ff !=nil {_bbfe =uint32 (*_cagf .Ff );};switch btype {case ButtonTypePush :_bbfe |=FieldFlagPushbutton .Mask ();case ButtonTypeRadio :_bbfe |=FieldFlagRadio .Mask ();};_cagf .Ff =_fd .MakeInteger (int64 (_bbfe ));};func (_aaaag *PdfAcroForm )signatureFields ()[]*PdfFieldSignature {var _bbge []*PdfFieldSignature ;for _ ,_ffge :=range _aaaag .AllFields (){switch _abebb :=_ffge .GetContext ().(type ){case *PdfFieldSignature :_aeafe :=_abebb ;_bbge =append (_bbge ,_aeafe );};};return _bbge ;};
|
||
|
||
// PdfAnnotationMarkup represents additional fields for mark-up annotations.
|
||
// (Section 12.5.6.2 p. 399).
|
||
type PdfAnnotationMarkup struct{T _fd .PdfObject ;Popup *PdfAnnotationPopup ;CA _fd .PdfObject ;RC _fd .PdfObject ;CreationDate _fd .PdfObject ;IRT _fd .PdfObject ;Subj _fd .PdfObject ;RT _fd .PdfObject ;IT _fd .PdfObject ;ExData _fd .PdfObject ;};
|
||
|
||
// FieldValueProvider provides field values from a data source such as FDF, JSON or any other.
|
||
type FieldValueProvider interface{FieldValues ()(map[string ]_fd .PdfObject ,error );};
|
||
|
||
// GetContainingPdfObject returns the XObject Form's containing object (indirect object).
|
||
func (_eedb *XObjectForm )GetContainingPdfObject ()_fd .PdfObject {return _eedb ._acdg };var _ pdfFont =(*pdfCIDFontType0 )(nil );func (_deddg *PdfReader )loadOutlines ()(*PdfOutlineTreeNode ,error ){if _deddg ._egbge .GetCrypter ()!=nil &&!_deddg ._egbge .IsAuthenticated (){return nil ,_d .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");};_bbffdd :=_deddg ._bfcbd ;_agcaeb :=_bbffdd .Get ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");if _agcaeb ==nil {return nil ,nil ;};_fca .Log .Trace ("\u002d\u0048\u0061\u0073\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");_bfaff :=_fd .ResolveReference (_agcaeb );_fca .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0020\u0072\u006f\u006f\u0074\u003a\u0020\u0025\u0076",_bfaff );if _ddcbc :=_fd .IsNullObject (_bfaff );_ddcbc {_fca .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 ;};_ffbda ,_abdg :=_bfaff .(*_fd .PdfIndirectObject );if !_abdg {if _ ,_eeac :=_fd .GetDict (_bfaff );!_eeac {_fca .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 ;};_fca .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");_ffbda =_fd .MakeIndirectObject (_bfaff );};_baabcb ,_abdg :=_ffbda .PdfObject .(*_fd .PdfObjectDictionary );if !_abdg {return nil ,_fce .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");};_fca .Log .Trace ("O\u0075\u0074\u006c\u0069ne\u0020r\u006f\u006f\u0074\u0020\u0064i\u0063\u0074\u003a\u0020\u0025\u0076",_baabcb );_efbe ,_ ,_cbdc :=_deddg .buildOutlineTree (_ffbda ,nil ,nil ,nil );if _cbdc !=nil {return nil ,_cbdc ;};_fca .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",_efbe );return _efbe ,nil ;};
|
||
|
||
// AcroFormRepairOptions contains options for rebuilding the AcroForm.
|
||
type AcroFormRepairOptions struct{};
|
||
|
||
// NewPdfAnnotationWatermark returns a new watermark annotation.
|
||
func NewPdfAnnotationWatermark ()*PdfAnnotationWatermark {_ccca :=NewPdfAnnotation ();_eea :=&PdfAnnotationWatermark {};_eea .PdfAnnotation =_ccca ;_ccca .SetContext (_eea );return _eea ;};func _affa (_abdf *PdfPage )map[_fd .PdfObjectName ]_fd .PdfObject {_dage :=make (map[_fd .PdfObjectName ]_fd .PdfObject );if _abdf .Resources ==nil {return _dage ;};if _abdf .Resources .Font !=nil {if _fbgga ,_edbg :=_fd .GetDict (_abdf .Resources .Font );_edbg {for _ ,_fafg :=range _fbgga .Keys (){_dage [_fafg ]=_fbgga .Get (_fafg );};};};if _abdf .Resources .ExtGState !=nil {if _dfad ,_aaga :=_fd .GetDict (_abdf .Resources .ExtGState );_aaga {for _ ,_accb :=range _dfad .Keys (){_dage [_accb ]=_dfad .Get (_accb );};};};if _abdf .Resources .XObject !=nil {if _agfa ,_defd :=_fd .GetDict (_abdf .Resources .XObject );_defd {for _ ,_cbgb :=range _agfa .Keys (){_dage [_cbgb ]=_agfa .Get (_cbgb );};};};if _abdf .Resources .Pattern !=nil {if _eggb ,_dcc :=_fd .GetDict (_abdf .Resources .Pattern );_dcc {for _ ,_bccfe :=range _eggb .Keys (){_dage [_bccfe ]=_eggb .Get (_bccfe );};};};if _abdf .Resources .Shading !=nil {if _cagb ,_aadbg :=_fd .GetDict (_abdf .Resources .Shading );_aadbg {for _ ,_caba :=range _cagb .Keys (){_dage [_caba ]=_cagb .Get (_caba );};};};if _abdf .Resources .ProcSet !=nil {if _dedgg ,_abf :=_fd .GetDict (_abdf .Resources .ProcSet );_abf {for _ ,_dec :=range _dedgg .Keys (){_dage [_dec ]=_dedgg .Get (_dec );};};};if _abdf .Resources .Properties !=nil {if _bcba ,_cbbe :=_fd .GetDict (_abdf .Resources .Properties );_cbbe {for _ ,_baab :=range _bcba .Keys (){_dage [_baab ]=_bcba .Get (_baab );};};};return _dage ;};func (_ebace *pdfFontType0 )getFontDescriptor ()*PdfFontDescriptor {if _ebace ._ggbg ==nil &&_ebace .DescendantFont !=nil {return _ebace .DescendantFont .FontDescriptor ();};return _ebace ._ggbg ;};func _aacdc (_abce *_fd .PdfObjectDictionary )(*PdfShadingPattern ,error ){_eadgb :=&PdfShadingPattern {};_ffage :=_abce .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");if _ffage ==nil {_fca .Log .Debug ("\u0053h\u0061d\u0069\u006e\u0067\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_ecfb ,_eacg :=_fcegc (_ffage );if _eacg !=nil {_fca .Log .Debug ("\u0045r\u0072\u006f\u0072\u0020l\u006f\u0061\u0064\u0069\u006eg\u0020s\u0068a\u0064\u0069\u006e\u0067\u003a\u0020\u0025v",_eacg );return nil ,_eacg ;};_eadgb .Shading =_ecfb ;if _ggdbec :=_abce .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_ggdbec !=nil {_addg ,_aedcc :=_ggdbec .(*_fd .PdfObjectArray );if !_aedcc {_fca .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",_ggdbec );return nil ,_fd .ErrTypeError ;};_eadgb .Matrix =_addg ;};if _gcdcc :=_abce .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_gcdcc !=nil {_eadgb .ExtGState =_gcdcc ;};return _eadgb ,nil ;};
|
||
|
||
// Set sets the colorspace corresponding to key. Add to Names if not set.
|
||
func (_fdbce *PdfPageResourcesColorspaces )Set (key _fd .PdfObjectName ,val PdfColorspace ){if _ ,_fegga :=_fdbce .Colorspaces [string (key )];!_fegga {_fdbce .Names =append (_fdbce .Names ,string (key ));};_fdbce .Colorspaces [string (key )]=val ;};func _fdde (_eacc *_fd .PdfObjectDictionary ,_efgf *fontCommon )(*pdfCIDFontType0 ,error ){if _efgf ._ccea !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"{_fca .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",_efgf );return nil ,_fd .ErrRangeError ;};_aggcb :=_fddd (_efgf );_ecgga ,_efcd :=_fd .GetDict (_eacc .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_efcd {_fca .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",_efgf );return nil ,ErrRequiredAttributeMissing ;};_aggcb .CIDSystemInfo =_ecgga ;_aggcb .DW =_eacc .Get ("\u0044\u0057");_aggcb .W =_eacc .Get ("\u0057");_aggcb .DW2 =_eacc .Get ("\u0044\u0057\u0032");_aggcb .W2 =_eacc .Get ("\u0057\u0032");_aggcb ._bbda =1000.0;if _gcdc ,_afaf :=_fd .GetNumberAsFloat (_aggcb .DW );_afaf ==nil {_aggcb ._bbda =_gcdc ;};_eccdg ,_cccb :=_fggb (_aggcb .W );if _cccb !=nil {return nil ,_cccb ;};if _eccdg ==nil {_eccdg =map[_gf .CharCode ]float64 {};};_aggcb ._cadad =_eccdg ;return _aggcb ,nil ;};func (_cafd *PdfReader )newPdfAnnotationRichMediaFromDict (_fcgc *_fd .PdfObjectDictionary )(*PdfAnnotationRichMedia ,error ){_aged :=&PdfAnnotationRichMedia {};_aged .RichMediaSettings =_fcgc .Get ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073");_aged .RichMediaContent =_fcgc .Get ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074");return _aged ,nil ;};
|
||
|
||
// 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 _fd .PdfObject )(_fd .PdfObjectName ,error ){var _caegd *_fd .PdfObjectName ;var _aegg *_fd .PdfObjectArray ;if _bgda ,_ededg :=obj .(*_fd .PdfIndirectObject );_ededg {if _baaf ,_bgce :=_bgda .PdfObject .(*_fd .PdfObjectArray );_bgce {_aegg =_baaf ;}else if _ddgge ,_cead :=_bgda .PdfObject .(*_fd .PdfObjectName );_cead {_caegd =_ddgge ;};}else if _faef ,_fcgd :=obj .(*_fd .PdfObjectArray );_fcgd {_aegg =_faef ;}else if _aedbd ,_ffdg :=obj .(*_fd .PdfObjectName );_ffdg {_caegd =_aedbd ;};if _caegd !=nil {switch *_caegd {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 *_caegd ,nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return *_caegd ,nil ;};};if _aegg !=nil &&_aegg .Len ()> 0{if _agce ,_dabgg :=_aegg .Get (0).(*_fd .PdfObjectName );_dabgg {switch *_agce {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 _aegg .Len ()==1{return *_agce ,nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079","\u0043\u0061\u006c\u0052\u0047\u0042","\u004c\u0061\u0062":return *_agce ,nil ;case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064","\u0050a\u0074\u0074\u0065\u0072\u006e","\u0049n\u0064\u0065\u0078\u0065\u0064":return *_agce ,nil ;case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e","\u0044e\u0076\u0069\u0063\u0065\u004e":return *_agce ,nil ;};};};return "",nil ;};
|
||
|
||
// PdfAnnotationSound represents Sound annotations.
|
||
// (Section 12.5.6.16).
|
||
type PdfAnnotationSound struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Sound _fd .PdfObject ;Name _fd .PdfObject ;};
|
||
|
||
// 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 (_acgg _fc .Reader )(*Image ,error );
|
||
|
||
// NewImageFromGoImage loads a NRGBA32 unidoc Image from a standard Go image structure.
|
||
NewImageFromGoImage (_cggb _dg .Image )(*Image ,error );
|
||
|
||
// NewGrayImageFromGoImage loads a grayscale unidoc Image from a standard Go image structure.
|
||
NewGrayImageFromGoImage (_ccddd _dg .Image )(*Image ,error );
|
||
|
||
// Compress an image.
|
||
Compress (_egacfe *Image ,_abebba int64 )(*Image ,error );};
|
||
|
||
// PdfColorspaceLab is a L*, a*, b* 3 component colorspace.
|
||
type PdfColorspaceLab struct{WhitePoint []float64 ;BlackPoint []float64 ;Range []float64 ;_fbfeb *_fd .PdfIndirectObject ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gcea *PdfColorCalGray )ToInteger (bits int )uint32 {_deaa :=_ff .Pow (2,float64 (bits ))-1;return uint32 (_deaa *_gcea .Val ());};
|
||
|
||
// 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 *_fd .PdfObjectArray ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;Attributes *PdfColorspaceDeviceNAttributes ;_cbcba *_fd .PdfIndirectObject ;};
|
||
|
||
// 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 (_bdgeb *XObjectForm )SetContentStream (content []byte ,encoder _fd .StreamEncoder )error {_ddcc :=content ;if encoder ==nil {if _bdgeb .Filter !=nil {encoder =_bdgeb .Filter ;}else {encoder =_fd .NewRawEncoder ();};};_cafca ,_dgcgd :=encoder .EncodeBytes (_ddcc );if _dgcgd !=nil {return _dgcgd ;};_ddcc =_cafca ;_bdgeb .Stream =_ddcc ;_bdgeb .Filter =encoder ;return nil ;};func _aageg (_cbaegf *_fd .PdfObjectDictionary )(*PdfShadingType6 ,error ){_ceda :=PdfShadingType6 {};_aaage :=_cbaegf .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _aaage ==nil {_fca .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 ;};_bcgeg ,_eecca :=_aaage .(*_fd .PdfObjectInteger );if !_eecca {_fca .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",_aaage );return nil ,_fd .ErrTypeError ;};_ceda .BitsPerCoordinate =_bcgeg ;_aaage =_cbaegf .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _aaage ==nil {_fca .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 ;};_bcgeg ,_eecca =_aaage .(*_fd .PdfObjectInteger );if !_eecca {_fca .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",_aaage );return nil ,_fd .ErrTypeError ;};_ceda .BitsPerComponent =_bcgeg ;_aaage =_cbaegf .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _aaage ==nil {_fca .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 ;};_bcgeg ,_eecca =_aaage .(*_fd .PdfObjectInteger );if !_eecca {_fca .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",_aaage );return nil ,_fd .ErrTypeError ;};_ceda .BitsPerComponent =_bcgeg ;_aaage =_cbaegf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _aaage ==nil {_fca .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 ;};_eefgg ,_eecca :=_aaage .(*_fd .PdfObjectArray );if !_eecca {_fca .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",_aaage );return nil ,_fd .ErrTypeError ;};_ceda .Decode =_eefgg ;if _aeaa :=_cbaegf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_aeaa !=nil {_ceda .Function =[]PdfFunction {};if _dagad ,_abde :=_aeaa .(*_fd .PdfObjectArray );_abde {for _ ,_dfdbc :=range _dagad .Elements (){_cabdf ,_faabc :=_fagc (_dfdbc );if _faabc !=nil {_fca .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",_faabc );return nil ,_faabc ;};_ceda .Function =append (_ceda .Function ,_cabdf );};}else {_bdfgb ,_fadfa :=_fagc (_aeaa );if _fadfa !=nil {_fca .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",_fadfa );return nil ,_fadfa ;};_ceda .Function =append (_ceda .Function ,_bdfgb );};};return &_ceda ,nil ;};
|
||
|
||
// ColorAt returns the color of the image pixel specified by the x and y coordinates.
|
||
func (_fgbga *Image )ColorAt (x ,y int )(_c .Color ,error ){_gbcb :=_gd .BytesPerLine (int (_fgbga .Width ),int (_fgbga .BitsPerComponent ),_fgbga .ColorComponents );switch _fgbga .ColorComponents {case 1:return _gd .ColorAtGrayscale (x ,y ,int (_fgbga .BitsPerComponent ),_gbcb ,_fgbga .Data ,_fgbga ._dfec );case 3:return _gd .ColorAtNRGBA (x ,y ,int (_fgbga .Width ),_gbcb ,int (_fgbga .BitsPerComponent ),_fgbga .Data ,_fgbga ._cded ,_fgbga ._dfec );case 4:return _gd .ColorAtCMYK (x ,y ,int (_fgbga .Width ),_fgbga .Data ,_fgbga ._dfec );};_fca .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",_fgbga .ColorComponents ,_fgbga .BitsPerComponent );return nil ,_fce .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");};func _dafbdd (_eecbd *_fd .PdfIndirectObject )(*PdfOutline ,error ){_fbeg ,_ffgae :=_eecbd .PdfObject .(*_fd .PdfObjectDictionary );if !_ffgae {return nil ,_d .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");};_bdbgb :=NewPdfOutline ();if _egegc :=_fbeg .Get ("\u0054\u0079\u0070\u0065");_egegc !=nil {_adgge ,_cgacd :=_egegc .(*_fd .PdfObjectName );if _cgacd {if *_adgge !="\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"{_fca .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",*_adgge );};};};if _ffcgf :=_fbeg .Get ("\u0043\u006f\u0075n\u0074");_ffcgf !=nil {_adgfc ,_becgf :=_fd .GetNumberAsInt64 (_ffcgf );if _becgf !=nil {return nil ,_becgf ;};_bdbgb .Count =&_adgfc ;};return _bdbgb ,nil ;};
|
||
|
||
// 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 (_bcdb *PdfFont )GetRuneMetrics (r rune )(CharMetrics ,bool ){_dbcde :=_bcdb .actualFont ();if _dbcde ==nil {_fca .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",_bcdb ._bbaa );return _aaf .CharMetrics {},false ;};if _agfaa ,_ffdb :=_dbcde .GetRuneMetrics (r );_ffdb {return _agfaa ,true ;};if _eafcf ,_fbfde :=_bcdb .GetFontDescriptor ();_fbfde ==nil &&_eafcf !=nil {return _aaf .CharMetrics {Wx :_eafcf ._bcgdc },true ;};_fca .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",_bcdb );return _aaf .CharMetrics {},false ;};func (_ebfef *Image )resampleLowBits (_ffdgf []uint32 ){_fbffa :=_gd .BytesPerLine (int (_ebfef .Width ),int (_ebfef .BitsPerComponent ),_ebfef .ColorComponents );_dfbd :=make ([]byte ,_ebfef .ColorComponents *_fbffa *int (_ebfef .Height ));_gfegg :=int (_ebfef .BitsPerComponent )*_ebfef .ColorComponents *int (_ebfef .Width );_aedefc :=uint8 (8);var (_ffbe ,_bcgb int ;_bebdaa uint32 ;);for _bdcb :=0;_bdcb < int (_ebfef .Height );_bdcb ++{_bcgb =_bdcb *_fbffa ;for _ceefa :=0;_ceefa < _gfegg ;_ceefa ++{_bebdaa =_ffdgf [_ffbe ];_aedefc -=uint8 (_ebfef .BitsPerComponent );_dfbd [_bcgb ]|=byte (_bebdaa )<<_aedefc ;if _aedefc ==0{_aedefc =8;_bcgb ++;};_ffbe ++;};};_ebfef .Data =_dfbd ;};func _eabg (_eceb string )(map[_gf .CharCode ]_gf .GlyphName ,error ){_bacd :=_gc .Split (_eceb ,"\u000a");_gefef :=make (map[_gf .CharCode ]_gf .GlyphName );for _ ,_debda :=range _bacd {_dgefe :=_gbdf .FindStringSubmatch (_debda );if _dgefe ==nil {continue ;};_eggbb ,_fadcea :=_dgefe [1],_dgefe [2];_cdfcd ,_gacgb :=_ca .Atoi (_eggbb );if _gacgb !=nil {_fca .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",_debda );return nil ,_fd .ErrTypeError ;};_gefef [_gf .CharCode (_cdfcd )]=_gf .GlyphName (_fadcea );};_fca .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",_gefef );return _gefef ,nil ;};func (_dafbd *fontFile )loadFromSegments (_cdcec ,_edae []byte )error {_fca .Log .Trace ("\u006c\u006f\u0061dF\u0072\u006f\u006d\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u0020\u0025\u0064",len (_cdcec ),len (_edae ));_ebga :=_dafbd .parseASCIIPart (_cdcec );if _ebga !=nil {return _ebga ;};_fca .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_dafbd );if len (_edae )==0{return nil ;};_fca .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_dafbd );return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gg *PdfActionResetForm )ToPdfObject ()_fd .PdfObject {_gg .PdfAction .ToPdfObject ();_acb :=_gg ._fgb ;_gccb :=_acb .PdfObject .(*_fd .PdfObjectDictionary );_gccb .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeResetForm )));_gccb .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_gg .Fields );_gccb .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_gg .Flags );return _acb ;};
|
||
|
||
// FieldAppearanceGenerator generates appearance stream for a given field.
|
||
type FieldAppearanceGenerator interface{ContentStreamWrapper ;GenerateAppearanceDict (_accf *PdfAcroForm ,_edfce *PdfField ,_ccacf *PdfAnnotationWidget )(*_fd .PdfObjectDictionary ,error );};
|
||
|
||
// 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 ;_cdgce []byte ;_cfcb []uint32 ;_bdbf *_fd .PdfObjectStream ;};func (_ffabc *PdfWriter )copyObject (_egead _fd .PdfObject ,_ffbed map[_fd .PdfObject ]_fd .PdfObject ,_dfca map[_fd .PdfObject ]struct{},_fgba bool )_fd .PdfObject {_baagb :=!_ffabc ._gfggd &&_dfca !=nil ;if _bdeag ,_gacge :=_ffbed [_egead ];_gacge {if _baagb &&!_fgba {delete (_dfca ,_egead );};return _bdeag ;};_agfb :=_egead ;switch _bbegf :=_egead .(type ){case *_fd .PdfObjectArray :_caaabc :=_fd .MakeArray ();_agfb =_caaabc ;_ffbed [_egead ]=_agfb ;for _ ,_dfeca :=range _bbegf .Elements (){_caaabc .Append (_ffabc .copyObject (_dfeca ,_ffbed ,_dfca ,_fgba ));};case *_fd .PdfObjectStreams :_bcfd :=&_fd .PdfObjectStreams {PdfObjectReference :_bbegf .PdfObjectReference };_agfb =_bcfd ;_ffbed [_egead ]=_agfb ;for _ ,_aceg :=range _bbegf .Elements (){_bcfd .Append (_ffabc .copyObject (_aceg ,_ffbed ,_dfca ,_fgba ));};case *_fd .PdfObjectStream :_ggdfgc :=&_fd .PdfObjectStream {Stream :_bbegf .Stream ,PdfObjectReference :_bbegf .PdfObjectReference };_agfb =_ggdfgc ;_ffbed [_egead ]=_agfb ;_ggdfgc .PdfObjectDictionary =_ffabc .copyObject (_bbegf .PdfObjectDictionary ,_ffbed ,_dfca ,_fgba ).(*_fd .PdfObjectDictionary );case *_fd .PdfObjectDictionary :var _gegb bool ;if _baagb &&!_fgba {if _cgdg ,_ :=_fd .GetNameVal (_bbegf .Get ("\u0054\u0079\u0070\u0065"));_cgdg =="\u0050\u0061\u0067\u0065"{_ ,_fdeee :=_ffabc ._geaba [_bbegf ];_fgba =!_fdeee ;_gegb =_fgba ;};};_ccgaf :=_fd .MakeDict ();_agfb =_ccgaf ;_ffbed [_egead ]=_agfb ;for _ ,_efcac :=range _bbegf .Keys (){_ccgaf .Set (_efcac ,_ffabc .copyObject (_bbegf .Get (_efcac ),_ffbed ,_dfca ,_fgba ));};if _gegb {_agfb =_fd .MakeNull ();_fgba =false ;};case *_fd .PdfIndirectObject :_gbdfb :=&_fd .PdfIndirectObject {PdfObjectReference :_bbegf .PdfObjectReference };_agfb =_gbdfb ;_ffbed [_egead ]=_agfb ;_gbdfb .PdfObject =_ffabc .copyObject (_bbegf .PdfObject ,_ffbed ,_dfca ,_fgba );case *_fd .PdfObjectString :_eaefe :=*_bbegf ;_agfb =&_eaefe ;_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectName :_dbgc :=_fd .PdfObjectName (*_bbegf );_agfb =&_dbgc ;_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectNull :_agfb =_fd .MakeNull ();_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectInteger :_bgdgg :=_fd .PdfObjectInteger (*_bbegf );_agfb =&_bgdgg ;_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectReference :_gddgc :=_fd .PdfObjectReference (*_bbegf );_agfb =&_gddgc ;_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectFloat :_abfae :=_fd .PdfObjectFloat (*_bbegf );_agfb =&_abfae ;_ffbed [_egead ]=_agfb ;case *_fd .PdfObjectBool :_afead :=_fd .PdfObjectBool (*_bbegf );_agfb =&_afead ;_ffbed [_egead ]=_agfb ;case *pdfSignDictionary :_gggfaa :=&pdfSignDictionary {PdfObjectDictionary :_fd .MakeDict (),_bedac :_bbegf ._bedac ,_beded :_bbegf ._beded };_agfb =_gggfaa ;_ffbed [_egead ]=_agfb ;for _ ,_cffdb :=range _bbegf .Keys (){_gggfaa .Set (_cffdb ,_ffabc .copyObject (_bbegf .Get (_cffdb ),_ffbed ,_dfca ,_fgba ));};default:_fca .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",_egead );};if _baagb &&_fgba {_dfca [_egead ]=struct{}{};};return _agfb ;};
|
||
|
||
// ImageToRGB converts image in CalGray color space to RGB (A, B, C -> X, Y, Z).
|
||
func (_cbbbe *PdfColorspaceCalGray )ImageToRGB (img Image )(Image ,error ){_cafcd :=_ddf .NewReader (img .getBase ());_cede :=_gd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_ebbba :=_ddf .NewWriter (_cede );_gdadf :=_ff .Pow (2,float64 (img .BitsPerComponent ))-1;_cbad :=make ([]uint32 ,3);var (_adde uint32 ;ANorm ,X ,Y ,Z ,_feed ,_dee ,_dbce float64 ;_gece error ;);for {_adde ,_gece =_cafcd .ReadSample ();if _gece ==_fc .EOF {break ;}else if _gece !=nil {return img ,_gece ;};ANorm =float64 (_adde )/_gdadf ;X =_cbbbe .WhitePoint [0]*_ff .Pow (ANorm ,_cbbbe .Gamma );Y =_cbbbe .WhitePoint [1]*_ff .Pow (ANorm ,_cbbbe .Gamma );Z =_cbbbe .WhitePoint [2]*_ff .Pow (ANorm ,_cbbbe .Gamma );_feed =3.240479*X +-1.537150*Y +-0.498535*Z ;_dee =-0.969256*X +1.875992*Y +0.041556*Z ;_dbce =0.055648*X +-0.204043*Y +1.057311*Z ;_feed =_ff .Min (_ff .Max (_feed ,0),1.0);_dee =_ff .Min (_ff .Max (_dee ,0),1.0);_dbce =_ff .Min (_ff .Max (_dbce ,0),1.0);_cbad [0]=uint32 (_feed *_gdadf );_cbad [1]=uint32 (_dee *_gdadf );_cbad [2]=uint32 (_dbce *_gdadf );if _gece =_ebbba .WriteSamples (_cbad );_gece !=nil {return img ,_gece ;};};return _baaaa (&_cede ),nil ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_fgad *PdfFilespec )GetContainingPdfObject ()_fd .PdfObject {return _fgad ._gccf };
|
||
|
||
// GetContainingPdfObject returns the container of the resources object (indirect object).
|
||
func (_eccgg *PdfPageResources )GetContainingPdfObject ()_fd .PdfObject {return _eccgg ._adae };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eeeg *PdfAnnotationPrinterMark )ToPdfObject ()_fd .PdfObject {_eeeg .PdfAnnotation .ToPdfObject ();_aea :=_eeeg ._defg ;_gabe :=_aea .PdfObject .(*_fd .PdfObjectDictionary );_gabe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b"));_gabe .SetIfNotNil ("\u004d\u004e",_eeeg .MN );return _aea ;};func (_ceea *PdfReader )newPdfActionThreadFromDict (_bab *_fd .PdfObjectDictionary )(*PdfActionThread ,error ){_bgge ,_gddg :=_dgd (_bab .Get ("\u0046"));if _gddg !=nil {return nil ,_gddg ;};return &PdfActionThread {D :_bab .Get ("\u0044"),B :_bab .Get ("\u0042"),F :_bgge },nil ;};
|
||
|
||
// ColorToRGB converts a CalGray color to an RGB color.
|
||
func (_dffb *PdfColorspaceCalGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_dgbbc ,_ffeg :=color .(*PdfColorCalGray );if !_ffeg {_fca .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 ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};ANorm :=_dgbbc .Val ();X :=_dffb .WhitePoint [0]*_ff .Pow (ANorm ,_dffb .Gamma );Y :=_dffb .WhitePoint [1]*_ff .Pow (ANorm ,_dffb .Gamma );Z :=_dffb .WhitePoint [2]*_ff .Pow (ANorm ,_dffb .Gamma );_eebb :=3.240479*X +-1.537150*Y +-0.498535*Z ;_ddabc :=-0.969256*X +1.875992*Y +0.041556*Z ;_cdff :=0.055648*X +-0.204043*Y +1.057311*Z ;_eebb =_ff .Min (_ff .Max (_eebb ,0),1.0);_ddabc =_ff .Min (_ff .Max (_ddabc ,0),1.0);_cdff =_ff .Min (_ff .Max (_cdff ,0),1.0);return NewPdfColorDeviceRGB (_eebb ,_ddabc ,_cdff ),nil ;};
|
||
|
||
// NewOutlineDest returns a new outline destination which can be used
|
||
// with outline items.
|
||
func NewOutlineDest (page int64 ,x ,y float64 )OutlineDest {return OutlineDest {Page :page ,Mode :"\u0058\u0059\u005a",X :x ,Y :y };};func _cbcbf (_fagb _fd .PdfObject )(*PdfColorspaceSpecialPattern ,error ){_fca .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",_fagb .String (),_fagb );_ffbf :=NewPdfColorspaceSpecialPattern ();if _egdgc ,_cadg :=_fagb .(*_fd .PdfIndirectObject );_cadg {_ffbf ._agedg =_egdgc ;};_fagb =_fd .TraceToDirectObject (_fagb );if _bddg ,_cdcf :=_fagb .(*_fd .PdfObjectName );_cdcf {if *_bddg !="\u0050a\u0074\u0074\u0065\u0072\u006e"{return nil ,_d .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};return _ffbf ,nil ;};_gacd ,_aca :=_fagb .(*_fd .PdfObjectArray );if !_aca {_fca .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",_fagb );return nil ,_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0050\u0061\u0074\u0074e\u0072n\u0020C\u0053\u0020\u006f\u0062\u006a\u0065\u0063t");};if _gacd .Len ()!=1&&_gacd .Len ()!=2{_fca .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",_gacd );return nil ,_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065r\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079");};_fagb =_gacd .Get (0);if _acca ,_feba :=_fagb .(*_fd .PdfObjectName );_feba {if *_acca !="\u0050a\u0074\u0074\u0065\u0072\u006e"{_fca .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",_acca );return nil ,_d .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};};if _gacd .Len ()> 1{_fagb =_gacd .Get (1);_fagb =_fd .TraceToDirectObject (_fagb );_cdfd ,_efecb :=NewPdfColorspaceFromPdfObject (_fagb );if _efecb !=nil {return nil ,_efecb ;};_ffbf .UnderlyingCS =_cdfd ;};_fca .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",_ffbf .UnderlyingCS );return _ffbf ,nil ;};func (_gcba *pdfCIDFontType2 )baseFields ()*fontCommon {return &_gcba .fontCommon };
|
||
|
||
// ToPdfObject converts the PdfFont object to its PDF representation.
|
||
func (_bfaef *PdfFont )ToPdfObject ()_fd .PdfObject {if _bfaef ._bbaa ==nil {_fca .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 _fd .MakeNull ();};return _bfaef ._bbaa .ToPdfObject ();};
|
||
|
||
// NewPdfFontFromPdfObject loads a PdfFont from the dictionary `fontObj`. If there is a problem an
|
||
// error is returned.
|
||
func NewPdfFontFromPdfObject (fontObj _fd .PdfObject )(*PdfFont ,error ){return _edda (fontObj ,true )};func _ccaea (_bdgbe *[]*PdfField ,_ddacb FieldFilterFunc ,_cdcgb bool )[]*PdfField {if _bdgbe ==nil {return nil ;};_cdbc :=*_bdgbe ;if len (*_bdgbe )==0{return nil ;};_bcbcd :=_cdbc [:0];if _ddacb ==nil {_ddacb =func (*PdfField )bool {return true };};var _fegdd []*PdfField ;for _ ,_egeg :=range _cdbc {_cdcb :=_ddacb (_egeg );if _cdcb {_fegdd =append (_fegdd ,_egeg );if len (_egeg .Kids )> 0{_fegdd =append (_fegdd ,_ccaea (&_egeg .Kids ,_ddacb ,_cdcgb )...);};};if !_cdcgb ||!_cdcb ||len (_egeg .Kids )> 0{_bcbcd =append (_bcbcd ,_egeg );};};*_bdgbe =_bcbcd ;return _fegdd ;};
|
||
|
||
// NewPdfFilespecFromObj creates and returns a new PdfFilespec object.
|
||
func NewPdfFilespecFromObj (obj _fd .PdfObject )(*PdfFilespec ,error ){_bfdbb :=&PdfFilespec {};var _dddg *_fd .PdfObjectDictionary ;if _fdce ,_abefa :=_fd .GetIndirect (obj );_abefa {_bfdbb ._gccf =_fdce ;_bcdcf ,_fcga :=_fd .GetDict (_fdce .PdfObject );if !_fcga {_fca .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 ,_fd .ErrTypeError ;};_dddg =_bcdcf ;}else if _aade ,_dcbe :=_fd .GetDict (obj );_dcbe {_bfdbb ._gccf =_aade ;_dddg =_aade ;}else {_fca .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 ,_fd .ErrTypeError ;};if _dddg ==nil {_fca .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_fce .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _ffce :=_dddg .Get ("\u0054\u0079\u0070\u0065");_ffce !=nil {_ffcd ,_cace :=_ffce .(*_fd .PdfObjectName );if !_cace {_fca .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",_ffce );}else {if *_ffcd !="\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"{_fca .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",*_ffcd );};};};if _abee :=_dddg .Get ("\u0046\u0053");_abee !=nil {_bfdbb .FS =_abee ;};if _debf :=_dddg .Get ("\u0046");_debf !=nil {_bfdbb .F =_debf ;};if _feead :=_dddg .Get ("\u0055\u0046");_feead !=nil {_bfdbb .UF =_feead ;};if _gfda :=_dddg .Get ("\u0044\u004f\u0053");_gfda !=nil {_bfdbb .DOS =_gfda ;};if _eecb :=_dddg .Get ("\u004d\u0061\u0063");_eecb !=nil {_bfdbb .Mac =_eecb ;};if _fcddg :=_dddg .Get ("\u0055\u006e\u0069\u0078");_fcddg !=nil {_bfdbb .Unix =_fcddg ;};if _ebac :=_dddg .Get ("\u0049\u0044");_ebac !=nil {_bfdbb .ID =_ebac ;};if _dgdfd :=_dddg .Get ("\u0056");_dgdfd !=nil {_bfdbb .V =_dgdfd ;};if _dfgd :=_dddg .Get ("\u0045\u0046");_dfgd !=nil {_bfdbb .EF =_dfgd ;};if _ggdbe :=_dddg .Get ("\u0052\u0046");_ggdbe !=nil {_bfdbb .RF =_ggdbe ;};if _cdacc :=_dddg .Get ("\u0044\u0065\u0073\u0063");_cdacc !=nil {_bfdbb .Desc =_cdacc ;};if _affg :=_dddg .Get ("\u0043\u0049");_affg !=nil {_bfdbb .CI =_affg ;};return _bfdbb ,nil ;};
|
||
|
||
// PdfAction represents an action in PDF (section 12.6 p. 412).
|
||
type PdfAction struct{_db PdfModel ;Type _fd .PdfObject ;S _fd .PdfObject ;Next _fd .PdfObject ;_fgb *_fd .PdfIndirectObject ;};
|
||
|
||
// GetIndirectObjectByNumber retrieves and returns a specific PdfObject by object number.
|
||
func (_gbadb *PdfReader )GetIndirectObjectByNumber (number int )(_fd .PdfObject ,error ){_acced ,_agggc :=_gbadb ._egbge .LookupByNumber (number );return _acced ,_agggc ;};
|
||
|
||
// PdfFunction interface represents the common methods of a function in PDF.
|
||
type PdfFunction interface{Evaluate ([]float64 )([]float64 ,error );ToPdfObject ()_fd .PdfObject ;};
|
||
|
||
// ToPdfObject sets the common field elements.
|
||
// Note: Call the more field context's ToPdfObject to set both the generic and
|
||
// non-generic information.
|
||
func (_ecdab *PdfField )ToPdfObject ()_fd .PdfObject {_cfgad :=_ecdab ._fbef ;_fead :=_cfgad .PdfObject .(*_fd .PdfObjectDictionary );_fdef :=_fd .MakeArray ();for _ ,_gefee :=range _ecdab .Kids {_fdef .Append (_gefee .ToPdfObject ());};for _ ,_ccgb :=range _ecdab .Annotations {if _ccgb ._defg !=_ecdab ._fbef {_fdef .Append (_ccgb .GetContext ().ToPdfObject ());};};if _ecdab .Parent !=nil {_fead .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_ecdab .Parent .GetContainingPdfObject ());};if _fdef .Len ()> 0{_fead .Set ("\u004b\u0069\u0064\u0073",_fdef );};_fead .SetIfNotNil ("\u0046\u0054",_ecdab .FT );_fead .SetIfNotNil ("\u0054",_ecdab .T );_fead .SetIfNotNil ("\u0054\u0055",_ecdab .TU );_fead .SetIfNotNil ("\u0054\u004d",_ecdab .TM );_fead .SetIfNotNil ("\u0046\u0066",_ecdab .Ff );_fead .SetIfNotNil ("\u0056",_ecdab .V );_fead .SetIfNotNil ("\u0044\u0056",_ecdab .DV );_fead .SetIfNotNil ("\u0041\u0041",_ecdab .AA );return _cfgad ;};
|
||
|
||
// 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 (_fdba *PdfColorspaceDeviceCMYK )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=4{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bggg :=vals [0];if _bggg < 0.0||_bggg > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fdgdf :=vals [1];if _fdgdf < 0.0||_fdgdf > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aaec :=vals [2];if _aaec < 0.0||_aaec > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cdaee :=vals [3];if _cdaee < 0.0||_cdaee > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ffgb :=NewPdfColorDeviceCMYK (_bggg ,_fdgdf ,_aaec ,_cdaee );return _ffgb ,nil ;};
|
||
|
||
// NewPdfAnnotationInk returns a new ink annotation.
|
||
func NewPdfAnnotationInk ()*PdfAnnotationInk {_dgba :=NewPdfAnnotation ();_cfca :=&PdfAnnotationInk {};_cfca .PdfAnnotation =_dgba ;_cfca .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dgba .SetContext (_cfca );return _cfca ;};
|
||
|
||
// AddFont adds a font dictionary to the Font resources.
|
||
func (_abdcb *PdfPage )AddFont (name _fd .PdfObjectName ,font _fd .PdfObject )error {if _abdcb .Resources ==nil {_abdcb .Resources =NewPdfPageResources ();};if _abdcb .Resources .Font ==nil {_abdcb .Resources .Font =_fd .MakeDict ();};_adebf ,_bcff :=_fd .TraceToDirectObject (_abdcb .Resources .Font ).(*_fd .PdfObjectDictionary );if !_bcff {_fca .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",_fd .TraceToDirectObject (_abdcb .Resources .Font ));return _fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_adebf .Set (name ,font );return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gdab *PdfAnnotationPolyLine )ToPdfObject ()_fd .PdfObject {_gdab .PdfAnnotation .ToPdfObject ();_gbec :=_gdab ._defg ;_dedd :=_gbec .PdfObject .(*_fd .PdfObjectDictionary );_gdab .PdfAnnotationMarkup .appendToPdfDictionary (_dedd );_dedd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065"));_dedd .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_gdab .Vertices );_dedd .SetIfNotNil ("\u004c\u0045",_gdab .LE );_dedd .SetIfNotNil ("\u0042\u0053",_gdab .BS );_dedd .SetIfNotNil ("\u0049\u0043",_gdab .IC );_dedd .SetIfNotNil ("\u0042\u0045",_gdab .BE );_dedd .SetIfNotNil ("\u0049\u0054",_gdab .IT );_dedd .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_gdab .Measure );return _gbec ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_abccg pdfCIDFontType2 )GetCharMetrics (code _gf .CharCode )(_aaf .CharMetrics ,bool ){if _fbbf ,_bdbe :=_abccg ._bggdf [code ];_bdbe {return _aaf .CharMetrics {Wx :float64 (_fbbf )},true ;};_cabd :=rune (code );_dede ,_cfdf :=_abccg ._ebfg [_cabd ];if !_cfdf {_dede =int (_abccg ._gcegd );};return _aaf .CharMetrics {Wx :float64 (_dede )},true ;};
|
||
|
||
// EncryptOptions represents encryption options for an output PDF.
|
||
type EncryptOptions struct{Permissions _ce .Permissions ;Algorithm EncryptionAlgorithm ;};
|
||
|
||
// String returns a string representation of the field.
|
||
func (_dgef *PdfField )String ()string {if _bceed ,_dddb :=_dgef .ToPdfObject ().(*_fd .PdfIndirectObject );_dddb {return _d .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_dgef ._cacd ,_bceed .PdfObject .String ());};return "";};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ecaeg *PdfSignature )ToPdfObject ()_fd .PdfObject {_fefcb :=_ecaeg ._bcbba ;var _geccg *_fd .PdfObjectDictionary ;if _cacef ,_ecfed :=_fefcb .PdfObject .(*pdfSignDictionary );_ecfed {_geccg =_cacef .PdfObjectDictionary ;}else {_geccg =_fefcb .PdfObject .(*_fd .PdfObjectDictionary );};_geccg .SetIfNotNil ("\u0054\u0079\u0070\u0065",_ecaeg .Type );_geccg .SetIfNotNil ("\u0046\u0069\u006c\u0074\u0065\u0072",_ecaeg .Filter );_geccg .SetIfNotNil ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r",_ecaeg .SubFilter );_geccg .SetIfNotNil ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_ecaeg .ByteRange );_geccg .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_ecaeg .Contents );_geccg .SetIfNotNil ("\u0043\u0065\u0072\u0074",_ecaeg .Cert );_geccg .SetIfNotNil ("\u004e\u0061\u006d\u0065",_ecaeg .Name );_geccg .SetIfNotNil ("\u0052\u0065\u0061\u0073\u006f\u006e",_ecaeg .Reason );_geccg .SetIfNotNil ("\u004d",_ecaeg .M );_geccg .SetIfNotNil ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e",_ecaeg .Reference );_geccg .SetIfNotNil ("\u0043h\u0061\u006e\u0067\u0065\u0073",_ecaeg .Changes );_geccg .SetIfNotNil ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f",_ecaeg .ContactInfo );return _fefcb ;};
|
||
|
||
// 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 (_bae *PdfAnnotationWidget )Field ()*PdfField {return _bae ._eaeb };
|
||
|
||
// ToGoImage converts the unidoc Image to a golang Image structure.
|
||
func (_faae *Image )ToGoImage ()(_dg .Image ,error ){_fca .Log .Trace ("\u0043\u006f\u006e\u0076er\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0067\u006f\u0020\u0069\u006d\u0061g\u0065");_dcgfb ,_aggcc :=_gd .NewImage (int (_faae .Width ),int (_faae .Height ),int (_faae .BitsPerComponent ),_faae .ColorComponents ,_faae .Data ,_faae ._cded ,_faae ._dfec );if _aggcc !=nil {return nil ,_aggcc ;};return _dcgfb ,nil ;};func (_daa *PdfReader )newPdfActionGoTo3DViewFromDict (_ege *_fd .PdfObjectDictionary )(*PdfActionGoTo3DView ,error ){return &PdfActionGoTo3DView {TA :_ege .Get ("\u0054\u0041"),V :_ege .Get ("\u0056")},nil ;};func (_gcgf *PdfAcroForm )filteredFields (_facf FieldFilterFunc ,_dgee bool )[]*PdfField {if _gcgf ==nil {return nil ;};return _ccaea (_gcgf .Fields ,_facf ,_dgee );};func (_gcfa *Image )samplesAddPadding (_ecdag []uint32 )[]uint32 {_eddad :=_gd .BytesPerLine (int (_gcfa .Width ),int (_gcfa .BitsPerComponent ),_gcfa .ColorComponents )*(8/int (_gcfa .BitsPerComponent ));_bdeb :=_eddad *int (_gcfa .Height );if len (_ecdag )==_bdeb {return _ecdag ;};_cdcecc :=make ([]uint32 ,_bdeb );_ggaga :=int (_gcfa .Width )*_gcfa .ColorComponents ;for _bgac :=0;_bgac < int (_gcfa .Height );_bgac ++{_edbb :=_bgac *int (_gcfa .Width );_aefa :=_bgac *_eddad ;for _deff :=0;_deff < _ggaga ;_deff ++{_cdcecc [_aefa +_deff ]=_ecdag [_edbb +_deff ];};};return _cdcecc ;};
|
||
|
||
// GetShadingByName gets the shading specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_eddeb *PdfPageResources )GetShadingByName (keyName _fd .PdfObjectName )(*PdfShading ,bool ){if _eddeb .Shading ==nil {return nil ,false ;};_dgdb ,_faegc :=_fd .TraceToDirectObject (_eddeb .Shading ).(*_fd .PdfObjectDictionary );if !_faegc {_fca .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",_eddeb .Shading );return nil ,false ;};if _bfef :=_dgdb .Get (keyName );_bfef !=nil {_gdcc ,_bgddg :=_fcegc (_bfef );if _bgddg !=nil {_fca .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",_bgddg );return nil ,false ;};return _gdcc ,true ;};return nil ,false ;};const (BorderEffectNoEffect BorderEffect =iota ;BorderEffectCloudy BorderEffect =iota ;);func (_daded *Image )samplesTrimPadding (_cggg []uint32 )[]uint32 {_egddb :=_daded .ColorComponents *int (_daded .Width )*int (_daded .Height );if len (_cggg )==_egddb {return _cggg ;};_gbfa :=make ([]uint32 ,_egddb );_ggaca :=int (_daded .Width )*_daded .ColorComponents ;var _ffbec ,_fbceb ,_aadab ,_adfa int ;_gbcfa :=_gd .BytesPerLine (int (_daded .Width ),int (_daded .BitsPerComponent ),_daded .ColorComponents );for _ffbec =0;_ffbec < int (_daded .Height );_ffbec ++{_fbceb =_ffbec *int (_daded .Width );_aadab =_ffbec *_gbcfa ;for _adfa =0;_adfa < _ggaca ;_adfa ++{_gbfa [_fbceb +_adfa ]=_cggg [_aadab +_adfa ];};};return _gbfa ;};
|
||
|
||
// AddImageResource adds an image to the XObject resources.
|
||
func (_deaae *PdfPage )AddImageResource (name _fd .PdfObjectName ,ximg *XObjectImage )error {var _cceaf *_fd .PdfObjectDictionary ;if _deaae .Resources .XObject ==nil {_cceaf =_fd .MakeDict ();_deaae .Resources .XObject =_cceaf ;}else {var _cefda bool ;_cceaf ,_cefda =(_deaae .Resources .XObject ).(*_fd .PdfObjectDictionary );if !_cefda {return _fce .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u0078\u0072\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020\u0074\u0079p\u0065");};};_cceaf .Set (name ,ximg .ToPdfObject ());return nil ;};func _fddd (_gfcgb *fontCommon )*pdfCIDFontType0 {return &pdfCIDFontType0 {fontCommon :*_gfcgb }};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType2 to a PDF representation.
|
||
func (_fecb *pdfCIDFontType2 )ToPdfObject ()_fd .PdfObject {if _fecb ._cgfb ==nil {_fecb ._cgfb =&_fd .PdfIndirectObject {};};_gcdg :=_fecb .baseFields ().asPdfObjectDictionary ("\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032");_fecb ._cgfb .PdfObject =_gcdg ;if _fecb .CIDSystemInfo !=nil {_gcdg .Set ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f",_fecb .CIDSystemInfo );};if _fecb .DW !=nil {_gcdg .Set ("\u0044\u0057",_fecb .DW );};if _fecb .DW2 !=nil {_gcdg .Set ("\u0044\u0057\u0032",_fecb .DW2 );};if _fecb .W !=nil {_gcdg .Set ("\u0057",_fecb .W );};if _fecb .W2 !=nil {_gcdg .Set ("\u0057\u0032",_fecb .W2 );};if _fecb .CIDToGIDMap !=nil {_gcdg .Set ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070",_fecb .CIDToGIDMap );};return _fecb ._cgfb ;};
|
||
|
||
// 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 ()_fd .PdfObject ;GetContainingPdfObject ()_fd .PdfObject ;};func _cedcc (_feegf _fd .PdfObject )(*PdfColorspaceDeviceNAttributes ,error ){_cdag :=&PdfColorspaceDeviceNAttributes {};var _agedad *_fd .PdfObjectDictionary ;if _cgfd ,_aagb :=_feegf .(*_fd .PdfIndirectObject );_aagb {_cdag ._bcda =_cgfd ;var _addef bool ;_agedad ,_addef =_cgfd .PdfObject .(*_fd .PdfObjectDictionary );if !_addef {_fca .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 ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};}else if _fbfc ,_bgbd :=_feegf .(*_fd .PdfObjectDictionary );_bgbd {_agedad =_fbfc ;}else {_fca .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 ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _eaea :=_agedad .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_eaea !=nil {_dacf ,_feee :=_fd .TraceToDirectObject (_eaea ).(*_fd .PdfObjectName );if !_feee {_fca .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 ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_cdag .Subtype =_dacf ;};if _bdda :=_agedad .Get ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s");_bdda !=nil {_cdag .Colorants =_bdda ;};if _acbb :=_agedad .Get ("\u0050r\u006f\u0063\u0065\u0073\u0073");_acbb !=nil {_cdag .Process =_acbb ;};if _addd :=_agedad .Get ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073");_addd !=nil {_cdag .MixingHints =_addd ;};return _cdag ,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 (_dcff *PdfFont )SubsetRegistered ()error {switch _gfde :=_dcff ._bbaa .(type ){case *pdfFontType0 :_eaebbc :=_gfde .subsetRegistered ();if _eaebbc !=nil {_fca .Log .Debug ("\u0053\u0075b\u0073\u0065\u0074 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_eaebbc );return _eaebbc ;};if _gfde ._gced !=nil {if _gfde ._dbbce !=nil {_gfde ._dbbce .ToPdfObject ();};_gfde .ToPdfObject ();};default:_fca .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",_gfde );};return nil ;};
|
||
|
||
// GetEncryptionMethod returns a descriptive information string about the encryption method used.
|
||
func (_efege *PdfReader )GetEncryptionMethod ()string {_dabb :=_efege ._egbge .GetCrypter ();return _dabb .String ();};
|
||
|
||
// ToPdfObject returns a *PdfIndirectObject containing a *PdfObjectArray representation of the DeviceN colorspace.
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
func (_bcgaa *PdfColorspaceDeviceN )ToPdfObject ()_fd .PdfObject {_bfgg :=_fd .MakeArray (_fd .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u004e"));_bfgg .Append (_bcgaa .ColorantNames );_bfgg .Append (_bcgaa .AlternateSpace .ToPdfObject ());_bfgg .Append (_bcgaa .TintTransform .ToPdfObject ());if _bcgaa .Attributes !=nil {_bfgg .Append (_bcgaa .Attributes .ToPdfObject ());};if _bcgaa ._cbcba !=nil {_bcgaa ._cbcba .PdfObject =_bfgg ;return _bcgaa ._cbcba ;};return _bfgg ;};
|
||
|
||
// NewPdfAnnotationRichMedia returns a new rich media annotation.
|
||
func NewPdfAnnotationRichMedia ()*PdfAnnotationRichMedia {_bdb :=NewPdfAnnotation ();_eddc :=&PdfAnnotationRichMedia {};_eddc .PdfAnnotation =_bdb ;_bdb .SetContext (_eddc );return _eddc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
// Note: Call the sub-annotation's ToPdfObject to set both the generic and non-generic information.
|
||
func (_fccc *PdfAnnotation )ToPdfObject ()_fd .PdfObject {_dca :=_fccc ._defg ;_bfc :=_dca .PdfObject .(*_fd .PdfObjectDictionary );_bfc .Clear ();_bfc .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0041\u006e\u006eo\u0074"));_bfc .SetIfNotNil ("\u0052\u0065\u0063\u0074",_fccc .Rect );_bfc .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_fccc .Contents );_bfc .SetIfNotNil ("\u0050",_fccc .P );_bfc .SetIfNotNil ("\u004e\u004d",_fccc .NM );_bfc .SetIfNotNil ("\u004d",_fccc .M );_bfc .SetIfNotNil ("\u0046",_fccc .F );_bfc .SetIfNotNil ("\u0041\u0050",_fccc .AP );_bfc .SetIfNotNil ("\u0041\u0053",_fccc .AS );_bfc .SetIfNotNil ("\u0042\u006f\u0072\u0064\u0065\u0072",_fccc .Border );_bfc .SetIfNotNil ("\u0043",_fccc .C );_bfc .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_fccc .StructParent );_bfc .SetIfNotNil ("\u004f\u0043",_fccc .OC );return _dca ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fdgd *PdfAnnotationText )ToPdfObject ()_fd .PdfObject {_fdgd .PdfAnnotation .ToPdfObject ();_ggd :=_fdgd ._defg ;_afcf :=_ggd .PdfObject .(*_fd .PdfObjectDictionary );if _fdgd .PdfAnnotationMarkup !=nil {_fdgd .PdfAnnotationMarkup .appendToPdfDictionary (_afcf );};_afcf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0054\u0065\u0078\u0074"));_afcf .SetIfNotNil ("\u004f\u0070\u0065\u006e",_fdgd .Open );_afcf .SetIfNotNil ("\u004e\u0061\u006d\u0065",_fdgd .Name );_afcf .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_fdgd .State );_afcf .SetIfNotNil ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c",_fdgd .StateModel );return _ggd ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_fcca *PdfFunctionType0 )ToPdfObject ()_fd .PdfObject {if _fcca ._bdbf ==nil {_fcca ._bdbf =&_fd .PdfObjectStream {};};_bbffd :=_fd .MakeDict ();_bbffd .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_fd .MakeInteger (0));_fgece :=&_fd .PdfObjectArray {};for _ ,_fggbf :=range _fcca .Domain {_fgece .Append (_fd .MakeFloat (_fggbf ));};_bbffd .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_fgece );_egee :=&_fd .PdfObjectArray {};for _ ,_decdc :=range _fcca .Range {_egee .Append (_fd .MakeFloat (_decdc ));};_bbffd .Set ("\u0052\u0061\u006eg\u0065",_egee );_begbge :=&_fd .PdfObjectArray {};for _ ,_ggggff :=range _fcca .Size {_begbge .Append (_fd .MakeInteger (int64 (_ggggff )));};_bbffd .Set ("\u0053\u0069\u007a\u0065",_begbge );_bbffd .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065",_fd .MakeInteger (int64 (_fcca .BitsPerSample )));if _fcca .Order !=1{_bbffd .Set ("\u004f\u0072\u0064e\u0072",_fd .MakeInteger (int64 (_fcca .Order )));};_bbffd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_fcca ._cdgce ))));_fcca ._bdbf .Stream =_fcca ._cdgce ;_fcca ._bdbf .PdfObjectDictionary =_bbffd ;return _fcca ._bdbf ;};
|
||
|
||
// GetNumComponents returns the number of color components.
|
||
func (_febef *PdfColorspaceICCBased )GetNumComponents ()int {return _febef .N };
|
||
|
||
// Read reads an image and loads into a new Image object with an RGB
|
||
// colormap and 8 bits per component.
|
||
func (_gabcd DefaultImageHandler )Read (reader _fc .Reader )(*Image ,error ){_bgeg ,_ ,_fdbab :=_dg .Decode (reader );if _fdbab !=nil {_fca .Log .Debug ("\u0045\u0072\u0072or\u0020\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0073",_fdbab );return nil ,_fdbab ;};return _gabcd .NewImageFromGoImage (_bgeg );};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_cdaeef *PdfFunctionType4 )ToPdfObject ()_fd .PdfObject {_geaag :=_cdaeef ._baga ;if _geaag ==nil {_cdaeef ._baga =&_fd .PdfObjectStream {};_geaag =_cdaeef ._baga ;};_bbed :=_fd .MakeDict ();_bbed .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_fd .MakeInteger (4));_ebcec :=&_fd .PdfObjectArray {};for _ ,_dfdd :=range _cdaeef .Domain {_ebcec .Append (_fd .MakeFloat (_dfdd ));};_bbed .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_ebcec );_dafd :=&_fd .PdfObjectArray {};for _ ,_cfcba :=range _cdaeef .Range {_dafd .Append (_fd .MakeFloat (_cfcba ));};_bbed .Set ("\u0052\u0061\u006eg\u0065",_dafd );if _cdaeef ._dbgb ==nil &&_cdaeef .Program !=nil {_cdaeef ._dbgb =[]byte (_cdaeef .Program .String ());};_bbed .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_cdaeef ._dbgb ))));_geaag .Stream =_cdaeef ._dbgb ;_geaag .PdfObjectDictionary =_bbed ;return _geaag ;};
|
||
|
||
// GetPage returns the PdfPage model for the specified page number.
|
||
func (_ecgea *PdfReader )GetPage (pageNumber int )(*PdfPage ,error ){if _ecgea ._egbge .GetCrypter ()!=nil &&!_ecgea ._egbge .IsAuthenticated (){return nil ,_d .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 (_ecgea ._faca )< pageNumber {return nil ,_fce .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");};_fedeb :=pageNumber -1;if _fedeb < 0{return nil ,_d .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");};_gggb :=_ecgea .PageList [_fedeb ];return _gggb ,nil ;};
|
||
|
||
// DecodeArray returns the component range values for the Separation colorspace.
|
||
func (_baad *PdfColorspaceSpecialSeparation )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// G returns the value of the green component of the color.
|
||
func (_eacb *PdfColorDeviceRGB )G ()float64 {return float64 (_eacb [1])};func _bfabga (_gadfd _fd .PdfObject )(*PdfPattern ,error ){_eedae :=&PdfPattern {};var _adcb *_fd .PdfObjectDictionary ;if _ggde ,_dgdc :=_fd .GetIndirect (_gadfd );_dgdc {_eedae ._bfcg =_ggde ;_efged ,_bbad :=_ggde .PdfObject .(*_fd .PdfObjectDictionary );if !_bbad {_fca .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",_ggde .PdfObject );return nil ,_fd .ErrTypeError ;};_adcb =_efged ;}else if _afcfg ,_fabe :=_fd .GetStream (_gadfd );_fabe {_eedae ._bfcg =_afcfg ;_adcb =_afcfg .PdfObjectDictionary ;}else {_fca .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",_gadfd );return nil ,_fd .ErrTypeError ;};_adadf :=_adcb .Get ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065");if _adadf ==nil {_fca .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 ;};_fcea ,_ceff :=_adadf .(*_fd .PdfObjectInteger );if !_ceff {_fca .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",_adadf );return nil ,_fd .ErrTypeError ;};if *_fcea !=1&&*_fcea !=2{_fca .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",*_fcea );return nil ,_fd .ErrRangeError ;};_eedae .PatternType =int64 (*_fcea );switch *_fcea {case 1:_gcgbb ,_dcee :=_faccc (_adcb );if _dcee !=nil {return nil ,_dcee ;};_gcgbb .PdfPattern =_eedae ;_eedae ._befef =_gcgbb ;return _eedae ,nil ;case 2:_eefef ,_fdec :=_aacdc (_adcb );if _fdec !=nil {return nil ,_fdec ;};_eefef .PdfPattern =_eedae ;_eedae ._befef =_eefef ;return _eedae ,nil ;};return nil ,_fce .New ("\u0075n\u006bn\u006f\u0077\u006e\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e");};func (_dbbc *PdfReader )newPdfAnnotationPrinterMarkFromDict (_feg *_fd .PdfObjectDictionary )(*PdfAnnotationPrinterMark ,error ){_ddgb :=PdfAnnotationPrinterMark {};_ddgb .MN =_feg .Get ("\u004d\u004e");return &_ddgb ,nil ;};
|
||
|
||
// 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 (_dcbeg *Image )ConvertToBinary ()error {if _dcbeg .ColorComponents ==1&&_dcbeg .BitsPerComponent ==1{return nil ;};_gccfa ,_gabda :=_dcbeg .ToGoImage ();if _gabda !=nil {return _gabda ;};_beeaf ,_gabda :=_gd .MonochromeConverter .Convert (_gccfa );if _gabda !=nil {return _gabda ;};_dcbeg .BitsPerComponent =1;_dcbeg .ColorComponents =1;_dcbeg .Data =_beeaf .Base ().Data ;return nil ;};
|
||
|
||
// 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 _fd .PdfObject ;_cfbf []byte ;_fgga *_fd .PdfIndirectObject ;};
|
||
|
||
// Insert adds an outline item as a child of the current outline item,
|
||
// at the specified index.
|
||
func (_aedfe *OutlineItem )Insert (index uint ,item *OutlineItem ){_gffgg :=uint (len (_aedfe .Entries ));if index > _gffgg {index =_gffgg ;};_aedfe .Entries =append (_aedfe .Entries [:index ],append ([]*OutlineItem {item },_aedfe .Entries [index :]...)...);};func (_gfbc *PdfReader )newPdfAnnotationSquigglyFromDict (_cga *_fd .PdfObjectDictionary )(*PdfAnnotationSquiggly ,error ){_aede :=PdfAnnotationSquiggly {};_eaef ,_acd :=_gfbc .newPdfAnnotationMarkupFromDict (_cga );if _acd !=nil {return nil ,_acd ;};_aede .PdfAnnotationMarkup =_eaef ;_aede .QuadPoints =_cga .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_aede ,nil ;};const (BorderStyleSolid BorderStyle =iota ;BorderStyleDashed BorderStyle =iota ;BorderStyleBeveled BorderStyle =iota ;BorderStyleInset BorderStyle =iota ;BorderStyleUnderline BorderStyle =iota ;);
|
||
|
||
// PdfActionMovie represents a movie action.
|
||
type PdfActionMovie struct{*PdfAction ;Annotation _fd .PdfObject ;T _fd .PdfObject ;Operation _fd .PdfObject ;};var _fdgee _b .Time ;
|
||
|
||
// GetContentStream returns the pattern cell's content stream
|
||
func (_eadgc *PdfTilingPattern )GetContentStream ()([]byte ,error ){_gdece ,_ ,_accbc :=_eadgc .GetContentStreamWithEncoder ();return _gdece ,_accbc ;};func _gafbdb (_cfefg *_fd .PdfObjectDictionary )(*PdfShadingType2 ,error ){_gffaa :=PdfShadingType2 {};_edcbf :=_cfefg .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _edcbf ==nil {_fca .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 ;};_cgdb ,_gfefb :=_edcbf .(*_fd .PdfObjectArray );if !_gfefb {_fca .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",_edcbf );return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};if _cgdb .Len ()!=4{_fca .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",_cgdb .Len ());return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");};_gffaa .Coords =_cgdb ;if _afdd :=_cfefg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_afdd !=nil {_afdd =_fd .TraceToDirectObject (_afdd );_dbcda ,_deeae :=_afdd .(*_fd .PdfObjectArray );if !_deeae {_fca .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",_afdd );return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gffaa .Domain =_dbcda ;};_edcbf =_cfefg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _edcbf ==nil {_fca .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 ;};_gffaa .Function =[]PdfFunction {};if _cabg ,_ggab :=_edcbf .(*_fd .PdfObjectArray );_ggab {for _ ,_feadc :=range _cabg .Elements (){_edac ,_beedf :=_fagc (_feadc );if _beedf !=nil {_fca .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",_beedf );return nil ,_beedf ;};_gffaa .Function =append (_gffaa .Function ,_edac );};}else {_acge ,_gbddb :=_fagc (_edcbf );if _gbddb !=nil {_fca .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",_gbddb );return nil ,_gbddb ;};_gffaa .Function =append (_gffaa .Function ,_acge );};if _cdebe :=_cfefg .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_cdebe !=nil {_cdebe =_fd .TraceToDirectObject (_cdebe );_dggf ,_egcd :=_cdebe .(*_fd .PdfObjectArray );if !_egcd {_fca .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",_cdebe );return nil ,_fd .ErrTypeError ;};if _dggf .Len ()!=2{_fca .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",_dggf .Len ());return nil ,ErrInvalidAttribute ;};_gffaa .Extend =_dggf ;};return &_gffaa ,nil ;};
|
||
|
||
// IsEncrypted returns true if the PDF file is encrypted.
|
||
func (_ccbg *PdfReader )IsEncrypted ()(bool ,error ){return _ccbg ._egbge .IsEncrypted ()};
|
||
|
||
// Mask returns the uin32 bitmask for the specific flag.
|
||
func (_cefdf FieldFlag )Mask ()uint32 {return uint32 (_cefdf )};
|
||
|
||
// IsPush returns true if the button field represents a push button, false otherwise.
|
||
func (_gadf *PdfFieldButton )IsPush ()bool {return _gadf .GetType ()==ButtonTypePush };
|
||
|
||
// 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 (_dbcef *PdfFont )CharcodesToUnicodeWithStats (charcodes []_gf .CharCode )(_bgcd []rune ,_bbcb ,_bebdd int ){_bdbgcf ,_bbcb ,_bebdd :=_dbcef .CharcodesToStrings (charcodes );return []rune (_gc .Join (_bdbgcf ,"")),_bbcb ,_bebdd ;};
|
||
|
||
// GetNumPages returns the number of pages in the document.
|
||
func (_ecddg *PdfReader )GetNumPages ()(int ,error ){if _ecddg ._egbge .GetCrypter ()!=nil &&!_ecddg ._egbge .IsAuthenticated (){return 0,_d .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 (_ecddg ._faca ),nil ;};
|
||
|
||
// Add appends a top level outline item to the outline.
|
||
func (_gefcd *Outline )Add (item *OutlineItem ){_gefcd .Entries =append (_gefcd .Entries ,item )};func (_bfbdb *PdfColorspaceICCBased )String ()string {return "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064";};
|
||
|
||
// ColorToRGB converts a ICCBased color to an RGB color.
|
||
func (_feabb *PdfColorspaceICCBased )ColorToRGB (color PdfColor )(PdfColor ,error ){if _feabb .Alternate ==nil {_fca .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 _feabb .N ==1{_fca .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");_bgfg :=NewPdfColorspaceDeviceGray ();return _bgfg .ColorToRGB (color );}else if _feabb .N ==3{_fca .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 _feabb .N ==4{_fca .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");_aadg :=NewPdfColorspaceDeviceCMYK ();return _aadg .ColorToRGB (color );}else {return nil ,_fce .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");};};_fca .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",_feabb );return _feabb .Alternate .ColorToRGB (color );};var _gadfb ="";
|
||
|
||
// SetDecode sets the decode image float slice.
|
||
func (_bccgac *Image )SetDecode (decode []float64 ){_bccgac ._dfec =decode };
|
||
|
||
// PdfActionGoTo3DView represents a GoTo3DView action.
|
||
type PdfActionGoTo3DView struct{*PdfAction ;TA _fd .PdfObject ;V _fd .PdfObject ;};
|
||
|
||
// NewPdfColorCalGray returns a new CalGray color.
|
||
func NewPdfColorCalGray (grayVal float64 )*PdfColorCalGray {_eegdd :=PdfColorCalGray (grayVal );return &_eegdd ;};
|
||
|
||
// 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 *_fd .PdfObjectStream )(*XObjectImage ,error ){_ffcfe :=&XObjectImage {};_ffcfe ._acbee =stream ;_dagdf :=*(stream .PdfObjectDictionary );_geddd ,_dcbd :=_fd .NewEncoderFromStream (stream );if _dcbd !=nil {return nil ,_dcbd ;};_ffcfe .Filter =_geddd ;if _fgegcg :=_fd .TraceToDirectObject (_dagdf .Get ("\u0057\u0069\u0064t\u0068"));_fgegcg !=nil {_fccda ,_gecf :=_fgegcg .(*_fd .PdfObjectInteger );if !_gecf {return nil ,_fce .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");};_fcbgb :=int64 (*_fccda );_ffcfe .Width =&_fcbgb ;}else {return nil ,_fce .New ("\u0077\u0069\u0064\u0074\u0068\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _cbebb :=_fd .TraceToDirectObject (_dagdf .Get ("\u0048\u0065\u0069\u0067\u0068\u0074"));_cbebb !=nil {_dgdcb ,_efcacc :=_cbebb .(*_fd .PdfObjectInteger );if !_efcacc {return nil ,_fce .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_affaa :=int64 (*_dgdcb );_ffcfe .Height =&_affaa ;}else {return nil ,_fce .New ("\u0068\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};if _cfbdd :=_fd .TraceToDirectObject (_dagdf .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065"));_cfbdd !=nil {_agcbb ,_gdaff :=NewPdfColorspaceFromPdfObject (_cfbdd );if _gdaff !=nil {return nil ,_gdaff ;};_ffcfe .ColorSpace =_agcbb ;}else {_fca .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");_ffcfe .ColorSpace =NewPdfColorspaceDeviceGray ();};if _egcf :=_fd .TraceToDirectObject (_dagdf .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"));_egcf !=nil {_ebaage ,_ebbfd :=_egcf .(*_fd .PdfObjectInteger );if !_ebbfd {return nil ,_fce .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_ddcfe :=int64 (*_ebaage );_ffcfe .BitsPerComponent =&_ddcfe ;};_ffcfe .Intent =_dagdf .Get ("\u0049\u006e\u0074\u0065\u006e\u0074");_ffcfe .ImageMask =_dagdf .Get ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k");_ffcfe .Mask =_dagdf .Get ("\u004d\u0061\u0073\u006b");_ffcfe .Decode =_dagdf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");_ffcfe .Interpolate =_dagdf .Get ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065");_ffcfe .Alternatives =_dagdf .Get ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073");_ffcfe .SMask =_dagdf .Get ("\u0053\u004d\u0061s\u006b");_ffcfe .SMaskInData =_dagdf .Get ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061");_ffcfe .Matte =_dagdf .Get ("\u004d\u0061\u0074t\u0065");_ffcfe .Name =_dagdf .Get ("\u004e\u0061\u006d\u0065");_ffcfe .StructParent =_dagdf .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_ffcfe .ID =_dagdf .Get ("\u0049\u0044");_ffcfe .OPI =_dagdf .Get ("\u004f\u0050\u0049");_ffcfe .Metadata =_dagdf .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_ffcfe .OC =_dagdf .Get ("\u004f\u0043");_ffcfe .Stream =stream .Stream ;return _ffcfe ,nil ;};
|
||
|
||
// HasExtGState checks if ExtGState name is available.
|
||
func (_gdea *PdfPage )HasExtGState (name _fd .PdfObjectName )bool {if _gdea .Resources ==nil {return false ;};if _gdea .Resources .ExtGState ==nil {return false ;};_ddfea ,_cabeca :=_fd .TraceToDirectObject (_gdea .Resources .ExtGState ).(*_fd .PdfObjectDictionary );if !_cabeca {_fca .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",_fd .TraceToDirectObject (_gdea .Resources .ExtGState ));return false ;};_aacba :=_ddfea .Get (name );_fdaee :=_aacba !=nil ;return _fdaee ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_dcab *PdfColorspaceSpecialSeparation )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fegg :=vals [0];_afggc :=[]float64 {_fegg };_eebc ,_becff :=_dcab .TintTransform .Evaluate (_afggc );if _becff !=nil {_fca .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",_becff );_fca .Log .Trace ("\u0054\u0069\u006e\u0074 t\u0072\u0061\u006e\u0073\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_dcab .TintTransform );return nil ,_becff ;};_fca .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",_eebc ,_dcab .AlternateSpace );_ddcf ,_becff :=_dcab .AlternateSpace .ColorFromFloats (_eebc );if _becff !=nil {_fca .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",_becff );return nil ,_becff ;};return _ddcf ,nil ;};
|
||
|
||
// AppendContentStream adds content stream by string. Appends to the last
|
||
// contentstream instance if many.
|
||
func (_dceg *PdfPage )AppendContentStream (contentStr string )error {_afbb ,_bbfga :=_dceg .GetContentStreams ();if _bbfga !=nil {return _bbfga ;};if len (_afbb )==0{_afbb =[]string {contentStr };return _dceg .SetContentStreams (_afbb ,_fd .NewFlateEncoder ());};var _bdfg _bg .Buffer ;_bdfg .WriteString (_afbb [len (_afbb )-1]);_bdfg .WriteString ("\u000a");_bdfg .WriteString (contentStr );_afbb [len (_afbb )-1]=_bdfg .String ();return _dceg .SetContentStreams (_afbb ,_fd .NewFlateEncoder ());};
|
||
|
||
// ImageToRGB convert 1-component grayscale data to 3-component RGB.
|
||
func (_bead *PdfColorspaceDeviceGray )ImageToRGB (img Image )(Image ,error ){if img .ColorComponents !=1{return img ,_fce .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");};_befa ,_gdad :=_gd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cded ,img ._dfec );if _gdad !=nil {return img ,_gdad ;};_bdbgc ,_gdad :=_gd .NRGBAConverter .Convert (_befa );if _gdad !=nil {return img ,_gdad ;};_bafdd :=_baaaa (_bdbgc .Base ());_fca .Log .Trace ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079\u0020\u002d>\u0020\u0052\u0047\u0042");_fca .Log .Trace ("s\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",img .Data );_fca .Log .Trace ("\u0052G\u0042 \u0073\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",_bafdd .Data );_fca .Log .Trace ("\u0025\u0076\u0020\u002d\u003e\u0020\u0025\u0076",img ,_bafdd );return _bafdd ,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 (_bebb *PdfColorspaceDeviceRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dgbbd :=vals [0];if _dgbbd < 0.0||_dgbbd > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbbb :=vals [1];if _gbbb < 0.0||_gbbb > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcdgd :=vals [2];if _bcdgd < 0.0||_bcdgd > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_edfc :=NewPdfColorDeviceRGB (_dgbbd ,_gbbb ,_bcdgd );return _edfc ,nil ;};
|
||
|
||
// IsTiling specifies if the pattern is a tiling pattern.
|
||
func (_cgdf *PdfPattern )IsTiling ()bool {return _cgdf .PatternType ==1};
|
||
|
||
// 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 (_ddfg *PdfColorspaceCalGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_acffe :=vals [0];if _acffe < 0.0||_acffe > 1.0{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cgad :=NewPdfColorCalGray (_acffe );return _cgad ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Separation).
|
||
func (_fbggag *PdfColorspaceSpecialSeparation )GetNumComponents ()int {return 1};
|
||
|
||
// 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 _b .Time ;};
|
||
|
||
// UpdateXObjectImageFromImage creates a new XObject Image from an
|
||
// Image object `img` and default masks from xobjIn.
|
||
// The default masks are overriden if img.hasAlpha
|
||
// If `encoder` is nil, uses raw encoding (none).
|
||
func UpdateXObjectImageFromImage (xobjIn *XObjectImage ,img *Image ,cs PdfColorspace ,encoder _fd .StreamEncoder )(*XObjectImage ,error ){if encoder ==nil {encoder =_fd .NewRawEncoder ();};encoder .UpdateParams (img .GetParamsDict ());_abgfb ,_ebdf :=encoder .EncodeBytes (img .Data );if _ebdf !=nil {_fca .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_ebdf );return nil ,_ebdf ;};_bagcf :=NewXObjectImage ();_eeddd :=img .Width ;_gfgcc :=img .Height ;_bagcf .Width =&_eeddd ;_bagcf .Height =&_gfgcc ;_bfbadf :=img .BitsPerComponent ;_bagcf .BitsPerComponent =&_bfbadf ;_bagcf .Filter =encoder ;_bagcf .Stream =_abgfb ;if cs ==nil {if img .ColorComponents ==1{_bagcf .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_bagcf .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_bagcf .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return nil ,_fce .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_bagcf .ColorSpace =cs ;};if len (img ._cded )!=0{_febdg :=NewXObjectImage ();_febdg .Filter =encoder ;_dedfc ,_gdgaaf :=encoder .EncodeBytes (img ._cded );if _gdgaaf !=nil {_fca .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_gdgaaf );return nil ,_gdgaaf ;};_febdg .Stream =_dedfc ;_febdg .BitsPerComponent =_bagcf .BitsPerComponent ;_febdg .Width =&img .Width ;_febdg .Height =&img .Height ;_febdg .ColorSpace =NewPdfColorspaceDeviceGray ();_bagcf .SMask =_febdg .ToPdfObject ();}else {_bagcf .SMask =xobjIn .SMask ;_bagcf .ImageMask =xobjIn .ImageMask ;if _bagcf .ColorSpace .GetNumComponents ()==1{_cbgg (_bagcf );};};return _bagcf ,nil ;};
|
||
|
||
// ToPdfObject converts the font to a PDF representation.
|
||
func (_cfcd *pdfFontType0 )ToPdfObject ()_fd .PdfObject {if _cfcd ._gced ==nil {_cfcd ._gced =&_fd .PdfIndirectObject {};};_cgafa :=_cfcd .baseFields ().asPdfObjectDictionary ("\u0054\u0079\u0070e\u0030");_cfcd ._gced .PdfObject =_cgafa ;if _cfcd .Encoding !=nil {_cgafa .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_cfcd .Encoding );}else if _cfcd ._dbbce !=nil {_cgafa .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_cfcd ._dbbce .ToPdfObject ());};if _cfcd .DescendantFont !=nil {_cgafa .Set ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073",_fd .MakeArray (_cfcd .DescendantFont .ToPdfObject ()));};return _cfcd ._gced ;};
|
||
|
||
// Evaluate runs the function. Input is [x1 x2 x3].
|
||
func (_aeee *PdfFunctionType4 )Evaluate (xVec []float64 )([]float64 ,error ){if _aeee ._gfcd ==nil {_aeee ._gfcd =_fe .NewPSExecutor (_aeee .Program );};var _aabg []_fe .PSObject ;for _ ,_daac :=range xVec {_aabg =append (_aabg ,_fe .MakeReal (_daac ));};_ebebb ,_defge :=_aeee ._gfcd .Execute (_aabg );if _defge !=nil {return nil ,_defge ;};_bbfeb ,_defge :=_fe .PSObjectArrayToFloat64Array (_ebebb );if _defge !=nil {return nil ,_defge ;};return _bbfeb ,nil ;};
|
||
|
||
// NewPdfActionJavaScript returns a new "javaScript" action.
|
||
func NewPdfActionJavaScript ()*PdfActionJavaScript {_ef :=NewPdfAction ();_ee :=&PdfActionJavaScript {};_ee .PdfAction =_ef ;_ef .SetContext (_ee );return _ee ;};var _ggeee ="";
|
||
|
||
// SetColorSpace sets `r` colorspace object to `colorspace`.
|
||
func (_fadd *PdfPageResources )SetColorSpace (colorspace *PdfPageResourcesColorspaces ){_fadd ._bfdgb =colorspace ;};const (RC4_128bit =EncryptionAlgorithm (iota );AES_128bit ;AES_256bit ;);
|
||
|
||
// StdFontName represents name of a standard font.
|
||
type StdFontName =_aaf .StdFontName ;func (_aab *PdfReader )newPdfActionGotoRFromDict (_cdc *_fd .PdfObjectDictionary )(*PdfActionGoToR ,error ){_gfeg ,_ded :=_dgd (_cdc .Get ("\u0046"));if _ded !=nil {return nil ,_ded ;};return &PdfActionGoToR {D :_cdc .Get ("\u0044"),NewWindow :_cdc .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_gfeg },nil ;};func (_afdb *pdfCIDFontType0 )baseFields ()*fontCommon {return &_afdb .fontCommon };func (_cbgbb *PdfWriter )writeObject (_aaade int ,_eaadf _fd .PdfObject ){_fca .Log .Trace ("\u0057\u0072\u0069\u0074\u0065\u0020\u006f\u0062\u006a \u0023\u0025\u0064\u000a",_aaade );if _caaee ,_cffda :=_eaadf .(*_fd .PdfIndirectObject );_cffda {_cbgbb ._gace [_aaade ]=crossReference {Type :1,Offset :_cbgbb ._bdbgg ,Generation :_caaee .GenerationNumber };_edddb :=_d .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_aaade );if _baaag ,_bfffc :=_caaee .PdfObject .(*pdfSignDictionary );_bfffc {_baaag ._ecebb =_cbgbb ._bdbgg +int64 (len (_edddb ));};if _caaee .PdfObject ==nil {_fca .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");_caaee .PdfObject =_fd .MakeNull ();};_edddb +=_caaee .PdfObject .WriteString ();_edddb +="\u000a\u0065\u006e\u0064\u006f\u0062\u006a\u000a";_cbgbb .writeString (_edddb );return ;};if _bbec ,_dccc :=_eaadf .(*_fd .PdfObjectStream );_dccc {_cbgbb ._gace [_aaade ]=crossReference {Type :1,Offset :_cbgbb ._bdbgg ,Generation :_bbec .GenerationNumber };_bfdggb :=_d .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_aaade );_bfdggb +=_bbec .PdfObjectDictionary .WriteString ();_bfdggb +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_cbgbb .writeString (_bfdggb );_cbgbb .writeBytes (_bbec .Stream );_cbgbb .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};if _caca ,_cebef :=_eaadf .(*_fd .PdfObjectStreams );_cebef {_cbgbb ._gace [_aaade ]=crossReference {Type :1,Offset :_cbgbb ._bdbgg ,Generation :_caca .GenerationNumber };_facgf :=_d .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_aaade );var _efda []string ;var _daeba string ;var _fbde int64 ;for _fcee ,_fecfg :=range _caca .Elements (){_acged ,_efadge :=_fecfg .(*_fd .PdfIndirectObject );if !_efadge {_fca .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",_aaade ,_fecfg );continue ;};_ededf :=_acged .PdfObject .WriteString ()+"\u0020";_daeba =_daeba +_ededf ;_efda =append (_efda ,_d .Sprintf ("\u0025\u0064\u0020%\u0064",_acged .ObjectNumber ,_fbde ));_cbgbb ._gace [int (_acged .ObjectNumber )]=crossReference {Type :2,ObjectNumber :_aaade ,Index :_fcee };_fbde =_fbde +int64 (len ([]byte (_ededf )));};_feaadd :=_gc .Join (_efda ,"\u0020")+"\u0020";_deeg :=_fd .NewFlateEncoder ();_dffd :=_deeg .MakeStreamDict ();_dffd .Set (_fd .PdfObjectName ("\u0054\u0079\u0070\u0065"),_fd .MakeName ("\u004f\u0062\u006a\u0053\u0074\u006d"));_dgcc :=int64 (_caca .Len ());_dffd .Set (_fd .PdfObjectName ("\u004e"),_fd .MakeInteger (_dgcc ));_ecbec :=int64 (len (_feaadd ));_dffd .Set (_fd .PdfObjectName ("\u0046\u0069\u0072s\u0074"),_fd .MakeInteger (_ecbec ));_bfdde ,_ :=_deeg .EncodeBytes ([]byte (_feaadd +_daeba ));_fagae :=int64 (len (_bfdde ));_dffd .Set (_fd .PdfObjectName ("\u004c\u0065\u006e\u0067\u0074\u0068"),_fd .MakeInteger (_fagae ));_facgf +=_dffd .WriteString ();_facgf +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_cbgbb .writeString (_facgf );_cbgbb .writeBytes (_bfdde );_cbgbb .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};_cbgbb .writeString (_eaadf .WriteString ());};
|
||
|
||
// NewPdfColorspaceDeviceCMYK returns a new CMYK32 colorspace object.
|
||
func NewPdfColorspaceDeviceCMYK ()*PdfColorspaceDeviceCMYK {return &PdfColorspaceDeviceCMYK {}};
|
||
|
||
// GetBorderWidth returns the border style's width.
|
||
func (_gagb *PdfBorderStyle )GetBorderWidth ()float64 {if _gagb .W ==nil {return 1;};return *_gagb .W ;};
|
||
|
||
// GetContext returns the PdfField context which is the more specific field data type, e.g. PdfFieldButton
|
||
// for a button field.
|
||
func (_aadc *PdfField )GetContext ()PdfModel {return _aadc ._cacd };
|
||
|
||
// ToPdfObject returns the PdfFontDescriptor as a PDF dictionary inside an indirect object.
|
||
func (_cbddc *PdfFontDescriptor )ToPdfObject ()_fd .PdfObject {_beedc :=_fd .MakeDict ();if _cbddc ._dgad ==nil {_cbddc ._dgad =&_fd .PdfIndirectObject {};};_cbddc ._dgad .PdfObject =_beedc ;_beedc .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"));if _cbddc .FontName !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_cbddc .FontName );};if _cbddc .FontFamily !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079",_cbddc .FontFamily );};if _cbddc .FontStretch !=nil {_beedc .Set ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068",_cbddc .FontStretch );};if _cbddc .FontWeight !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074",_cbddc .FontWeight );};if _cbddc .Flags !=nil {_beedc .Set ("\u0046\u006c\u0061g\u0073",_cbddc .Flags );};if _cbddc .FontBBox !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078",_cbddc .FontBBox );};if _cbddc .ItalicAngle !=nil {_beedc .Set ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065",_cbddc .ItalicAngle );};if _cbddc .Ascent !=nil {_beedc .Set ("\u0041\u0073\u0063\u0065\u006e\u0074",_cbddc .Ascent );};if _cbddc .Descent !=nil {_beedc .Set ("\u0044e\u0073\u0063\u0065\u006e\u0074",_cbddc .Descent );};if _cbddc .Leading !=nil {_beedc .Set ("\u004ce\u0061\u0064\u0069\u006e\u0067",_cbddc .Leading );};if _cbddc .CapHeight !=nil {_beedc .Set ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t",_cbddc .CapHeight );};if _cbddc .XHeight !=nil {_beedc .Set ("\u0058H\u0065\u0069\u0067\u0068\u0074",_cbddc .XHeight );};if _cbddc .StemV !=nil {_beedc .Set ("\u0053\u0074\u0065m\u0056",_cbddc .StemV );};if _cbddc .StemH !=nil {_beedc .Set ("\u0053\u0074\u0065m\u0048",_cbddc .StemH );};if _cbddc .AvgWidth !=nil {_beedc .Set ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068",_cbddc .AvgWidth );};if _cbddc .MaxWidth !=nil {_beedc .Set ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068",_cbddc .MaxWidth );};if _cbddc .MissingWidth !=nil {_beedc .Set ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068",_cbddc .MissingWidth );};if _cbddc .FontFile !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065",_cbddc .FontFile );};if _cbddc .FontFile2 !=nil {_beedc .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652",_cbddc .FontFile2 );};if _cbddc .FontFile3 !=nil {_beedc .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653",_cbddc .FontFile3 );};if _cbddc .CharSet !=nil {_beedc .Set ("\u0043h\u0061\u0072\u0053\u0065\u0074",_cbddc .CharSet );};if _cbddc .Style !=nil {_beedc .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_cbddc .FontName );};if _cbddc .Lang !=nil {_beedc .Set ("\u004c\u0061\u006e\u0067",_cbddc .Lang );};if _cbddc .FD !=nil {_beedc .Set ("\u0046\u0044",_cbddc .FD );};if _cbddc .CIDSet !=nil {_beedc .Set ("\u0043\u0049\u0044\u0053\u0065\u0074",_cbddc .CIDSet );};return _cbddc ._dgad ;};func (_cbe *PdfReader )newPdfActionResetFormFromDict (_ggc *_fd .PdfObjectDictionary )(*PdfActionResetForm ,error ){return &PdfActionResetForm {Fields :_ggc .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_ggc .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a CalRGB device.
|
||
func (_aabd *PdfColorspaceCalRGB )GetNumComponents ()int {return 3};
|
||
|
||
// SetContentStream sets the pattern cell's content stream.
|
||
func (_abbd *PdfTilingPattern )SetContentStream (content []byte ,encoder _fd .StreamEncoder )error {_gbcbc ,_facfb :=_abbd ._bfcg .(*_fd .PdfObjectStream );if !_facfb {_fca .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",_abbd ._bfcg );return _fd .ErrTypeError ;};if encoder ==nil {encoder =_fd .NewRawEncoder ();};_ebcdcf :=_gbcbc .PdfObjectDictionary ;_dcef :=encoder .MakeStreamDict ();_ebcdcf .Merge (_dcef );_cgede ,_aaafb :=encoder .EncodeBytes (content );if _aaafb !=nil {return _aaafb ;};_ebcdcf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_cgede ))));_gbcbc .Stream =[]byte (_cgede );return nil ;};func (_dbgg *PdfReader )newPdfAnnotationCaretFromDict (_eaee *_fd .PdfObjectDictionary )(*PdfAnnotationCaret ,error ){_gbg :=PdfAnnotationCaret {};_ggeg ,_fdca :=_dbgg .newPdfAnnotationMarkupFromDict (_eaee );if _fdca !=nil {return nil ,_fdca ;};_gbg .PdfAnnotationMarkup =_ggeg ;_gbg .RD =_eaee .Get ("\u0052\u0044");_gbg .Sy =_eaee .Get ("\u0053\u0079");return &_gbg ,nil ;};
|
||
|
||
// PdfActionImportData represents a importData action.
|
||
type PdfActionImportData struct{*PdfAction ;F *PdfFilespec ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bgdf *PdfAnnotationSound )ToPdfObject ()_fd .PdfObject {_bgdf .PdfAnnotation .ToPdfObject ();_bge :=_bgdf ._defg ;_eddb :=_bge .PdfObject .(*_fd .PdfObjectDictionary );_bgdf .PdfAnnotationMarkup .appendToPdfDictionary (_eddb );_eddb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053\u006f\u0075n\u0064"));_eddb .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_bgdf .Sound );_eddb .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bgdf .Name );return _bge ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline item (indirect object).
|
||
func (_fdfga *PdfOutlineItem )GetContainingPdfObject ()_fd .PdfObject {return _fdfga ._ffdcf };
|
||
|
||
// NewPdfColorspaceCalGray returns a new CalGray colorspace object.
|
||
func NewPdfColorspaceCalGray ()*PdfColorspaceCalGray {_dedcf :=&PdfColorspaceCalGray {};_dedcf .BlackPoint =[]float64 {0.0,0.0,0.0};_dedcf .Gamma =1;return _dedcf ;};
|
||
|
||
// NewPdfOutlineItem returns an initialized PdfOutlineItem.
|
||
func NewPdfOutlineItem ()*PdfOutlineItem {_egda :=&PdfOutlineItem {_ffdcf :_fd .MakeIndirectObject (_fd .MakeDict ())};_egda ._ccggf =_egda ;return _egda ;};
|
||
|
||
// PdfRectangle is a definition of a rectangle.
|
||
type PdfRectangle struct{Llx float64 ;Lly float64 ;Urx float64 ;Ury float64 ;};func (_fgbg *PdfReader )newPdfAnnotationScreenFromDict (_gfegc *_fd .PdfObjectDictionary )(*PdfAnnotationScreen ,error ){_ccaa :=PdfAnnotationScreen {};_ccaa .T =_gfegc .Get ("\u0054");_ccaa .MK =_gfegc .Get ("\u004d\u004b");_ccaa .A =_gfegc .Get ("\u0041");_ccaa .AA =_gfegc .Get ("\u0041\u0041");return &_ccaa ,nil ;};func _dfcg (_gfgf *_fd .PdfObjectStream )(*PdfFunctionType4 ,error ){_gccbf :=&PdfFunctionType4 {};_gccbf ._baga =_gfgf ;_bedda :=_gfgf .PdfObjectDictionary ;_caegg ,_bfgfd :=_fd .TraceToDirectObject (_bedda .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_fd .PdfObjectArray );if !_bfgfd {_fca .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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 _caegg .Len ()%2!=0{_fca .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fce .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_gfcb ,_ebcae :=_caegg .ToFloat64Array ();if _ebcae !=nil {return nil ,_ebcae ;};_gccbf .Domain =_gfcb ;_caegg ,_bfgfd =_fd .TraceToDirectObject (_bedda .Get ("\u0052\u0061\u006eg\u0065")).(*_fd .PdfObjectArray );if _bfgfd {if _caegg .Len ()< 0||_caegg .Len ()%2!=0{return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_gbbfd ,_gegf :=_caegg .ToFloat64Array ();if _gegf !=nil {return nil ,_gegf ;};_gccbf .Range =_gbbfd ;};_afea ,_ebcae :=_fd .DecodeStream (_gfgf );if _ebcae !=nil {return nil ,_ebcae ;};_gccbf ._dbgb =_afea ;_dbbad :=_fe .NewPSParser ([]byte (_afea ));_gcdgg ,_ebcae :=_dbbad .Parse ();if _ebcae !=nil {return nil ,_ebcae ;};_gccbf .Program =_gcdgg ;return _gccbf ,nil ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_caag *PdfOutline )ToPdfObject ()_fd .PdfObject {_fbag :=_caag ._addc ;_gefb :=_fbag .PdfObject .(*_fd .PdfObjectDictionary );_gefb .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"));if _caag .First !=nil {_gefb .Set ("\u0046\u0069\u0072s\u0074",_caag .First .ToPdfObject ());};if _caag .Last !=nil {_gefb .Set ("\u004c\u0061\u0073\u0074",_caag .Last .GetContext ().GetContainingPdfObject ());};if _caag .Parent !=nil {_gefb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_caag .Parent .GetContext ().GetContainingPdfObject ());};if _caag .Count !=nil {_gefb .Set ("\u0043\u006f\u0075n\u0074",_fd .MakeInteger (*_caag .Count ));};return _fbag ;};
|
||
|
||
// ImageToRGB converts an image with samples in Separation CS to an image with samples specified in
|
||
// DeviceRGB CS.
|
||
func (_ecadd *PdfColorspaceSpecialSeparation )ImageToRGB (img Image )(Image ,error ){_dcabe :=_ddf .NewReader (img .getBase ());_aeac :=_gd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),_ecadd .AlternateSpace .GetNumComponents (),nil ,img ._cded ,nil );_efcfa :=_ddf .NewWriter (_aeac );_efga :=_ff .Pow (2,float64 (img .BitsPerComponent ))-1;_fca .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");_fca .Log .Trace ("\u0054i\u006et\u0054\u0072\u0061\u006e\u0073f\u006f\u0072m\u003a\u0020\u0025\u002b\u0076",_ecadd .TintTransform );_facb :=_ecadd .AlternateSpace .DecodeArray ();var (_fggde uint32 ;_fece error ;);for {_fggde ,_fece =_dcabe .ReadSample ();if _fece ==_fc .EOF {break ;};if _fece !=nil {return img ,_fece ;};_abef :=float64 (_fggde )/_efga ;_bcgc ,_beeb :=_ecadd .TintTransform .Evaluate ([]float64 {_abef });if _beeb !=nil {return img ,_beeb ;};for _aggc ,_gbgc :=range _bcgc {_gdcag :=_gd .LinearInterpolate (_gbgc ,_facb [_aggc *2],_facb [_aggc *2+1],0,1);if _beeb =_efcfa .WriteSample (uint32 (_gdcag *_efga ));_beeb !=nil {return img ,_beeb ;};};};return _ecadd .AlternateSpace .ImageToRGB (_baaaa (&_aeac ));};
|
||
|
||
// SetContext sets the sub annotation (context).
|
||
func (_ebe *PdfAnnotation )SetContext (ctx PdfModel ){_ebe ._ccd =ctx };
|
||
|
||
// NewPdfAnnotationWidget returns an initialized annotation widget.
|
||
func NewPdfAnnotationWidget ()*PdfAnnotationWidget {_fbfe :=NewPdfAnnotation ();_eba :=&PdfAnnotationWidget {};_eba .PdfAnnotation =_fbfe ;_fbfe .SetContext (_eba );return _eba ;};
|
||
|
||
// 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 _fc .ReadSeeker )(*PdfFont ,error ){_fcbgc ,_geaab :=_ec .ReadAll (r );if _geaab !=nil {_fca .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",_geaab );return nil ,_geaab ;};_efcbg ,_geaab :=_aaf .TtfParse (_bg .NewReader (_fcbgc ));if _geaab !=nil {_fca .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",_geaab );return nil ,_geaab ;};_eebf :=&pdfCIDFontType2 {fontCommon :fontCommon {_ccea :"\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"},CIDToGIDMap :_fd .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079")};_aeed :=make ([]rune ,0,len (_efcbg .Chars ));for _dfcb :=range _efcbg .Chars {_aeed =append (_aeed ,rune (_dfcb ));};_fb .Slice (_aeed ,func (_fgdc ,_dfef int )bool {return _aeed [_fgdc ]< _aeed [_dfef ]});_gddfc :=1000.0/float64 (_efcbg .UnitsPerEm );if len (_efcbg .Widths )<=0{return nil ,_fce .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");};_fcade :=_gddfc *float64 (_efcbg .Widths [0]);_aacd :=make (map[rune ]int );for _ ,_dgbg :=range _aeed {_abdc :=_efcbg .Chars [_dgbg ];_cdfddb :=_gddfc *float64 (_efcbg .Widths [_abdc ]);_aacd [_dgbg ]=int (_cdfddb );};_eebf ._ebfg =_aacd ;_eebf .DW =_fd .MakeInteger (int64 (_fcade ));_ccgd :=_ccega (_aeed ,_aacd ,_efcbg .Chars );_eebf .W =_fd .MakeIndirectObject (_ccgd );_bfdf :=_fd .MakeDict ();_bfdf .Set ("\u004f\u0072\u0064\u0065\u0072\u0069\u006e\u0067",_fd .MakeString ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079"));_bfdf .Set ("\u0052\u0065\u0067\u0069\u0073\u0074\u0072\u0079",_fd .MakeString ("\u0041\u0064\u006fb\u0065"));_bfdf .Set ("\u0053\u0075\u0070\u0070\u006c\u0065\u006d\u0065\u006e\u0074",_fd .MakeInteger (0));_eebf .CIDSystemInfo =_bfdf ;_befgd :=&PdfFontDescriptor {FontName :_fd .MakeName (_efcbg .PostScriptName ),Ascent :_fd .MakeFloat (_gddfc *float64 (_efcbg .TypoAscender )),Descent :_fd .MakeFloat (_gddfc *float64 (_efcbg .TypoDescender )),CapHeight :_fd .MakeFloat (_gddfc *float64 (_efcbg .CapHeight )),FontBBox :_fd .MakeArrayFromFloats ([]float64 {_gddfc *float64 (_efcbg .Xmin ),_gddfc *float64 (_efcbg .Ymin ),_gddfc *float64 (_efcbg .Xmax ),_gddfc *float64 (_efcbg .Ymax )}),ItalicAngle :_fd .MakeFloat (float64 (_efcbg .ItalicAngle )),MissingWidth :_fd .MakeFloat (_gddfc *float64 (_efcbg .Widths [0]))};_decd ,_geaab :=_fd .MakeStream (_fcbgc ,_fd .NewFlateEncoder ());if _geaab !=nil {_fca .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",_geaab );return nil ,_geaab ;};_decd .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_fd .MakeInteger (int64 (len (_fcbgc ))));_befgd .FontFile2 =_decd ;if _efcbg .Bold {_befgd .StemV =_fd .MakeInteger (120);}else {_befgd .StemV =_fd .MakeInteger (70);};_bede :=_eecbf ;if _efcbg .IsFixedPitch {_bede |=_efafc ;};if _efcbg .ItalicAngle !=0{_bede |=_gfeaa ;};_befgd .Flags =_fd .MakeInteger (int64 (_bede ));_eebf ._egfg =_efcbg .PostScriptName ;_eebf ._ggbg =_befgd ;_ggfgd :=pdfFontType0 {fontCommon :fontCommon {_ccea :"\u0054\u0079\u0070e\u0030",_egfg :_efcbg .PostScriptName },DescendantFont :&PdfFont {_bbaa :_eebf },Encoding :_fd .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"),_dbbce :_efcbg .NewEncoder ()};if len (_efcbg .Chars )> 0{_cbbff :=make (map[_agg .CharCode ]rune ,len (_efcbg .Chars ));for _fgafe ,_dgagc :=range _efcbg .Chars {_fgdd :=_agg .CharCode (_dgagc );if _bfea ,_effe :=_cbbff [_fgdd ];!_effe ||(_effe &&_bfea > _fgafe ){_cbbff [_fgdd ]=_fgafe ;};};_ggfgd ._facge =_agg .NewToUnicodeCMap (_cbbff );};_bdf :=PdfFont {_bbaa :&_ggfgd };return &_bdf ,nil ;};
|
||
|
||
// 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 (_dfcbb *PdfPageResources )GetColorspaces ()(*PdfPageResourcesColorspaces ,error ){if _dfcbb ._bfdgb !=nil {return _dfcbb ._bfdgb ,nil ;};if _dfcbb .ColorSpace ==nil {return nil ,nil ;};_edgda ,_cgfdf :=_gabcba (_dfcbb .ColorSpace );if _cgfdf !=nil {return nil ,_cgfdf ;};_dfcbb ._bfdgb =_edgda ;return _dfcbb ._bfdgb ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gccc *PdfActionRendition )ToPdfObject ()_fd .PdfObject {_gccc .PdfAction .ToPdfObject ();_fec :=_gccc ._fgb ;_bbg :=_fec .PdfObject .(*_fd .PdfObjectDictionary );_bbg .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeRendition )));_bbg .SetIfNotNil ("\u0052",_gccc .R );_bbg .SetIfNotNil ("\u0041\u004e",_gccc .AN );_bbg .SetIfNotNil ("\u004f\u0050",_gccc .OP );_bbg .SetIfNotNil ("\u004a\u0053",_gccc .JS );return _fec ;};
|
||
|
||
// AddContentStreamByString adds content stream by string. Puts the content
|
||
// string into a stream object and points the content stream towards it.
|
||
func (_cfafe *PdfPage )AddContentStreamByString (contentStr string )error {_dced ,_affdf :=_fd .MakeStream ([]byte (contentStr ),_fd .NewFlateEncoder ());if _affdf !=nil {return _affdf ;};if _cfafe .Contents ==nil {_cfafe .Contents =_dced ;}else {_fbfda :=_fd .TraceToDirectObject (_cfafe .Contents );_bggdg ,_gbabb :=_fbfda .(*_fd .PdfObjectArray );if !_gbabb {_bggdg =_fd .MakeArray (_fbfda );};_bggdg .Append (_dced );_cfafe .Contents =_bggdg ;};return nil ;};
|
||
|
||
// PdfShadingType1 is a Function-based shading.
|
||
type PdfShadingType1 struct{*PdfShading ;Domain *_fd .PdfObjectArray ;Matrix *_fd .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_bfbd *PdfColorCalRGB )B ()float64 {return float64 (_bfbd [1])};func (_ced *PdfReader )newPdfActionHideFromDict (_agf *_fd .PdfObjectDictionary )(*PdfActionHide ,error ){return &PdfActionHide {T :_agf .Get ("\u0054"),H :_agf .Get ("\u0048")},nil ;};func _fagc (_bcceb _fd .PdfObject )(PdfFunction ,error ){_bcceb =_fd .ResolveReference (_bcceb );if _gadea ,_cabb :=_bcceb .(*_fd .PdfObjectStream );_cabb {_ggefc :=_gadea .PdfObjectDictionary ;_ddcfd ,_cbgc :=_ggefc .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_fd .PdfObjectInteger );if !_cbgc {_fca .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 ,_fce .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 *_ddcfd ==0{return _cgfea (_gadea );}else if *_ddcfd ==4{return _dfcg (_gadea );}else {return nil ,_fce .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _cfgfb ,_fdbc :=_bcceb .(*_fd .PdfIndirectObject );_fdbc {_fafe ,_gdaf :=_cfgfb .PdfObject .(*_fd .PdfObjectDictionary );if !_gdaf {_fca .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 ,_fce .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");};_ecff ,_gdaf :=_fafe .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_fd .PdfObjectInteger );if !_gdaf {_fca .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 ,_fce .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 *_ecff ==2{return _cbbce (_cfgfb );}else if *_ecff ==3{return _eafeb (_cfgfb );}else {return nil ,_fce .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _acaeb ,_ccdfa :=_bcceb .(*_fd .PdfObjectDictionary );_ccdfa {_abcg ,_dgdg :=_acaeb .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_fd .PdfObjectInteger );if !_dgdg {_fca .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 ,_fce .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 *_abcg ==2{return _cbbce (_acaeb );}else if *_abcg ==3{return _eafeb (_acaeb );}else {return nil ,_fce .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else {_fca .Log .Debug ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0054\u0079\u0070\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0023\u0076",_bcceb );return nil ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};};
|
||
|
||
// RemovePage removes a page by number.
|
||
func (_ecdb *PdfAppender )RemovePage (pageNum int ){_cgff :=pageNum -1;_ecdb ._eafg =append (_ecdb ._eafg [0:_cgff ],_ecdb ._eafg [pageNum :]...);};func _fggb (_aeegg _fd .PdfObject )(map[_gf .CharCode ]float64 ,error ){if _aeegg ==nil {return nil ,nil ;};_fbeag ,_aecf :=_fd .GetArray (_aeegg );if !_aecf {return nil ,nil ;};_babd :=map[_gf .CharCode ]float64 {};_beca :=_fbeag .Len ();for _dcadg :=0;_dcadg < _beca -1;_dcadg ++{_eagd :=_fd .TraceToDirectObject (_fbeag .Get (_dcadg ));_bccg ,_ecdaf :=_fd .GetIntVal (_eagd );if !_ecdaf {return nil ,_d .Errorf ("\u0042a\u0064\u0020\u0066\u006fn\u0074\u0020\u0057\u0020\u006fb\u006a0\u003a \u0069\u003d\u0025\u0064\u0020\u0025\u0023v",_dcadg ,_eagd );};_dcadg ++;if _dcadg > _beca -1{return nil ,_d .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",_fbeag );};_ccad :=_fd .TraceToDirectObject (_fbeag .Get (_dcadg ));switch _ccad .(type ){case *_fd .PdfObjectArray :_ggfe ,_ :=_fd .GetArray (_ccad );if _fcff ,_bcaa :=_ggfe .ToFloat64Array ();_bcaa ==nil {for _dcfdf :=0;_dcfdf < len (_fcff );_dcfdf ++{_babd [_gf .CharCode (_bccg +_dcfdf )]=_fcff [_dcfdf ];};}else {return nil ,_d .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",_dcadg ,_ccad );};case *_fd .PdfObjectInteger :_fcedb ,_eccc :=_fd .GetIntVal (_ccad );if !_eccc {return nil ,_d .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",_dcadg ,_ccad );};_dcadg ++;if _dcadg > _beca -1{return nil ,_d .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",_fbeag );};_ecccg :=_fbeag .Get (_dcadg );_cbddb ,_edec :=_fd .GetNumberAsFloat (_ecccg );if _edec !=nil {return nil ,_d .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",_dcadg ,_ecccg );};for _agee :=_bccg ;_agee <=_fcedb ;_agee ++{_babd [_gf .CharCode (_agee )]=_cbddb ;};default:return nil ,_d .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",_dcadg ,_ccad );};};return _babd ,nil ;};
|
||
|
||
// 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 ){_bgga ,_dgcf :=_gaag (basefont );if _dgcf !=nil {return nil ,_dgcf ;};if basefont !=SymbolName &&basefont !=ZapfDingbatsName {_bgga ._fggbd =_gf .NewWinAnsiEncoder ();};return &PdfFont {_bbaa :&_bgga },nil ;};func _cadcg (_gabff _fd .PdfObject ,_dfdfa *PdfReader )(*OutlineDest ,error ){_cgada ,_afbd :=_fd .GetArray (_gabff );if !_afbd {return nil ,_fce .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");};_ddagb :=_cgada .Len ();if _ddagb < 2{return nil ,_d .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",_ddagb );};_gcaad :=&OutlineDest {Mode :"\u0046\u0069\u0074"};_dfae :=_cgada .Get (0);if _agga ,_bddc :=_fd .GetIndirect (_dfae );_bddc {if _ ,_fbfdeg ,_aeacc :=_dfdfa .PageFromIndirectObject (_agga );_aeacc ==nil {_gcaad .Page =int64 (_fbfdeg -1);}else {_fca .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",_agga );};_gcaad .PageObj =_agga ;}else if _egabe ,_gaba :=_fd .GetIntVal (_dfae );_gaba {if _egabe >=0&&_egabe < len (_dfdfa .PageList ){_gcaad .PageObj =_dfdfa .PageList [_egabe ].GetPageAsIndirectObject ();}else {_fca .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",_egabe );};_gcaad .Page =int64 (_egabe );}else {return nil ,_d .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",_dfae );};_bfdc ,_afbd :=_fd .GetNameVal (_cgada .Get (1));if !_afbd {_fca .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",_cgada .Get (1));return _gcaad ,nil ;};switch _bfdc {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":if _ddagb > 2{_gcaad .Y ,_ =_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_cgada .Get (2)));};case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":if _ddagb > 2{_gcaad .X ,_ =_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_cgada .Get (2)));};case "\u0058\u0059\u005a":if _ddagb > 4{_gcaad .X ,_ =_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_cgada .Get (2)));_gcaad .Y ,_ =_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_cgada .Get (3)));_gcaad .Zoom ,_ =_fd .GetNumberAsFloat (_fd .TraceToDirectObject (_cgada .Get (4)));};default:_bfdc ="\u0046\u0069\u0074";};_gcaad .Mode =_bfdc ;return _gcaad ,nil ;};func (_cfeaag *PdfWriter )writeString (_dbdcg string ){if _cfeaag ._egffc !=nil {return ;};_fgbcf ,_ffeef :=_cfeaag ._gedga .WriteString (_dbdcg );_cfeaag ._bdbgg +=int64 (_fgbcf );_cfeaag ._egffc =_ffeef ;};
|
||
|
||
// WriteString outputs the object as it is to be written to file.
|
||
func (_abea *pdfSignDictionary )WriteString ()string {_abea ._aagdc =0;_abea ._cfdc =0;_abea ._gdcfb =0;_abea ._eaece =0;_bgffb :=_bg .NewBuffer (nil );_bgffb .WriteString ("\u003c\u003c");for _ ,_ffaed :=range _abea .Keys (){_efcc :=_abea .Get (_ffaed );switch _ffaed {case "\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e":_bgffb .WriteString (_ffaed .WriteString ());_bgffb .WriteString ("\u0020");_abea ._gdcfb =_bgffb .Len ();_bgffb .WriteString (_efcc .WriteString ());_bgffb .WriteString ("\u0020");_abea ._eaece =_bgffb .Len ()-1;case "\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073":_bgffb .WriteString (_ffaed .WriteString ());_bgffb .WriteString ("\u0020");_abea ._aagdc =_bgffb .Len ();_bgffb .WriteString (_efcc .WriteString ());_bgffb .WriteString ("\u0020");_abea ._cfdc =_bgffb .Len ()-1;default:_bgffb .WriteString (_ffaed .WriteString ());_bgffb .WriteString ("\u0020");_bgffb .WriteString (_efcc .WriteString ());};};_bgffb .WriteString ("\u003e\u003e");return _bgffb .String ();};
|
||
|
||
// ImageToRGB converts an image in CMYK32 colorspace to an RGB image.
|
||
func (_dbge *PdfColorspaceDeviceCMYK )ImageToRGB (img Image )(Image ,error ){_fca .Log .Trace ("\u0043\u004d\u0059\u004b\u0033\u0032\u0020\u002d\u003e\u0020\u0052\u0047\u0042");_fca .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 );_fca .Log .Trace ("\u004c\u0065\u006e \u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0064",len (img .Data ));_fca .Log .Trace ("H\u0065\u0069\u0067\u0068t:\u0020%\u0064\u002c\u0020\u0057\u0069d\u0074\u0068\u003a\u0020\u0025\u0064",img .Height ,img .Width );_dfac ,_bfbc :=_gd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cded ,img ._dfec );if _bfbc !=nil {return Image {},_bfbc ;};_faggf ,_bfbc :=_gd .NRGBAConverter .Convert (_dfac );if _bfbc !=nil {return Image {},_bfbc ;};return _baaaa (_faggf .Base ()),nil ;};func (_bgbc *pdfFontSimple )getFontEncoding ()(_cgcff string ,_bdcf map[_gf .CharCode ]_gf .GlyphName ,_eeef error ){_cgcff ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";if _dfgdb ,_gfagb :=_bfgee [_bgbc ._egfg ];_gfagb {_cgcff =_dfgdb ;}else if _bgbc .fontFlags ()&_eecbf !=0{for _baabc ,_gafde :=range _bfgee {if _gc .Contains (_bgbc ._egfg ,_baabc ){_cgcff =_gafde ;break ;};};};if _bgbc .Encoding ==nil {return _cgcff ,nil ,nil ;};switch _geac :=_bgbc .Encoding .(type ){case *_fd .PdfObjectName :return string (*_geac ),nil ,nil ;case *_fd .PdfObjectDictionary :_adgg ,_bebda :=_fd .GetName (_geac .Get ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _bebda {_cgcff =_adgg .String ();};if _fdceg :=_geac .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073");_fdceg !=nil {_fcebg ,_fdfg :=_fd .GetArray (_fdceg );if !_fdfg {_fca .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",_geac ,_geac .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073"));return "",nil ,_fd .ErrTypeError ;};_bdcf ,_eeef =_gf .FromFontDifferences (_fcebg );};return _cgcff ,_bdcf ,_eeef ;default:_fca .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",_bgbc .Encoding ,_bgbc .Encoding );return "",nil ,_fd .ErrTypeError ;};};func _affc (_beabd *PdfAnnotation )(*XObjectForm ,*PdfRectangle ,error ){_cdfdd ,_facbb :=_fd .GetDict (_beabd .AP );if !_facbb {return nil ,nil ,_fce .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 _cdfdd ==nil {return nil ,nil ,nil ;};_badgb ,_facbb :=_fd .GetArray (_beabd .Rect );if !_facbb ||_badgb .Len ()!=4{return nil ,nil ,_fce .New ("\u0072\u0065\u0063t\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_cacbf ,_feggg :=NewPdfRectangle (*_badgb );if _feggg !=nil {return nil ,nil ,_feggg ;};_ddda :=_fd .TraceToDirectObject (_cdfdd .Get ("\u004e"));switch _cbgd :=_ddda .(type ){case *_fd .PdfObjectStream :_dggbd :=_cbgd ;_afdc ,_ccbff :=NewXObjectFormFromStream (_dggbd );return _afdc ,_cacbf ,_ccbff ;case *_fd .PdfObjectDictionary :_ffac :=_cbgd ;_gdae ,_ecgf :=_fd .GetName (_beabd .AS );if !_ecgf {return nil ,nil ,nil ;};if _ffac .Get (*_gdae )==nil {_fca .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 ;};_gdecg ,_ecgf :=_fd .GetStream (_ffac .Get (*_gdae ));if !_ecgf {_fca .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",_gdae );return nil ,nil ,_fce .New ("\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};_agbc ,_efeeg :=NewXObjectFormFromStream (_gdecg );return _agbc ,_cacbf ,_efeeg ;};_fca .Log .Debug ("\u0049\u006e\u0076\u0061li\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066\u006f\u0072\u0020\u004e\u003a\u0020%\u0054",_ddda );return nil ,nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};func _bgbea ()string {if len (_gadfb )> 0{return _gadfb ;};return "\u0055n\u0069\u0044\u006f\u0063 \u002d\u0020\u0068\u0074\u0074p\u003a/\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069o";};
|
||
|
||
// Initialize initializes the PdfSignature.
|
||
func (_cedg *PdfSignature )Initialize ()error {if _cedg .Handler ==nil {return _fce .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 _cedg .Handler .InitSignature (_cedg );};
|
||
|
||
// IsRadio returns true if the button field represents a radio button, false otherwise.
|
||
func (_ebfe *PdfFieldButton )IsRadio ()bool {return _ebfe .GetType ()==ButtonTypeRadio };
|
||
|
||
// GetExtGState gets the ExtGState specified by keyName. Returns a bool
|
||
// indicating whether it was found or not.
|
||
func (_gagba *PdfPageResources )GetExtGState (keyName _fd .PdfObjectName )(_fd .PdfObject ,bool ){if _gagba .ExtGState ==nil {return nil ,false ;};_debc ,_affdg :=_fd .TraceToDirectObject (_gagba .ExtGState ).(*_fd .PdfObjectDictionary );if !_affdg {_fca .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",_gagba .ExtGState );return nil ,false ;};if _adgd :=_debc .Get (keyName );_adgd !=nil {return _adgd ,true ;};return nil ,false ;};
|
||
|
||
// GetAscent returns the Ascent of the font `descriptor`.
|
||
func (_fege *PdfFontDescriptor )GetAscent ()(float64 ,error ){return _fd .GetNumberAsFloat (_fege .Ascent );};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gcbd *PdfColorDeviceCMYK )ToInteger (bits int )[4]uint32 {_bgaag :=_ff .Pow (2,float64 (bits ))-1;return [4]uint32 {uint32 (_bgaag *_gcbd .C ()),uint32 (_bgaag *_gcbd .M ()),uint32 (_bgaag *_gcbd .Y ()),uint32 (_bgaag *_gcbd .K ())};};
|
||
|
||
// PdfColorPattern represents a pattern color.
|
||
type PdfColorPattern struct{Color PdfColor ;PatternName _fd .PdfObjectName ;};
|
||
|
||
// 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 *_fd .PdfObjectName ;Colorants _fd .PdfObject ;Process _fd .PdfObject ;MixingHints _fd .PdfObject ;_bcda *_fd .PdfIndirectObject ;};
|
||
|
||
// GetMediaBox gets the inheritable media box value, either from the page
|
||
// or a higher up page/pages struct.
|
||
func (_geecb *PdfPage )GetMediaBox ()(*PdfRectangle ,error ){if _geecb .MediaBox !=nil {return _geecb .MediaBox ,nil ;};_bcbg :=_geecb .Parent ;for _bcbg !=nil {_bgbda ,_agfg :=_fd .GetDict (_bcbg );if !_agfg {return nil ,_fce .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 _bffbd :=_bgbda .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_bffbd !=nil {_gbecc ,_ddgcc :=_fd .GetArray (_bffbd );if !_ddgcc {return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006d\u0065\u0064\u0069a\u0020\u0062\u006f\u0078");};_beadf ,_aecae :=NewPdfRectangle (*_gbecc );if _aecae !=nil {return nil ,_aecae ;};return _beadf ,nil ;};_bcbg =_bgbda .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,_fce .New ("m\u0065\u0064\u0069\u0061 b\u006fx\u0020\u006e\u006f\u0074\u0020d\u0065\u0066\u0069\u006e\u0065\u0064");};
|
||
|
||
// PdfBorderEffect represents a PDF border effect.
|
||
type PdfBorderEffect struct{S *BorderEffect ;I *float64 ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline.
|
||
func (_dddd *Outline )ToPdfObject ()_fd .PdfObject {return _dddd .ToPdfOutline ().ToPdfObject ()};func _gddge (_dgbd ,_cged string )string {if _gc .Contains (_dgbd ,"\u002b"){_cffe :=_gc .Split (_dgbd ,"\u002b");if len (_cffe )==2{_dgbd =_cffe [1];};};return _cged +"\u002b"+_dgbd ;};
|
||
|
||
// NewPdfActionThread returns a new "thread" action.
|
||
func NewPdfActionThread ()*PdfActionThread {_agb :=NewPdfAction ();_dfg :=&PdfActionThread {};_dfg .PdfAction =_agb ;_agb .SetContext (_dfg );return _dfg ;};func _caega (_eggg []byte )(_gbbf ,_bceef string ,_acae error ){_fca .Log .Trace ("g\u0065\u0074\u0041\u0053CI\u0049S\u0065\u0063\u0074\u0069\u006fn\u0073\u003a\u0020\u0025\u0064\u0020",len (_eggg ));_ecef :=_ggaa .FindIndex (_eggg );if _ecef ==nil {_fca .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 "","",_fd .ErrTypeError ;};_bbcc :=_ecef [1];_feae :=_gc .Index (string (_eggg [_bbcc :]),_cegb );if _feae < 0{_gbbf =string (_eggg [_bbcc :]);return _gbbf ,"",nil ;};_bdbcd :=_bbcc +_feae ;_gbbf =string (_eggg [_bbcc :_bdbcd ]);_gadef :=_bdbcd ;_feae =_gc .Index (string (_eggg [_gadef :]),_dfeeg );if _feae < 0{_fca .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",_acae );return "","",_fd .ErrTypeError ;};_cagbg :=_gadef +_feae ;_bceef =string (_eggg [_gadef :_cagbg ]);return _gbbf ,_bceef ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the pattern object (indirect object).
|
||
func (_gcaaf *PdfPattern )GetContainingPdfObject ()_fd .PdfObject {return _gcaaf ._bfcg };
|
||
|
||
// NewPdfPageResourcesFromDict creates and returns a new PdfPageResources object
|
||
// from the input dictionary.
|
||
func NewPdfPageResourcesFromDict (dict *_fd .PdfObjectDictionary )(*PdfPageResources ,error ){_bbggd :=NewPdfPageResources ();if _ddfgg :=dict .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_ddfgg !=nil {_bbggd .ExtGState =_ddfgg ;};if _dbfgc :=dict .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");_dbfgc !=nil &&!_fd .IsNullObject (_dbfgc ){_bbggd .ColorSpace =_dbfgc ;};if _bddae :=dict .Get ("\u0050a\u0074\u0074\u0065\u0072\u006e");_bddae !=nil {_bbggd .Pattern =_bddae ;};if _edee :=dict .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");_edee !=nil {_bbggd .Shading =_edee ;};if _abbda :=dict .Get ("\u0058O\u0062\u006a\u0065\u0063\u0074");_abbda !=nil {_bbggd .XObject =_abbda ;};if _eaggc :=_fd .ResolveReference (dict .Get ("\u0046\u006f\u006e\u0074"));_eaggc !=nil {_bbggd .Font =_eaggc ;};if _egde :=dict .Get ("\u0050r\u006f\u0063\u0053\u0065\u0074");_egde !=nil {_bbggd .ProcSet =_egde ;};if _badga :=dict .Get ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_badga !=nil {_bbggd .Properties =_badga ;};return _bbggd ,nil ;};var _afed _b .Time ;
|
||
|
||
// ImageToGray returns a new grayscale image based on the passed in RGB image.
|
||
func (_cefd *PdfColorspaceDeviceRGB )ImageToGray (img Image )(Image ,error ){if img .ColorComponents !=3{return img ,_fce .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");};_cfgef ,_cdceb :=_gd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cded ,img ._dfec );if _cdceb !=nil {return img ,_cdceb ;};_aeag ,_cdceb :=_gd .GrayConverter .Convert (_cfgef );if _cdceb !=nil {return img ,_cdceb ;};return _baaaa (_aeag .Base ()),nil ;};func (_fagaa *pdfFontSimple )baseFields ()*fontCommon {return &_fagaa .fontCommon };
|
||
|
||
// SetName sets the `Name` field of the signature.
|
||
func (_fbaeg *PdfSignature )SetName (name string ){_fbaeg .Name =_fd .MakeString (name )};
|
||
|
||
// 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 ;_eeaafd *_fd .PdfIndirectObject ;};
|
||
|
||
// NewPdfAnnotationMovie returns a new movie annotation.
|
||
func NewPdfAnnotationMovie ()*PdfAnnotationMovie {_daag :=NewPdfAnnotation ();_aabb :=&PdfAnnotationMovie {};_aabb .PdfAnnotation =_daag ;_daag .SetContext (_aabb );return _aabb ;};
|
||
|
||
// PdfPageResources is a Page resources model.
|
||
// Implements PdfModel.
|
||
type PdfPageResources struct{ExtGState _fd .PdfObject ;ColorSpace _fd .PdfObject ;Pattern _fd .PdfObject ;Shading _fd .PdfObject ;XObject _fd .PdfObject ;Font _fd .PdfObject ;ProcSet _fd .PdfObject ;Properties _fd .PdfObject ;_adae *_fd .PdfObjectDictionary ;_bfdgb *PdfPageResourcesColorspaces ;};var _bfgee =map[string ]string {"\u0053\u0079\u006d\u0062\u006f\u006c":"\u0053\u0079\u006d\u0062\u006f\u006c\u0045\u006e\u0063o\u0064\u0069\u006e\u0067","\u005a\u0061\u0070f\u0044\u0069\u006e\u0067\u0062\u0061\u0074\u0073":"Z\u0061p\u0066\u0044\u0069\u006e\u0067\u0062\u0061\u0074s\u0045\u006e\u0063\u006fdi\u006e\u0067"};func (_bfgd *PdfReader )loadForms ()(*PdfAcroForm ,error ){if _bfgd ._egbge .GetCrypter ()!=nil &&!_bfgd ._egbge .IsAuthenticated (){return nil ,_d .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");};_aega :=_bfgd ._bfcbd ;_febde :=_aega .Get ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d");if _febde ==nil {return nil ,nil ;};_cdfa ,_ :=_fd .GetIndirect (_febde );_febde =_fd .TraceToDirectObject (_febde );if _fd .IsNullObject (_febde ){_fca .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 ;};_dbfbc ,_fabc :=_fd .GetDict (_febde );if !_fabc {_fca .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069d\u0020\u0041\u0063\u0072\u006fF\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_febde );_fca .Log .Debug ("\u0044\u006f\u0065\u0073 n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0066\u006f\u0072\u006d\u0073");return nil ,_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0061\u0063\u0072\u006ff\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_febde );};_fca .Log .Trace ("\u0048\u0061\u0073\u0020\u0041\u0063\u0072\u006f\u0020f\u006f\u0072\u006d\u0073");_fca .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 !_bfgd ._ebeae {_fdbfc :=_bfgd .traverseObjectData (_dbfbc );if _fdbfc !=nil {_fca .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",_fdbfc );return nil ,_fdbfc ;};};_fcfdf ,_gaca :=_bfgd .newPdfAcroFormFromDict (_cdfa ,_dbfbc );if _gaca !=nil {return nil ,_gaca ;};return _fcfdf ,nil ;};
|
||
|
||
// Fill populates `form` with values provided by `provider`.
|
||
func (_gfbe *PdfAcroForm )Fill (provider FieldValueProvider )error {return _gfbe .fill (provider ,nil )};
|
||
|
||
// PdfActionGoTo represents a GoTo action.
|
||
type PdfActionGoTo struct{*PdfAction ;D _fd .PdfObject ;};func (_cbf *PdfReader )newPdfActionGotoFromDict (_dfe *_fd .PdfObjectDictionary )(*PdfActionGoTo ,error ){return &PdfActionGoTo {D :_dfe .Get ("\u0044")},nil ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType0 to a PDF representation.
|
||
func (_dedb *pdfCIDFontType0 )ToPdfObject ()_fd .PdfObject {return _fd .MakeNull ()};
|
||
|
||
// NewPdfColorDeviceGray returns a new grayscale color based on an input grayscale float value in range [0-1].
|
||
func NewPdfColorDeviceGray (grayVal float64 )*PdfColorDeviceGray {_bdc :=PdfColorDeviceGray (grayVal );return &_bdc ;};
|
||
|
||
// HasXObjectByName checks if has XObject resource by name.
|
||
func (_fgafc *PdfPage )HasXObjectByName (name _fd .PdfObjectName )bool {_cbcag ,_gbbcb :=_fgafc .Resources .XObject .(*_fd .PdfObjectDictionary );if !_gbbcb {return false ;};if _cgcda :=_cbcag .Get (name );_cgcda !=nil {return true ;};return false ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_efaf *PdfBorderStyle )ToPdfObject ()_fd .PdfObject {_eagg :=_fd .MakeDict ();if _efaf ._fefdb !=nil {if _aadb ,_bffc :=_efaf ._fefdb .(*_fd .PdfIndirectObject );_bffc {_aadb .PdfObject =_eagg ;};};_eagg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0042\u006f\u0072\u0064\u0065\u0072"));if _efaf .W !=nil {_eagg .Set ("\u0057",_fd .MakeFloat (*_efaf .W ));};if _efaf .S !=nil {_eagg .Set ("\u0053",_fd .MakeName (_efaf .S .GetPdfName ()));};if _efaf .D !=nil {_eagg .Set ("\u0044",_fd .MakeArrayFromIntegers (*_efaf .D ));};if _efaf ._fefdb !=nil {return _efaf ._fefdb ;};return _eagg ;};
|
||
|
||
// NewPdfColorspaceSpecialIndexed returns a new Indexed color.
|
||
func NewPdfColorspaceSpecialIndexed ()*PdfColorspaceSpecialIndexed {return &PdfColorspaceSpecialIndexed {HiVal :255};};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_bbgad *PdfFunctionType3 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_fca .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return nil ,_fce .New ("\u006e\u006f\u0074\u0020im\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0079\u0065\u0074");};
|
||
|
||
// PdfPage represents a page in a PDF document. (7.7.3.3 - Table 30).
|
||
type PdfPage struct{Parent _fd .PdfObject ;LastModified *PdfDate ;Resources *PdfPageResources ;CropBox *PdfRectangle ;MediaBox *PdfRectangle ;BleedBox *PdfRectangle ;TrimBox *PdfRectangle ;ArtBox *PdfRectangle ;BoxColorInfo _fd .PdfObject ;Contents _fd .PdfObject ;Rotate *int64 ;Group _fd .PdfObject ;Thumb _fd .PdfObject ;B _fd .PdfObject ;Dur _fd .PdfObject ;Trans _fd .PdfObject ;AA _fd .PdfObject ;Metadata _fd .PdfObject ;PieceInfo _fd .PdfObject ;StructParents _fd .PdfObject ;ID _fd .PdfObject ;PZ _fd .PdfObject ;SeparationInfo _fd .PdfObject ;Tabs _fd .PdfObject ;TemplateInstantiated _fd .PdfObject ;PresSteps _fd .PdfObject ;UserUnit _fd .PdfObject ;VP _fd .PdfObject ;Annots _fd .PdfObject ;_bfedf []*PdfAnnotation ;_fgbbc *_fd .PdfObjectDictionary ;_debfd *_fd .PdfIndirectObject ;_gccea *PdfReader ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceRGB colorspace.
|
||
func (_ecbf *PdfColorspaceDeviceRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// PdfAnnotationTrapNet represents TrapNet annotations.
|
||
// (Section 12.5.6.21).
|
||
type PdfAnnotationTrapNet struct{*PdfAnnotation };
|
||
|
||
// 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 _fc .ReadSeeker )(*PdfReader ,error ){_ggcce :=&PdfReader {_eade :rs ,_caece :map[_fd .PdfObject ]struct{}{},_gggcg :_caaab (),_ebeae :false };_afbde ,_gagfd :=_fd .NewParser (rs );if _gagfd !=nil {return nil ,_gagfd ;};_ggcce ._egbge =_afbde ;_gbfe ,_gagfd :=_ggcce .IsEncrypted ();if _gagfd !=nil {return nil ,_gagfd ;};if !_gbfe {_gagfd =_ggcce .loadStructure ();if _gagfd !=nil {return nil ,_gagfd ;};};return _ggcce ,nil ;};
|
||
|
||
// NewPdfAnnotationPopup returns a new popup annotation.
|
||
func NewPdfAnnotationPopup ()*PdfAnnotationPopup {_fgcd :=NewPdfAnnotation ();_bega :=&PdfAnnotationPopup {};_bega .PdfAnnotation =_fgcd ;_fgcd .SetContext (_bega );return _bega ;};
|
||
|
||
// 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 (_agabd *PdfFont )CharcodeBytesToUnicode (data []byte )(string ,int ,int ){_affgc ,_ ,_fedga :=_agabd .CharcodesToUnicodeWithStats (_agabd .BytesToCharcodes (data ));_gggd :=_gf .ExpandLigatures (_affgc );return _gggd ,_gb .RuneCountInString (_gggd ),_fedga ;};
|
||
|
||
// PdfFunctionType4 is a Postscript calculator functions.
|
||
type PdfFunctionType4 struct{Domain []float64 ;Range []float64 ;Program *_fe .PSProgram ;_gfcd *_fe .PSExecutor ;_dbgb []byte ;_baga *_fd .PdfObjectStream ;};
|
||
|
||
// GetNamedDestinations returns the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_dfda *PdfReader )GetNamedDestinations ()(_fd .PdfObject ,error ){_bcbbd :=_fd .ResolveReference (_dfda ._bfcbd .Get ("\u004e\u0061\u006de\u0073"));if _bcbbd ==nil {return nil ,nil ;};if !_dfda ._ebeae {_ecgbgf :=_dfda .traverseObjectData (_bcbbd );if _ecgbgf !=nil {return nil ,_ecgbgf ;};};return _bcbbd ,nil ;};
|
||
|
||
// NewPdfColorspaceDeviceRGB returns a new RGB colorspace object.
|
||
func NewPdfColorspaceDeviceRGB ()*PdfColorspaceDeviceRGB {return &PdfColorspaceDeviceRGB {}};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_geg *PdfActionTrans )ToPdfObject ()_fd .PdfObject {_geg .PdfAction .ToPdfObject ();_caa :=_geg ._fgb ;_edfd :=_caa .PdfObject .(*_fd .PdfObjectDictionary );_edfd .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeTrans )));_edfd .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_geg .Trans );return _caa ;};
|
||
|
||
// GetContext returns a reference to the subpattern entry: either PdfTilingPattern or PdfShadingPattern.
|
||
func (_ebaba *PdfPattern )GetContext ()PdfModel {return _ebaba ._befef };
|
||
|
||
// SetColorspaceByName adds the provided colorspace to the page resources.
|
||
func (_gcfc *PdfPageResources )SetColorspaceByName (keyName _fd .PdfObjectName ,cs PdfColorspace )error {_bcgg ,_deee :=_gcfc .GetColorspaces ();if _deee !=nil {_fca .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",_deee );return _deee ;};if _bcgg ==nil {_bcgg =NewPdfPageResourcesColorspaces ();_gcfc .SetColorSpace (_bcgg );};_bcgg .Set (keyName ,cs );return nil ;};
|
||
|
||
// PdfColorspaceCalRGB stores A, B, C components
|
||
type PdfColorspaceCalRGB struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma []float64 ;Matrix []float64 ;_gdfc *_fd .PdfObjectDictionary ;_eaff *_fd .PdfIndirectObject ;};
|
||
|
||
// ColorToRGB converts a Lab color to an RGB color.
|
||
func (_ggdb *PdfColorspaceLab )ColorToRGB (color PdfColor )(PdfColor ,error ){_dcfb :=func (_begb float64 )float64 {if _begb >=6.0/29{return _begb *_begb *_begb ;};return 108.0/841*(_begb -4/29);};_acbd ,_adcg :=color .(*PdfColorLab );if !_adcg {_fca .Log .Debug ("\u0069\u006e\u0070\u0075t \u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u006c\u0061\u0062");return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};LStar :=_acbd .L ();AStar :=_acbd .A ();BStar :=_acbd .B ();L :=(LStar +16)/116+AStar /500;M :=(LStar +16)/116;N :=(LStar +16)/116-BStar /200;X :=_ggdb .WhitePoint [0]*_dcfb (L );Y :=_ggdb .WhitePoint [1]*_dcfb (M );Z :=_ggdb .WhitePoint [2]*_dcfb (N );_bbfg :=3.240479*X +-1.537150*Y +-0.498535*Z ;_gaaf :=-0.969256*X +1.875992*Y +0.041556*Z ;_cadd :=0.055648*X +-0.204043*Y +1.057311*Z ;_bbfg =_ff .Min (_ff .Max (_bbfg ,0),1.0);_gaaf =_ff .Min (_ff .Max (_gaaf ,0),1.0);_cadd =_ff .Min (_ff .Max (_cadd ,0),1.0);return NewPdfColorDeviceRGB (_bbfg ,_gaaf ,_cadd ),nil ;};func (_bcbf *PdfReader )newPdfAnnotationTextFromDict (_edc *_fd .PdfObjectDictionary )(*PdfAnnotationText ,error ){_dgfd :=PdfAnnotationText {};_affe ,_gaee :=_bcbf .newPdfAnnotationMarkupFromDict (_edc );if _gaee !=nil {return nil ,_gaee ;};_dgfd .PdfAnnotationMarkup =_affe ;_dgfd .Open =_edc .Get ("\u004f\u0070\u0065\u006e");_dgfd .Name =_edc .Get ("\u004e\u0061\u006d\u0065");_dgfd .State =_edc .Get ("\u0053\u0074\u0061t\u0065");_dgfd .StateModel =_edc .Get ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c");return &_dgfd ,nil ;};
|
||
|
||
// ContentStreamWrapper wraps the Page's contentstream into q ... Q blocks.
|
||
type ContentStreamWrapper interface{WrapContentStream (_decgf *PdfPage )error ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_adcdb *OutlineItem )Items ()[]*OutlineItem {return _adcdb .Entries };func _ebddd ()string {return _fca .Version };func _fdbf (_egebd _fd .PdfObject )(*_fd .PdfObjectDictionary ,*fontCommon ,error ){_cdebc :=&fontCommon {};if _ffca ,_ccdcb :=_egebd .(*_fd .PdfIndirectObject );_ccdcb {_cdebc ._edcb =_ffca .ObjectNumber ;};_fgade ,_bedg :=_fd .GetDict (_egebd );if !_bedg {_fca .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",_egebd );return nil ,nil ,ErrFontNotSupported ;};_gcgc ,_bedg :=_fd .GetNameVal (_fgade .Get ("\u0054\u0079\u0070\u0065"));if !_bedg {_fca .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 _gcgc !="\u0046\u006f\u006e\u0074"{_fca .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.",_gcgc ,"\u0046\u006f\u006e\u0074");return nil ,nil ,_fd .ErrTypeError ;};_bcbe ,_bedg :=_fd .GetNameVal (_fgade .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_bedg {_fca .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 ;};_cdebc ._ccea =_bcbe ;_cadc ,_bedg :=_fd .GetNameVal (_fgade .Get ("\u004e\u0061\u006d\u0065"));if _bedg {_cdebc ._gaebg =_cadc ;};if _bcbe =="\u0054\u0079\u0070e\u0033"{_fca .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",_fgade );return _fgade ,_cdebc ,ErrType3FontNotSupported ;};_eeea ,_bedg :=_fd .GetNameVal (_fgade .Get ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074"));if !_bedg {_fca .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 _fgade ,_cdebc ,ErrRequiredAttributeMissing ;};_cdebc ._egfg =_eeea ;_befge :=_fgade .Get ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072");if _befge !=nil {_fecad ,_cgcf :=_cdef (_befge );if _cgcf !=nil {_fca .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",_cgcf );return _fgade ,_cdebc ,_cgcf ;};_cdebc ._ggbg =_fecad ;};_bdgaf :=_fgade .Get ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e");if _bdgaf !=nil {_cdebc ._ddaf =_fd .TraceToDirectObject (_bdgaf );_edba ,_gfdba :=_begcg (_cdebc ._ddaf ,_cdebc );if _gfdba !=nil {return _fgade ,_cdebc ,_gfdba ;};_cdebc ._facge =_edba ;}else if _bcbe =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"||_bcbe =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_gbfca ,_cbbab :=_agg .NewCIDSystemInfo (_fgade .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if _cbbab !=nil {return _fgade ,_cdebc ,_cbbab ;};_fgcgb :=_d .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0055\u0043\u0053\u0032",_gbfca .Registry ,_gbfca .Ordering );if _agg .IsPredefinedCMap (_fgcgb ){_cdebc ._facge ,_cbbab =_agg .LoadPredefinedCMap (_fgcgb );if _cbbab !=nil {_fca .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",_fgcgb ,_cbbab );};};};return _fgade ,_cdebc ,nil ;};
|
||
|
||
// SetPdfCreationDate sets the CreationDate attribute of the output PDF.
|
||
func SetPdfCreationDate (creationDate _b .Time ){_fdgee =creationDate };
|
||
|
||
// NewPdfAnnotationStrikeOut returns a new text strikeout annotation.
|
||
func NewPdfAnnotationStrikeOut ()*PdfAnnotationStrikeOut {_cdce :=NewPdfAnnotation ();_age :=&PdfAnnotationStrikeOut {};_age .PdfAnnotation =_cdce ;_age .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cdce .SetContext (_age );return _age ;};
|
||
|
||
// AddAnnotation appends `annot` to the list of page annotations.
|
||
func (_bfabg *PdfPage )AddAnnotation (annot *PdfAnnotation ){if _bfabg ._bfedf ==nil {_bfabg .GetAnnotations ();};_bfabg ._bfedf =append (_bfabg ._bfedf ,annot );};
|
||
|
||
// HasXObjectByName checks if an XObject with a specified keyName is defined.
|
||
func (_bbbg *PdfPageResources )HasXObjectByName (keyName _fd .PdfObjectName )bool {_gaecg ,_ :=_bbbg .GetXObjectByName (keyName );return _gaecg !=nil ;};
|
||
|
||
// NewPdfActionGoToE returns a new "go to embedded" action.
|
||
func NewPdfActionGoToE ()*PdfActionGoToE {_ea :=NewPdfAction ();_ddc :=&PdfActionGoToE {};_ddc .PdfAction =_ea ;_ea .SetContext (_ddc );return _ddc ;};func (_fgec *PdfColorspaceDeviceGray )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079";};
|
||
|
||
// NewPdfColorspaceFromPdfObject loads a PdfColorspace from a PdfObject. Returns an error if there is
|
||
// a failure in loading.
|
||
func NewPdfColorspaceFromPdfObject (obj _fd .PdfObject )(PdfColorspace ,error ){var _dege *_fd .PdfIndirectObject ;var _fde *_fd .PdfObjectName ;var _ggda *_fd .PdfObjectArray ;if _afcaa ,_gfcc :=obj .(*_fd .PdfIndirectObject );_gfcc {_dege =_afcaa ;};obj =_fd .TraceToDirectObject (obj );switch _bcfb :=obj .(type ){case *_fd .PdfObjectArray :_ggda =_bcfb ;case *_fd .PdfObjectName :_fde =_bcfb ;};if _fde !=nil {switch *_fde {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:_fca .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",*_fde );return nil ,_fgbb ;};};if _ggda !=nil &&_ggda .Len ()> 0{var _gffg _fd .PdfObject =_dege ;if _dege ==nil {_gffg =_ggda ;};if _eeaa ,_edbfc :=_fd .GetName (_ggda .Get (0));_edbfc {switch _eeaa .String (){case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":if _ggda .Len ()==1{return NewPdfColorspaceDeviceGray (),nil ;};case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":if _ggda .Len ()==1{return NewPdfColorspaceDeviceRGB (),nil ;};case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _ggda .Len ()==1{return NewPdfColorspaceDeviceCMYK (),nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079":return _cbbb (_gffg );case "\u0043\u0061\u006c\u0052\u0047\u0042":return _begg (_gffg );case "\u004c\u0061\u0062":return _addec (_gffg );case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064":return _bggd (_gffg );case "\u0050a\u0074\u0074\u0065\u0072\u006e":return _cbcbf (_gffg );case "\u0049n\u0064\u0065\u0078\u0065\u0064":return _fdge (_gffg );case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e":return _acbe (_gffg );case "\u0044e\u0076\u0069\u0063\u0065\u004e":return _cccc (_gffg );default:_fca .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",*_eeaa );};};};_fca .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 ;};
|
||
|
||
// Set applies flag fl to the flag's bitmask and returns the combined flag.
|
||
func (_fbfg FieldFlag )Set (fl FieldFlag )FieldFlag {return FieldFlag (_fbfg .Mask ()|fl .Mask ())};var (_ggaa =_ag .MustCompile ("\u005cd\u002b\u0020\u0064\u0069c\u0074\u005c\u0073\u002b\u0028d\u0075p\u005cs\u002b\u0029\u003f\u0062\u0065\u0067\u0069n");_fcdb =_ag .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");_gbdf =_ag .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");_cegb ="\u002f\u0045\u006e\u0063od\u0069\u006e\u0067\u0020\u0032\u0035\u0036\u0020\u0061\u0072\u0072\u0061\u0079";_dfeeg ="\u0072\u0065\u0061d\u006f\u006e\u006c\u0079\u0020\u0064\u0065\u0066";_agecf ="\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u0066\u0069\u006c\u0065\u0020e\u0065\u0078\u0065\u0063";);
|
||
|
||
// PdfColorspaceSpecialPattern is a Pattern colorspace.
|
||
// Can be defined either as /Pattern or with an underlying colorspace [/Pattern cs].
|
||
type PdfColorspaceSpecialPattern struct{UnderlyingCS PdfColorspace ;_agedg *_fd .PdfIndirectObject ;};
|
||
|
||
// GetAlphabet returns a map of the runes in `text` and their frequencies.
|
||
func GetAlphabet (text string )map[rune ]int {_gbcg :=map[rune ]int {};for _ ,_bbeb :=range text {_gbcg [_bbeb ]++;};return _gbcg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bf *PdfActionGoTo3DView )ToPdfObject ()_fd .PdfObject {_bf .PdfAction .ToPdfObject ();_bggb :=_bf ._fgb ;_bddd :=_bggb .PdfObject .(*_fd .PdfObjectDictionary );_bddd .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeGoTo3DView )));_bddd .SetIfNotNil ("\u0054\u0041",_bf .TA );_bddd .SetIfNotNil ("\u0056",_bf .V );return _bggb ;};func (_aeebb *PdfAppender )mergeResources (_bcdd ,_gcff _fd .PdfObject ,_dcf map[_fd .PdfObjectName ]_fd .PdfObjectName )_fd .PdfObject {if _gcff ==nil &&_bcdd ==nil {return nil ;};if _gcff ==nil {return _bcdd ;};_dacga ,_fbcg :=_fd .GetDict (_gcff );if !_fbcg {return _bcdd ;};if _bcdd ==nil {_cdaa :=_fd .MakeDict ();_cdaa .Merge (_dacga );return _gcff ;};_cdac ,_fbcg :=_fd .GetDict (_bcdd );if !_fbcg {_fca .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");_cdac =_fd .MakeDict ();};for _ ,_gebf :=range _dacga .Keys (){if _dgec ,_fbd :=_dcf [_gebf ];_fbd {_cdac .Set (_dgec ,_dacga .Get (_gebf ));}else {_cdac .Set (_gebf ,_dacga .Get (_gebf ));};};return _cdac ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_ae *PdfAction )GetContainingPdfObject ()_fd .PdfObject {return _ae ._fgb };func _addec (_gaef _fd .PdfObject )(*PdfColorspaceLab ,error ){_gefc :=NewPdfColorspaceLab ();if _fgbeg ,_gbdc :=_gaef .(*_fd .PdfIndirectObject );_gbdc {_gefc ._fbfeb =_fgbeg ;};_gaef =_fd .TraceToDirectObject (_gaef );_fdcc ,_cabec :=_gaef .(*_fd .PdfObjectArray );if !_cabec {return nil ,_d .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _fdcc .Len ()!=2{return nil ,_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_gaef =_fd .TraceToDirectObject (_fdcc .Get (0));_ddbf ,_cabec :=_gaef .(*_fd .PdfObjectName );if !_cabec {return nil ,_d .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 *_ddbf !="\u004c\u0061\u0062"{return nil ,_d .Errorf ("n\u006ft\u0020\u0061\u0020\u004c\u0061\u0062\u0020\u0063o\u006c\u006f\u0072\u0073pa\u0063\u0065");};_gaef =_fd .TraceToDirectObject (_fdcc .Get (1));_bcbb ,_cabec :=_gaef .(*_fd .PdfObjectDictionary );if !_cabec {return nil ,_d .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");};_gaef =_bcbb .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_gaef =_fd .TraceToDirectObject (_gaef );_fdgf ,_cabec :=_gaef .(*_fd .PdfObjectArray );if !_cabec {return nil ,_d .Errorf ("\u004c\u0061\u0062\u0020In\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069n\u0074");};if _fdgf .Len ()!=3{return nil ,_d .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");};_eefe ,_ecae :=_fdgf .GetAsFloat64Slice ();if _ecae !=nil {return nil ,_ecae ;};_gefc .WhitePoint =_eefe ;_gaef =_bcbb .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _gaef !=nil {_gaef =_fd .TraceToDirectObject (_gaef );_fdae ,_fccf :=_gaef .(*_fd .PdfObjectArray );if !_fccf {return nil ,_d .Errorf ("\u004c\u0061\u0062: \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");};if _fdae .Len ()!=3{return nil ,_d .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");};_aadae ,_becfc :=_fdae .GetAsFloat64Slice ();if _becfc !=nil {return nil ,_becfc ;};_gefc .BlackPoint =_aadae ;};_gaef =_bcbb .Get ("\u0052\u0061\u006eg\u0065");if _gaef !=nil {_gaef =_fd .TraceToDirectObject (_gaef );_ggggf ,_febc :=_gaef .(*_fd .PdfObjectArray );if !_febc {_fca .Log .Error ("\u0052\u0061n\u0067\u0065\u0020t\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");return nil ,_d .Errorf ("\u004ca\u0062:\u0020\u0054\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _ggggf .Len ()!=4{_fca .Log .Error ("\u0052\u0061\u006e\u0067\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020e\u0072\u0072\u006f\u0072");return nil ,_d .Errorf ("\u004c\u0061b\u003a\u0020\u0052a\u006e\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_eacf ,_becfa :=_ggggf .GetAsFloat64Slice ();if _becfa !=nil {return nil ,_becfa ;};_gefc .Range =_eacf ;};return _gefc ,nil ;};type fontFile struct{_edgf string ;_efbd string ;_dfga _gf .SimpleEncoder ;};var _daee ="";func (_efge *PdfReader )newPdfAnnotationWatermarkFromDict (_cbbgb *_fd .PdfObjectDictionary )(*PdfAnnotationWatermark ,error ){_bccf :=PdfAnnotationWatermark {};_bccf .FixedPrint =_cbbgb .Get ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074");return &_bccf ,nil ;};
|
||
|
||
// NewPdfActionGoTo3DView returns a new "goTo3DView" action.
|
||
func NewPdfActionGoTo3DView ()*PdfActionGoTo3DView {_adg :=NewPdfAction ();_fbf :=&PdfActionGoTo3DView {};_fbf .PdfAction =_adg ;_adg .SetContext (_fbf );return _fbf ;};
|
||
|
||
// 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 (_cabgc *PdfSignature )bool ;Validate (_cdefg *PdfSignature ,_acfef Hasher )(SignatureValidationResult ,error );
|
||
|
||
// InitSignature sets the PdfSignature parameters.
|
||
InitSignature (*PdfSignature )error ;NewDigest (_bdbfd *PdfSignature )(Hasher ,error );Sign (_daeff *PdfSignature ,_cebfg Hasher )error ;};
|
||
|
||
// 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 (_deea *Image )Resample (targetBitsPerComponent int64 ){if _deea .BitsPerComponent ==targetBitsPerComponent {return ;};_aeaba :=_deea .GetSamples ();if targetBitsPerComponent < _deea .BitsPerComponent {_gfgdc :=_deea .BitsPerComponent -targetBitsPerComponent ;for _fegfc :=range _aeaba {_aeaba [_fegfc ]>>=uint (_gfgdc );};}else if targetBitsPerComponent > _deea .BitsPerComponent {_fbgb :=targetBitsPerComponent -_deea .BitsPerComponent ;for _effec :=range _aeaba {_aeaba [_effec ]<<=uint (_fbgb );};};_deea .BitsPerComponent =targetBitsPerComponent ;if _deea .BitsPerComponent < 8{_deea .resampleLowBits (_aeaba );return ;};_dddf :=_gd .BytesPerLine (int (_deea .Width ),int (_deea .BitsPerComponent ),_deea .ColorComponents );_eabed :=make ([]byte ,_dddf *int (_deea .Height ));var (_ceeee ,_fabd ,_febac ,_afcg int ;_gabgb uint32 ;);for _febac =0;_febac < int (_deea .Height );_febac ++{_ceeee =_febac *_dddf ;_fabd =(_febac +1)*_dddf -1;_faac :=_ddf .ResampleUint32 (_aeaba [_ceeee :_fabd ],int (targetBitsPerComponent ),8);for _afcg ,_gabgb =range _faac {_eabed [_afcg +_ceeee ]=byte (_gabgb );};};_deea .Data =_eabed ;};
|
||
|
||
// SetContext sets the sub action (context).
|
||
func (_aga *PdfAction )SetContext (ctx PdfModel ){_aga ._db =ctx };
|
||
|
||
// AddWatermarkImage adds a watermark to the page.
|
||
func (_bcdee *PdfPage )AddWatermarkImage (ximg *XObjectImage ,opt WatermarkImageOptions )error {_dbda ,_dcbgf :=_bcdee .GetMediaBox ();if _dcbgf !=nil {return _dcbgf ;};_eccce :=_dbda .Urx -_dbda .Llx ;_bgega :=_dbda .Ury -_dbda .Lly ;_bdegd :=float64 (*ximg .Width );_gebde :=(float64 (_eccce )-float64 (_bdegd ))/2;if opt .FitToWidth {_bdegd =_eccce ;_gebde =0;};_abgf :=_bgega ;_cgde :=float64 (0);if opt .PreserveAspectRatio {_abgf =_bdegd *float64 (*ximg .Height )/float64 (*ximg .Width );_cgde =(_bgega -_abgf )/2;};if _bcdee .Resources ==nil {_bcdee .Resources =NewPdfPageResources ();};_bdca :=0;_bcffc :=_fd .PdfObjectName (_d .Sprintf ("\u0049\u006d\u0077%\u0064",_bdca ));for _bcdee .Resources .HasXObjectByName (_bcffc ){_bdca ++;_bcffc =_fd .PdfObjectName (_d .Sprintf ("\u0049\u006d\u0077%\u0064",_bdca ));};_dcbgf =_bcdee .AddImageResource (_bcffc ,ximg );if _dcbgf !=nil {return _dcbgf ;};_bdca =0;_dgcbd :=_fd .PdfObjectName (_d .Sprintf ("\u0047\u0053\u0025\u0064",_bdca ));for _bcdee .HasExtGState (_dgcbd ){_bdca ++;_dgcbd =_fd .PdfObjectName (_d .Sprintf ("\u0047\u0053\u0025\u0064",_bdca ));};_cfcde :=_fd .MakeDict ();_cfcde .Set ("\u0042\u004d",_fd .MakeName ("\u004e\u006f\u0072\u006d\u0061\u006c"));_cfcde .Set ("\u0043\u0041",_fd .MakeFloat (opt .Alpha ));_cfcde .Set ("\u0063\u0061",_fd .MakeFloat (opt .Alpha ));_dcbgf =_bcdee .AddExtGState (_dgcbd ,_cfcde );if _dcbgf !=nil {return _dcbgf ;};_fafac :=_d .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",_dgcbd ,_bdegd ,_abgf ,_gebde ,_cgde ,_bcffc );_bcdee .AddContentStreamByString (_fafac );return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aada *PdfAnnotationWatermark )ToPdfObject ()_fd .PdfObject {_aada .PdfAnnotation .ToPdfObject ();_agede :=_aada ._defg ;_dgabg :=_agede .PdfObject .(*_fd .PdfObjectDictionary );_dgabg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k"));_dgabg .SetIfNotNil ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074",_aada .FixedPrint );return _agede ;};
|
||
|
||
// SetImage updates XObject Image with new image data.
|
||
func (_cdgdd *XObjectImage )SetImage (img *Image ,cs PdfColorspace )error {_cdgdd .Filter .UpdateParams (img .GetParamsDict ());_eedc ,_efcbd :=_cdgdd .Filter .EncodeBytes (img .Data );if _efcbd !=nil {return _efcbd ;};_cdgdd .Stream =_eedc ;_dgafc :=img .Width ;_cdgdd .Width =&_dgafc ;_fbgcc :=img .Height ;_cdgdd .Height =&_fbgcc ;_badeb :=img .BitsPerComponent ;_cdgdd .BitsPerComponent =&_badeb ;if cs ==nil {if img .ColorComponents ==1{_cdgdd .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_cdgdd .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_cdgdd .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return _fce .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_cdgdd .ColorSpace =cs ;};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gbgg *PdfAnnotationPopup )ToPdfObject ()_fd .PdfObject {_gbgg .PdfAnnotation .ToPdfObject ();_bbff :=_gbgg ._defg ;_dbff :=_bbff .PdfObject .(*_fd .PdfObjectDictionary );_dbff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0050\u006f\u0070u\u0070"));_dbff .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_gbgg .Parent );_dbff .SetIfNotNil ("\u004f\u0070\u0065\u006e",_gbgg .Open );return _bbff ;};
|
||
|
||
// 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 {_eaeg ,_ggecf :=NewStandard14Font (basefont );if _ggecf !=nil {panic (_d .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 _eaeg ;};
|
||
|
||
// PdfFieldText represents a text field where user can enter text.
|
||
type PdfFieldText struct{*PdfField ;DA *_fd .PdfObjectString ;Q *_fd .PdfObjectInteger ;DS *_fd .PdfObjectString ;RV _fd .PdfObject ;MaxLen *_fd .PdfObjectInteger ;};
|
||
|
||
// 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 (_bfbac *PdfReader )AcroFormNeedsRepair ()(bool ,error ){var _eafec []*PdfField ;if _bfbac .AcroForm !=nil {_eafec =_bfbac .AcroForm .AllFields ();};_gafbd :=make (map[*PdfField ]struct{},len (_eafec ));for _ ,_cced :=range _eafec {_gafbd [_cced ]=struct{}{};};for _ ,_eceee :=range _bfbac .PageList {_eaffc ,_dfdg :=_eceee .GetAnnotations ();if _dfdg !=nil {return false ,_dfdg ;};for _ ,_afeeg :=range _eaffc {_dega ,_egfc :=_afeeg .GetContext ().(*PdfAnnotationWidget );if !_egfc {continue ;};_ggga :=_dega .Field ();if _ggga ==nil {return true ,nil ;};if _ ,_dddefa :=_gafbd [_ggga ];!_dddefa {return true ,nil ;};};};return false ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbb *PdfActionJavaScript )ToPdfObject ()_fd .PdfObject {_cbb .PdfAction .ToPdfObject ();_cfc :=_cbb ._fgb ;_cbg :=_cfc .PdfObject .(*_fd .PdfObjectDictionary );_cbg .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeJavaScript )));_cbg .SetIfNotNil ("\u004a\u0053",_cbb .JS );return _cfc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fgc *PdfActionThread )ToPdfObject ()_fd .PdfObject {_fgc .PdfAction .ToPdfObject ();_bdd :=_fgc ._fgb ;_cg :=_bdd .PdfObject .(*_fd .PdfObjectDictionary );_cg .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeThread )));if _fgc .F !=nil {_cg .Set ("\u0046",_fgc .F .ToPdfObject ());};_cg .SetIfNotNil ("\u0044",_fgc .D );_cg .SetIfNotNil ("\u0042",_fgc .B );return _bdd ;};
|
||
|
||
// Decrypt decrypts the PDF file with a specified password. Also tries to
|
||
// decrypt with an empty password. Returns true if successful,
|
||
// false otherwise.
|
||
func (_bdab *PdfReader )Decrypt (password []byte )(bool ,error ){_cdaed ,_dgaag :=_bdab ._egbge .Decrypt (password );if _dgaag !=nil {return false ,_dgaag ;};if !_cdaed {return false ,nil ;};_dgaag =_bdab .loadStructure ();if _dgaag !=nil {_fca .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",_dgaag );return false ,_dgaag ;};return true ,nil ;};
|
||
|
||
// SetImageHandler sets the image handler used by the package.
|
||
func SetImageHandler (imgHandling ImageHandler ){ImageHandling =imgHandling };var _fcfc ="";
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_geba *PdfAnnotationSquare )ToPdfObject ()_fd .PdfObject {_geba .PdfAnnotation .ToPdfObject ();_dabc :=_geba ._defg ;_bafc :=_dabc .PdfObject .(*_fd .PdfObjectDictionary );if _geba .PdfAnnotationMarkup !=nil {_geba .PdfAnnotationMarkup .appendToPdfDictionary (_bafc );};_bafc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053\u0071\u0075\u0061\u0072\u0065"));_bafc .SetIfNotNil ("\u0042\u0053",_geba .BS );_bafc .SetIfNotNil ("\u0049\u0043",_geba .IC );_bafc .SetIfNotNil ("\u0042\u0045",_geba .BE );_bafc .SetIfNotNil ("\u0052\u0044",_geba .RD );return _dabc ;};
|
||
|
||
// Duplicate creates a duplicate page based on the current one and returns it.
|
||
func (_fffed *PdfPage )Duplicate ()*PdfPage {var _fegfa PdfPage ;_fegfa =*_fffed ;_fegfa ._fgbbc =_fd .MakeDict ();_fegfa ._debfd =_fd .MakeIndirectObject (_fegfa ._fgbbc );return &_fegfa ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eca *PdfAnnotationProjection )ToPdfObject ()_fd .PdfObject {_eca .PdfAnnotation .ToPdfObject ();_dcdf :=_eca ._defg ;_cggd :=_dcdf .PdfObject .(*_fd .PdfObjectDictionary );_eca .PdfAnnotationMarkup .appendToPdfDictionary (_cggd );return _dcdf ;};type fontCommon struct{_egfg string ;_ccea string ;_gaebg string ;_ddaf _fd .PdfObject ;_facge *_agg .CMap ;_ggbg *PdfFontDescriptor ;_edcb int64 ;};
|
||
|
||
// SetDate sets the `M` field of the signature.
|
||
func (_dbcf *PdfSignature )SetDate (date _b .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";};_dbcf .M =_fd .MakeString (date .Format (format ));};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components.
|
||
func (_cgd *PdfColorspaceDeviceN )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=_cgd .GetNumComponents (){return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cbbga ,_aaece :=_cgd .TintTransform .Evaluate (vals );if _aaece !=nil {return nil ,_aaece ;};_aece ,_aaece :=_cgd .AlternateSpace .ColorFromFloats (_cbbga );if _aaece !=nil {return nil ,_aaece ;};return _aece ,nil ;};
|
||
|
||
// String implements interface PdfObject.
|
||
func (_gba *PdfAction )String ()string {_gdd ,_ad :=_gba .ToPdfObject ().(*_fd .PdfIndirectObject );if _ad {return _d .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_gba ._db ,_gdd .PdfObject .String ());};return "";};func (_ffff *pdfFontSimple )updateStandard14Font (){_gage ,_cbfaa :=_ffff .Encoder ().(_gf .SimpleEncoder );if !_cbfaa {_fca .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",_ffff .Encoder (),_ffff );return ;};_dgcd :=_gage .Charcodes ();_ffff ._cfcg =make (map[_gf .CharCode ]float64 ,len (_dgcd ));for _ ,_ecaee :=range _dgcd {_aabf ,_ :=_gage .CharcodeToRune (_ecaee );_ffff ._cfcg [_ecaee ]=_ffff ._gdeba [_aabf ].Wx ;};};
|
||
|
||
// NewPdfColorCalRGB returns a new CalRBG color.
|
||
func NewPdfColorCalRGB (a ,b ,c float64 )*PdfColorCalRGB {_daaea :=PdfColorCalRGB {a ,b ,c };return &_daaea ;};
|
||
|
||
// PdfActionTrans represents a trans action.
|
||
type PdfActionTrans struct{*PdfAction ;Trans _fd .PdfObject ;};
|
||
|
||
// NewOutlineItem returns a new outline item instance.
|
||
func NewOutlineItem (title string ,dest OutlineDest )*OutlineItem {return &OutlineItem {Title :title ,Dest :dest };};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a grayscale device.
|
||
func (_fceg *PdfColorspaceDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// GetContentStreamWithEncoder returns the pattern cell's content stream and its encoder
|
||
func (_bgfc *PdfTilingPattern )GetContentStreamWithEncoder ()([]byte ,_fd .StreamEncoder ,error ){_aagf ,_feabbc :=_bgfc ._bfcg .(*_fd .PdfObjectStream );if !_feabbc {_fca .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",_bgfc ._bfcg );return nil ,nil ,_fd .ErrTypeError ;};_gbdfd ,_egfff :=_fd .DecodeStream (_aagf );if _egfff !=nil {_fca .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",_egfff );return nil ,nil ,_egfff ;};_gfgac ,_egfff :=_fd .NewEncoderFromStream (_aagf );if _egfff !=nil {_fca .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",_egfff );return nil ,nil ,_egfff ;};return _gbdfd ,_gfgac ,nil ;};
|
||
|
||
// Y returns the value of the yellow component of the color.
|
||
func (_dcgg *PdfColorDeviceCMYK )Y ()float64 {return float64 (_dcgg [2])};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_eeee *PdfColorspaceCalRGB )ToPdfObject ()_fd .PdfObject {_cafec :=&_fd .PdfObjectArray {};_cafec .Append (_fd .MakeName ("\u0043\u0061\u006c\u0052\u0047\u0042"));_dfgb :=_fd .MakeDict ();if _eeee .WhitePoint !=nil {_geed :=_fd .MakeArray (_fd .MakeFloat (_eeee .WhitePoint [0]),_fd .MakeFloat (_eeee .WhitePoint [1]),_fd .MakeFloat (_eeee .WhitePoint [2]));_dfgb .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_geed );}else {_fca .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 _eeee .BlackPoint !=nil {_face :=_fd .MakeArray (_fd .MakeFloat (_eeee .BlackPoint [0]),_fd .MakeFloat (_eeee .BlackPoint [1]),_fd .MakeFloat (_eeee .BlackPoint [2]));_dfgb .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_face );};if _eeee .Gamma !=nil {_feeg :=_fd .MakeArray (_fd .MakeFloat (_eeee .Gamma [0]),_fd .MakeFloat (_eeee .Gamma [1]),_fd .MakeFloat (_eeee .Gamma [2]));_dfgb .Set ("\u0047\u0061\u006dm\u0061",_feeg );};if _eeee .Matrix !=nil {_dfbb :=_fd .MakeArray (_fd .MakeFloat (_eeee .Matrix [0]),_fd .MakeFloat (_eeee .Matrix [1]),_fd .MakeFloat (_eeee .Matrix [2]),_fd .MakeFloat (_eeee .Matrix [3]),_fd .MakeFloat (_eeee .Matrix [4]),_fd .MakeFloat (_eeee .Matrix [5]),_fd .MakeFloat (_eeee .Matrix [6]),_fd .MakeFloat (_eeee .Matrix [7]),_fd .MakeFloat (_eeee .Matrix [8]));_dfgb .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_dfbb );};_cafec .Append (_dfgb );if _eeee ._eaff !=nil {_eeee ._eaff .PdfObject =_cafec ;return _eeee ._eaff ;};return _cafec ;};func (_edcgc *PdfWriter )hasObject (_dacge _fd .PdfObject )bool {_ ,_abedg :=_edcgc ._fgdfc [_dacge ];return _abedg ;};
|
||
|
||
// NewPdfPage returns a new PDF page.
|
||
func NewPdfPage ()*PdfPage {_dddga :=PdfPage {};_dddga ._fgbbc =_fd .MakeDict ();_dddga .Resources =NewPdfPageResources ();_adcdd :=_fd .PdfIndirectObject {};_adcdd .PdfObject =_dddga ._fgbbc ;_dddga ._debfd =&_adcdd ;return &_dddga ;};
|
||
|
||
// NewPdfOutline returns an initialized PdfOutline.
|
||
func NewPdfOutline ()*PdfOutline {_geaad :=&PdfOutline {_addc :_fd .MakeIndirectObject (_fd .MakeDict ())};_geaad ._ccggf =_geaad ;return _geaad ;};
|
||
|
||
// PdfAnnotationProjection represents Projection annotations.
|
||
type PdfAnnotationProjection struct{*PdfAnnotation ;*PdfAnnotationMarkup ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the pattern.
|
||
func (_cgef *PdfPattern )ToPdfObject ()_fd .PdfObject {_efgeg :=_cgef .getDict ();_efgeg .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_efgeg .Set ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065",_fd .MakeInteger (_cgef .PatternType ));return _cgef ._bfcg ;};func (_fcebe *PdfField )inherit (_cdge func (*PdfField )bool )(bool ,error ){_begbd :=map[*PdfField ]bool {};_gfead :=false ;_dcde :=_fcebe ;for _dcde !=nil {if _ ,_ebbg :=_begbd [_dcde ];_ebbg {return false ,_fce .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};_ebbcb :=_cdge (_dcde );if _ebbcb {_gfead =true ;break ;};_begbd [_dcde ]=true ;_dcde =_dcde .Parent ;};return _gfead ,nil ;};func (_bgc *PdfReader )newPdfAnnotationMarkupFromDict (_abga *_fd .PdfObjectDictionary )(*PdfAnnotationMarkup ,error ){_bed :=&PdfAnnotationMarkup {};if _ebcd :=_abga .Get ("\u0054");_ebcd !=nil {_bed .T =_ebcd ;};if _gff :=_abga .Get ("\u0050\u006f\u0070u\u0070");_gff !=nil {_beed ,_afca :=_gff .(*_fd .PdfIndirectObject );if !_afca {if _ ,_dce :=_gff .(*_fd .PdfObjectNull );!_dce {return nil ,_fce .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 {_gfga ,_aef :=_bgc .newPdfAnnotationFromIndirectObject (_beed );if _aef !=nil {return nil ,_aef ;};if _gfga !=nil {_ggef ,_dgfc :=_gfga ._ccd .(*PdfAnnotationPopup );if !_dgfc {return nil ,_fce .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");};_bed .Popup =_ggef ;};};};if _ggca :=_abga .Get ("\u0043\u0041");_ggca !=nil {_bed .CA =_ggca ;};if _dcb :=_abga .Get ("\u0052\u0043");_dcb !=nil {_bed .RC =_dcb ;};if _bag :=_abga .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065");_bag !=nil {_bed .CreationDate =_bag ;};if _dfeg :=_abga .Get ("\u0049\u0052\u0054");_dfeg !=nil {_bed .IRT =_dfeg ;};if _cfag :=_abga .Get ("\u0053\u0075\u0062\u006a");_cfag !=nil {_bed .Subj =_cfag ;};if _fcg :=_abga .Get ("\u0052\u0054");_fcg !=nil {_bed .RT =_fcg ;};if _gag :=_abga .Get ("\u0049\u0054");_gag !=nil {_bed .IT =_gag ;};if _cgec :=_abga .Get ("\u0045\u0078\u0044\u0061\u0074\u0061");_cgec !=nil {_bed .ExData =_cgec ;};return _bed ,nil ;};
|
||
|
||
// PdfActionJavaScript represents a javaScript action.
|
||
type PdfActionJavaScript struct{*PdfAction ;JS _fd .PdfObject ;};func _bggd (_cfaf _fd .PdfObject )(*PdfColorspaceICCBased ,error ){_efdga :=&PdfColorspaceICCBased {};if _daba ,_ceeaa :=_cfaf .(*_fd .PdfIndirectObject );_ceeaa {_efdga ._acfb =_daba ;};_cfaf =_fd .TraceToDirectObject (_cfaf );_deba ,_efef :=_cfaf .(*_fd .PdfObjectArray );if !_efef {return nil ,_d .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _deba .Len ()!=2{return nil ,_d .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020c\u006f\u006c\u006fr\u0073p\u0061\u0063\u0065");};_cfaf =_fd .TraceToDirectObject (_deba .Get (0));_gfag ,_efef :=_cfaf .(*_fd .PdfObjectName );if !_efef {return nil ,_d .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 *_gfag !="\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"{return nil ,_d .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");};_cfaf =_deba .Get (1);_bac ,_efef :=_fd .GetStream (_cfaf );if !_efef {_fca .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",_cfaf );return nil ,_d .Errorf ("\u0049\u0043\u0043Ba\u0073\u0065\u0064\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_ebafc :=_bac .PdfObjectDictionary ;_aedg ,_efef :=_ebafc .Get ("\u004e").(*_fd .PdfObjectInteger );if !_efef {return nil ,_d .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 *_aedg !=1&&*_aedg !=3&&*_aedg !=4{return nil ,_d .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");};_efdga .N =int (*_aedg );if _bcdde :=_ebafc .Get ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e");_bcdde !=nil {_fegd ,_aagd :=NewPdfColorspaceFromPdfObject (_bcdde );if _aagd !=nil {return nil ,_aagd ;};_efdga .Alternate =_fegd ;};if _aabe :=_ebafc .Get ("\u0052\u0061\u006eg\u0065");_aabe !=nil {_aabe =_fd .TraceToDirectObject (_aabe );_ccdc ,_afgg :=_aabe .(*_fd .PdfObjectArray );if !_afgg {return nil ,_d .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 _ccdc .Len ()!=2*_efdga .N {return nil ,_d .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");};_befb ,_bdbd :=_ccdc .GetAsFloat64Slice ();if _bdbd !=nil {return nil ,_bdbd ;};_efdga .Range =_befb ;}else {_efdga .Range =make ([]float64 ,2*_efdga .N );for _cgab :=0;_cgab < _efdga .N ;_cgab ++{_efdga .Range [2*_cgab ]=0.0;_efdga .Range [2*_cgab +1]=1.0;};};if _fgde :=_ebafc .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_fgde !=nil {_dabcg ,_agac :=_fgde .(*_fd .PdfObjectStream );if !_agac {return nil ,_d .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");};_efdga .Metadata =_dabcg ;};_egab ,_dafbb :=_fd .DecodeStream (_bac );if _dafbb !=nil {return nil ,_dafbb ;};_efdga .Data =_egab ;_efdga ._beab =_bac ;return _efdga ,nil ;};
|
||
|
||
// IsShading specifies if the pattern is a shading pattern.
|
||
func (_bddeb *PdfPattern )IsShading ()bool {return _bddeb .PatternType ==2};
|
||
|
||
// GetPageAsIndirectObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_acfe *PdfPage )GetPageAsIndirectObject ()*_fd .PdfIndirectObject {return _acfe ._debfd };
|
||
|
||
// NewPdfAnnotationProjection returns a new projection annotation.
|
||
func NewPdfAnnotationProjection ()*PdfAnnotationProjection {_dbf :=NewPdfAnnotation ();_bfdb :=&PdfAnnotationProjection {};_bfdb .PdfAnnotation =_dbf ;_bfdb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dbf .SetContext (_bfdb );return _bfdb ;};
|
||
|
||
// ImageToRGB converts ICCBased colorspace image to RGB and returns the result.
|
||
func (_aeab *PdfColorspaceICCBased )ImageToRGB (img Image )(Image ,error ){if _aeab .Alternate ==nil {_fca .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 _aeab .N ==1{_fca .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");_afag :=NewPdfColorspaceDeviceGray ();return _afag .ImageToRGB (img );}else if _aeab .N ==3{_fca .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 _aeab .N ==4{_fca .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");_cebg :=NewPdfColorspaceDeviceCMYK ();return _cebg .ImageToRGB (img );}else {return img ,_fce .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");};};_fca .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",_aeab );_ccfg ,_cgc :=_aeab .Alternate .ImageToRGB (img );_fca .Log .Trace ("I\u0043C\u0020\u0049\u006e\u0070\u0075\u0074\u0020\u0069m\u0061\u0067\u0065\u003a %\u002b\u0076",img );_fca .Log .Trace ("I\u0043\u0043\u0020\u004fut\u0070u\u0074\u0020\u0069\u006d\u0061g\u0065\u003a\u0020\u0025\u002b\u0076",_ccfg );return _ccfg ,_cgc ;};func (_gda *PdfReader )newPdfActionSoundFromDict (_feff *_fd .PdfObjectDictionary )(*PdfActionSound ,error ){return &PdfActionSound {Sound :_feff .Get ("\u0053\u006f\u0075n\u0064"),Volume :_feff .Get ("\u0056\u006f\u006c\u0075\u006d\u0065"),Synchronous :_feff .Get ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073"),Repeat :_feff .Get ("\u0052\u0065\u0070\u0065\u0061\u0074"),Mix :_feff .Get ("\u004d\u0069\u0078")},nil ;};
|
||
|
||
// NewPdfActionGoTo returns a new "go to" action.
|
||
func NewPdfActionGoTo ()*PdfActionGoTo {_df :=NewPdfAction ();_bc :=&PdfActionGoTo {};_bc .PdfAction =_df ;_df .SetContext (_bc );return _bc ;};func (_afcfc *PdfReader )newPdfSignatureFromIndirect (_debaf *_fd .PdfIndirectObject )(*PdfSignature ,error ){_ccda ,_dabe :=_debaf .PdfObject .(*_fd .PdfObjectDictionary );if !_dabe {_fca .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 _agfce ,_dceeb :=_afcfc ._gggcg .GetModelFromPrimitive (_debaf ).(*PdfSignature );_dceeb {return _agfce ,nil ;};_aacdf :=&PdfSignature {};_aacdf ._bcbba =_debaf ;_aacdf .Type ,_ =_fd .GetName (_ccda .Get ("\u0054\u0079\u0070\u0065"));_aacdf .Filter ,_dabe =_fd .GetName (_ccda .Get ("\u0046\u0069\u006c\u0074\u0065\u0072"));if !_dabe {_fca .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 ;};_aacdf .SubFilter ,_ =_fd .GetName (_ccda .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r"));_aacdf .Contents ,_dabe =_fd .GetString (_ccda .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073"));if !_dabe {_fca .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 ;};_aacdf .Cert =_ccda .Get ("\u0043\u0065\u0072\u0074");_aacdf .ByteRange ,_ =_fd .GetArray (_ccda .Get ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e"));_aacdf .Reference ,_ =_fd .GetArray (_ccda .Get ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e"));_aacdf .Changes ,_ =_fd .GetArray (_ccda .Get ("\u0043h\u0061\u006e\u0067\u0065\u0073"));_aacdf .Name ,_ =_fd .GetString (_ccda .Get ("\u004e\u0061\u006d\u0065"));_aacdf .M ,_ =_fd .GetString (_ccda .Get ("\u004d"));_aacdf .Location ,_ =_fd .GetString (_ccda .Get ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"));_aacdf .Reason ,_ =_fd .GetString (_ccda .Get ("\u0052\u0065\u0061\u0073\u006f\u006e"));_aacdf .ContactInfo ,_ =_fd .GetString (_ccda .Get ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f"));_aacdf .R ,_ =_fd .GetInt (_ccda .Get ("\u0052"));_aacdf .V ,_ =_fd .GetInt (_ccda .Get ("\u0056"));_aacdf .PropBuild ,_ =_fd .GetDict (_ccda .Get ("\u0050\u0072\u006f\u0070\u005f\u0042\u0075\u0069\u006c\u0064"));_aacdf .PropAuthTime ,_ =_fd .GetInt (_ccda .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0069\u006d\u0065"));_aacdf .PropAuthType ,_ =_fd .GetName (_ccda .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0079\u0070\u0065"));return _aacdf ,nil ;};
|
||
|
||
// 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 ;_bcbba *_fd .PdfIndirectObject ;
|
||
|
||
// Type: Sig/DocTimeStamp
|
||
Type *_fd .PdfObjectName ;Filter *_fd .PdfObjectName ;SubFilter *_fd .PdfObjectName ;Contents *_fd .PdfObjectString ;Cert _fd .PdfObject ;ByteRange *_fd .PdfObjectArray ;Reference *_fd .PdfObjectArray ;Changes *_fd .PdfObjectArray ;Name *_fd .PdfObjectString ;M *_fd .PdfObjectString ;Location *_fd .PdfObjectString ;Reason *_fd .PdfObjectString ;ContactInfo *_fd .PdfObjectString ;R *_fd .PdfObjectInteger ;V *_fd .PdfObjectInteger ;PropBuild *_fd .PdfObjectDictionary ;PropAuthTime *_fd .PdfObjectInteger ;PropAuthType *_fd .PdfObjectName ;};
|
||
|
||
// SetXObjectFormByName adds the provided XObjectForm to the page resources.
|
||
// The added XObjectForm is identified by the specified name.
|
||
func (_dffg *PdfPageResources )SetXObjectFormByName (keyName _fd .PdfObjectName ,xform *XObjectForm )error {_adbgf :=xform .ToPdfObject ().(*_fd .PdfObjectStream );_bbba :=_dffg .SetXObjectByName (keyName ,_adbgf );return _bbba ;};func (_bgfed *PdfReader )loadStructure ()error {if _bgfed ._egbge .GetCrypter ()!=nil &&!_bgfed ._egbge .IsAuthenticated (){return _d .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");};_cfaab :=_bgfed ._egbge .GetTrailer ();if _cfaab ==nil {return _d .Errorf ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_bggee ,_dcdff :=_cfaab .Get ("\u0052\u006f\u006f\u0074").(*_fd .PdfObjectReference );if !_dcdff {return _d .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",_cfaab );};_ccbcd ,_cgefb :=_bgfed ._egbge .LookupByReference (*_bggee );if _cgefb !=nil {_fca .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",_cgefb );return _cgefb ;};_fcfd ,_dcdff :=_ccbcd .(*_fd .PdfIndirectObject );if !_dcdff {_fca .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",_ccbcd ,*_cfaab );return _fce .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_cfcf ,_dcdff :=(*_fcfd ).PdfObject .(*_fd .PdfObjectDictionary );if !_dcdff {_fca .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",_fcfd .PdfObject );return _fce .New ("\u0069n\u0076a\u006c\u0069\u0064\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_fca .Log .Trace ("C\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_cfcf );_ffdgfd ,_dcdff :=_cfcf .Get ("\u0050\u0061\u0067e\u0073").(*_fd .PdfObjectReference );if !_dcdff {return _fce .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");};_ddff ,_cgefb :=_bgfed ._egbge .LookupByReference (*_ffdgfd );if _cgefb !=nil {_fca .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 _cgefb ;};_gecab ,_dcdff :=_ddff .(*_fd .PdfIndirectObject );if !_dcdff {_fca .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");_fca .Log .Debug ("\u006f\u0070\u003a\u0020\u0025\u0070",_gecab );return _fce .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_bdea ,_dcdff :=_gecab .PdfObject .(*_fd .PdfObjectDictionary );if !_dcdff {_fca .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",_gecab );return _fce .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_fgceb ,_dcdff :=_fd .GetInt (_bdea .Get ("\u0043\u006f\u0075n\u0074"));if !_dcdff {_fca .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 _fce .New ("\u0070\u0061\u0067\u0065s \u0063\u006f\u0075\u006e\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};if _ ,_dcdff =_fd .GetName (_bdea .Get ("\u0054\u0079\u0070\u0065"));!_dcdff {_fca .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");_bdea .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0050\u0061\u0067e\u0073"));};_bgfed ._edfdb =_bggee ;_bgfed ._bfcbd =_cfcf ;_bgfed ._abfb =_bdea ;_bgfed ._geda =_gecab ;_bgfed ._bbdb =int (*_fgceb );_bgfed ._faca =[]*_fd .PdfIndirectObject {};_cecgf :=map[_fd .PdfObject ]struct{}{};_cgefb =_bgfed .buildPageList (_gecab ,nil ,_cecgf );if _cgefb !=nil {return _cgefb ;};_fca .Log .Trace ("\u002d\u002d\u002d");_fca .Log .Trace ("\u0054\u004f\u0043");_fca .Log .Trace ("\u0050\u0061\u0067e\u0073");_fca .Log .Trace ("\u0025\u0064\u003a\u0020\u0025\u0073",len (_bgfed ._faca ),_bgfed ._faca );_bgfed ._fbdb ,_cgefb =_bgfed .loadOutlines ();if _cgefb !=nil {_fca .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",_cgefb );return _cgefb ;};_bgfed .AcroForm ,_cgefb =_bgfed .loadForms ();if _cgefb !=nil {return _cgefb ;};return nil ;};func (_cafc *PdfReader )newPdfAnnotationPolygonFromDict (_gfegd *_fd .PdfObjectDictionary )(*PdfAnnotationPolygon ,error ){_fdc :=PdfAnnotationPolygon {};_fbfee ,_gacb :=_cafc .newPdfAnnotationMarkupFromDict (_gfegd );if _gacb !=nil {return nil ,_gacb ;};_fdc .PdfAnnotationMarkup =_fbfee ;_fdc .Vertices =_gfegd .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_fdc .LE =_gfegd .Get ("\u004c\u0045");_fdc .BS =_gfegd .Get ("\u0042\u0053");_fdc .IC =_gfegd .Get ("\u0049\u0043");_fdc .BE =_gfegd .Get ("\u0042\u0045");_fdc .IT =_gfegd .Get ("\u0049\u0054");_fdc .Measure =_gfegd .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_fdc ,nil ;};
|
||
|
||
// IsColored specifies if the pattern is colored.
|
||
func (_eggcf *PdfTilingPattern )IsColored ()bool {if _eggcf .PaintType !=nil &&*_eggcf .PaintType ==1{return true ;};return false ;};func (_edaac *PdfWriter )addObject (_fbcce _fd .PdfObject )bool {_befgea :=_edaac .hasObject (_fbcce );if !_befgea {_efdf :=_fd .ResolveReferencesDeep (_fbcce ,_edaac ._dedba );if _efdf !=nil {_fca .Log .Debug ("E\u0052R\u004f\u0052\u003a\u0020\u0025\u0076\u0020\u002d \u0073\u006b\u0069\u0070pi\u006e\u0067",_efdf );};_edaac ._edeb =append (_edaac ._edeb ,_fbcce );_edaac ._fgdfc [_fbcce ]=struct{}{};return true ;};return false ;};
|
||
|
||
// NewPdfActionURI returns a new "Uri" action.
|
||
func NewPdfActionURI ()*PdfActionURI {_de :=NewPdfAction ();_ed :=&PdfActionURI {};_ed .PdfAction =_de ;_de .SetContext (_ed );return _ed ;};
|
||
|
||
// MergePageWith appends page content to source Pdf file page content.
|
||
func (_cffa *PdfAppender )MergePageWith (pageNum int ,page *PdfPage )error {_daad :=pageNum -1;var _gbf *PdfPage ;for _bgf ,_ggf :=range _cffa ._eafg {if _bgf ==_daad {_gbf =_ggf ;};};if _gbf ==nil {return _d .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 _gbf ._debfd !=nil &&_gbf ._debfd .GetParser ()==_cffa ._bfb ._egbge {_gbf =_gbf .Duplicate ();_cffa ._eafg [_daad ]=_gbf ;};page =page .Duplicate ();_cfadfb (page );_fcfe :=_affa (_gbf );_gbdb :=_affa (page );_gddgb :=make (map[_fd .PdfObjectName ]_fd .PdfObjectName );for _cfce :=range _gbdb {if _ ,_ebcdc :=_fcfe [_cfce ];_ebcdc {for _dbde :=1;true ;_dbde ++{_cbab :=_fd .PdfObjectName (string (_cfce )+_ca .Itoa (_dbde ));if _ ,_dfbga :=_fcfe [_cbab ];!_dfbga {_gddgb [_cfce ]=_cbab ;break ;};};};};_egac ,_gbed :=page .GetContentStreams ();if _gbed !=nil {return _gbed ;};_gbbg ,_gbed :=_gbf .GetContentStreams ();if _gbed !=nil {return _gbed ;};for _fafgd ,_feffc :=range _egac {for _faab ,_caeg :=range _gddgb {_feffc =_gc .Replace (_feffc ,"\u002f"+string (_faab ),"\u002f"+string (_caeg ),-1);};_egac [_fafgd ]=_feffc ;};_gbbg =append (_gbbg ,_egac ...);if _fge :=_gbf .SetContentStreams (_gbbg ,_fd .NewFlateEncoder ());_fge !=nil {return _fge ;};for _ ,_cfaad :=range page ._bfedf {_gbf ._bfedf =append (_gbf ._bfedf ,_cfaad );};if _gbf .Resources ==nil {_gbf .Resources =NewPdfPageResources ();};if page .Resources !=nil {_gbf .Resources .Font =_cffa .mergeResources (_gbf .Resources .Font ,page .Resources .Font ,_gddgb );_gbf .Resources .XObject =_cffa .mergeResources (_gbf .Resources .XObject ,page .Resources .XObject ,_gddgb );_gbf .Resources .Properties =_cffa .mergeResources (_gbf .Resources .Properties ,page .Resources .Properties ,_gddgb );if _gbf .Resources .ProcSet ==nil {_gbf .Resources .ProcSet =page .Resources .ProcSet ;};_gbf .Resources .Shading =_cffa .mergeResources (_gbf .Resources .Shading ,page .Resources .Shading ,_gddgb );_gbf .Resources .ExtGState =_cffa .mergeResources (_gbf .Resources .ExtGState ,page .Resources .ExtGState ,_gddgb );};_cafe ,_gbed :=_gbf .GetMediaBox ();if _gbed !=nil {return _gbed ;};_gad ,_gbed :=page .GetMediaBox ();if _gbed !=nil {return _gbed ;};var _eabe bool ;if _cafe .Llx > _gad .Llx {_cafe .Llx =_gad .Llx ;_eabe =true ;};if _cafe .Lly > _gad .Lly {_cafe .Lly =_gad .Lly ;_eabe =true ;};if _cafe .Urx < _gad .Urx {_cafe .Urx =_gad .Urx ;_eabe =true ;};if _cafe .Ury < _gad .Ury {_cafe .Ury =_gad .Ury ;_eabe =true ;};if _eabe {_gbf .MediaBox =_cafe ;};return nil ;};
|
||
|
||
// 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 _fd .StreamEncoder )(*XObjectImage ,error ){_bggaf :=NewXObjectImage ();return UpdateXObjectImageFromImage (_bggaf ,img ,cs ,encoder );};
|
||
|
||
// 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 (_eabdf *PdfFont )StringToCharcodeBytes (str string )([]byte ,int ){return _eabdf .RunesToCharcodeBytes ([]rune (str ));};func (_bcad *PdfReader )newPdfAnnotationStrikeOut (_dagc *_fd .PdfObjectDictionary )(*PdfAnnotationStrikeOut ,error ){_cebd :=PdfAnnotationStrikeOut {};_caea ,_ddab :=_bcad .newPdfAnnotationMarkupFromDict (_dagc );if _ddab !=nil {return nil ,_ddab ;};_cebd .PdfAnnotationMarkup =_caea ;_cebd .QuadPoints =_dagc .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_cebd ,nil ;};func _eafeb (_fdcad _fd .PdfObject )(*PdfFunctionType3 ,error ){_fadfg :=&PdfFunctionType3 {};var _edfe *_fd .PdfObjectDictionary ;if _bbaga ,_adbfg :=_fdcad .(*_fd .PdfIndirectObject );_adbfg {_acebd ,_acfbd :=_bbaga .PdfObject .(*_fd .PdfObjectDictionary );if !_acfbd {return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fadfg ._adbb =_bbaga ;_edfe =_acebd ;}else if _acbcb ,_gfef :=_fdcad .(*_fd .PdfObjectDictionary );_gfef {_edfe =_acbcb ;}else {return nil ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gdbd ,_fdbcf :=_fd .TraceToDirectObject (_edfe .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_fd .PdfObjectArray );if !_fdbcf {_fca .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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 _gdbd .Len ()!=2{_fca .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fce .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_gbgab ,_gcedg :=_gdbd .ToFloat64Array ();if _gcedg !=nil {return nil ,_gcedg ;};_fadfg .Domain =_gbgab ;_gdbd ,_fdbcf =_fd .TraceToDirectObject (_edfe .Get ("\u0052\u0061\u006eg\u0065")).(*_fd .PdfObjectArray );if _fdbcf {if _gdbd .Len ()< 0||_gdbd .Len ()%2!=0{return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_eacce ,_afge :=_gdbd .ToFloat64Array ();if _afge !=nil {return nil ,_afge ;};_fadfg .Range =_eacce ;};_gdbd ,_fdbcf =_fd .TraceToDirectObject (_edfe .Get ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es")).(*_fd .PdfObjectArray );if !_fdbcf {_fca .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 ,_fce .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");};_fadfg .Functions =[]PdfFunction {};for _ ,_cfed :=range _gdbd .Elements (){_cbcf ,_bcegc :=_fagc (_cfed );if _bcegc !=nil {return nil ,_bcegc ;};_fadfg .Functions =append (_fadfg .Functions ,_cbcf );};_gdbd ,_fdbcf =_fd .TraceToDirectObject (_edfe .Get ("\u0042\u006f\u0075\u006e\u0064\u0073")).(*_fd .PdfObjectArray );if !_fdbcf {_fca .Log .Error ("B\u006fu\u006e\u0064\u0073\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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");};_bbfdc ,_gcedg :=_gdbd .ToFloat64Array ();if _gcedg !=nil {return nil ,_gcedg ;};_fadfg .Bounds =_bbfdc ;if len (_fadfg .Bounds )!=len (_fadfg .Functions )-1{_fca .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 (_fadfg .Bounds ),len (_fadfg .Functions ));return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdbd ,_fdbcf =_fd .TraceToDirectObject (_edfe .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_fd .PdfObjectArray );if !_fdbcf {_fca .Log .Error ("E\u006ec\u006f\u0064\u0065\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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");};_dcac ,_gcedg :=_gdbd .ToFloat64Array ();if _gcedg !=nil {return nil ,_gcedg ;};_fadfg .Encode =_dcac ;if len (_fadfg .Encode )!=2*len (_fadfg .Functions ){_fca .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 (_fadfg .Encode ),len (_fadfg .Functions ));return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return _fadfg ,nil ;};func (_agdaa Image )getBase ()_gd .ImageBase {return _gd .NewImageBase (int (_agdaa .Width ),int (_agdaa .Height ),int (_agdaa .BitsPerComponent ),_agdaa .ColorComponents ,_agdaa .Data ,_agdaa ._cded ,_agdaa ._dfec );};
|
||
|
||
// Register registers (caches) a model to primitive object relationship.
|
||
func (_efgga *modelManager )Register (primitive _fd .PdfObject ,model PdfModel ){_efgga ._ecca [model ]=primitive ;_efgga ._gfbaa [primitive ]=model ;};func (_eec *PdfReader )newPdfActionRenditionFromDict (_dff *_fd .PdfObjectDictionary )(*PdfActionRendition ,error ){return &PdfActionRendition {R :_dff .Get ("\u0052"),AN :_dff .Get ("\u0041\u004e"),OP :_dff .Get ("\u004f\u0050"),JS :_dff .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// 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 ,_gf .SimpleEncoder ,error ){_dcfe ,_aebec :=_gaag (basefont );if _aebec !=nil {return nil ,nil ,_aebec ;};_ebfed ,_gaebc :=_dcfe .Encoder ().(_gf .SimpleEncoder );if !_gaebc {return nil ,nil ,_d .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",_dcfe .Encoder ());};_bfebf :=make (map[rune ]_gf .GlyphName );for _cfefa :=range alphabet {if _ ,_bgde :=_ebfed .RuneToCharcode (_cfefa );!_bgde {_ ,_gabg :=_dcfe ._gdeba [_cfefa ];if !_gabg {_fca .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",_cfefa ,_cfefa );continue ;};_fgbcd ,_gabg :=_gf .RuneToGlyph (_cfefa );if !_gabg {_fca .Log .Debug ("\u006eo\u0020\u0067\u006c\u0079\u0070\u0068\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u0020\u0025\u0023\u0078\u003d\u0025\u0071",_cfefa ,_cfefa );continue ;};if len (_bfebf )>=255{return nil ,nil ,_fce .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");};_bfebf [_cfefa ]=_fgbcd ;};};var (_abfca []_gf .CharCode ;_agab []_gf .CharCode ;);for _eaefd :=_gf .CharCode (1);_eaefd <=0xff;_eaefd ++{_gbfd ,_gbbba :=_ebfed .CharcodeToRune (_eaefd );if !_gbbba {_abfca =append (_abfca ,_eaefd );continue ;};if _ ,_gbbba =alphabet [_gbfd ];!_gbbba {_agab =append (_agab ,_eaefd );};};_fdaag :=append (_abfca ,_agab ...);if len (_fdaag )< len (_bfebf ){return nil ,nil ,_d .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 (_bfebf ),len (_fdaag ));};_bfba :=make ([]rune ,0,len (_bfebf ));for _eacbf :=range _bfebf {_bfba =append (_bfba ,_eacbf );};_fb .Slice (_bfba ,func (_bdee ,_eccfb int )bool {return _bfba [_bdee ]< _bfba [_eccfb ]});_defeg :=make (map[_gf .CharCode ]_gf .GlyphName ,len (_bfba ));for _ ,_eaeeb :=range _bfba {_aabbf :=_fdaag [0];_fdaag =_fdaag [1:];_defeg [_aabbf ]=_bfebf [_eaeeb ];};_ebfed =_gf .ApplyDifferences (_ebfed ,_defeg );_dcfe .SetEncoder (_ebfed );return &PdfFont {_bbaa :&_dcfe },_ebfed ,nil ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceGray colorspace.
|
||
func (_edde *PdfColorspaceDeviceGray )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// PdfShadingType2 is an Axial shading.
|
||
type PdfShadingType2 struct{*PdfShading ;Coords *_fd .PdfObjectArray ;Domain *_fd .PdfObjectArray ;Function []PdfFunction ;Extend *_fd .PdfObjectArray ;};
|
||
|
||
// ColorToRGB converts a DeviceN color to an RGB color.
|
||
func (_bfbee *PdfColorspaceDeviceN )ColorToRGB (color PdfColor )(PdfColor ,error ){if _bfbee .AlternateSpace ==nil {return nil ,_fce .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 _bfbee .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_cdcg *PdfColorLab )B ()float64 {return float64 (_cdcg [2])};
|
||
|
||
// PdfAnnotationWidget represents Widget annotations.
|
||
// Note: Widget annotations are used to display form fields.
|
||
// (Section 12.5.6.19).
|
||
type PdfAnnotationWidget struct{*PdfAnnotation ;H _fd .PdfObject ;MK _fd .PdfObject ;A _fd .PdfObject ;AA _fd .PdfObject ;BS _fd .PdfObject ;Parent _fd .PdfObject ;_eaeb *PdfField ;_bcc bool ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_ggdfg *PdfShadingType4 )ToPdfObject ()_fd .PdfObject {_ggdfg .PdfShading .ToPdfObject ();_faafbc ,_dafa :=_ggdfg .getShadingDict ();if _dafa !=nil {_fca .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 _ggdfg .BitsPerCoordinate !=nil {_faafbc .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_ggdfg .BitsPerCoordinate );};if _ggdfg .BitsPerComponent !=nil {_faafbc .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ggdfg .BitsPerComponent );};if _ggdfg .BitsPerFlag !=nil {_faafbc .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_ggdfg .BitsPerFlag );};if _ggdfg .Decode !=nil {_faafbc .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_ggdfg .Decode );};if _ggdfg .Function !=nil {if len (_ggdfg .Function )==1{_faafbc .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ggdfg .Function [0].ToPdfObject ());}else {_fbegc :=_fd .MakeArray ();for _ ,_cffed :=range _ggdfg .Function {_fbegc .Append (_cffed .ToPdfObject ());};_faafbc .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fbegc );};};return _ggdfg ._bcgcg ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for CalGray).
|
||
func (_gce *PdfColorCalGray )GetNumComponents ()int {return 1};func _gccce ()string {return _ggeee };func _agdfe (_afbc _fd .PdfObject )(string ,error ){_afbc =_fd .TraceToDirectObject (_afbc );switch _fdcf :=_afbc .(type ){case *_fd .PdfObjectString :return _fdcf .Str (),nil ;case *_fd .PdfObjectStream :_dbfa ,_efggd :=_fd .DecodeStream (_fdcf );if _efggd !=nil {return "",_efggd ;};return string (_dbfa ),nil ;};return "",_d .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",_afbc );};
|
||
|
||
// NewPdfActionNamed returns a new "named" action.
|
||
func NewPdfActionNamed ()*PdfActionNamed {_ffd :=NewPdfAction ();_cc :=&PdfActionNamed {};_cc .PdfAction =_ffd ;_ffd .SetContext (_cc );return _cc ;};
|
||
|
||
// PdfAnnotationStrikeOut represents StrikeOut annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationStrikeOut struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _fd .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ac *PdfActionSound )ToPdfObject ()_fd .PdfObject {_ac .PdfAction .ToPdfObject ();_ga :=_ac ._fgb ;_ddce :=_ga .PdfObject .(*_fd .PdfObjectDictionary );_ddce .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeSound )));_ddce .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_ac .Sound );_ddce .SetIfNotNil ("\u0056\u006f\u006c\u0075\u006d\u0065",_ac .Volume );_ddce .SetIfNotNil ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073",_ac .Synchronous );_ddce .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_ac .Repeat );_ddce .SetIfNotNil ("\u004d\u0069\u0078",_ac .Mix );return _ga ;};
|
||
|
||
// SetContext set the sub annotation (context).
|
||
func (_ageb *PdfShading )SetContext (ctx PdfModel ){_ageb ._ebbcbe =ctx };
|
||
|
||
// Add appends an outline item as a child of the current outline item.
|
||
func (_ddfbfg *OutlineItem )Add (item *OutlineItem ){_ddfbfg .Entries =append (_ddfbfg .Entries ,item )};func _begbg (_ededc *_fd .PdfObjectDictionary )(*PdfFieldText ,error ){_cbaeg :=&PdfFieldText {};_cbaeg .DA ,_ =_fd .GetString (_ededc .Get ("\u0044\u0041"));_cbaeg .Q ,_ =_fd .GetInt (_ededc .Get ("\u0051"));_cbaeg .DS ,_ =_fd .GetString (_ededc .Get ("\u0044\u0053"));_cbaeg .RV =_ededc .Get ("\u0052\u0056");_cbaeg .MaxLen ,_ =_fd .GetInt (_ededc .Get ("\u004d\u0061\u0078\u004c\u0065\u006e"));return _cbaeg ,nil ;};
|
||
|
||
// PdfActionType represents an action type in PDF (section 12.6.4 p. 417).
|
||
type PdfActionType string ;
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_begaf *XObjectForm )ToPdfObject ()_fd .PdfObject {_ebde :=_begaf ._acdg ;_fgcfc :=_ebde .PdfObjectDictionary ;if _begaf .Filter !=nil {_fgcfc =_begaf .Filter .MakeStreamDict ();_ebde .PdfObjectDictionary =_fgcfc ;};_fgcfc .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_fgcfc .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0046\u006f\u0072\u006d"));_fgcfc .SetIfNotNil ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065",_begaf .FormType );_fgcfc .SetIfNotNil ("\u0042\u0042\u006f\u0078",_begaf .BBox );_fgcfc .SetIfNotNil ("\u004d\u0061\u0074\u0072\u0069\u0078",_begaf .Matrix );if _begaf .Resources !=nil {_fgcfc .SetIfNotNil ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_begaf .Resources .ToPdfObject ());};_fgcfc .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_begaf .Group );_fgcfc .SetIfNotNil ("\u0052\u0065\u0066",_begaf .Ref );_fgcfc .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061",_begaf .MetaData );_fgcfc .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_begaf .PieceInfo );_fgcfc .SetIfNotNil ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_begaf .LastModified );_fgcfc .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_begaf .StructParent );_fgcfc .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_begaf .StructParents );_fgcfc .SetIfNotNil ("\u004f\u0050\u0049",_begaf .OPI );_fgcfc .SetIfNotNil ("\u004f\u0043",_begaf .OC );_fgcfc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_begaf .Name );_fgcfc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_begaf .Stream ))));_ebde .Stream =_begaf .Stream ;return _ebde ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ebce *PdfActionHide )ToPdfObject ()_fd .PdfObject {_ebce .PdfAction .ToPdfObject ();_aadf :=_ebce ._fgb ;_deb :=_aadf .PdfObject .(*_fd .PdfObjectDictionary );_deb .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeHide )));_deb .SetIfNotNil ("\u0054",_ebce .T );_deb .SetIfNotNil ("\u0048",_ebce .H );return _aadf ;};
|
||
|
||
// PdfAnnotationUnderline represents Underline annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationUnderline struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _fd .PdfObject ;};func (_gbgcb *PdfWriter )seekByName (_adfcg _fd .PdfObject ,_ggba []string ,_ecaab string )([]_fd .PdfObject ,error ){_fca .Log .Trace ("\u0053\u0065\u0065\u006b\u0020\u0062\u0079\u0020\u006e\u0061\u006d\u0065.\u002e\u0020\u0025\u0054",_adfcg );var _geaage []_fd .PdfObject ;if _edgcd ,_gaefg :=_adfcg .(*_fd .PdfIndirectObject );_gaefg {return _gbgcb .seekByName (_edgcd .PdfObject ,_ggba ,_ecaab );};if _afacd ,_dcedd :=_adfcg .(*_fd .PdfObjectStream );_dcedd {return _gbgcb .seekByName (_afacd .PdfObjectDictionary ,_ggba ,_ecaab );};if _dbbec ,_cagag :=_adfcg .(*_fd .PdfObjectDictionary );_cagag {_fca .Log .Trace ("\u0044\u0069\u0063\u0074");for _ ,_bcedc :=range _dbbec .Keys (){_cece :=_dbbec .Get (_bcedc );if string (_bcedc )==_ecaab {_geaage =append (_geaage ,_cece );};for _ ,_gcbgf :=range _ggba {if string (_bcedc )==_gcbgf {_fca .Log .Trace ("\u0046\u006f\u006c\u006c\u006f\u0077\u0020\u006b\u0065\u0079\u0020\u0025\u0073",_gcbgf );_cfbde ,_cgefg :=_gbgcb .seekByName (_cece ,_ggba ,_ecaab );if _cgefg !=nil {return _geaage ,_cgefg ;};for _ ,_begbf :=range _cfbde {_geaage =append (_geaage ,_begbf );};break ;};};};return _geaage ,nil ;};return _geaage ,nil ;};
|
||
|
||
// NewPdfAnnotationLine returns a new line annotation.
|
||
func NewPdfAnnotationLine ()*PdfAnnotationLine {_agbf :=NewPdfAnnotation ();_acg :=&PdfAnnotationLine {};_acg .PdfAnnotation =_agbf ;_acg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_agbf .SetContext (_acg );return _acg ;};
|
||
|
||
// 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 (_bceea *PdfFont )CharcodesToStrings (charcodes []_gf .CharCode )([]string ,int ,int ){_fbdg :=_bceea .baseFields ();_aedd :=make ([]string ,0,len (charcodes ));_fddc :=0;for _ ,_gfgbcc :=range charcodes {if _fbdg ._facge !=nil {if _caff ,_gcbb :=_fbdg ._facge .CharcodeToUnicode (_agg .CharCode (_gfgbcc ));_gcbb {_aedd =append (_aedd ,_caff );continue ;};};_egc :=_bceea .Encoder ();if _egc !=nil {if _acbbg ,_ecgc :=_egc .CharcodeToRune (_gfgbcc );_ecgc {_aedd =append (_aedd ,string (_acbbg ));continue ;};};_fca .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",_gfgbcc ,charcodes ,_fbdg .isCIDFont (),_bceea ,_egc );_fddc ++;_aedd =append (_aedd ,_agg .MissingCodeString );};if _fddc !=0{_fca .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 ),_fddc ,_bceea );};return _aedd ,len (_aedd ),_fddc ;};func (_ceb *PdfReader )newPdfActionMovieFromDict (_fbb *_fd .PdfObjectDictionary )(*PdfActionMovie ,error ){return &PdfActionMovie {Annotation :_fbb .Get ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e"),T :_fbb .Get ("\u0054"),Operation :_fbb .Get ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn")},nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_fgac *PdfColorspaceICCBased )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _fgac .Alternate ==nil {if _fgac .N ==1{_dcgf :=NewPdfColorspaceDeviceGray ();return _dcgf .ColorFromFloats (vals );}else if _fgac .N ==3{_aacg :=NewPdfColorspaceDeviceRGB ();return _aacg .ColorFromFloats (vals );}else if _fgac .N ==4{_bdeg :=NewPdfColorspaceDeviceCMYK ();return _bdeg .ColorFromFloats (vals );}else {return nil ,_fce .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 _fgac .Alternate .ColorFromFloats (vals );};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_caaa pdfFontType0 )GetCharMetrics (code _gf .CharCode )(_aaf .CharMetrics ,bool ){if _caaa .DescendantFont ==nil {_fca .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",_caaa );return _aaf .CharMetrics {},false ;};return _caaa .DescendantFont .GetCharMetrics (code );};
|
||
|
||
// DecodeArray returns the range of color component values in CalGray colorspace.
|
||
func (_cbde *PdfColorspaceCalGray )DecodeArray ()[]float64 {return []float64 {0.0,1.0}};
|
||
|
||
// PdfAnnotation represents an annotation in PDF (section 12.5 p. 389).
|
||
type PdfAnnotation struct{_ccd PdfModel ;Rect _fd .PdfObject ;Contents _fd .PdfObject ;P _fd .PdfObject ;NM _fd .PdfObject ;M _fd .PdfObject ;F _fd .PdfObject ;AP _fd .PdfObject ;AS _fd .PdfObject ;Border _fd .PdfObject ;C _fd .PdfObject ;StructParent _fd .PdfObject ;OC _fd .PdfObject ;_defg *_fd .PdfIndirectObject ;};
|
||
|
||
// Flags returns the field flags for the field accounting for any inherited flags.
|
||
func (_caga *PdfField )Flags ()FieldFlag {var _bbeed FieldFlag ;_gged ,_aeggc :=_caga .inherit (func (_cggf *PdfField )bool {if _cggf .Ff !=nil {_bbeed =FieldFlag (*_caga .Ff );return true ;};return false ;});if _aeggc !=nil {_fca .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",_aeggc );};if !_gged {_fca .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 _bbeed ;};
|
||
|
||
// 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 ;
|
||
|
||
// NewPdfPageResources returns a new PdfPageResources object.
|
||
func NewPdfPageResources ()*PdfPageResources {_afcc :=&PdfPageResources {};_afcc ._adae =_fd .MakeDict ();return _afcc ;};func (_cdcea *PdfReader )lookupPageByObject (_ecdbe _fd .PdfObject )(*PdfPage ,error ){return nil ,_fce .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// Encrypt encrypts the output file with a specified user/owner password.
|
||
func (_eaggbb *PdfWriter )Encrypt (userPass ,ownerPass []byte ,options *EncryptOptions )error {_bebcc :=RC4_128bit ;if options !=nil {_bebcc =options .Algorithm ;};_fccfa :=_ce .PermOwner ;if options !=nil {_fccfa =options .Permissions ;};var _ecagg _af .Filter ;switch _bebcc {case RC4_128bit :_ecagg =_af .NewFilterV2 (16);case AES_128bit :_ecagg =_af .NewFilterAESV2 ();case AES_256bit :_ecagg =_af .NewFilterAESV3 ();default:return _d .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020a\u006cg\u006fr\u0069\u0074\u0068\u006d\u003a\u0020\u0025v",options .Algorithm );};_bfbcb ,_aeagc ,_cdage :=_fd .PdfCryptNewEncrypt (_ecagg ,userPass ,ownerPass ,_fccfa );if _cdage !=nil {return _cdage ;};_eaggbb ._cdba =_bfbcb ;if _aeagc .Major !=0{_eaggbb .SetVersion (_aeagc .Major ,_aeagc .Minor );};_eaggbb ._fabfg =_aeagc .Encrypt ;_eaggbb ._dbcae =_fd .MakeArray (_fd .MakeHexString (_aeagc .ID0 ),_fd .MakeHexString (_aeagc .ID1 ));_fbcgf :=_fd .MakeIndirectObject (_aeagc .Encrypt );_eaggbb ._bgfdd =_fbcgf ;_eaggbb .addObject (_fbcgf );return nil ;};
|
||
|
||
// 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 (_dcfd *PdfFont )RunesToCharcodeBytes (data []rune )([]byte ,int ){var _badge []_gf .TextEncoder ;if _gdebb :=_dcfd .baseFields ()._facge ;_gdebb !=nil {_badge =append (_badge ,_gf .NewCMapEncoder ("",nil ,_gdebb ));};if _ceee :=_dcfd .Encoder ();_ceee !=nil {_badge =append (_badge ,_ceee );};var _dfdbe _bg .Buffer ;var _defb int ;for _ ,_dabf :=range data {var _dddc bool ;for _ ,_cbbgc :=range _badge {if _gcgb :=_cbbgc .Encode (string (_dabf ));len (_gcgb )> 0{_dfdbe .Write (_gcgb );_dddc =true ;break ;};};if !_dddc {_fca .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",_dabf );_defb ++;};};if _defb !=0{_fca .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 ),_defb ,_dcfd ,_badge );};return _dfdbe .Bytes (),_defb ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_ecfe *PdfShadingType6 )ToPdfObject ()_fd .PdfObject {_ecfe .PdfShading .ToPdfObject ();_fcgeb ,_abfbe :=_ecfe .getShadingDict ();if _abfbe !=nil {_fca .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 _ecfe .BitsPerCoordinate !=nil {_fcgeb .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_ecfe .BitsPerCoordinate );};if _ecfe .BitsPerComponent !=nil {_fcgeb .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ecfe .BitsPerComponent );};if _ecfe .BitsPerFlag !=nil {_fcgeb .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_ecfe .BitsPerFlag );};if _ecfe .Decode !=nil {_fcgeb .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_ecfe .Decode );};if _ecfe .Function !=nil {if len (_ecfe .Function )==1{_fcgeb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ecfe .Function [0].ToPdfObject ());}else {_dcaa :=_fd .MakeArray ();for _ ,_fbedc :=range _ecfe .Function {_dcaa .Append (_fbedc .ToPdfObject ());};_fcgeb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dcaa );};};return _ecfe ._bcgcg ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_gdeab *PdfShadingType5 )ToPdfObject ()_fd .PdfObject {_gdeab .PdfShading .ToPdfObject ();_ddbba ,_bfcgg :=_gdeab .getShadingDict ();if _bfcgg !=nil {_fca .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 _gdeab .BitsPerCoordinate !=nil {_ddbba .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_gdeab .BitsPerCoordinate );};if _gdeab .BitsPerComponent !=nil {_ddbba .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_gdeab .BitsPerComponent );};if _gdeab .VerticesPerRow !=nil {_ddbba .Set ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077",_gdeab .VerticesPerRow );};if _gdeab .Decode !=nil {_ddbba .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_gdeab .Decode );};if _gdeab .Function !=nil {if len (_gdeab .Function )==1{_ddbba .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gdeab .Function [0].ToPdfObject ());}else {_dabga :=_fd .MakeArray ();for _ ,_efca :=range _gdeab .Function {_dabga .Append (_efca .ToPdfObject ());};_ddbba .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dabga );};};return _gdeab ._bcgcg ;};
|
||
|
||
// ToPdfOutline returns a low level PdfOutline object, based on the current
|
||
// instance.
|
||
func (_fcbdd *Outline )ToPdfOutline ()*PdfOutline {_dacfc :=NewPdfOutline ();var _agbca []*PdfOutlineItem ;var _gabef int64 ;var _acdf *PdfOutlineItem ;for _ ,_ccggg :=range _fcbdd .Entries {_ceadc ,_dacea :=_ccggg .ToPdfOutlineItem ();_ceadc .Parent =&_dacfc .PdfOutlineTreeNode ;if _acdf !=nil {_acdf .Next =&_ceadc .PdfOutlineTreeNode ;_ceadc .Prev =&_acdf .PdfOutlineTreeNode ;};_agbca =append (_agbca ,_ceadc );_gabef +=_dacea ;_acdf =_ceadc ;};_ecgd :=int64 (len (_agbca ));_gabef +=int64 (_ecgd );if _ecgd > 0{_dacfc .First =&_agbca [0].PdfOutlineTreeNode ;_dacfc .Last =&_agbca [_ecgd -1].PdfOutlineTreeNode ;_dacfc .Count =&_gabef ;};return _dacfc ;};func (_fdedc *PdfFunctionType0 )processSamples ()error {_befbe :=_ddf .ResampleBytes (_fdedc ._cdgce ,_fdedc .BitsPerSample );_fdedc ._cfcb =_befbe ;return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dcg *PdfAnnotationMovie )ToPdfObject ()_fd .PdfObject {_dcg .PdfAnnotation .ToPdfObject ();_gcce :=_dcg ._defg ;_cabf :=_gcce .PdfObject .(*_fd .PdfObjectDictionary );_cabf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u004d\u006f\u0076i\u0065"));_cabf .SetIfNotNil ("\u0054",_dcg .T );_cabf .SetIfNotNil ("\u004d\u006f\u0076i\u0065",_dcg .Movie );_cabf .SetIfNotNil ("\u0041",_dcg .A );return _gcce ;};func (_fgcgd *PdfColorspaceSpecialIndexed )String ()string {return "\u0049n\u0064\u0065\u0078\u0065\u0064";};
|
||
|
||
// SetShadingByName sets a shading resource specified by keyName.
|
||
func (_dbead *PdfPageResources )SetShadingByName (keyName _fd .PdfObjectName ,shadingObj _fd .PdfObject )error {if _dbead .Shading ==nil {_dbead .Shading =_fd .MakeDict ();};_bbbeb ,_beccd :=_dbead .Shading .(*_fd .PdfObjectDictionary );if !_beccd {return _fd .ErrTypeError ;};_bbbeb .Set (keyName ,shadingObj );return nil ;};func (_bddgf SignatureValidationResult )String ()string {var _eaeag _bg .Buffer ;_eaeag .WriteString (_d .Sprintf ("\u004ea\u006d\u0065\u003a\u0020\u0025\u0073\n",_bddgf .Name ));if _bddgf .Date ._bgggb > 0{_eaeag .WriteString (_d .Sprintf ("\u0044a\u0074\u0065\u003a\u0020\u0025\u0073\n",_bddgf .Date .ToGoTime ().String ()));}else {_eaeag .WriteString ("\u0044\u0061\u0074\u0065 n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_bddgf .Reason )> 0{_eaeag .WriteString (_d .Sprintf ("R\u0065\u0061\u0073\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_bddgf .Reason ));}else {_eaeag .WriteString ("N\u006f \u0072\u0065\u0061\u0073\u006f\u006e\u0020\u0073p\u0065\u0063\u0069\u0066ie\u0064\u000a");};if len (_bddgf .Location )> 0{_eaeag .WriteString (_d .Sprintf ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_bddgf .Location ));}else {_eaeag .WriteString ("\u004c\u006f\u0063at\u0069\u006f\u006e\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_bddgf .ContactInfo )> 0{_eaeag .WriteString (_d .Sprintf ("\u0043\u006f\u006e\u0074\u0061\u0063\u0074\u0020\u0049\u006e\u0066\u006f:\u0020\u0025\u0073\u000a",_bddgf .ContactInfo ));}else {_eaeag .WriteString ("C\u006f\u006e\u0074\u0061\u0063\u0074 \u0069\u006e\u0066\u006f\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063i\u0066i\u0065\u0064\u000a");};_eaeag .WriteString (_d .Sprintf ("F\u0069\u0065\u006c\u0064\u0073\u003a\u0020\u0025\u0064\u000a",len (_bddgf .Fields )));if _bddgf .IsSigned {_eaeag .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 {_eaeag .WriteString ("\u0053\u0069\u0067\u006eed\u003a\u0020\u004e\u006f\u0074\u0020\u0073\u0069\u0067\u006e\u0065\u0064\u000a");};if _bddgf .IsVerified {_eaeag .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 {_eaeag .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 _bddgf .IsTrusted {_eaeag .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 {_eaeag .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 !_bddgf .GeneralizedTime .IsZero (){_eaeag .WriteString (_d .Sprintf ("G\u0065n\u0065\u0072\u0061\u006c\u0069\u007a\u0065\u0064T\u0069\u006d\u0065\u003a %\u0073\u000a",_bddgf .GeneralizedTime .String ()));};return _eaeag .String ();};
|
||
|
||
// PdfAnnotationSquare represents Square annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationSquare struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _fd .PdfObject ;IC _fd .PdfObject ;BE _fd .PdfObject ;RD _fd .PdfObject ;};func (_faa *PdfReader )newPdfActionImportDataFromDict (_cge *_fd .PdfObjectDictionary )(*PdfActionImportData ,error ){_gcg ,_gfb :=_dgd (_cge .Get ("\u0046"));if _gfb !=nil {return nil ,_gfb ;};return &PdfActionImportData {F :_gcg },nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on input color components. The input PdfObjects should
|
||
// be numeric.
|
||
func (_eeca *PdfColorspaceDeviceN )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=_eeca .GetNumComponents (){return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bgaf ,_abbg :=_fd .GetNumbersAsFloat (objects );if _abbg !=nil {return nil ,_abbg ;};return _eeca .ColorFromFloats (_bgaf );};
|
||
|
||
// HasFontByName checks if has font resource by name.
|
||
func (_cdffed *PdfPage )HasFontByName (name _fd .PdfObjectName )bool {_baaff ,_fgcbe :=_cdffed .Resources .Font .(*_fd .PdfObjectDictionary );if !_fgcbe {return false ;};if _bgfe :=_baaff .Get (name );_bgfe !=nil {return true ;};return false ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_ggb *PdfAnnotation )GetContainingPdfObject ()_fd .PdfObject {return _ggb ._defg };
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline item.
|
||
func (_fgfbd *OutlineItem )ToPdfObject ()_fd .PdfObject {_eacd ,_ :=_fgfbd .ToPdfOutlineItem ();return _eacd .ToPdfObject ();};var _ pdfFont =(*pdfCIDFontType2 )(nil );
|
||
|
||
// GetContext returns the action context which contains the specific type-dependent context.
|
||
// The context represents the subaction.
|
||
func (_eg *PdfAction )GetContext ()PdfModel {if _eg ==nil {return nil ;};return _eg ._db ;};func _fdaeg (_bfbda _fd .PdfObject )(*fontFile ,error ){_fca .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",_bfbda );_bcbc :=&fontFile {};_bfbda =_fd .TraceToDirectObject (_bfbda );_dada ,_aggf :=_bfbda .(*_fd .PdfObjectStream );if !_aggf {_fca .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",_bfbda );return nil ,_fd .ErrTypeError ;};_dggd :=_dada .PdfObjectDictionary ;_bacc ,_faedb :=_fd .DecodeStream (_dada );if _faedb !=nil {return nil ,_faedb ;};_cecde ,_aggf :=_fd .GetNameVal (_dggd .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_aggf {_bcbc ._efbd =_cecde ;if _cecde =="\u0054\u0079\u0070\u0065\u0031\u0043"{_fca .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 ;};};_begbc ,_ :=_fd .GetIntVal (_dggd .Get ("\u004ce\u006e\u0067\u0074\u0068\u0031"));_cgce ,_ :=_fd .GetIntVal (_dggd .Get ("\u004ce\u006e\u0067\u0074\u0068\u0032"));if _begbc > len (_bacc ){_begbc =len (_bacc );};if _begbc +_cgce > len (_bacc ){_cgce =len (_bacc )-_begbc ;};_fefe :=_bacc [:_begbc ];var _gfdag []byte ;if _cgce > 0{_gfdag =_bacc [_begbc :_begbc +_cgce ];};if _begbc > 0&&_cgce > 0{_fdea :=_bcbc .loadFromSegments (_fefe ,_gfdag );if _fdea !=nil {return nil ,_fdea ;};};return _bcbc ,nil ;};func _ecfcf (_fdbaee *_fd .PdfObjectDictionary )(*PdfShadingType4 ,error ){_aebef :=PdfShadingType4 {};_aegad :=_fdbaee .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _aegad ==nil {_fca .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 ;};_cffec ,_abedd :=_aegad .(*_fd .PdfObjectInteger );if !_abedd {_fca .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",_aegad );return nil ,_fd .ErrTypeError ;};_aebef .BitsPerCoordinate =_cffec ;_aegad =_fdbaee .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _aegad ==nil {_fca .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 ;};_cffec ,_abedd =_aegad .(*_fd .PdfObjectInteger );if !_abedd {_fca .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",_aegad );return nil ,_fd .ErrTypeError ;};_aebef .BitsPerComponent =_cffec ;_aegad =_fdbaee .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _aegad ==nil {_fca .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 ;};_cffec ,_abedd =_aegad .(*_fd .PdfObjectInteger );if !_abedd {_fca .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",_aegad );return nil ,_fd .ErrTypeError ;};_aebef .BitsPerComponent =_cffec ;_aegad =_fdbaee .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _aegad ==nil {_fca .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 ;};_bcace ,_abedd :=_aegad .(*_fd .PdfObjectArray );if !_abedd {_fca .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",_aegad );return nil ,_fd .ErrTypeError ;};_aebef .Decode =_bcace ;_aegad =_fdbaee .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _aegad ==nil {_fca .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 ;};_aebef .Function =[]PdfFunction {};if _gccgg ,_gcec :=_aegad .(*_fd .PdfObjectArray );_gcec {for _ ,_bbgf :=range _gccgg .Elements (){_dgdgc ,_bbada :=_fagc (_bbgf );if _bbada !=nil {_fca .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",_bbada );return nil ,_bbada ;};_aebef .Function =append (_aebef .Function ,_dgdgc );};}else {_gecca ,_dfab :=_fagc (_aegad );if _dfab !=nil {_fca .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",_dfab );return nil ,_dfab ;};_aebef .Function =append (_aebef .Function ,_gecca );};return &_aebef ,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{_cacd PdfModel ;_fbef *_fd .PdfIndirectObject ;_fcadd *bool ;Parent *PdfField ;Annotations []*PdfAnnotationWidget ;Kids []*PdfField ;FT *_fd .PdfObjectName ;T *_fd .PdfObjectString ;TU *_fd .PdfObjectString ;TM *_fd .PdfObjectString ;Ff *_fd .PdfObjectInteger ;V _fd .PdfObject ;DV _fd .PdfObject ;AA _fd .PdfObject ;};
|
||
|
||
// Write writes the Appender output to io.Writer.
|
||
// It can only be called once and further invocations will result in an error.
|
||
func (_cbcg *PdfAppender )Write (w _fc .Writer )error {if _cbcg ._gfd {return _fce .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");};_defgb :=NewPdfWriter ();_cbec ,_bfegg :=_fd .GetDict (_defgb ._fgcc );if !_bfegg {return _fce .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");};_aedc ,_bfegg :=_cbec .Get ("\u004b\u0069\u0064\u0073").(*_fd .PdfObjectArray );if !_bfegg {return _fce .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");};_aceb ,_bfegg :=_cbec .Get ("\u0043\u006f\u0075n\u0074").(*_fd .PdfObjectInteger );if !_bfegg {return _fce .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");};_agba :=_cbcg ._bfb ._egbge ;_gfba :=_agba .GetTrailer ();if _gfba ==nil {return _fce .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_eeeb ,_bfegg :=_fd .GetIndirect (_gfba .Get ("\u0052\u006f\u006f\u0074"));if !_bfegg {return _fce .New ("c\u0061\u0074\u0061\u006c\u006f\u0067 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072 \u006e\u006f\u0074 \u0066o\u0075\u006e\u0064");};_edcc ,_bfegg :=_fd .GetDict (_eeeb );if !_bfegg {_fca .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",_eeeb ,*_gfba );return _fce .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};for _ ,_egdf :=range _edcc .Keys (){if _defgb ._agagg .Get (_egdf )==nil {_caae :=_edcc .Get (_egdf );_defgb ._agagg .Set (_egdf ,_caae );};};if _cbcg ._bbce !=nil {_defgb ._agagg .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_cbcg ._bbce .ToPdfObject ());_cbcg .updateObjectsDeep (_cbcg ._bbce .ToPdfObject (),nil );};_cbcg .addNewObject (_defgb ._fcacd );_cbcg .addNewObject (_defgb ._faaba );_dffc :=false ;if len (_cbcg ._bfb .PageList )!=len (_cbcg ._eafg ){_dffc =true ;}else {for _bebd :=range _cbcg ._bfb .PageList {switch {case _cbcg ._eafg [_bebd ]==_cbcg ._bfb .PageList [_bebd ]:case _cbcg ._eafg [_bebd ]==_cbcg .Reader .PageList [_bebd ]:default:_dffc =true ;};if _dffc {break ;};};};if _dffc {_cbcg .updateObjectsDeep (_defgb ._fgcc ,nil );}else {_cbcg ._ddgd [_defgb ._fgcc ]=struct{}{};};_defgb ._fgcc .ObjectNumber =_cbcg .Reader ._geda .ObjectNumber ;_cbcg ._daec [_defgb ._fgcc ]=_cbcg .Reader ._geda .ObjectNumber ;_cafdd :=[]_fd .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 _ ,_ffbg :=range _cbcg ._eafg {_fga :=_ffbg .ToPdfObject ();*_aceb =*_aceb +1;if _ecec ,_caggd :=_fga .(*_fd .PdfIndirectObject );_caggd &&_ecec .GetParser ()==_cbcg ._bfb ._egbge {_aedc .Append (&_ecec .PdfObjectReference );continue ;};if _cdae ,_fcac :=_fd .GetDict (_fga );_fcac {_dbdb ,_fbaa :=_cdae .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_fd .PdfIndirectObject );for _fbaa {_fca .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_dbdb );_gbda ,_gdag :=_dbdb .PdfObject .(*_fd .PdfObjectDictionary );if !_gdag {return _fce .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_aec :=range _cafdd {_fca .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_aec );if _cdae .Get (_aec )!=nil {_fca .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _ggcb :=_gbda .Get (_aec );_ggcb !=nil {_fca .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_aec );_cdae .Set (_aec ,_ggcb );};};_dbdb ,_fbaa =_gbda .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_fd .PdfIndirectObject );_fca .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_gbda .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_cdae .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_defgb ._fgcc );};_cbcg .updateObjectsDeep (_fga ,nil );_aedc .Append (_fga );};if _ ,_acec :=_cbcg ._ddbg .Seek (0,_fc .SeekStart );_acec !=nil {return _acec ;};_cfga :=make (map[SignatureHandler ]_fc .Writer );_gaae :=_fd .MakeArray ();for _ ,_aeef :=range _cbcg ._efe {if _bgaaf ,_abfc :=_fd .GetIndirect (_aeef );_abfc {if _agc ,_afff :=_bgaaf .PdfObject .(*pdfSignDictionary );_afff {_bdgdc :=*_agc ._bedac ;var _egbd error ;_cfga [_bdgdc ],_egbd =_bdgdc .NewDigest (_agc ._beded );if _egbd !=nil {return _egbd ;};_gaae .Append (_fd .MakeInteger (0xfffff),_fd .MakeInteger (0xfffff));};};};if _gaae .Len ()> 0{_gaae .Append (_fd .MakeInteger (0xfffff),_fd .MakeInteger (0xfffff));};for _ ,_begf :=range _cbcg ._efe {if _bgeb ,_dagg :=_fd .GetIndirect (_begf );_dagg {if _eaebba ,_ffa :=_bgeb .PdfObject .(*pdfSignDictionary );_ffa {_eaebba .Set ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_gaae );};};};_egbe :=len (_cfga )> 0;var _gbeg _fc .Reader =_cbcg ._ddbg ;if _egbe {_bfgf :=make ([]_fc .Writer ,0,len (_cfga ));for _ ,_gbae :=range _cfga {_bfgf =append (_bfgf ,_gbae );};_gbeg =_fc .TeeReader (_cbcg ._ddbg ,_fc .MultiWriter (_bfgf ...));};_ecgb ,_fegb :=_fc .Copy (w ,_gbeg );if _fegb !=nil {return _fegb ;};if len (_cbcg ._efe )==0{return nil ;};_defgb ._bddag =_ecgb ;_defgb .ObjNumOffset =_cbcg ._bfbb ;_defgb ._gfggd =true ;_defgb ._gdeae =_cbcg ._fdb ;_defgb ._cfad =_cbcg ._bceb ;_defgb ._dbdg =_cbcg ._gedb ;_defgb ._cecag =_cbcg ._bfb .PdfVersion ().Minor ;_defgb ._febae =_cbcg ._daec ;_beeac :=_cbcg ._fbgg .GetXrefType ();if _beeac !=nil {_ecgbg :=*_beeac ==_fd .XrefTypeObjectStream ;_defgb ._ccec =&_ecgbg ;};_defgb ._fgdfc =map[_fd .PdfObject ]struct{}{};_defgb ._edeb =[]_fd .PdfObject {};for _ ,_dfgf :=range _cbcg ._efe {if _ ,_bbbd :=_cbcg ._ddgd [_dfgf ];_bbbd {continue ;};_defgb .addObject (_dfgf );};_caabb :=w ;if _egbe {_caabb =_bg .NewBuffer (nil );};if _becc :=_defgb .Write (_caabb );_becc !=nil {return _becc ;};if _egbe {_fbcc :=_caabb .(*_bg .Buffer ).Bytes ();_dde :=_fd .MakeArray ();var _adfc []*pdfSignDictionary ;var _edcf int64 ;for _ ,_fbdd :=range _defgb ._edeb {if _eeb ,_cgb :=_fd .GetIndirect (_fbdd );_cgb {if _cgfeb ,_abb :=_eeb .PdfObject .(*pdfSignDictionary );_abb {_adfc =append (_adfc ,_cgfeb );_becf :=_cgfeb ._ecebb +int64 (_cgfeb ._aagdc );_dde .Append (_fd .MakeInteger (_edcf ),_fd .MakeInteger (_becf -_edcf ));_edcf =_cgfeb ._ecebb +int64 (_cgfeb ._cfdc );};};};_dde .Append (_fd .MakeInteger (_edcf ),_fd .MakeInteger (_ecgb +int64 (len (_fbcc ))-_edcf ));_feaf :=[]byte (_dde .WriteString ());for _ ,_gebd :=range _adfc {_fgcgf :=int (_gebd ._ecebb -_ecgb );for _gdbf :=_gebd ._gdcfb ;_gdbf < _gebd ._eaece ;_gdbf ++{_fbcc [_fgcgf +_gdbf ]=' ';};_ebfa :=_fbcc [_fgcgf +_gebd ._gdcfb :_fgcgf +_gebd ._eaece ];copy (_ebfa ,_feaf );};var _feab int ;for _ ,_affff :=range _adfc {_bcae :=int (_affff ._ecebb -_ecgb );_eebe :=_fbcc [_feab :_bcae +_affff ._aagdc ];_ddae :=*_affff ._bedac ;_cfga [_ddae ].Write (_eebe );_feab =_bcae +_affff ._cfdc ;};for _ ,_eccf :=range _adfc {_dfade :=_fbcc [_feab :];_bggf :=*_eccf ._bedac ;_cfga [_bggf ].Write (_dfade );};for _ ,_adbe :=range _adfc {_cfee :=int (_adbe ._ecebb -_ecgb );_feef :=*_adbe ._bedac ;_cbdg :=_cfga [_feef ];if _afgb :=_feef .Sign (_adbe ._beded ,_cbdg );_afgb !=nil {return _afgb ;};_adbe ._beded .ByteRange =_dde ;_eggc :=[]byte (_adbe ._beded .Contents .WriteString ());for _ccga :=_adbe ._gdcfb ;_ccga < _adbe ._eaece ;_ccga ++{_fbcc [_cfee +_ccga ]=' ';};for _efad :=_adbe ._aagdc ;_efad < _adbe ._cfdc ;_efad ++{_fbcc [_cfee +_efad ]=' ';};_egf :=_fbcc [_cfee +_adbe ._gdcfb :_cfee +_adbe ._eaece ];copy (_egf ,_feaf );_egf =_fbcc [_cfee +_adbe ._aagdc :_cfee +_adbe ._cfdc ];copy (_egf ,_eggc );};_gafbg :=_bg .NewBuffer (_fbcc );_ ,_fegb =_fc .Copy (w ,_gafbg );if _fegb !=nil {return _fegb ;};};_cbcg ._gfd =true ;return nil ;};
|
||
|
||
// PdfAnnotationInk represents Ink annotations.
|
||
// (Section 12.5.6.13).
|
||
type PdfAnnotationInk struct{*PdfAnnotation ;*PdfAnnotationMarkup ;InkList _fd .PdfObject ;BS _fd .PdfObject ;};
|
||
|
||
// 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 ;_ecadf *_fd .PdfIndirectObject ;};func (_adbcb *PdfReader )newPdfAcroFormFromDict (_eabde *_fd .PdfIndirectObject ,_dbcb *_fd .PdfObjectDictionary )(*PdfAcroForm ,error ){_cfeaa :=NewPdfAcroForm ();if _eabde !=nil {_cfeaa ._dbcdb =_eabde ;_eabde .PdfObject =_fd .MakeDict ();};if _eacbfa :=_dbcb .Get ("\u0046\u0069\u0065\u006c\u0064\u0073");_eacbfa !=nil {_eecae ,_dcgbg :=_fd .GetArray (_eacbfa );if !_dcgbg {return nil ,_d .Errorf ("\u0066i\u0065\u006c\u0064\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e \u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0025\u0054\u0029",_eacbfa );};var _daeg []*PdfField ;for _ ,_ggbe :=range _eecae .Elements (){_bceda ,_ebfc :=_fd .GetIndirect (_ggbe );if !_ebfc {if _ ,_cbdga :=_ggbe .(*_fd .PdfObjectNull );_cbdga {_fca .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 ;};_fca .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",_ggbe );return nil ,_d .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");};_gbgce ,_gbff :=_adbcb .newPdfFieldFromIndirectObject (_bceda ,nil );if _gbff !=nil {return nil ,_gbff ;};_fca .Log .Trace ("\u0041\u0063\u0072\u006fFo\u0072\u006d\u0020\u0046\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u002b\u0076",*_gbgce );_daeg =append (_daeg ,_gbgce );};_cfeaa .Fields =&_daeg ;};if _dbbfc :=_dbcb .Get ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073");_dbbfc !=nil {_egfd ,_cacbd :=_fd .GetBool (_dbbfc );if _cacbd {_cfeaa .NeedAppearances =_egfd ;}else {_fca .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",_dbbfc );};};if _fabf :=_dbcb .Get ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073");_fabf !=nil {_efbg ,_ddcb :=_fd .GetInt (_fabf );if _ddcb {_cfeaa .SigFlags =_efbg ;}else {_fca .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",_fabf );};};if _abfab :=_dbcb .Get ("\u0043\u004f");_abfab !=nil {_decfc ,_aacaa :=_fd .GetArray (_abfab );if _aacaa {_cfeaa .CO =_decfc ;}else {_fca .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",_abfab );};};if _ggeb :=_dbcb .Get ("\u0044\u0052");_ggeb !=nil {if _gaecc ,_aedfa :=_fd .GetDict (_ggeb );_aedfa {_gdagb ,_fagd :=NewPdfPageResourcesFromDict (_gaecc );if _fagd !=nil {_fca .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0044R\u003a\u0020\u0025\u0076",_fagd );return nil ,_fagd ;};_cfeaa .DR =_gdagb ;}else {_fca .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",_ggeb );};};if _aecb :=_dbcb .Get ("\u0044\u0041");_aecb !=nil {_dbdec ,_geabg :=_fd .GetString (_aecb );if _geabg {_cfeaa .DA =_dbdec ;}else {_fca .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",_aecb );};};if _fdcg :=_dbcb .Get ("\u0051");_fdcg !=nil {_dcgef ,_cacbg :=_fd .GetInt (_fdcg );if _cacbg {_cfeaa .Q =_dcgef ;}else {_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0051\u0020\u0069\u006e\u0076a\u006ci\u0064 \u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_fdcg );};};if _efgcc :=_dbcb .Get ("\u0058\u0046\u0041");_efgcc !=nil {_cfeaa .XFA =_efgcc ;};return _cfeaa ,nil ;};
|
||
|
||
// NewPdfColorspaceSpecialSeparation returns a new separation color.
|
||
func NewPdfColorspaceSpecialSeparation ()*PdfColorspaceSpecialSeparation {_aafcc :=&PdfColorspaceSpecialSeparation {};return _aafcc ;};type pdfFontSimple struct{fontCommon ;_cebf *_fd .PdfIndirectObject ;_cfcg map[_gf .CharCode ]float64 ;_fggbd _gf .TextEncoder ;_cgdd _gf .TextEncoder ;_gbaf *PdfFontDescriptor ;
|
||
|
||
// Encoding is subject to limitations that are described in 9.6.6, "Character Encoding".
|
||
// BaseFont is derived differently.
|
||
FirstChar _fd .PdfObject ;LastChar _fd .PdfObject ;Widths _fd .PdfObject ;Encoding _fd .PdfObject ;_gdeba map[rune ]_aaf .CharMetrics ;};
|
||
|
||
// ColorToRGB verifies that the input color is an RGB color. Method exists in
|
||
// order to satisfy the PdfColorspace interface.
|
||
func (_efee *PdfColorspaceDeviceRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_bfae ,_fefg :=color .(*PdfColorDeviceRGB );if !_fefg {_fca .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 ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return _bfae ,nil ;};
|
||
|
||
// EncryptionAlgorithm is used in EncryptOptions to change the default algorithm used to encrypt the document.
|
||
type EncryptionAlgorithm int ;
|
||
|
||
// 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 *_fd .PdfIndirectObject `json:"-"`;Page int64 `json:"page"`;Mode string `json:"mode"`;X float64 `json:"x"`;Y float64 `json:"y"`;Zoom float64 `json:"zoom"`;};
|
||
|
||
// SetForms sets the Acroform for a PDF file.
|
||
func (_adcfb *PdfWriter )SetForms (form *PdfAcroForm )error {_adcfb ._cfbfa =form ;return nil };
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a CalGray device.
|
||
func (_daea *PdfColorspaceCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// NewPdfColorspaceLab returns a new Lab colorspace object.
|
||
func NewPdfColorspaceLab ()*PdfColorspaceLab {_fbce :=&PdfColorspaceLab {};_fbce .BlackPoint =[]float64 {0.0,0.0,0.0};_fbce .Range =[]float64 {-100,100,-100,100};return _fbce ;};func (_fffg fontCommon )fontFlags ()int {if _fffg ._ggbg ==nil {return 0;};return _fffg ._ggbg ._fgaf ;};func (_geeac *PdfWriter )updateObjectNumbers (){_egfcc :=_geeac .ObjNumOffset ;_bgebc :=0;for _ ,_eeff :=range _geeac ._edeb {_gadb :=int64 (_bgebc +1+_egfcc );_bbbgc :=true ;if _geeac ._gfggd {if _facga ,_dbcfd :=_geeac ._febae [_eeff ];_dbcfd {_gadb =_facga ;_bbbgc =false ;};};switch _fcedg :=_eeff .(type ){case *_fd .PdfIndirectObject :_fcedg .ObjectNumber =_gadb ;_fcedg .GenerationNumber =0;case *_fd .PdfObjectStream :_fcedg .ObjectNumber =_gadb ;_fcedg .GenerationNumber =0;case *_fd .PdfObjectStreams :_fcedg .ObjectNumber =_gadb ;_fcedg .GenerationNumber =0;default:_fca .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",_fcedg );continue ;};if _bbbgc {_bgebc ++;};};_abfea :=func (_cfbab _fd .PdfObject )int64 {switch _cagee :=_cfbab .(type ){case *_fd .PdfIndirectObject :return _cagee .ObjectNumber ;case *_fd .PdfObjectStream :return _cagee .ObjectNumber ;case *_fd .PdfObjectStreams :return _cagee .ObjectNumber ;};return 0;};_fb .SliceStable (_geeac ._edeb ,func (_ffbb ,_cfff int )bool {return _abfea (_geeac ._edeb [_ffbb ])< _abfea (_geeac ._edeb [_cfff ])});};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbac *PdfAnnotationStamp )ToPdfObject ()_fd .PdfObject {_cbac .PdfAnnotation .ToPdfObject ();_gfgc :=_cbac ._defg ;_dacg :=_gfgc .PdfObject .(*_fd .PdfObjectDictionary );_cbac .PdfAnnotationMarkup .appendToPdfDictionary (_dacg );_dacg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053\u0074\u0061m\u0070"));_dacg .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cbac .Name );return _gfgc ;};
|
||
|
||
// 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 (_cdeg *PdfReader )FlattenFields (allannots bool ,appgen FieldAppearanceGenerator )error {return _cdeg .flattenFieldsWithOpts (allannots ,appgen ,nil );};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_egebf *pdfFontSimple )Encoder ()_gf .TextEncoder {if _egebf ._fggbd !=nil {return _egebf ._fggbd ;};if _egebf ._cgdd !=nil {return _egebf ._cgdd ;};_dbbfe ,_ :=_gf .NewSimpleTextEncoder ("\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",nil );return _dbbfe ;};
|
||
|
||
// GetFontDescriptor returns the font descriptor for `font`.
|
||
func (_ccdde PdfFont )GetFontDescriptor ()(*PdfFontDescriptor ,error ){return _ccdde ._bbaa .getFontDescriptor (),nil ;};
|
||
|
||
// PdfAnnotationFreeText represents FreeText annotations.
|
||
// (Section 12.5.6.6).
|
||
type PdfAnnotationFreeText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;DA _fd .PdfObject ;Q _fd .PdfObject ;RC _fd .PdfObject ;DS _fd .PdfObject ;CL _fd .PdfObject ;IT _fd .PdfObject ;BE _fd .PdfObject ;RD _fd .PdfObject ;BS _fd .PdfObject ;LE _fd .PdfObject ;};
|
||
|
||
// NewPdfAnnotationText returns a new text annotation.
|
||
func NewPdfAnnotationText ()*PdfAnnotationText {_ebca :=NewPdfAnnotation ();_cbdd :=&PdfAnnotationText {};_cbdd .PdfAnnotation =_ebca ;_cbdd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ebca .SetContext (_cbdd );return _cbdd ;};func _dbec (_adeef *_fd .PdfObjectDictionary )(*PdfShadingType7 ,error ){_cgegdg :=PdfShadingType7 {};_ebdg :=_adeef .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _ebdg ==nil {_fca .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 ;};_eggbd ,_bgdc :=_ebdg .(*_fd .PdfObjectInteger );if !_bgdc {_fca .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",_ebdg );return nil ,_fd .ErrTypeError ;};_cgegdg .BitsPerCoordinate =_eggbd ;_ebdg =_adeef .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _ebdg ==nil {_fca .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 ;};_eggbd ,_bgdc =_ebdg .(*_fd .PdfObjectInteger );if !_bgdc {_fca .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",_ebdg );return nil ,_fd .ErrTypeError ;};_cgegdg .BitsPerComponent =_eggbd ;_ebdg =_adeef .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _ebdg ==nil {_fca .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 ;};_eggbd ,_bgdc =_ebdg .(*_fd .PdfObjectInteger );if !_bgdc {_fca .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",_ebdg );return nil ,_fd .ErrTypeError ;};_cgegdg .BitsPerComponent =_eggbd ;_ebdg =_adeef .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _ebdg ==nil {_fca .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 ;};_ddfff ,_bgdc :=_ebdg .(*_fd .PdfObjectArray );if !_bgdc {_fca .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",_ebdg );return nil ,_fd .ErrTypeError ;};_cgegdg .Decode =_ddfff ;if _aebfad :=_adeef .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_aebfad !=nil {_cgegdg .Function =[]PdfFunction {};if _agaab ,_bgfb :=_aebfad .(*_fd .PdfObjectArray );_bgfb {for _ ,_ffgeb :=range _agaab .Elements (){_bada ,_ddbec :=_fagc (_ffgeb );if _ddbec !=nil {_fca .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",_ddbec );return nil ,_ddbec ;};_cgegdg .Function =append (_cgegdg .Function ,_bada );};}else {_cdaf ,_bafcb :=_fagc (_aebfad );if _bafcb !=nil {_fca .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",_bafcb );return nil ,_bafcb ;};_cgegdg .Function =append (_cgegdg .Function ,_cdaf );};};return &_cgegdg ,nil ;};
|
||
|
||
// NewOutlineBookmark returns an initialized PdfOutlineItem for a given bookmark title and page.
|
||
func NewOutlineBookmark (title string ,page *_fd .PdfIndirectObject )*PdfOutlineItem {_egeed :=PdfOutlineItem {};_egeed ._ccggf =&_egeed ;_egeed .Title =_fd .MakeString (title );_aefga :=_fd .MakeArray ();_aefga .Append (page );_aefga .Append (_fd .MakeName ("\u0046\u0069\u0074"));_egeed .Dest =_aefga ;return &_egeed ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_afab pdfFontType0 )Encoder ()_gf .TextEncoder {return _afab ._dbbce };
|
||
|
||
// L returns the value of the L component of the color.
|
||
func (_cfaaa *PdfColorLab )L ()float64 {return float64 (_cfaaa [0])};
|
||
|
||
// GetDescent returns the Descent of the font `descriptor`.
|
||
func (_gbgac *PdfFontDescriptor )GetDescent ()(float64 ,error ){return _fd .GetNumberAsFloat (_gbgac .Descent );};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_cfdg *PdfColorspaceSpecialIndexed )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};N :=_cfdg .Base .GetNumComponents ();_gdca :=int (vals [0])*N ;if _gdca < 0||(_gdca +N -1)>=len (_cfdg ._cfbf ){return nil ,_fce .New ("\u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065");};_eafc :=_cfdg ._cfbf [_gdca :_gdca +N ];var _gefcc []float64 ;for _ ,_afac :=range _eafc {_gefcc =append (_gefcc ,float64 (_afac )/255.0);};_bcga ,_bcdga :=_cfdg .Base .ColorFromFloats (_gefcc );if _bcdga !=nil {return nil ,_bcdga ;};return _bcga ,nil ;};
|
||
|
||
// IsTerminal returns true for terminal fields, false otherwise.
|
||
// Terminal fields are fields whose descendants are only widget annotations.
|
||
func (_deca *PdfField )IsTerminal ()bool {return len (_deca .Kids )==0};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bcag *PdfAnnotationFreeText )ToPdfObject ()_fd .PdfObject {_bcag .PdfAnnotation .ToPdfObject ();_ccbf :=_bcag ._defg ;_ada :=_ccbf .PdfObject .(*_fd .PdfObjectDictionary );_bcag .PdfAnnotationMarkup .appendToPdfDictionary (_ada );_ada .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074"));_ada .SetIfNotNil ("\u0044\u0041",_bcag .DA );_ada .SetIfNotNil ("\u0051",_bcag .Q );_ada .SetIfNotNil ("\u0052\u0043",_bcag .RC );_ada .SetIfNotNil ("\u0044\u0053",_bcag .DS );_ada .SetIfNotNil ("\u0043\u004c",_bcag .CL );_ada .SetIfNotNil ("\u0049\u0054",_bcag .IT );_ada .SetIfNotNil ("\u0042\u0045",_bcag .BE );_ada .SetIfNotNil ("\u0052\u0044",_bcag .RD );_ada .SetIfNotNil ("\u0042\u0053",_bcag .BS );_ada .SetIfNotNil ("\u004c\u0045",_bcag .LE );return _ccbf ;};func (_eecf *PdfReader )newPdfActionTransFromDict (_cba *_fd .PdfObjectDictionary )(*PdfActionTrans ,error ){return &PdfActionTrans {Trans :_cba .Get ("\u0054\u0072\u0061n\u0073")},nil ;};func _aeedf (_acbdf *_fd .PdfObjectArray )(float64 ,error ){_dcdag ,_afbdfg :=_acbdf .ToFloat64Array ();if _afbdfg !=nil {_fca .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",_acbdf ,_afbdfg );};switch len (_dcdag ){case 1:return _dcdag [0],nil ;case 3:_gacc :=PdfColorspaceDeviceRGB {};_acdc ,_ddcaaf :=_gacc .ColorFromFloats (_dcdag );if _ddcaaf !=nil {return 0.0,_ddcaaf ;};return _acdc .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;case 4:_gaefa :=PdfColorspaceDeviceCMYK {};_eabdd ,_efdde :=_gaefa .ColorFromFloats (_dcdag );if _efdde !=nil {return 0.0,_efdde ;};_aaee ,_efdde :=_gaefa .ColorToRGB (_eabdd .(*PdfColorDeviceCMYK ));if _efdde !=nil {return 0.0,_efdde ;};return _aaee .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;};_afbdfg =_fce .New ("\u0062a\u0064 \u004d\u0061\u0074\u0074\u0065\u0020\u0063\u006f\u006c\u006f\u0072");_fca .Log .Error ("\u0074\u006f\u0047ra\u0079\u003a\u0020\u006d\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_acbdf ,_afbdfg );return 0.0,_afbdfg ;};
|
||
|
||
// ImageToRGB converts CalRGB colorspace image to RGB and returns the result.
|
||
func (_bcdc *PdfColorspaceCalRGB )ImageToRGB (img Image )(Image ,error ){_gcfdg :=_ddf .NewReader (img .getBase ());_dacaf :=_gd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_bcee :=_ddf .NewWriter (_dacaf );_gbfc :=_ff .Pow (2,float64 (img .BitsPerComponent ))-1;_egff :=make ([]uint32 ,3);var (_caed error ;_fgdf ,_aebg ,_fegf ,_caee ,_gagf ,_cbag float64 ;);for {_caed =_gcfdg .ReadSamples (_egff );if _caed ==_fc .EOF {break ;}else if _caed !=nil {return img ,_caed ;};_fgdf =float64 (_egff [0])/_gbfc ;_aebg =float64 (_egff [1])/_gbfc ;_fegf =float64 (_egff [2])/_gbfc ;_caee =_bcdc .Matrix [0]*_ff .Pow (_fgdf ,_bcdc .Gamma [0])+_bcdc .Matrix [3]*_ff .Pow (_aebg ,_bcdc .Gamma [1])+_bcdc .Matrix [6]*_ff .Pow (_fegf ,_bcdc .Gamma [2]);_gagf =_bcdc .Matrix [1]*_ff .Pow (_fgdf ,_bcdc .Gamma [0])+_bcdc .Matrix [4]*_ff .Pow (_aebg ,_bcdc .Gamma [1])+_bcdc .Matrix [7]*_ff .Pow (_fegf ,_bcdc .Gamma [2]);_cbag =_bcdc .Matrix [2]*_ff .Pow (_fgdf ,_bcdc .Gamma [0])+_bcdc .Matrix [5]*_ff .Pow (_aebg ,_bcdc .Gamma [1])+_bcdc .Matrix [8]*_ff .Pow (_fegf ,_bcdc .Gamma [2]);_fgdf =3.240479*_caee +-1.537150*_gagf +-0.498535*_cbag ;_aebg =-0.969256*_caee +1.875992*_gagf +0.041556*_cbag ;_fegf =0.055648*_caee +-0.204043*_gagf +1.057311*_cbag ;_fgdf =_ff .Min (_ff .Max (_fgdf ,0),1.0);_aebg =_ff .Min (_ff .Max (_aebg ,0),1.0);_fegf =_ff .Min (_ff .Max (_fegf ,0),1.0);_egff [0]=uint32 (_fgdf *_gbfc );_egff [1]=uint32 (_aebg *_gbfc );_egff [2]=uint32 (_fegf *_gbfc );if _caed =_bcee .WriteSamples (_egff );_caed !=nil {return img ,_caed ;};};return _baaaa (&_dacaf ),nil ;};
|
||
|
||
// NewPdfAnnotationSound returns a new sound annotation.
|
||
func NewPdfAnnotationSound ()*PdfAnnotationSound {_aeg :=NewPdfAnnotation ();_fff :=&PdfAnnotationSound {};_fff .PdfAnnotation =_aeg ;_fff .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_aeg .SetContext (_fff );return _fff ;};
|
||
|
||
// 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 (_cfcc *PdfFont )CharcodesToUnicode (charcodes []_gf .CharCode )[]rune {_gagbc ,_ ,_ :=_cfcc .CharcodesToUnicodeWithStats (charcodes );return _gagbc ;};func (_aaccc *pdfFontSimple )getFontDescriptor ()*PdfFontDescriptor {if _gcda :=_aaccc ._ggbg ;_gcda !=nil {return _gcda ;};return _aaccc ._gbaf ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_fdaf *PdfColorLab )ToInteger (bits int )[3]uint32 {_badgd :=_ff .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_badgd *_fdaf .L ()),uint32 (_badgd *_fdaf .A ()),uint32 (_badgd *_fdaf .B ())};};
|
||
|
||
// PdfShadingType6 is a Coons patch mesh.
|
||
type PdfShadingType6 struct{*PdfShading ;BitsPerCoordinate *_fd .PdfObjectInteger ;BitsPerComponent *_fd .PdfObjectInteger ;BitsPerFlag *_fd .PdfObjectInteger ;Decode *_fd .PdfObjectArray ;Function []PdfFunction ;};func _gaag (_gcae StdFontName )(pdfFontSimple ,error ){_dgagb ,_cdagd :=_aaf .NewStdFontByName (_gcae );if !_cdagd {return pdfFontSimple {},ErrFontNotSupported ;};_addfe :=_bcfbb (_dgagb );return _addfe ,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 (_eadab *PdfReader )Inspect ()(map[string ]int ,error ){return _eadab ._egbge .Inspect ()};
|
||
|
||
// GetPageDict converts the Page to a PDF object dictionary.
|
||
func (_fedf *PdfPage )GetPageDict ()*_fd .PdfObjectDictionary {_abfed :=_fedf ._fgbbc ;_abfed .Clear ();_abfed .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0050\u0061\u0067\u0065"));_abfed .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fedf .Parent );if _fedf .LastModified !=nil {_abfed .Set ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_fedf .LastModified .ToPdfObject ());};if _fedf .Resources !=nil {_abfed .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_fedf .Resources .ToPdfObject ());};if _fedf .CropBox !=nil {_abfed .Set ("\u0043r\u006f\u0070\u0042\u006f\u0078",_fedf .CropBox .ToPdfObject ());};if _fedf .MediaBox !=nil {_abfed .Set ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078",_fedf .MediaBox .ToPdfObject ());};if _fedf .BleedBox !=nil {_abfed .Set ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078",_fedf .BleedBox .ToPdfObject ());};if _fedf .TrimBox !=nil {_abfed .Set ("\u0054r\u0069\u006d\u0042\u006f\u0078",_fedf .TrimBox .ToPdfObject ());};if _fedf .ArtBox !=nil {_abfed .Set ("\u0041\u0072\u0074\u0042\u006f\u0078",_fedf .ArtBox .ToPdfObject ());};_abfed .SetIfNotNil ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f",_fedf .BoxColorInfo );_abfed .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_fedf .Contents );if _fedf .Rotate !=nil {_abfed .Set ("\u0052\u006f\u0074\u0061\u0074\u0065",_fd .MakeInteger (*_fedf .Rotate ));};_abfed .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_fedf .Group );_abfed .SetIfNotNil ("\u0054\u0068\u0075m\u0062",_fedf .Thumb );_abfed .SetIfNotNil ("\u0042",_fedf .B );_abfed .SetIfNotNil ("\u0044\u0075\u0072",_fedf .Dur );_abfed .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_fedf .Trans );_abfed .SetIfNotNil ("\u0041\u0041",_fedf .AA );_abfed .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_fedf .Metadata );_abfed .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_fedf .PieceInfo );_abfed .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_fedf .StructParents );_abfed .SetIfNotNil ("\u0049\u0044",_fedf .ID );_abfed .SetIfNotNil ("\u0050\u005a",_fedf .PZ );_abfed .SetIfNotNil ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f",_fedf .SeparationInfo );_abfed .SetIfNotNil ("\u0054\u0061\u0062\u0073",_fedf .Tabs );_abfed .SetIfNotNil ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064",_fedf .TemplateInstantiated );_abfed .SetIfNotNil ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s",_fedf .PresSteps );_abfed .SetIfNotNil ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074",_fedf .UserUnit );_abfed .SetIfNotNil ("\u0056\u0050",_fedf .VP );if _fedf ._bfedf !=nil {_edbcb :=_fd .MakeArray ();for _ ,_ggegg :=range _fedf ._bfedf {if _ddfba :=_ggegg .GetContext ();_ddfba !=nil {_edbcb .Append (_ddfba .ToPdfObject ());}else {_edbcb .Append (_ggegg .ToPdfObject ());};};if _edbcb .Len ()> 0{_abfed .Set ("\u0041\u006e\u006e\u006f\u0074\u0073",_edbcb );};}else if _fedf .Annots !=nil {_abfed .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0073",_fedf .Annots );};return _abfed ;};
|
||
|
||
// AlphaMap performs mapping of alpha data for transformations. Allows custom filtering of alpha data etc.
|
||
func (_gbag *Image )AlphaMap (mapFunc AlphaMapFunc ){for _afffc ,_gdcg :=range _gbag ._cded {_gbag ._cded [_afffc ]=mapFunc (_gdcg );};};var _ pdfFont =(*pdfFontSimple )(nil );
|
||
|
||
// PdfActionURI represents an URI action.
|
||
type PdfActionURI struct{*PdfAction ;URI _fd .PdfObject ;IsMap _fd .PdfObject ;};
|
||
|
||
// 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 (_cbcd PdfColor )(PdfColor ,error );
|
||
|
||
// GetNumComponents returns the number of components in the PdfColorspace.
|
||
GetNumComponents ()int ;
|
||
|
||
// ToPdfObject returns a PdfObject representation of the PdfColorspace.
|
||
ToPdfObject ()_fd .PdfObject ;
|
||
|
||
// ColorFromPdfObjects returns a PdfColor in the given PdfColorspace from an array of PdfObject where each
|
||
// PdfObject represents a numeric value.
|
||
ColorFromPdfObjects (_efdb []_fd .PdfObject )(PdfColor ,error );
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components for a given PdfColorspace.
|
||
ColorFromFloats (_dadfd []float64 )(PdfColor ,error );
|
||
|
||
// DecodeArray returns the Decode array for the PdfColorSpace, i.e. the range of each component.
|
||
DecodeArray ()[]float64 ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the outline tree node.
|
||
func (_eede *PdfOutlineTreeNode )ToPdfObject ()_fd .PdfObject {return _eede .GetContext ().ToPdfObject ()};
|
||
|
||
// C returns the value of the C component of the color.
|
||
func (_ecdf *PdfColorCalRGB )C ()float64 {return float64 (_ecdf [2])};
|
||
|
||
// AllFields returns a flattened list of all fields in the form.
|
||
func (_bcbeg *PdfAcroForm )AllFields ()[]*PdfField {if _bcbeg ==nil {return nil ;};var _bbcbe []*PdfField ;if _bcbeg .Fields !=nil {for _ ,_gdgaa :=range *_bcbeg .Fields {_bbcbe =append (_bbcbe ,_gdff (_gdgaa )...);};};return _bbcbe ;};
|
||
|
||
// PdfAnnotationCircle represents Circle annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationCircle struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _fd .PdfObject ;IC _fd .PdfObject ;BE _fd .PdfObject ;RD _fd .PdfObject ;};
|
||
|
||
// SetXObjectImageByName adds the provided XObjectImage to the page resources.
|
||
// The added XObjectImage is identified by the specified name.
|
||
func (_cceac *PdfPageResources )SetXObjectImageByName (keyName _fd .PdfObjectName ,ximg *XObjectImage )error {_gebaa :=ximg .ToPdfObject ().(*_fd .PdfObjectStream );_dbbff :=_cceac .SetXObjectByName (keyName ,_gebaa );return _dbbff ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eccd *PdfColorDeviceGray )ToInteger (bits int )uint32 {_bcce :=_ff .Pow (2,float64 (bits ))-1;return uint32 (_bcce *_eccd .Val ());};func (_fbed *PdfReader )flattenFieldsWithOpts (_fefb bool ,_gfbg FieldAppearanceGenerator ,_bffb *FieldFlattenOpts )error {if _bffb ==nil {_bffb =&FieldFlattenOpts {};};var _bcdfb bool ;_acfce :=map[*PdfAnnotation ]bool {};{var _dgeb []*PdfField ;_gcad :=_fbed .AcroForm ;if _gcad !=nil {if _bffb .FilterFunc !=nil {_dgeb =_gcad .filteredFields (_bffb .FilterFunc ,true );_bcdfb =_gcad .Fields !=nil &&len (*_gcad .Fields )> 0;}else {_dgeb =_gcad .AllFields ();};};for _ ,_eefg :=range _dgeb {for _ ,_bgbg :=range _eefg .Annotations {_acfce [_bgbg .PdfAnnotation ]=_eefg .V !=nil ;if _gfbg !=nil {_bbag ,_fecc :=_gfbg .GenerateAppearanceDict (_gcad ,_eefg ,_bgbg );if _fecc !=nil {return _fecc ;};_bgbg .AP =_bbag ;};};};};if _fefb {for _ ,_feccg :=range _fbed .PageList {_bfeb ,_bdbdb :=_feccg .GetAnnotations ();if _bdbdb !=nil {return _bdbdb ;};for _ ,_bcgd :=range _bfeb {_acfce [_bcgd ]=true ;};};};for _ ,_ebbcd :=range _fbed .PageList {var _dcbbc []*PdfAnnotation ;if _gfbg !=nil {if _gdfcf :=_gfbg .WrapContentStream (_ebbcd );_gdfcf !=nil {return _gdfcf ;};};_ccdg ,_cfgb :=_ebbcd .GetAnnotations ();if _cfgb !=nil {return _cfgb ;};for _ ,_fafaa :=range _ccdg {_dbbaa ,_dbcdc :=_acfce [_fafaa ];if !_dbcdc {_dcbbc =append (_dcbbc ,_fafaa );continue ;};switch _fafaa .GetContext ().(type ){case *PdfAnnotationPopup :continue ;case *PdfAnnotationLink :continue ;case *PdfAnnotationProjection :continue ;};_eafd ,_geae ,_bfab :=_affc (_fafaa );if _bfab !=nil {if !_dbbaa {_fca .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 ;};_fca .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",_bfab );continue ;};if _eafd ==nil {continue ;};_efba :=_ebbcd .Resources .GenerateXObjectName ();_ebbcd .Resources .SetXObjectFormByName (_efba ,_eafd );_eafed :=_ff .Min (_geae .Llx ,_geae .Urx );_faeae :=_ff .Min (_geae .Lly ,_geae .Ury );var _fagee []string ;_fagee =append (_fagee ,"\u0071");_fagee =append (_fagee ,_d .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,_eafed ,_faeae ));_fagee =append (_fagee ,_d .Sprintf ("\u002f\u0025\u0073\u0020\u0044\u006f",_efba .String ()));_fagee =append (_fagee ,"\u0051");_gbab :=_gc .Join (_fagee ,"\u000a");_bfab =_ebbcd .AppendContentStream (_gbab );if _bfab !=nil {return _bfab ;};if _eafd .Resources !=nil {_bace ,_efdgd :=_fd .GetDict (_eafd .Resources .Font );if _efdgd {for _ ,_edge :=range _bace .Keys (){if !_ebbcd .Resources .HasFontByName (_edge ){_ebbcd .Resources .SetFontByName (_edge ,_bace .Get (_edge ));};};};};};if len (_dcbbc )> 0{_ebbcd ._bfedf =_dcbbc ;}else {_ebbcd ._bfedf =[]*PdfAnnotation {};};};if !_bcdfb {_fbed .AcroForm =nil ;};return nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline tree node (indirect object).
|
||
func (_gdgab *PdfOutlineTreeNode )GetContainingPdfObject ()_fd .PdfObject {return _gdgab .GetContext ().GetContainingPdfObject ();};
|
||
|
||
// Height returns the height of `rect`.
|
||
func (_ecaed *PdfRectangle )Height ()float64 {return _ff .Abs (_ecaed .Ury -_ecaed .Lly )};
|
||
|
||
// PdfColorspaceDeviceRGB represents an RGB colorspace.
|
||
type PdfColorspaceDeviceRGB struct{};type pdfCIDFontType0 struct{fontCommon ;_ddgbd *_fd .PdfIndirectObject ;_dgfdf _gf .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// (Required) Dictionary that defines the character collection of the CIDFont.
|
||
// See Table 116.
|
||
CIDSystemInfo *_fd .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _fd .PdfObject ;W _fd .PdfObject ;DW2 _fd .PdfObject ;W2 _fd .PdfObject ;_cadad map[_gf .CharCode ]float64 ;_bbda float64 ;};
|
||
|
||
// 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 (_ceaeb *PdfColorspaceSpecialPattern )ColorToRGB (color PdfColor )(PdfColor ,error ){_gfdb ,_gceb :=color .(*PdfColorPattern );if !_gceb {_fca .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 _gfdb .Color ==nil {return color ,nil ;};if _ceaeb .UnderlyingCS ==nil {return nil ,_fce .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};return _ceaeb .UnderlyingCS .ColorToRGB (_gfdb .Color );};
|
||
|
||
// NewXObjectForm creates a brand new XObject Form. Creates a new underlying PDF object stream primitive.
|
||
func NewXObjectForm ()*XObjectForm {_adggef :=&XObjectForm {};_ddcbb :=&_fd .PdfObjectStream {};_ddcbb .PdfObjectDictionary =_fd .MakeDict ();_adggef ._acdg =_ddcbb ;return _adggef ;};
|
||
|
||
// NewPdfAnnotationCircle returns a new circle annotation.
|
||
func NewPdfAnnotationCircle ()*PdfAnnotationCircle {_egg :=NewPdfAnnotation ();_bfd :=&PdfAnnotationCircle {};_bfd .PdfAnnotation =_egg ;_bfd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_egg .SetContext (_bfd );return _bfd ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_cfdgf *PdfFont )Encoder ()_gf .TextEncoder {_fdged :=_cfdgf .actualFont ();if _fdged ==nil {_fca .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",_cfdgf ._bbaa );return nil ;};return _fdged .Encoder ();};
|
||
|
||
// ToUnicode returns the name of the font's "ToUnicode" field if there is one, or "" if there isn't.
|
||
func (_ffde *PdfFont )ToUnicode ()string {if _ffde .baseFields ()._facge ==nil {return "";};return _ffde .baseFields ()._facge .Name ();};
|
||
|
||
// SetAction sets the PDF action for the annotation link.
|
||
func (_fdd *PdfAnnotationLink )SetAction (action *PdfAction ){_fdd ._bda =action ;if action ==nil {_fdd .A =nil ;};};func (_efag *pdfCIDFontType2 )getFontDescriptor ()*PdfFontDescriptor {return _efag ._ggbg };func (_baf *PdfReader )newPdfAnnotationCircleFromDict (_gege *_fd .PdfObjectDictionary )(*PdfAnnotationCircle ,error ){_fba :=PdfAnnotationCircle {};_fad ,_dag :=_baf .newPdfAnnotationMarkupFromDict (_gege );if _dag !=nil {return nil ,_dag ;};_fba .PdfAnnotationMarkup =_fad ;_fba .BS =_gege .Get ("\u0042\u0053");_fba .IC =_gege .Get ("\u0049\u0043");_fba .BE =_gege .Get ("\u0042\u0045");_fba .RD =_gege .Get ("\u0052\u0044");return &_fba ,nil ;};func (_dbc *PdfReader )newPdfAnnotationFromIndirectObject (_bee *_fd .PdfIndirectObject )(*PdfAnnotation ,error ){_fee ,_faad :=_bee .PdfObject .(*_fd .PdfObjectDictionary );if !_faad {return nil ,_d .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 :=_dbc ._gggcg .GetModelFromPrimitive (_fee );model !=nil {_eeed ,_ecd :=model .(*PdfAnnotation );if !_ecd {return nil ,_d .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 _eeed ,nil ;};_cdd :=&PdfAnnotation {};_cdd ._defg =_bee ;_dbc ._gggcg .Register (_fee ,_cdd );if _cad :=_fee .Get ("\u0054\u0079\u0070\u0065");_cad !=nil {_fccg ,_ega :=_cad .(*_fd .PdfObjectName );if !_ega {_fca .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",_cad );}else {if *_fccg !="\u0041\u006e\u006eo\u0074"{_fca .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",*_fccg );};};};if _bfeg :=_fee .Get ("\u0052\u0065\u0063\u0074");_bfeg !=nil {_cdd .Rect =_bfeg ;};if _dba :=_fee .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_dba !=nil {_cdd .Contents =_dba ;};if _cde :=_fee .Get ("\u0050");_cde !=nil {_cdd .P =_cde ;};if _afg :=_fee .Get ("\u004e\u004d");_afg !=nil {_cdd .NM =_afg ;};if _geea :=_fee .Get ("\u004d");_geea !=nil {_cdd .M =_geea ;};if _baa :=_fee .Get ("\u0046");_baa !=nil {_cdd .F =_baa ;};if _bad :=_fee .Get ("\u0041\u0050");_bad !=nil {_cdd .AP =_bad ;};if _eef :=_fee .Get ("\u0041\u0053");_eef !=nil {_cdd .AS =_eef ;};if _ecbe :=_fee .Get ("\u0042\u006f\u0072\u0064\u0065\u0072");_ecbe !=nil {_cdd .Border =_ecbe ;};if _cdeb :=_fee .Get ("\u0043");_cdeb !=nil {_cdd .C =_cdeb ;};if _fdac :=_fee .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_fdac !=nil {_cdd .StructParent =_fdac ;};if _geca :=_fee .Get ("\u004f\u0043");_geca !=nil {_cdd .OC =_geca ;};_ffcc :=_fee .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");if _ffcc ==nil {_fca .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");_cdd ._ccd =nil ;return _cdd ,nil ;};_fbge ,_fcd :=_ffcc .(*_fd .PdfObjectName );if !_fcd {_fca .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",_ffcc );return nil ,_d .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",_ffcc );};switch *_fbge {case "\u0054\u0065\u0078\u0074":_dgg ,_bde :=_dbc .newPdfAnnotationTextFromDict (_fee );if _bde !=nil {return nil ,_bde ;};_dgg .PdfAnnotation =_cdd ;_cdd ._ccd =_dgg ;return _cdd ,nil ;case "\u004c\u0069\u006e\u006b":_gaa ,_faf :=_dbc .newPdfAnnotationLinkFromDict (_fee );if _faf !=nil {return nil ,_faf ;};_gaa .PdfAnnotation =_cdd ;_cdd ._ccd =_gaa ;return _cdd ,nil ;case "\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074":_gge ,_geeb :=_dbc .newPdfAnnotationFreeTextFromDict (_fee );if _geeb !=nil {return nil ,_geeb ;};_gge .PdfAnnotation =_cdd ;_cdd ._ccd =_gge ;return _cdd ,nil ;case "\u004c\u0069\u006e\u0065":_dbb ,_edb :=_dbc .newPdfAnnotationLineFromDict (_fee );if _edb !=nil {return nil ,_edb ;};_dbb .PdfAnnotation =_cdd ;_cdd ._ccd =_dbb ;_fca .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",_cdd ,_cdd );_fca .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",_dbb ,_dbb );_fca .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",_dbb .PdfAnnotationMarkup ,_dbb .PdfAnnotationMarkup );return _cdd ,nil ;case "\u0053\u0071\u0075\u0061\u0072\u0065":_bcac ,_bfa :=_dbc .newPdfAnnotationSquareFromDict (_fee );if _bfa !=nil {return nil ,_bfa ;};_bcac .PdfAnnotation =_cdd ;_cdd ._ccd =_bcac ;return _cdd ,nil ;case "\u0043\u0069\u0072\u0063\u006c\u0065":_aed ,_fdga :=_dbc .newPdfAnnotationCircleFromDict (_fee );if _fdga !=nil {return nil ,_fdga ;};_aed .PdfAnnotation =_cdd ;_cdd ._ccd =_aed ;return _cdd ,nil ;case "\u0050o\u006c\u0079\u0067\u006f\u006e":_bdg ,_bfgb :=_dbc .newPdfAnnotationPolygonFromDict (_fee );if _bfgb !=nil {return nil ,_bfgb ;};_bdg .PdfAnnotation =_cdd ;_cdd ._ccd =_bdg ;return _cdd ,nil ;case "\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065":_dad ,_fceb :=_dbc .newPdfAnnotationPolyLineFromDict (_fee );if _fceb !=nil {return nil ,_fceb ;};_dad .PdfAnnotation =_cdd ;_cdd ._ccd =_dad ;return _cdd ,nil ;case "\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t":_ccf ,_afdf :=_dbc .newPdfAnnotationHighlightFromDict (_fee );if _afdf !=nil {return nil ,_afdf ;};_ccf .PdfAnnotation =_cdd ;_cdd ._ccd =_ccf ;return _cdd ,nil ;case "\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee":_afa ,_aac :=_dbc .newPdfAnnotationUnderlineFromDict (_fee );if _aac !=nil {return nil ,_aac ;};_afa .PdfAnnotation =_cdd ;_cdd ._ccd =_afa ;return _cdd ,nil ;case "\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079":_dadb ,_beea :=_dbc .newPdfAnnotationSquigglyFromDict (_fee );if _beea !=nil {return nil ,_beea ;};_dadb .PdfAnnotation =_cdd ;_cdd ._ccd =_dadb ;return _cdd ,nil ;case "\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t":_cgee ,_ebaf :=_dbc .newPdfAnnotationStrikeOut (_fee );if _ebaf !=nil {return nil ,_ebaf ;};_cgee .PdfAnnotation =_cdd ;_cdd ._ccd =_cgee ;return _cdd ,nil ;case "\u0043\u0061\u0072e\u0074":_ddg ,_cfac :=_dbc .newPdfAnnotationCaretFromDict (_fee );if _cfac !=nil {return nil ,_cfac ;};_ddg .PdfAnnotation =_cdd ;_cdd ._ccd =_ddg ;return _cdd ,nil ;case "\u0053\u0074\u0061m\u0070":_fdacf ,_fbgd :=_dbc .newPdfAnnotationStampFromDict (_fee );if _fbgd !=nil {return nil ,_fbgd ;};_fdacf .PdfAnnotation =_cdd ;_cdd ._ccd =_fdacf ;return _cdd ,nil ;case "\u0049\u006e\u006b":_efd ,_cab :=_dbc .newPdfAnnotationInkFromDict (_fee );if _cab !=nil {return nil ,_cab ;};_efd .PdfAnnotation =_cdd ;_cdd ._ccd =_efd ;return _cdd ,nil ;case "\u0050\u006f\u0070u\u0070":_cbc ,_fea :=_dbc .newPdfAnnotationPopupFromDict (_fee );if _fea !=nil {return nil ,_fea ;};_cbc .PdfAnnotation =_cdd ;_cdd ._ccd =_cbc ;return _cdd ,nil ;case "\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074":_ddge ,_aedf :=_dbc .newPdfAnnotationFileAttachmentFromDict (_fee );if _aedf !=nil {return nil ,_aedf ;};_ddge .PdfAnnotation =_cdd ;_cdd ._ccd =_ddge ;return _cdd ,nil ;case "\u0053\u006f\u0075n\u0064":_dbaa ,_beb :=_dbc .newPdfAnnotationSoundFromDict (_fee );if _beb !=nil {return nil ,_beb ;};_dbaa .PdfAnnotation =_cdd ;_cdd ._ccd =_dbaa ;return _cdd ,nil ;case "\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a":_dgc ,_gdeb :=_dbc .newPdfAnnotationRichMediaFromDict (_fee );if _gdeb !=nil {return nil ,_gdeb ;};_dgc .PdfAnnotation =_cdd ;_cdd ._ccd =_dgc ;return _cdd ,nil ;case "\u004d\u006f\u0076i\u0065":_bfdbf ,_gcac :=_dbc .newPdfAnnotationMovieFromDict (_fee );if _gcac !=nil {return nil ,_gcac ;};_bfdbf .PdfAnnotation =_cdd ;_cdd ._ccd =_bfdbf ;return _cdd ,nil ;case "\u0053\u0063\u0072\u0065\u0065\u006e":_ffdd ,_fdab :=_dbc .newPdfAnnotationScreenFromDict (_fee );if _fdab !=nil {return nil ,_fdab ;};_ffdd .PdfAnnotation =_cdd ;_cdd ._ccd =_ffdd ;return _cdd ,nil ;case "\u0057\u0069\u0064\u0067\u0065\u0074":_eaec ,_dae :=_dbc .newPdfAnnotationWidgetFromDict (_fee );if _dae !=nil {return nil ,_dae ;};_eaec .PdfAnnotation =_cdd ;_cdd ._ccd =_eaec ;return _cdd ,nil ;case "P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b":_bff ,_cfea :=_dbc .newPdfAnnotationPrinterMarkFromDict (_fee );if _cfea !=nil {return nil ,_cfea ;};_bff .PdfAnnotation =_cdd ;_cdd ._ccd =_bff ;return _cdd ,nil ;case "\u0054r\u0061\u0070\u004e\u0065\u0074":_ccbb ,_ddgg :=_dbc .newPdfAnnotationTrapNetFromDict (_fee );if _ddgg !=nil {return nil ,_ddgg ;};_ccbb .PdfAnnotation =_cdd ;_cdd ._ccd =_ccbb ;return _cdd ,nil ;case "\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k":_gcd ,_aedb :=_dbc .newPdfAnnotationWatermarkFromDict (_fee );if _aedb !=nil {return nil ,_aedb ;};_gcd .PdfAnnotation =_cdd ;_cdd ._ccd =_gcd ;return _cdd ,nil ;case "\u0033\u0044":_bced ,_bade :=_dbc .newPdfAnnotation3DFromDict (_fee );if _bade !=nil {return nil ,_bade ;};_bced .PdfAnnotation =_cdd ;_cdd ._ccd =_bced ;return _cdd ,nil ;case "\u0050\u0072\u006f\u006a\u0065\u0063\u0074\u0069\u006f\u006e":_gae ,_ccfd :=_dbc .newPdfAnnotationProjectionFromDict (_fee );if _ccfd !=nil {return nil ,_ccfd ;};_gae .PdfAnnotation =_cdd ;_cdd ._ccd =_gae ;return _cdd ,nil ;case "\u0052\u0065\u0064\u0061\u0063\u0074":_cacb ,_bfec :=_dbc .newPdfAnnotationRedactFromDict (_fee );if _bfec !=nil {return nil ,_bfec ;};_cacb .PdfAnnotation =_cdd ;_cdd ._ccd =_cacb ;return _cdd ,nil ;};_fca .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",*_fbge );return nil ,nil ;};
|
||
|
||
// Subtype returns the font's "Subtype" field.
|
||
func (_ggaf *PdfFont )Subtype ()string {_bfff :=_ggaf .baseFields ()._ccea ;if _cfcee ,_faecf :=_ggaf ._bbaa .(*pdfFontType0 );_faecf {_bfff =_bfff +"\u003a"+_cfcee .DescendantFont .Subtype ();};return _bfff ;};
|
||
|
||
// PdfAnnotationMovie represents Movie annotations.
|
||
// (Section 12.5.6.17).
|
||
type PdfAnnotationMovie struct{*PdfAnnotation ;T _fd .PdfObject ;Movie _fd .PdfObject ;A _fd .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bgb *PdfActionGoToE )ToPdfObject ()_fd .PdfObject {_bgb .PdfAction .ToPdfObject ();_caf :=_bgb ._fgb ;_gdf :=_caf .PdfObject .(*_fd .PdfObjectDictionary );_gdf .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeGoToE )));if _bgb .F !=nil {_gdf .Set ("\u0046",_bgb .F .ToPdfObject ());};_gdf .SetIfNotNil ("\u0044",_bgb .D );_gdf .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_bgb .NewWindow );_gdf .SetIfNotNil ("\u0054",_bgb .T );return _caf ;};func _fdge (_ecacc _fd .PdfObject )(*PdfColorspaceSpecialIndexed ,error ){_ecad :=NewPdfColorspaceSpecialIndexed ();if _ddgeg ,_bccfd :=_ecacc .(*_fd .PdfIndirectObject );_bccfd {_ecad ._fgga =_ddgeg ;};_ecacc =_fd .TraceToDirectObject (_ecacc );_fced ,_cdcc :=_ecacc .(*_fd .PdfObjectArray );if !_cdcc {return nil ,_d .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _fced .Len ()!=4{return nil ,_d .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");};_ecacc =_fced .Get (0);_eggbc ,_cdcc :=_ecacc .(*_fd .PdfObjectName );if !_cdcc {return nil ,_d .Errorf ("\u0069n\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};if *_eggbc !="\u0049n\u0064\u0065\u0078\u0065\u0064"{return nil ,_d .Errorf ("\u0069\u006e\u0064\u0065xe\u0064\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u006e\u0061m\u0065");};_ecacc =_fced .Get (1);_bbee ,_fcgg :=DetermineColorspaceNameFromPdfObject (_ecacc );if _bbee =="\u0049n\u0064\u0065\u0078\u0065\u0064"||_bbee =="\u0050a\u0074\u0074\u0065\u0072\u006e"{_fca .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",_bbee );return nil ,_fgbb ;};_fcec ,_fcgg :=NewPdfColorspaceFromPdfObject (_ecacc );if _fcgg !=nil {return nil ,_fcgg ;};_ecad .Base =_fcec ;_ecacc =_fced .Get (2);_ggbc ,_fcgg :=_fd .GetNumberAsInt64 (_ecacc );if _fcgg !=nil {return nil ,_fcgg ;};if _ggbc > 255{return nil ,_d .Errorf ("\u0069n\u0064\u0065\u0078\u0065d\u0020\u0043\u0053\u003a\u0020I\u006ev\u0061l\u0069\u0064\u0020\u0068\u0069\u0076\u0061l");};_ecad .HiVal =int (_ggbc );_ecacc =_fced .Get (3);_ecad .Lookup =_ecacc ;_ecacc =_fd .TraceToDirectObject (_ecacc );var _bccag []byte ;if _ebab ,_fcfb :=_ecacc .(*_fd .PdfObjectString );_fcfb {_bccag =_ebab .Bytes ();_fca .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",_bccag );}else if _adfg ,_bba :=_ecacc .(*_fd .PdfObjectStream );_bba {_fca .Log .Trace ("\u0049n\u0064e\u0078\u0065\u0064\u0020\u0073t\u0072\u0065a\u006d\u003a\u0020\u0025\u0073",_ecacc .String ());_fca .Log .Trace ("\u0045\u006e\u0063\u006fde\u0064\u0020\u0028\u0025\u0064\u0029\u0020\u003a\u0020\u0025\u0023\u0020\u0078",len (_adfg .Stream ),_adfg .Stream );_aebe ,_ccef :=_fd .DecodeStream (_adfg );if _ccef !=nil {return nil ,_ccef ;};_fca .Log .Trace ("\u0044e\u0063o\u0064\u0065\u0064\u0020\u0028%\u0064\u0029 \u003a\u0020\u0025\u0020\u0058",len (_aebe ),_aebe );_bccag =_aebe ;}else {_fca .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_ecacc );return nil ,_d .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 (_bccag )< _ecad .Base .GetNumComponents ()*(_ecad .HiVal +1){_fca .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");_fca .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 (_bccag ),_ecad .Base .GetNumComponents (),_ecad .HiVal );}else {_bccag =_bccag [:_ecad .Base .GetNumComponents ()*(_ecad .HiVal +1)];};_ecad ._cfbf =_bccag ;return _ecad ,nil ;};
|
||
|
||
// String returns a string representation of what flags are set.
|
||
func (_fgfa FieldFlag )String ()string {_cgdc :="";if _fgfa ==FieldFlagClear {_cgdc ="\u0043\u006c\u0065a\u0072";return _cgdc ;};if _fgfa &FieldFlagReadOnly > 0{_cgdc +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _fgfa &FieldFlagRequired > 0{_cgdc +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _fgfa &FieldFlagNoExport > 0{_cgdc +="\u007cN\u006f\u0045\u0078\u0070\u006f\u0072t";};if _fgfa &FieldFlagNoToggleToOff > 0{_cgdc +="\u007c\u004e\u006f\u0054\u006f\u0067\u0067\u006c\u0065T\u006f\u004f\u0066\u0066";};if _fgfa &FieldFlagRadio > 0{_cgdc +="\u007c\u0052\u0061\u0064\u0069\u006f";};if _fgfa &FieldFlagPushbutton > 0{_cgdc +="|\u0050\u0075\u0073\u0068\u0062\u0075\u0074\u0074\u006f\u006e";};if _fgfa &FieldFlagRadiosInUnision > 0{_cgdc +="\u007c\u0052a\u0064\u0069\u006fs\u0049\u006e\u0055\u006e\u0069\u0073\u0069\u006f\u006e";};if _fgfa &FieldFlagMultiline > 0{_cgdc +="\u007c\u004d\u0075\u006c\u0074\u0069\u006c\u0069\u006e\u0065";};if _fgfa &FieldFlagPassword > 0{_cgdc +="\u007cP\u0061\u0073\u0073\u0077\u006f\u0072d";};if _fgfa &FieldFlagFileSelect > 0{_cgdc +="|\u0046\u0069\u006c\u0065\u0053\u0065\u006c\u0065\u0063\u0074";};if _fgfa &FieldFlagDoNotScroll > 0{_cgdc +="\u007c\u0044\u006fN\u006f\u0074\u0053\u0063\u0072\u006f\u006c\u006c";};if _fgfa &FieldFlagComb > 0{_cgdc +="\u007c\u0043\u006fm\u0062";};if _fgfa &FieldFlagRichText > 0{_cgdc +="\u007cR\u0069\u0063\u0068\u0054\u0065\u0078t";};if _fgfa &FieldFlagDoNotSpellCheck > 0{_cgdc +="\u007c\u0044o\u004e\u006f\u0074S\u0070\u0065\u006c\u006c\u0043\u0068\u0065\u0063\u006b";};if _fgfa &FieldFlagCombo > 0{_cgdc +="\u007c\u0043\u006f\u006d\u0062\u006f";};if _fgfa &FieldFlagEdit > 0{_cgdc +="\u007c\u0045\u0064i\u0074";};if _fgfa &FieldFlagSort > 0{_cgdc +="\u007c\u0053\u006fr\u0074";};if _fgfa &FieldFlagMultiSelect > 0{_cgdc +="\u007c\u004d\u0075l\u0074\u0069\u0053\u0065\u006c\u0065\u0063\u0074";};if _fgfa &FieldFlagCommitOnSelChange > 0{_cgdc +="\u007cC\u006fm\u006d\u0069\u0074\u004f\u006eS\u0065\u006cC\u0068\u0061\u006e\u0067\u0065";};return _gc .Trim (_cgdc ,"\u007c");};
|
||
|
||
// GetContentStream returns the XObject Form's content stream.
|
||
func (_dbdgf *XObjectForm )GetContentStream ()([]byte ,error ){_becfg ,_bbfdb :=_fd .DecodeStream (_dbdgf ._acdg );if _bbfdb !=nil {return nil ,_bbfdb ;};return _becfg ,nil ;};
|
||
|
||
// 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 ){_cdacd ,_gabcbd :=_ab .Open (filePath );if _gabcbd !=nil {_fca .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",_gabcbd );return nil ,_gabcbd ;};defer _cdacd .Close ();return NewPdfFontFromTTF (_cdacd );};func _cgfea (_dcabc *_fd .PdfObjectStream )(*PdfFunctionType0 ,error ){_bbfgb :=&PdfFunctionType0 {};_bbfgb ._bdbf =_dcabc ;_gaedg :=_dcabc .PdfObjectDictionary ;_gcbf ,_dgcga :=_fd .TraceToDirectObject (_gaedg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_fd .PdfObjectArray );if !_dgcga {_fca .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_fce .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 _gcbf .Len ()< 0||_gcbf .Len ()%2!=0{_fca .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_fce .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_bbfgb .NumInputs =_gcbf .Len ()/2;_gcacd ,_ceadg :=_gcbf .ToFloat64Array ();if _ceadg !=nil {return nil ,_ceadg ;};_bbfgb .Domain =_gcacd ;_gcbf ,_dgcga =_fd .TraceToDirectObject (_gaedg .Get ("\u0052\u0061\u006eg\u0065")).(*_fd .PdfObjectArray );if !_dgcga {_fca .Log .Error ("\u0052\u0061\u006e\u0067e \u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_fce .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 _gcbf .Len ()< 0||_gcbf .Len ()%2!=0{return nil ,_fce .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_bbfgb .NumOutputs =_gcbf .Len ()/2;_fagec ,_ceadg :=_gcbf .ToFloat64Array ();if _ceadg !=nil {return nil ,_ceadg ;};_bbfgb .Range =_fagec ;_gcbf ,_dgcga =_fd .TraceToDirectObject (_gaedg .Get ("\u0053\u0069\u007a\u0065")).(*_fd .PdfObjectArray );if !_dgcga {_fca .Log .Error ("\u0053i\u007ae\u0020\u006e\u006f\u0074\u0020s\u0070\u0065c\u0069\u0066\u0069\u0065\u0064");return nil ,_fce .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");};_ccbbe ,_ceadg :=_gcbf .ToIntegerArray ();if _ceadg !=nil {return nil ,_ceadg ;};if len (_ccbbe )!=_bbfgb .NumInputs {_fca .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 ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbfgb .Size =_ccbbe ;_facc ,_dgcga :=_fd .TraceToDirectObject (_gaedg .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065")).(*_fd .PdfObjectInteger );if !_dgcga {_fca .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 ,_fce .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 *_facc !=1&&*_facc !=2&&*_facc !=4&&*_facc !=8&&*_facc !=12&&*_facc !=16&&*_facc !=24&&*_facc !=32{_fca .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",*_facc );return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbfgb .BitsPerSample =int (*_facc );_bbfgb .Order =1;_ebbbe ,_dgcga :=_fd .TraceToDirectObject (_gaedg .Get ("\u004f\u0072\u0064e\u0072")).(*_fd .PdfObjectInteger );if _dgcga {if *_ebbbe !=1&&*_ebbbe !=3{_fca .Log .Error ("\u0049n\u0076a\u006c\u0069\u0064\u0020\u006fr\u0064\u0065r\u0020\u0028\u0025\u0064\u0029",*_ebbbe );return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbfgb .Order =int (*_ebbbe );};_gcbf ,_dgcga =_fd .TraceToDirectObject (_gaedg .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_fd .PdfObjectArray );if _dgcga {_adeg ,_gagg :=_gcbf .ToFloat64Array ();if _gagg !=nil {return nil ,_gagg ;};_bbfgb .Encode =_adeg ;};_gcbf ,_dgcga =_fd .TraceToDirectObject (_gaedg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065")).(*_fd .PdfObjectArray );if _dgcga {_agdd ,_eebbd :=_gcbf .ToFloat64Array ();if _eebbd !=nil {return nil ,_eebbd ;};_bbfgb .Decode =_agdd ;};_gagca ,_ceadg :=_fd .DecodeStream (_dcabc );if _ceadg !=nil {return nil ,_ceadg ;};_bbfgb ._cdgce =_gagca ;return _bbfgb ,nil ;};
|
||
|
||
// ColorToRGB converts a color in Separation colorspace to RGB colorspace.
|
||
func (_aace *PdfColorspaceSpecialSeparation )ColorToRGB (color PdfColor )(PdfColor ,error ){if _aace .AlternateSpace ==nil {return nil ,_fce .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 _aace .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// 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 (_dbdbc DefaultImageHandler )Compress (input *Image ,quality int64 )(*Image ,error ){return input ,nil ;};func (_cdad *PdfReader )newPdfFieldFromIndirectObject (_dagd *_fd .PdfIndirectObject ,_cfagd *PdfField )(*PdfField ,error ){if _daagag ,_debe :=_cdad ._gggcg .GetModelFromPrimitive (_dagd ).(*PdfField );_debe {return _daagag ,nil ;};_caeac ,_fbccd :=_fd .GetDict (_dagd );if !_fbccd {return nil ,_d .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");};_baabf :=NewPdfField ();_baabf ._fbef =_dagd ;_baabf ._fbef .PdfObject =_caeac ;_edga :=false ;if _bbdc ,_dgag :=_fd .GetName (_caeac .Get ("\u0046\u0054"));_dgag {_baabf .FT =_bbdc ;_edga =true ;};_baabf ._fcadd =&_edga ;_baabf .T ,_ =_caeac .Get ("\u0054").(*_fd .PdfObjectString );_baabf .TU ,_ =_caeac .Get ("\u0054\u0055").(*_fd .PdfObjectString );_baabf .TM ,_ =_caeac .Get ("\u0054\u004d").(*_fd .PdfObjectString );_baabf .Ff ,_ =_caeac .Get ("\u0046\u0066").(*_fd .PdfObjectInteger );_baabf .V =_caeac .Get ("\u0056");_baabf .DV =_caeac .Get ("\u0044\u0056");_baabf .AA =_caeac .Get ("\u0041\u0041");if _baabf .FT !=nil {switch *_baabf .FT {case "\u0054\u0078":_cdffe ,_aadba :=_begbg (_caeac );if _aadba !=nil {return nil ,_aadba ;};_cdffe .PdfField =_baabf ;_baabf ._cacd =_cdffe ;case "\u0043\u0068":_ccfe ,_bddgb :=_adca (_caeac );if _bddgb !=nil {return nil ,_bddgb ;};_ccfe .PdfField =_baabf ;_baabf ._cacd =_ccfe ;case "\u0042\u0074\u006e":_edgc ,_gbdd :=_edded (_caeac );if _gbdd !=nil {return nil ,_gbdd ;};_edgc .PdfField =_baabf ;_baabf ._cacd =_edgc ;case "\u0053\u0069\u0067":_gdfa ,_dffbf :=_cdad .newPdfFieldSignatureFromDict (_caeac );if _dffbf !=nil {return nil ,_dffbf ;};_gdfa .PdfField =_baabf ;_baabf ._cacd =_gdfa ;default:_fca .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",*_baabf .FT );return nil ,_fce .New ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079p\u0065");};};if _cfagd !=nil {_baabf .Parent =_cfagd ;};_baabf .Annotations =[]*PdfAnnotationWidget {};if _afeb ,_bdcg :=_fd .GetName (_caeac .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_bdcg {if *_afeb =="\u0057\u0069\u0064\u0067\u0065\u0074"{_cbdgd ,_fbdf :=_cdad .newPdfAnnotationFromIndirectObject (_dagd );if _fbdf !=nil {return nil ,_fbdf ;};_bdcde ,_gbeaf :=_cbdgd .GetContext ().(*PdfAnnotationWidget );if !_gbeaf {return nil ,_fce .New ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0067e\u0074 \u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006fn");};_bdcde ._eaeb =_baabf ;_bdcde .Parent =_baabf ._fbef ;_baabf .Annotations =append (_baabf .Annotations ,_bdcde );return _baabf ,nil ;};};if _ebg ,_cfagf :=_fd .GetArray (_caeac .Get ("\u004b\u0069\u0064\u0073"));_cfagf {_baabf .Kids =[]*PdfField {};for _ ,_abfde :=range _ebg .Elements (){_ggee ,_gbce :=_fd .GetIndirect (_abfde );if !_gbce {_bbbbg ,_fbec :=_fd .GetStream (_abfde );if _fbec &&_bbbbg .PdfObjectDictionary !=nil {_dbabb ,_efdba :=_fd .GetNameVal (_bbbbg .Get ("\u0054\u0079\u0070\u0065"));if _efdba &&_dbabb =="\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061"{_fca .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 ,_fce .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");};_caac ,_dccd :=_fd .GetDict (_ggee );if !_dccd {return nil ,ErrTypeCheck ;};_ ,_dcbbd :=_fd .GetName (_caac .Get ("\u0046\u0054"));if _aagbd ,_ggced :=_fd .GetName (_caac .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_ggced &&!_dcbbd &&*_aagbd =="\u0057\u0069\u0064\u0067\u0065\u0074"{_abeb ,_dcfaa :=_cdad .newPdfAnnotationFromIndirectObject (_ggee );if _dcfaa !=nil {_fca .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",_dcfaa );return nil ,_dcfaa ;};_bgca ,_gbgd :=_abeb ._ccd .(*PdfAnnotationWidget );if !_gbgd {return nil ,ErrTypeCheck ;};_bgca ._eaeb =_baabf ;_baabf .Annotations =append (_baabf .Annotations ,_bgca );}else {_fgdb ,_eadg :=_cdad .newPdfFieldFromIndirectObject (_ggee ,_baabf );if _eadg !=nil {_fca .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",_eadg );return nil ,_eadg ;};_baabf .Kids =append (_baabf .Kids ,_fgdb );};};};return _baabf ,nil ;};func (_egbef *XObjectImage )getParamsDict ()*_fd .PdfObjectDictionary {_bdgf :=_fd .MakeDict ();_bdgf .Set ("\u0057\u0069\u0064t\u0068",_fd .MakeInteger (*_egbef .Width ));_bdgf .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_fd .MakeInteger (*_egbef .Height ));_bdgf .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_fd .MakeInteger (int64 (_egbef .ColorSpace .GetNumComponents ())));_bdgf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_fd .MakeInteger (*_egbef .BitsPerComponent ));return _bdgf ;};
|
||
|
||
// GetNumComponents returns the number of color components of the underlying
|
||
// colorspace device.
|
||
func (_gebb *PdfColorspaceSpecialPattern )GetNumComponents ()int {return _gebb .UnderlyingCS .GetNumComponents ();};
|
||
|
||
// ColorToRGB converts a CMYK32 color to an RGB color.
|
||
func (_decf *PdfColorspaceDeviceCMYK )ColorToRGB (color PdfColor )(PdfColor ,error ){_cbfa ,_cddbb :=color .(*PdfColorDeviceCMYK );if !_cddbb {_fca .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 ,_fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dcbg :=_cbfa .C ();_gabc :=_cbfa .M ();_bffcd :=_cbfa .Y ();_cfgcf :=_cbfa .K ();_dcbg =_dcbg *(1-_cfgcf )+_cfgcf ;_gabc =_gabc *(1-_cfgcf )+_cfgcf ;_bffcd =_bffcd *(1-_cfgcf )+_cfgcf ;_gbbe :=1-_dcbg ;_baac :=1-_gabc ;_cedc :=1-_bffcd ;return NewPdfColorDeviceRGB (_gbbe ,_baac ,_cedc ),nil ;};
|
||
|
||
// NewPdfActionTrans returns a new "trans" action.
|
||
func NewPdfActionTrans ()*PdfActionTrans {_fgg :=NewPdfAction ();_aad :=&PdfActionTrans {};_aad .PdfAction =_fgg ;_fgg .SetContext (_aad );return _aad ;};
|
||
|
||
// NewPdfActionLaunch returns a new "launch" action.
|
||
func NewPdfActionLaunch ()*PdfActionLaunch {_eaa :=NewPdfAction ();_cfb :=&PdfActionLaunch {};_cfb .PdfAction =_eaa ;_eaa .SetContext (_cfb );return _cfb ;};
|
||
|
||
// 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 (_bdabc *PdfReader )RepairAcroForm (opts *AcroFormRepairOptions )error {var _fdfa []*PdfField ;_fbgbf :=map[*_fd .PdfIndirectObject ]struct{}{};for _ ,_dbfgd :=range _bdabc .PageList {_ddfc ,_eddaa :=_dbfgd .GetAnnotations ();if _eddaa !=nil {return _eddaa ;};for _ ,_caaaba :=range _ddfc {var _aacf *PdfField ;switch _adbfgc :=_caaaba .GetContext ().(type ){case *PdfAnnotationWidget :if _adbfgc ._eaeb !=nil {_aacf =_adbfgc ._eaeb ;break ;};if _ggecfg ,_dgdgf :=_fd .GetIndirect (_adbfgc .Parent );_dgdgf {_aacf ,_eddaa =_bdabc .newPdfFieldFromIndirectObject (_ggecfg ,nil );if _eddaa ==nil {break ;};_fca .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",_ggecfg ,_eddaa );};if _adbfgc ._defg !=nil {_aacf ,_eddaa =_bdabc .newPdfFieldFromIndirectObject (_adbfgc ._defg ,nil );if _eddaa ==nil {break ;};_fca .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",_adbfgc ._defg ,_eddaa );};};if _aacf ==nil {continue ;};if _ ,_cffc :=_fbgbf [_aacf ._fbef ];_cffc {continue ;};_fbgbf [_aacf ._fbef ]=struct{}{};_fdfa =append (_fdfa ,_aacf );};};if len (_fdfa )==0{return nil ;};if _bdabc .AcroForm ==nil {_bdabc .AcroForm =NewPdfAcroForm ();};_bdabc .AcroForm .Fields =&_fdfa ;return nil ;};
|
||
|
||
// 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 (_fafab byte )byte ;
|
||
|
||
// SetPdfKeywords sets the Keywords attribute of the output PDF.
|
||
func SetPdfKeywords (keywords string ){_ggeee =keywords };
|
||
|
||
// ToPdfOutlineItem returns a low level PdfOutlineItem object,
|
||
// based on the current instance.
|
||
func (_ffffc *OutlineItem )ToPdfOutlineItem ()(*PdfOutlineItem ,int64 ){_ecddf :=NewPdfOutlineItem ();_ecddf .Title =_fd .MakeEncodedString (_ffffc .Title ,true );_ecddf .Dest =_ffffc .Dest .ToPdfObject ();var _gddd []*PdfOutlineItem ;var _fbcd int64 ;var _gcebg *PdfOutlineItem ;for _ ,_febcf :=range _ffffc .Entries {_feaa ,_cdea :=_febcf .ToPdfOutlineItem ();_feaa .Parent =&_ecddf .PdfOutlineTreeNode ;if _gcebg !=nil {_gcebg .Next =&_feaa .PdfOutlineTreeNode ;_feaa .Prev =&_gcebg .PdfOutlineTreeNode ;};_gddd =append (_gddd ,_feaa );_fbcd +=_cdea ;_gcebg =_feaa ;};_gebaf :=len (_gddd );_fbcd +=int64 (_gebaf );if _gebaf > 0{_ecddf .First =&_gddd [0].PdfOutlineTreeNode ;_ecddf .Last =&_gddd [_gebaf -1].PdfOutlineTreeNode ;_ecddf .Count =&_fbcd ;};return _ecddf ,_fbcd ;};func _cfadfb (_accbb *PdfPage ){_gdfbg :=_aa .GetLicenseKey ();if _gdfbg !=nil &&_gdfbg .IsLicensed (){return ;};_cdcbd :=_fd .PdfObjectName ("\u0055\u0046\u0031");if !_accbb .Resources .HasFontByName (_cdcbd ){_accbb .Resources .SetFontByName (_cdcbd ,DefaultFont ().ToPdfObject ());};var _fbbba []string ;_fbbba =append (_fbbba ,"\u0071");_fbbba =append (_fbbba ,"\u0042\u0054");_fbbba =append (_fbbba ,_d .Sprintf ("\u002f%\u0073\u0020\u0031\u0034\u0020\u0054f",_cdcbd .String ()));_fbbba =append (_fbbba ,"\u0031\u0020\u0030\u0020\u0030\u0020\u0072\u0067");_fbbba =append (_fbbba ,"\u0031\u0030\u0020\u0031\u0030\u0020\u0054\u0064");_ffbdc :="\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";_fbbba =append (_fbbba ,_d .Sprintf ("\u0028%\u0073\u0029\u0020\u0054\u006a",_ffbdc ));_fbbba =append (_fbbba ,"\u0045\u0054");_fbbba =append (_fbbba ,"\u0051");_daddd :=_gc .Join (_fbbba ,"\u000a");_accbb .AddContentStreamByString (_daddd );_accbb .ToPdfObject ();};
|
||
|
||
// GetPatternByName gets the pattern specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_bgff *PdfPageResources )GetPatternByName (keyName _fd .PdfObjectName )(*PdfPattern ,bool ){if _bgff .Pattern ==nil {return nil ,false ;};_bacfb ,_ddbc :=_fd .TraceToDirectObject (_bgff .Pattern ).(*_fd .PdfObjectDictionary );if !_ddbc {_fca .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",_bgff .Pattern );return nil ,false ;};if _dcaea :=_bacfb .Get (keyName );_dcaea !=nil {_aggdd ,_ffcee :=_bfabga (_dcaea );if _ffcee !=nil {_fca .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",_ffcee );return nil ,false ;};return _aggdd ,true ;};return nil ,false ;};func (_cfge *PdfReader )newPdfAnnotationLineFromDict (_gddgd *_fd .PdfObjectDictionary )(*PdfAnnotationLine ,error ){_dbbf :=PdfAnnotationLine {};_gfc ,_bdddc :=_cfge .newPdfAnnotationMarkupFromDict (_gddgd );if _bdddc !=nil {return nil ,_bdddc ;};_dbbf .PdfAnnotationMarkup =_gfc ;_dbbf .L =_gddgd .Get ("\u004c");_dbbf .BS =_gddgd .Get ("\u0042\u0053");_dbbf .LE =_gddgd .Get ("\u004c\u0045");_dbbf .IC =_gddgd .Get ("\u0049\u0043");_dbbf .LL =_gddgd .Get ("\u004c\u004c");_dbbf .LLE =_gddgd .Get ("\u004c\u004c\u0045");_dbbf .Cap =_gddgd .Get ("\u0043\u0061\u0070");_dbbf .IT =_gddgd .Get ("\u0049\u0054");_dbbf .LLO =_gddgd .Get ("\u004c\u004c\u004f");_dbbf .CP =_gddgd .Get ("\u0043\u0050");_dbbf .Measure =_gddgd .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");_dbbf .CO =_gddgd .Get ("\u0043\u004f");return &_dbbf ,nil ;};
|
||
|
||
// NewXObjectFormFromStream builds the Form XObject from a stream object.
|
||
// TODO: Should this be exposed? Consider different access points.
|
||
func NewXObjectFormFromStream (stream *_fd .PdfObjectStream )(*XObjectForm ,error ){_bfgec :=&XObjectForm {};_bfgec ._acdg =stream ;_ecea :=*(stream .PdfObjectDictionary );_addcf ,_cbff :=_fd .NewEncoderFromStream (stream );if _cbff !=nil {return nil ,_cbff ;};_bfgec .Filter =_addcf ;if _ceeaf :=_ecea .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_ceeaf !=nil {_fcaa ,_deac :=_ceeaf .(*_fd .PdfObjectName );if !_deac {return nil ,_fce .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if *_fcaa !="\u0046\u006f\u0072\u006d"{_fca .Log .Debug ("I\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");return nil ,_fce .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");};};if _fdgag :=_ecea .Get ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065");_fdgag !=nil {_bfgec .FormType =_fdgag ;};if _eacfd :=_ecea .Get ("\u0042\u0042\u006f\u0078");_eacfd !=nil {_bfgec .BBox =_eacfd ;};if _egagg :=_ecea .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_egagg !=nil {_bfgec .Matrix =_egagg ;};if _bdad :=_ecea .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_bdad !=nil {_bdad =_fd .TraceToDirectObject (_bdad );_cgcba ,_gfbgef :=_bdad .(*_fd .PdfObjectDictionary );if !_gfbgef {_fca .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 ,_fd .ErrTypeError ;};_degae ,_gceed :=NewPdfPageResourcesFromDict (_cgcba );if _gceed !=nil {_fca .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 ,_gceed ;};_bfgec .Resources =_degae ;_fca .Log .Trace ("\u0046\u006f\u0072\u006d r\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u003a\u0020\u0025\u0023\u0076",_bfgec .Resources );};_bfgec .Group =_ecea .Get ("\u0047\u0072\u006fu\u0070");_bfgec .Ref =_ecea .Get ("\u0052\u0065\u0066");_bfgec .MetaData =_ecea .Get ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061");_bfgec .PieceInfo =_ecea .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_bfgec .LastModified =_ecea .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_bfgec .StructParent =_ecea .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_bfgec .StructParents =_ecea .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_bfgec .OPI =_ecea .Get ("\u004f\u0050\u0049");_bfgec .OC =_ecea .Get ("\u004f\u0043");_bfgec .Name =_ecea .Get ("\u004e\u0061\u006d\u0065");_bfgec .Stream =stream .Stream ;return _bfgec ,nil ;};func _gabcba (_dadfe _fd .PdfObject )(*PdfPageResourcesColorspaces ,error ){_gedf :=&PdfPageResourcesColorspaces {};if _fdbg ,_ggcg :=_dadfe .(*_fd .PdfIndirectObject );_ggcg {_gedf ._eeaafd =_fdbg ;_dadfe =_fdbg .PdfObject ;};_gaecf ,_aaced :=_fd .GetDict (_dadfe );if !_aaced {return nil ,_fce .New ("\u0043\u0053\u0020at\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_gedf .Names =[]string {};_gedf .Colorspaces =map[string ]PdfColorspace {};for _ ,_decb :=range _gaecf .Keys (){_gadc :=_gaecf .Get (_decb );_gedf .Names =append (_gedf .Names ,string (_decb ));_cbfb ,_cgfeaf :=NewPdfColorspaceFromPdfObject (_gadc );if _cgfeaf !=nil {return nil ,_cgfeaf ;};_gedf .Colorspaces [string (_decb )]=_cbfb ;};return _gedf ,nil ;};
|
||
|
||
// ToPdfObject returns the button field dictionary within an indirect object.
|
||
func (_gdga *PdfFieldButton )ToPdfObject ()_fd .PdfObject {_gdga .PdfField .ToPdfObject ();_fded :=_gdga ._fbef ;_fbbb :=_fded .PdfObject .(*_fd .PdfObjectDictionary );_fbbb .Set ("\u0046\u0054",_fd .MakeName ("\u0042\u0074\u006e"));if _gdga .Opt !=nil {_fbbb .Set ("\u004f\u0070\u0074",_gdga .Opt );};return _fded ;};
|
||
|
||
// 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 (_ddfgc *PdfReader )CheckAccessRights (password []byte )(bool ,_ce .Permissions ,error ){return _ddfgc ._egbge .CheckAccessRights (password );};
|
||
|
||
// ToPdfObject returns an indirect object containing the signature field dictionary.
|
||
func (_daaeg *PdfFieldSignature )ToPdfObject ()_fd .PdfObject {if _daaeg .PdfAnnotationWidget !=nil {_daaeg .PdfAnnotationWidget .ToPdfObject ();};_daaeg .PdfField .ToPdfObject ();_dbag :=_daaeg ._fbef ;_gcead :=_dbag .PdfObject .(*_fd .PdfObjectDictionary );_gcead .SetIfNotNil ("\u0046\u0054",_fd .MakeName ("\u0053\u0069\u0067"));_gcead .SetIfNotNil ("\u004c\u006f\u0063\u006b",_daaeg .Lock );_gcead .SetIfNotNil ("\u0053\u0056",_daaeg .SV );if _daaeg .V !=nil {_gcead .SetIfNotNil ("\u0056",_daaeg .V .ToPdfObject ());};return _dbag ;};
|
||
|
||
// 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 ;_befef PdfModel ;_bfcg _fd .PdfObject ;};
|
||
|
||
// NewPdfActionRendition returns a new "rendition" action.
|
||
func NewPdfActionRendition ()*PdfActionRendition {_cb :=NewPdfAction ();_afd :=&PdfActionRendition {};_afd .PdfAction =_cb ;_cb .SetContext (_afd );return _afd ;};func _ccega (_gfeafg []rune ,_eddg map[rune ]int ,_geecf map[rune ]_aaf .GID )*_fd .PdfObjectArray {_dddef :=&_fd .PdfObjectArray {};for _ffbd :=0;_ffbd < len (_gfeafg );{_cgea :=_eddg [_gfeafg [_ffbd ]];_gedc :=_ffbd ;for _gefeg :=_ffbd +1;_gefeg < len (_gfeafg );_gefeg ++{_agaac :=_eddg [_gfeafg [_gefeg ]];if _cgea ==_agaac {_gedc =_gefeg ;}else {break ;};};_gdabba :=_geecf [_gfeafg [_ffbd ]];_gfffg :=_geecf [_gfeafg [_gedc ]];_dddef .Append (_fd .MakeInteger (int64 (_gdabba )));_dddef .Append (_fd .MakeInteger (int64 (_gfffg )));_dddef .Append (_fd .MakeInteger (int64 (_cgea )));_ffbd =_gedc +1;};return _dddef ;};
|
||
|
||
// SetReason sets the `Reason` field of the signature.
|
||
func (_aeeac *PdfSignature )SetReason (reason string ){_aeeac .Reason =_fd .MakeString (reason )};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fcad *PdfAnnotationWidget )ToPdfObject ()_fd .PdfObject {_fcad .PdfAnnotation .ToPdfObject ();_dbbd :=_fcad ._defg ;_efaa :=_dbbd .PdfObject .(*_fd .PdfObjectDictionary );if _fcad ._bcc {return _dbbd ;};_fcad ._bcc =true ;_efaa .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0057\u0069\u0064\u0067\u0065\u0074"));_efaa .SetIfNotNil ("\u0048",_fcad .H );_efaa .SetIfNotNil ("\u004d\u004b",_fcad .MK );_efaa .SetIfNotNil ("\u0041",_fcad .A );_efaa .SetIfNotNil ("\u0041\u0041",_fcad .AA );_efaa .SetIfNotNil ("\u0042\u0053",_fcad .BS );_aeff :=_fcad .Parent ;if _fcad ._eaeb !=nil {if _fcad ._eaeb ._fbef ==_fcad ._defg {_fcad ._eaeb .ToPdfObject ();};_aeff =_fcad ._eaeb .GetContainingPdfObject ();};if _aeff !=_dbbd {_efaa .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_aeff );};_fcad ._bcc =false ;return _dbbd ;};
|
||
|
||
// 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 (_egag *PdfFont )GetCharMetrics (code _gf .CharCode )(CharMetrics ,bool ){var _gecegd _aaf .CharMetrics ;switch _gebae :=_egag ._bbaa .(type ){case *pdfFontSimple :if _acce ,_dfc :=_gebae .GetCharMetrics (code );_dfc {return _acce ,_dfc ;};case *pdfFontType0 :if _acbf ,_fgda :=_gebae .GetCharMetrics (code );_fgda {return _acbf ,_fgda ;};case *pdfCIDFontType0 :if _ccdff ,_dbdcb :=_gebae .GetCharMetrics (code );_dbdcb {return _ccdff ,_dbdcb ;};case *pdfCIDFontType2 :if _dfaf ,_ceeb :=_gebae .GetCharMetrics (code );_ceeb {return _dfaf ,_ceeb ;};default:_fca .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",_egag ._bbaa );return _gecegd ,false ;};if _fadc ,_bcdfbe :=_egag .GetFontDescriptor ();_bcdfbe ==nil &&_fadc !=nil {return _aaf .CharMetrics {Wx :_fadc ._bcgdc },true ;};_fca .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",_egag );return _gecegd ,false ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the tiling pattern.
|
||
func (_dafe *PdfTilingPattern )ToPdfObject ()_fd .PdfObject {_dafe .PdfPattern .ToPdfObject ();_bffag :=_dafe .getDict ();if _dafe .PaintType !=nil {_bffag .Set ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e",_dafe .PaintType );};if _dafe .TilingType !=nil {_bffag .Set ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_dafe .TilingType );};if _dafe .BBox !=nil {_bffag .Set ("\u0042\u0042\u006f\u0078",_dafe .BBox .ToPdfObject ());};if _dafe .XStep !=nil {_bffag .Set ("\u0058\u0053\u0074e\u0070",_dafe .XStep );};if _dafe .YStep !=nil {_bffag .Set ("\u0059\u0053\u0074e\u0070",_dafe .YStep );};if _dafe .Resources !=nil {_bffag .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_dafe .Resources .ToPdfObject ());};if _dafe .Matrix !=nil {_bffag .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_dafe .Matrix );};return _dafe ._bfcg ;};func (_bbece *PdfWriter )writeBytes (_ecgdd []byte ){if _bbece ._egffc !=nil {return ;};_fdgcd ,_adgda :=_bbece ._gedga .Write (_ecgdd );_bbece ._bdbgg +=int64 (_fdgcd );_bbece ._egffc =_adgda ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cagg *PdfAnnotation3D )ToPdfObject ()_fd .PdfObject {_cagg .PdfAnnotation .ToPdfObject ();_dacb :=_cagg ._defg ;_ccaf :=_dacb .PdfObject .(*_fd .PdfObjectDictionary );_ccaf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0033\u0044"));_ccaf .SetIfNotNil ("\u0033\u0044\u0044",_cagg .T3DD );_ccaf .SetIfNotNil ("\u0033\u0044\u0056",_cagg .T3DV );_ccaf .SetIfNotNil ("\u0033\u0044\u0041",_cagg .T3DA );_ccaf .SetIfNotNil ("\u0033\u0044\u0049",_cagg .T3DI );_ccaf .SetIfNotNil ("\u0033\u0044\u0042",_cagg .T3DB );return _dacb ;};func (_cege *PdfReader )newPdfOutlineItemFromIndirectObject (_gebgg *_fd .PdfIndirectObject )(*PdfOutlineItem ,error ){_eadda ,_feag :=_gebgg .PdfObject .(*_fd .PdfObjectDictionary );if !_feag {return nil ,_d .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");};_fggg :=NewPdfOutlineItem ();_beef :=_eadda .Get ("\u0054\u0069\u0074l\u0065");if _beef ==nil {return nil ,_d .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");};_beedb ,_ffgbb :=_fd .GetString (_beef );if !_ffgbb {return nil ,_d .Errorf ("\u0074\u0069\u0074le\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0054\u0029",_beef );};_fggg .Title =_beedb ;if _bgbegf :=_eadda .Get ("\u0043\u006f\u0075n\u0074");_bgbegf !=nil {_acac ,_aadcg :=_bgbegf .(*_fd .PdfObjectInteger );if !_aadcg {return nil ,_d .Errorf ("\u0063o\u0075\u006e\u0074\u0020n\u006f\u0074\u0020\u0061\u006e \u0069n\u0074e\u0067\u0065\u0072\u0020\u0028\u0025\u0054)",_bgbegf );};_efafg :=int64 (*_acac );_fggg .Count =&_efafg ;};if _gcbg :=_eadda .Get ("\u0044\u0065\u0073\u0074");_gcbg !=nil {_fggg .Dest =_fd .ResolveReference (_gcbg );if !_cege ._ebeae {_caege :=_cege .traverseObjectData (_fggg .Dest );if _caege !=nil {return nil ,_caege ;};};};if _cbceb :=_eadda .Get ("\u0041");_cbceb !=nil {_fggg .A =_fd .ResolveReference (_cbceb );if !_cege ._ebeae {_ebea :=_cege .traverseObjectData (_fggg .A );if _ebea !=nil {return nil ,_ebea ;};};};if _egbde :=_eadda .Get ("\u0053\u0045");_egbde !=nil {_fggg .SE =nil ;};if _afgbf :=_eadda .Get ("\u0043");_afgbf !=nil {_fggg .C =_fd .ResolveReference (_afgbf );};if _gagda :=_eadda .Get ("\u0046");_gagda !=nil {_fggg .F =_fd .ResolveReference (_gagda );};return _fggg ,nil ;};
|
||
|
||
// PdfColorspaceCalGray represents CalGray color space.
|
||
type PdfColorspaceCalGray struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma float64 ;_agcc *_fd .PdfIndirectObject ;};
|
||
|
||
// GetOutlineTree returns the outline tree.
|
||
func (_cfeaf *PdfReader )GetOutlineTree ()*PdfOutlineTreeNode {return _cfeaf ._fbdb };func _cbgg (_cfbaf *XObjectImage )error {if _cfbaf .SMask ==nil {return nil ;};_decfg ,_dbcbf :=_cfbaf .SMask .(*_fd .PdfObjectStream );if !_dbcbf {_fca .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 _fd .ErrTypeError ;};_beaba :=_decfg .PdfObjectDictionary ;_cfdgfff :=_beaba .Get ("\u004d\u0061\u0074t\u0065");if _cfdgfff ==nil {return nil ;};_adfcb ,_cbga :=_aeedf (_cfdgfff .(*_fd .PdfObjectArray ));if _cbga !=nil {return _cbga ;};_eafebd :=_fd .MakeArrayFromFloats ([]float64 {_adfcb });_beaba .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_eafebd );return nil ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_bdcd *PdfColorDeviceRGB )ToInteger (bits int )[3]uint32 {_gcab :=_ff .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_gcab *_bdcd .R ()),uint32 (_gcab *_bdcd .G ()),uint32 (_gcab *_bdcd .B ())};};
|
||
|
||
// AddOutlineTree adds outlines to a PDF file.
|
||
func (_gabeg *PdfWriter )AddOutlineTree (outlineTree *PdfOutlineTreeNode ){_gabeg ._gafg =outlineTree };
|
||
|
||
// PdfActionSetOCGState represents a SetOCGState action.
|
||
type PdfActionSetOCGState struct{*PdfAction ;State _fd .PdfObject ;PreserveRB _fd .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_febdf *PdfShadingType1 )ToPdfObject ()_fd .PdfObject {_febdf .PdfShading .ToPdfObject ();_cdfcb ,_cagdg :=_febdf .getShadingDict ();if _cagdg !=nil {_fca .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 _febdf .Domain !=nil {_cdfcb .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_febdf .Domain );};if _febdf .Matrix !=nil {_cdfcb .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_febdf .Matrix );};if _febdf .Function !=nil {if len (_febdf .Function )==1{_cdfcb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_febdf .Function [0].ToPdfObject ());}else {_feffa :=_fd .MakeArray ();for _ ,_dfeea :=range _febdf .Function {_feffa .Append (_dfeea .ToPdfObject ());};_cdfcb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_feffa );};};return _febdf ._bcgcg ;};
|
||
|
||
// Hasher is the interface that wraps the basic Write method.
|
||
type Hasher interface{Write (_ffbc []byte )(_bdbdc int ,_daef error );};
|
||
|
||
// 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 ;_cded []byte ;_dfec []float64 ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccg *PdfActionMovie )ToPdfObject ()_fd .PdfObject {_ccg .PdfAction .ToPdfObject ();_bgbe :=_ccg ._fgb ;_be :=_bgbe .PdfObject .(*_fd .PdfObjectDictionary );_be .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeMovie )));_be .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e",_ccg .Annotation );_be .SetIfNotNil ("\u0054",_ccg .T );_be .SetIfNotNil ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn",_ccg .Operation );return _bgbe ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cdfea *PdfShadingType7 )ToPdfObject ()_fd .PdfObject {_cdfea .PdfShading .ToPdfObject ();_aedcca ,_fcgca :=_cdfea .getShadingDict ();if _fcgca !=nil {_fca .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 _cdfea .BitsPerCoordinate !=nil {_aedcca .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_cdfea .BitsPerCoordinate );};if _cdfea .BitsPerComponent !=nil {_aedcca .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cdfea .BitsPerComponent );};if _cdfea .BitsPerFlag !=nil {_aedcca .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_cdfea .BitsPerFlag );};if _cdfea .Decode !=nil {_aedcca .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_cdfea .Decode );};if _cdfea .Function !=nil {if len (_cdfea .Function )==1{_aedcca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cdfea .Function [0].ToPdfObject ());}else {_dfbgd :=_fd .MakeArray ();for _ ,_aedce :=range _cdfea .Function {_dfbgd .Append (_aedce .ToPdfObject ());};_aedcca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dfbgd );};};return _cdfea ._bcgcg ;};
|
||
|
||
// PdfAnnotation3D represents 3D annotations.
|
||
// (Section 13.6.2).
|
||
type PdfAnnotation3D struct{*PdfAnnotation ;T3DD _fd .PdfObject ;T3DV _fd .PdfObject ;T3DA _fd .PdfObject ;T3DI _fd .PdfObject ;T3DB _fd .PdfObject ;};func _edda (_bafdb _fd .PdfObject ,_cbaa bool )(*PdfFont ,error ){_dgabc ,_fddfc ,_aafb :=_fdbf (_bafdb );if _aafb !=nil {if _aafb ==ErrType3FontNotSupported ||_aafb ==ErrType1CFontNotSupported {_fefgg ,_ceaf :=_bfdgg (_dgabc ,_fddfc ,nil );if _ceaf !=nil {_fca .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",_fddfc ,_ceaf );return nil ,_aafb ;};return &PdfFont {_bbaa :_fefgg },_aafb ;};return nil ,_aafb ;};_bbagg :=&PdfFont {};switch _fddfc ._ccea {case "\u0054\u0079\u0070e\u0030":if !_cbaa {_fca .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",_fddfc );return nil ,_fce .New ("\u0063\u0079\u0063\u006cic\u0061\u006c\u0020\u0074\u0079\u0070\u0065\u0030\u0020\u006c\u006f\u0061\u0064\u0069n\u0067");};_agaa ,_bgaaff :=_eafgde (_dgabc ,_fddfc );if _bgaaff !=nil {_fca .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",_fddfc ,_bgaaff );return nil ,_bgaaff ;};_bbagg ._bbaa =_agaa ;case "\u0054\u0079\u0070e\u0031","\u0054\u0079\u0070e\u0033","\u004dM\u0054\u0079\u0070\u0065\u0031","\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":var _cecdb *pdfFontSimple ;_cecb ,_ddagg :=_aaf .NewStdFontByName (_aaf .StdFontName (_fddfc ._egfg ));if _ddagg {_bdbcf :=_bcfbb (_cecb );_bbagg ._bbaa =&_bdbcf ;_gbega :=_fd .TraceToDirectObject (_bdbcf .ToPdfObject ());_feeab ,_dcgb ,_eaab :=_fdbf (_gbega );if _eaab !=nil {_fca .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",_fddfc ,_bdbcf );return nil ,_eaab ;};for _ ,_gfbcb :=range _dgabc .Keys (){_feeab .Set (_gfbcb ,_dgabc .Get (_gfbcb ));};_cecdb ,_eaab =_bfdgg (_feeab ,_dcgb ,_bdbcf ._cgdd );if _eaab !=nil {_fca .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",_fddfc ,_bdbcf );return nil ,_eaab ;};_cecdb ._cfcg =_bdbcf ._cfcg ;_cecdb ._gdeba =_bdbcf ._gdeba ;}else {_cecdb ,_aafb =_bfdgg (_dgabc ,_fddfc ,nil );if _aafb !=nil {_fca .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",_fddfc ,_aafb );return nil ,_aafb ;};};_aafb =_cecdb .addEncoding ();if _aafb !=nil {return nil ,_aafb ;};if _ddagg {_cecdb .updateStandard14Font ();};if _ddagg &&_cecdb ._fggbd ==nil &&_cecdb ._cgdd ==nil {_fca .Log .Error ("\u0073\u0069\u006d\u0070\u006c\u0065\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_cecdb );_fca .Log .Error ("\u0066n\u0074\u003d\u0025\u002b\u0076",_cecb );};if len (_cecdb ._cfcg )==0{_fca .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u004e\u006f\u0020\u0077\u0069d\u0074h\u0073.\u0020\u0066\u006f\u006e\u0074\u003d\u0025s",_cecdb );};_bbagg ._bbaa =_cecdb ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030":_cdeba ,_gbgca :=_fdde (_dgabc ,_fddfc );if _gbgca !=nil {_fca .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",_gbgca );return nil ,_gbgca ;};_bbagg ._bbaa =_cdeba ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_abaf ,_ebbe :=_ceeg (_dgabc ,_fddfc );if _ebbe !=nil {_fca .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",_fddfc ,_ebbe );return nil ,_ebbe ;};_bbagg ._bbaa =_abaf ;default:_fca .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",_fddfc );return nil ,_d .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",_fddfc );};return _bbagg ,nil ;};
|
||
|
||
// 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 ){_ceadd ,_bcgcb :=_ab .Open (filePath );if _bcgcb !=nil {_fca .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u006f\u0070\u0065\u006e\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_bcgcb );return nil ,_bcgcb ;};defer _ceadd .Close ();return NewCompositePdfFontFromTTF (_ceadd );};
|
||
|
||
// Width returns the width of `rect`.
|
||
func (_fdeff *PdfRectangle )Width ()float64 {return _ff .Abs (_fdeff .Urx -_fdeff .Llx )};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_fggae pdfFontType0 )GetRuneMetrics (r rune )(_aaf .CharMetrics ,bool ){if _fggae .DescendantFont ==nil {_fca .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",_fggae );return _aaf .CharMetrics {},false ;};return _fggae .DescendantFont .GetRuneMetrics (r );};var (CourierName =_aaf .CourierName ;CourierBoldName =_aaf .CourierBoldName ;CourierObliqueName =_aaf .CourierObliqueName ;CourierBoldObliqueName =_aaf .CourierBoldObliqueName ;HelveticaName =_aaf .HelveticaName ;HelveticaBoldName =_aaf .HelveticaBoldName ;HelveticaObliqueName =_aaf .HelveticaObliqueName ;HelveticaBoldObliqueName =_aaf .HelveticaBoldObliqueName ;SymbolName =_aaf .SymbolName ;ZapfDingbatsName =_aaf .ZapfDingbatsName ;TimesRomanName =_aaf .TimesRomanName ;TimesBoldName =_aaf .TimesBoldName ;TimesItalicName =_aaf .TimesItalicName ;TimesBoldItalicName =_aaf .TimesBoldItalicName ;);func (_cceg *PdfColorspaceCalRGB )String ()string {return "\u0043\u0061\u006c\u0052\u0047\u0042"};
|
||
|
||
// 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 (_ageda *PdfColorspaceCalRGB )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eeaaf ,_dfea :=_fd .GetNumbersAsFloat (objects );if _dfea !=nil {return nil ,_dfea ;};return _ageda .ColorFromFloats (_eeaaf );};
|
||
|
||
// PdfAnnotationLink represents Link annotations.
|
||
// (Section 12.5.6.5 p. 403).
|
||
type PdfAnnotationLink struct{*PdfAnnotation ;A _fd .PdfObject ;Dest _fd .PdfObject ;H _fd .PdfObject ;PA _fd .PdfObject ;QuadPoints _fd .PdfObject ;BS _fd .PdfObject ;_bda *PdfAction ;_beg *PdfReader ;};
|
||
|
||
// 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 ;_adbb *_fd .PdfIndirectObject ;};func (_edg *PdfReader )newPdfActionSetOCGStateFromDict (_cbbg *_fd .PdfObjectDictionary )(*PdfActionSetOCGState ,error ){return &PdfActionSetOCGState {State :_cbbg .Get ("\u0053\u0074\u0061t\u0065"),PreserveRB :_cbbg .Get ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042")},nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for Lab).
|
||
func (_cgfebd *PdfColorLab )GetNumComponents ()int {return 3};
|
||
|
||
// 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 (_cbae *PdfFieldButton )GetType ()ButtonType {_aba :=ButtonTypeCheckbox ;if _cbae .Ff !=nil {if (uint32 (*_cbae .Ff )&FieldFlagPushbutton .Mask ())> 0{_aba =ButtonTypePush ;}else if (uint32 (*_cbae .Ff )&FieldFlagRadio .Mask ())> 0{_aba =ButtonTypeRadio ;};};return _aba ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_cgac *PdfFunctionType2 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_fca .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cfeg :=[]float64 {0.0};if _cgac .C0 !=nil {_cfeg =_cgac .C0 ;};_eefc :=[]float64 {1.0};if _cgac .C1 !=nil {_eefc =_cgac .C1 ;};var _fgfe []float64 ;for _gbeef :=0;_gbeef < len (_cfeg );_gbeef ++{_bgea :=_cfeg [_gbeef ]+_ff .Pow (x [0],_cgac .N )*(_eefc [_gbeef ]-_cfeg [_gbeef ]);_fgfe =append (_fgfe ,_bgea );};return _fgfe ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gaeb *PdfAnnotationSquiggly )ToPdfObject ()_fd .PdfObject {_gaeb .PdfAnnotation .ToPdfObject ();_dgbba :=_gaeb ._defg ;_gbb :=_dgbba .PdfObject .(*_fd .PdfObjectDictionary );_gaeb .PdfAnnotationMarkup .appendToPdfDictionary (_gbb );_gbb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079"));_gbb .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_gaeb .QuadPoints );return _dgbba ;};
|
||
|
||
// GetColorspaceByName returns the colorspace with the specified name from the page resources.
|
||
func (_faade *PdfPageResources )GetColorspaceByName (keyName _fd .PdfObjectName )(PdfColorspace ,bool ){_bgag ,_bacce :=_faade .GetColorspaces ();if _bacce !=nil {_fca .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",_bacce );return nil ,false ;};if _bgag ==nil {return nil ,false ;};_ccag ,_ceegg :=_bgag .Colorspaces [string (keyName )];if !_ceegg {return nil ,false ;};return _ccag ,true ;};
|
||
|
||
// PdfColorspaceDeviceGray represents a grayscale colorspace.
|
||
type PdfColorspaceDeviceGray struct{};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eaad *PdfAnnotationLine )ToPdfObject ()_fd .PdfObject {_eaad .PdfAnnotation .ToPdfObject ();_fgcg :=_eaad ._defg ;_bfce :=_fgcg .PdfObject .(*_fd .PdfObjectDictionary );_eaad .PdfAnnotationMarkup .appendToPdfDictionary (_bfce );_bfce .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u004c\u0069\u006e\u0065"));_bfce .SetIfNotNil ("\u004c",_eaad .L );_bfce .SetIfNotNil ("\u0042\u0053",_eaad .BS );_bfce .SetIfNotNil ("\u004c\u0045",_eaad .LE );_bfce .SetIfNotNil ("\u0049\u0043",_eaad .IC );_bfce .SetIfNotNil ("\u004c\u004c",_eaad .LL );_bfce .SetIfNotNil ("\u004c\u004c\u0045",_eaad .LLE );_bfce .SetIfNotNil ("\u0043\u0061\u0070",_eaad .Cap );_bfce .SetIfNotNil ("\u0049\u0054",_eaad .IT );_bfce .SetIfNotNil ("\u004c\u004c\u004f",_eaad .LLO );_bfce .SetIfNotNil ("\u0043\u0050",_eaad .CP );_bfce .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_eaad .Measure );_bfce .SetIfNotNil ("\u0043\u004f",_eaad .CO );return _fgcg ;};
|
||
|
||
// PdfAnnotationRichMedia represents Rich Media annotations.
|
||
type PdfAnnotationRichMedia struct{*PdfAnnotation ;RichMediaSettings _fd .PdfObject ;RichMediaContent _fd .PdfObject ;};
|
||
|
||
// SetLocation sets the `Location` field of the signature.
|
||
func (_ccggff *PdfSignature )SetLocation (location string ){_ccggff .Location =_fd .MakeString (location );};
|
||
|
||
// Val returns the value of the color.
|
||
func (_gdabb *PdfColorCalGray )Val ()float64 {return float64 (*_gdabb )};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_dcbea *PdfFunctionType2 )ToPdfObject ()_fd .PdfObject {_eege :=_fd .MakeDict ();_eege .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_fd .MakeInteger (2));_ffga :=&_fd .PdfObjectArray {};for _ ,_adcc :=range _dcbea .Domain {_ffga .Append (_fd .MakeFloat (_adcc ));};_eege .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_ffga );if _dcbea .Range !=nil {_aecfb :=&_fd .PdfObjectArray {};for _ ,_cgece :=range _dcbea .Range {_aecfb .Append (_fd .MakeFloat (_cgece ));};_eege .Set ("\u0052\u0061\u006eg\u0065",_aecfb );};if _dcbea .C0 !=nil {_aaeb :=&_fd .PdfObjectArray {};for _ ,_ebgf :=range _dcbea .C0 {_aaeb .Append (_fd .MakeFloat (_ebgf ));};_eege .Set ("\u0043\u0030",_aaeb );};if _dcbea .C1 !=nil {_fgfagb :=&_fd .PdfObjectArray {};for _ ,_accg :=range _dcbea .C1 {_fgfagb .Append (_fd .MakeFloat (_accg ));};_eege .Set ("\u0043\u0031",_fgfagb );};_eege .Set ("\u004e",_fd .MakeFloat (_dcbea .N ));if _dcbea ._ecadf !=nil {_dcbea ._ecadf .PdfObject =_eege ;return _dcbea ._ecadf ;};return _eege ;};func (_cadge *fontFile )parseASCIIPart (_eeae []byte )error {if len (_eeae )< 2||string (_eeae [:2])!="\u0025\u0021"{return _fce .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");};_fcfaf ,_fdefd ,_ebd :=_caega (_eeae );if _ebd !=nil {return _ebd ;};_dfeed :=_gfaf (_fcfaf );_cadge ._edgf =_dfeed ["\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065"];if _cadge ._edgf ==""{_fca .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 _fdefd !=""{_feccca ,_geab :=_eabg (_fdefd );if _geab !=nil {return _geab ;};_dedcc ,_geab :=_gf .NewCustomSimpleTextEncoder (_feccca ,nil );if _geab !=nil {_fca .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",_geab );return nil ;};_cadge ._dfga =_dedcc ;};return nil ;};
|
||
|
||
// NewPdfAnnotationLink returns a new link annotation.
|
||
func NewPdfAnnotationLink ()*PdfAnnotationLink {_dfb :=NewPdfAnnotation ();_cfg :=&PdfAnnotationLink {};_cfg .PdfAnnotation =_dfb ;_dfb .SetContext (_cfg );return _cfg ;};
|
||
|
||
// GetXObjectByName returns the XObject with the specified keyName and the object type.
|
||
func (_dcec *PdfPageResources )GetXObjectByName (keyName _fd .PdfObjectName )(*_fd .PdfObjectStream ,XObjectType ){if _dcec .XObject ==nil {return nil ,XObjectTypeUndefined ;};_affda ,_eacdg :=_fd .TraceToDirectObject (_dcec .XObject ).(*_fd .PdfObjectDictionary );if !_eacdg {_fca .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",_fd .TraceToDirectObject (_dcec .XObject ));return nil ,XObjectTypeUndefined ;};if _aecd :=_affda .Get (keyName );_aecd !=nil {_beeacd ,_fbagg :=_fd .GetStream (_aecd );if !_fbagg {_fca .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",_aecd );return nil ,XObjectTypeUndefined ;};_beade :=_beeacd .PdfObjectDictionary ;_dffbb ,_fbagg :=_fd .TraceToDirectObject (_beade .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065")).(*_fd .PdfObjectName );if !_fbagg {_fca .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",_beade .String ());return nil ,XObjectTypeUndefined ;};if *_dffbb =="\u0049\u006d\u0061g\u0065"{return _beeacd ,XObjectTypeImage ;}else if *_dffbb =="\u0046\u006f\u0072\u006d"{return _beeacd ,XObjectTypeForm ;}else if *_dffbb =="\u0050\u0053"{return _beeacd ,XObjectTypePS ;}else {_fca .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",*_dffbb );return nil ,XObjectTypeUndefined ;};}else {return nil ,XObjectTypeUndefined ;};};
|
||
|
||
// HasExtGState checks whether a font is defined by the specified keyName.
|
||
func (_dbedg *PdfPageResources )HasExtGState (keyName _fd .PdfObjectName )bool {_ ,_febda :=_dbedg .GetFontByName (keyName );return _febda ;};
|
||
|
||
// GetXObjectFormByName returns the XObjectForm with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_fdaed *PdfPageResources )GetXObjectFormByName (keyName _fd .PdfObjectName )(*XObjectForm ,error ){_aaacd ,_cbdb :=_fdaed .GetXObjectByName (keyName );if _aaacd ==nil {return nil ,nil ;};if _cbdb !=XObjectTypeForm {return nil ,_fce .New ("\u006e\u006f\u0074\u0020\u0061\u0020\u0066\u006f\u0072\u006d");};_gfcffa ,_fbfcc :=NewXObjectFormFromStream (_aaacd );if _fbfcc !=nil {return nil ,_fbfcc ;};return _gfcffa ,nil ;};
|
||
|
||
// R returns the value of the red component of the color.
|
||
func (_aeae *PdfColorDeviceRGB )R ()float64 {return float64 (_aeae [0])};
|
||
|
||
// PdfShadingType5 is a Lattice-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType5 struct{*PdfShading ;BitsPerCoordinate *_fd .PdfObjectInteger ;BitsPerComponent *_fd .PdfObjectInteger ;VerticesPerRow *_fd .PdfObjectInteger ;Decode *_fd .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// SetPatternByName sets a pattern resource specified by keyName.
|
||
func (_dbgbb *PdfPageResources )SetPatternByName (keyName _fd .PdfObjectName ,pattern _fd .PdfObject )error {if _dbgbb .Pattern ==nil {_dbgbb .Pattern =_fd .MakeDict ();};_addfg ,_adgc :=_dbgbb .Pattern .(*_fd .PdfObjectDictionary );if !_adgc {return _fd .ErrTypeError ;};_addfg .Set (keyName ,pattern );return nil ;};func (_gedbg *PdfPage )getParentResources ()(*PdfPageResources ,error ){_gdecf :=_gedbg .Parent ;for _gdecf !=nil {_fefge ,_gcabc :=_fd .GetDict (_gdecf );if !_gcabc {_fca .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 ,_fce .New ("i\u006e\u0076\u0061\u006cid\u0020p\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};if _gdee :=_fefge .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_gdee !=nil {_agbe ,_fgdag :=_fd .GetDict (_gdee );if !_fgdag {return nil ,_fce .New ("i\u006e\u0076\u0061\u006cid\u0020r\u0065\u0073\u006f\u0075\u0072c\u0065\u0020\u0064\u0069\u0063\u0074");};_ebbac ,_fgca :=NewPdfPageResourcesFromDict (_agbe );if _fgca !=nil {return nil ,_fgca ;};return _ebbac ,nil ;};_gdecf =_fefge .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dbba *PdfAnnotationFileAttachment )ToPdfObject ()_fd .PdfObject {_dbba .PdfAnnotation .ToPdfObject ();_cafa :=_dbba ._defg ;_bgd :=_cafa .PdfObject .(*_fd .PdfObjectDictionary );_dbba .PdfAnnotationMarkup .appendToPdfDictionary (_bgd );_bgd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074"));_bgd .SetIfNotNil ("\u0046\u0053",_dbba .FS );_bgd .SetIfNotNil ("\u004e\u0061\u006d\u0065",_dbba .Name );return _cafa ;};func _faccc (_cecg *_fd .PdfObjectDictionary )(*PdfTilingPattern ,error ){_affgf :=&PdfTilingPattern {};_cegf :=_cecg .Get ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e");if _cegf ==nil {_fca .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054\u0079\u0070\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_dbbbb ,_bfcb :=_cegf .(*_fd .PdfObjectInteger );if !_bfcb {_fca .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",_cegf );return nil ,_fd .ErrTypeError ;};_affgf .PaintType =_dbbbb ;_cegf =_cecg .Get ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _cegf ==nil {_fca .Log .Debug ("\u0054i\u006ci\u006e\u0067\u0054\u0079\u0070e\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_aeea ,_bfcb :=_cegf .(*_fd .PdfObjectInteger );if !_bfcb {_fca .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",_cegf );return nil ,_fd .ErrTypeError ;};_affgf .TilingType =_aeea ;_cegf =_cecg .Get ("\u0042\u0042\u006f\u0078");if _cegf ==nil {_fca .Log .Debug ("\u0042\u0042\u006fx\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_cegf =_fd .TraceToDirectObject (_cegf );_eedeg ,_bfcb :=_cegf .(*_fd .PdfObjectArray );if !_bfcb {_fca .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",_cegf );return nil ,_fd .ErrTypeError ;};_acgba ,_acfg :=NewPdfRectangle (*_eedeg );if _acfg !=nil {_fca .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_acfg );return nil ,_acfg ;};_affgf .BBox =_acgba ;_cegf =_cecg .Get ("\u0058\u0053\u0074e\u0070");if _cegf ==nil {_fca .Log .Debug ("\u0058\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gaegf ,_acfg :=_fd .GetNumberAsFloat (_cegf );if _acfg !=nil {_fca .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",_gaegf );return nil ,_acfg ;};_affgf .XStep =_fd .MakeFloat (_gaegf );_cegf =_cecg .Get ("\u0059\u0053\u0074e\u0070");if _cegf ==nil {_fca .Log .Debug ("\u0059\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_ggeef ,_acfg :=_fd .GetNumberAsFloat (_cegf );if _acfg !=nil {_fca .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",_ggeef );return nil ,_acfg ;};_affgf .YStep =_fd .MakeFloat (_ggeef );_cegf =_cecg .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");if _cegf ==nil {_fca .Log .Debug ("\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_cecg ,_bfcb =_fd .TraceToDirectObject (_cegf ).(*_fd .PdfObjectDictionary );if !_bfcb {return nil ,_d .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",_cegf );};_gdba ,_acfg :=NewPdfPageResourcesFromDict (_cecg );if _acfg !=nil {return nil ,_acfg ;};_affgf .Resources =_gdba ;if _bgdd :=_cecg .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_bgdd !=nil {_gbcaa ,_bffff :=_bgdd .(*_fd .PdfObjectArray );if !_bffff {_fca .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",_bgdd );return nil ,_fd .ErrTypeError ;};_affgf .Matrix =_gbcaa ;};return _affgf ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 4 for a CMYK32 device.
|
||
func (_bedd *PdfColorspaceDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// ToPdfObject returns the PDF representation of the page resources.
|
||
func (_abbga *PdfPageResources )ToPdfObject ()_fd .PdfObject {_cagdb :=_abbga ._adae ;_cagdb .SetIfNotNil ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_abbga .ExtGState );if _abbga ._bfdgb !=nil {_abbga .ColorSpace =_abbga ._bfdgb .ToPdfObject ();};_cagdb .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_abbga .ColorSpace );_cagdb .SetIfNotNil ("\u0050a\u0074\u0074\u0065\u0072\u006e",_abbga .Pattern );_cagdb .SetIfNotNil ("\u0053h\u0061\u0064\u0069\u006e\u0067",_abbga .Shading );_cagdb .SetIfNotNil ("\u0058O\u0062\u006a\u0065\u0063\u0074",_abbga .XObject );_cagdb .SetIfNotNil ("\u0046\u006f\u006e\u0074",_abbga .Font );_cagdb .SetIfNotNil ("\u0050r\u006f\u0063\u0053\u0065\u0074",_abbga .ProcSet );_cagdb .SetIfNotNil ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",_abbga .Properties );return _cagdb ;};func (_eaaf *PdfReader )newPdfActionGotoEFromDict (_fgd *_fd .PdfObjectDictionary )(*PdfActionGoToE ,error ){_dgb ,_gdg :=_dgd (_fgd .Get ("\u0046"));if _gdg !=nil {return nil ,_gdg ;};return &PdfActionGoToE {D :_fgd .Get ("\u0044"),NewWindow :_fgd .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),T :_fgd .Get ("\u0054"),F :_dgb },nil ;};
|
||
|
||
// PdfColor interface represents a generic color in PDF.
|
||
type PdfColor interface{};
|
||
|
||
// NewPdfColorspaceICCBased returns a new ICCBased colorspace object.
|
||
func NewPdfColorspaceICCBased (N int )(*PdfColorspaceICCBased ,error ){_bbgd :=&PdfColorspaceICCBased {};if N !=1&&N !=3&&N !=4{return nil ,_d .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u0031/\u0033\u002f\u0034\u0029");};_bbgd .N =N ;return _bbgd ,nil ;};
|
||
|
||
// PdfAnnotationWatermark represents Watermark annotations.
|
||
// (Section 12.5.6.22).
|
||
type PdfAnnotationWatermark struct{*PdfAnnotation ;FixedPrint _fd .PdfObject ;};
|
||
|
||
// GetAction returns the PDF action for the annotation link.
|
||
func (_egd *PdfAnnotationLink )GetAction ()(*PdfAction ,error ){if _egd ._bda !=nil {return _egd ._bda ,nil ;};if _egd .A ==nil {return nil ,nil ;};if _egd ._beg ==nil {return nil ,nil ;};_dgaa ,_gee :=_egd ._beg .loadAction (_egd .A );if _gee !=nil {return nil ,_gee ;};_egd ._bda =_dgaa ;return _egd ._bda ,nil ;};
|
||
|
||
// NewPdfActionResetForm returns a new "reset form" action.
|
||
func NewPdfActionResetForm ()*PdfActionResetForm {_gbd :=NewPdfAction ();_fcc :=&PdfActionResetForm {};_fcc .PdfAction =_gbd ;_gbd .SetContext (_fcc );return _fcc ;};
|
||
|
||
// 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 _fd .PdfObjectArray )(*PdfRectangle ,error ){_dbgdc :=PdfRectangle {};if arr .Len ()!=4{return nil ,_fce .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 _aedcea error ;_dbgdc .Llx ,_aedcea =_fd .GetNumberAsFloat (arr .Get (0));if _aedcea !=nil {return nil ,_aedcea ;};_dbgdc .Lly ,_aedcea =_fd .GetNumberAsFloat (arr .Get (1));if _aedcea !=nil {return nil ,_aedcea ;};_dbgdc .Urx ,_aedcea =_fd .GetNumberAsFloat (arr .Get (2));if _aedcea !=nil {return nil ,_aedcea ;};_dbgdc .Ury ,_aedcea =_fd .GetNumberAsFloat (arr .Get (3));if _aedcea !=nil {return nil ,_aedcea ;};return &_dbgdc ,nil ;};
|
||
|
||
// ToPdfObject return the CalGray colorspace as a PDF object (name dictionary).
|
||
func (_fgbgc *PdfColorspaceCalGray )ToPdfObject ()_fd .PdfObject {_aggg :=&_fd .PdfObjectArray {};_aggg .Append (_fd .MakeName ("\u0043a\u006c\u0047\u0072\u0061\u0079"));_gada :=_fd .MakeDict ();if _fgbgc .WhitePoint !=nil {_gada .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_fd .MakeArray (_fd .MakeFloat (_fgbgc .WhitePoint [0]),_fd .MakeFloat (_fgbgc .WhitePoint [1]),_fd .MakeFloat (_fgbgc .WhitePoint [2])));}else {_fca .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 _fgbgc .BlackPoint !=nil {_gada .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_fd .MakeArray (_fd .MakeFloat (_fgbgc .BlackPoint [0]),_fd .MakeFloat (_fgbgc .BlackPoint [1]),_fd .MakeFloat (_fgbgc .BlackPoint [2])));};_gada .Set ("\u0047\u0061\u006dm\u0061",_fd .MakeFloat (_fgbgc .Gamma ));_aggg .Append (_gada );if _fgbgc ._agcc !=nil {_fgbgc ._agcc .PdfObject =_aggg ;return _fgbgc ._agcc ;};return _aggg ;};func _afee (_adbf *fontCommon )*pdfFontType0 {return &pdfFontType0 {fontCommon :*_adbf }};
|
||
|
||
// ToPdfObject converts the pdfFontSimple to its PDF representation for outputting.
|
||
func (_egcb *pdfFontSimple )ToPdfObject ()_fd .PdfObject {if _egcb ._cebf ==nil {_egcb ._cebf =&_fd .PdfIndirectObject {};};_gabcb :=_egcb .baseFields ().asPdfObjectDictionary ("");_egcb ._cebf .PdfObject =_gabcb ;if _egcb .FirstChar !=nil {_gabcb .Set ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r",_egcb .FirstChar );};if _egcb .LastChar !=nil {_gabcb .Set ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072",_egcb .LastChar );};if _egcb .Widths !=nil {_gabcb .Set ("\u0057\u0069\u0064\u0074\u0068\u0073",_egcb .Widths );};if _egcb .Encoding !=nil {_gabcb .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_egcb .Encoding );}else if _egcb ._fggbd !=nil {_dedaa :=_egcb ._fggbd .ToPdfObject ();if _dedaa !=nil {_gabcb .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_dedaa );};};return _egcb ._cebf ;};func (_aafe *PdfReader )newPdfActionSubmitFormFromDict (_afc *_fd .PdfObjectDictionary )(*PdfActionSubmitForm ,error ){_aff ,_cfa :=_dgd (_afc .Get ("\u0046"));if _cfa !=nil {return nil ,_cfa ;};return &PdfActionSubmitForm {F :_aff ,Fields :_afc .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_afc .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// GetPdfName returns the PDF name used to indicate the border style.
|
||
// (Table 166 p. 395).
|
||
func (_fcde *BorderStyle )GetPdfName ()string {switch *_fcde {case BorderStyleSolid :return "\u0053";case BorderStyleDashed :return "\u0044";case BorderStyleBeveled :return "\u0042";case BorderStyleInset :return "\u0049";case BorderStyleUnderline :return "\u0055";};return "";};
|
||
|
||
// 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 ;
|
||
|
||
// ToPdfObject converts date to a PDF string object.
|
||
func (_ccbdb *PdfDate )ToPdfObject ()_fd .PdfObject {_eafgbf :=_d .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",_ccbdb ._bgggb ,_ccbdb ._baced ,_ccbdb ._beffe ,_ccbdb ._dcbba ,_ccbdb ._fbbgf ,_ccbdb ._cfegc ,_ccbdb ._bbeedc ,_ccbdb ._edbcf ,_ccbdb ._eaegd );return _fd .MakeString (_eafgbf );};
|
||
|
||
// PdfShadingType4 is a Free-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType4 struct{*PdfShading ;BitsPerCoordinate *_fd .PdfObjectInteger ;BitsPerComponent *_fd .PdfObjectInteger ;BitsPerFlag *_fd .PdfObjectInteger ;Decode *_fd .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// 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 (_defdf []_fd .PdfObject )([]_fd .PdfObject ,error );};
|
||
|
||
// NewPdfAppender creates a new Pdf appender from a Pdf reader.
|
||
func NewPdfAppender (reader *PdfReader )(*PdfAppender ,error ){_fgf :=&PdfAppender {_ddbg :reader ._eade ,Reader :reader ,_fbgg :reader ._egbge ,_ddag :reader ._caece };_bbgb ,_efc :=_fgf ._ddbg .Seek (0,_fc .SeekEnd );if _efc !=nil {return nil ,_efc ;};_fgf ._gedb =_bbgb ;if _ ,_efc =_fgf ._ddbg .Seek (0,_fc .SeekStart );_efc !=nil {return nil ,_efc ;};_fgf ._bfb ,_efc =NewPdfReader (_fgf ._ddbg );if _efc !=nil {return nil ,_efc ;};for _ ,_bfed :=range _fgf .Reader .GetObjectNums (){if _fgf ._bfbb < _bfed {_fgf ._bfbb =_bfed ;};};_fgf ._fdb =_fgf ._fbgg .GetXrefTable ();_fgf ._bceb =_fgf ._fbgg .GetXrefOffset ();_fgf ._baef =make (map[_fd .PdfObject ]struct{});for _ ,_dabg :=range _fgf ._bfb .PageList {_fgf ._eafg =append (_fgf ._eafg ,_dabg );};_fgf ._daec =make (map[_fd .PdfObject ]int64 );_fgf ._ddgd =make (map[_fd .PdfObject ]struct{});_fgf ._bbce =_fgf ._bfb .AcroForm ;return _fgf ,nil ;};
|
||
|
||
// 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"`;};
|
||
|
||
// 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 (_cfccd *PdfOutlineTreeNode )GetContext ()PdfModel {if _dddee ,_afeaf :=_cfccd ._ccggf .(*PdfOutline );_afeaf {return _dddee ;};if _adaab ,_dffe :=_cfccd ._ccggf .(*PdfOutlineItem );_dffe {return _adaab ;};_fca .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 ;};
|
||
|
||
// BytesToCharcodes converts the bytes in a PDF string to character codes.
|
||
func (_bbbf *PdfFont )BytesToCharcodes (data []byte )[]_gf .CharCode {_fca .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 _gfgbc ,_adec :=_bbbf ._bbaa .(*pdfFontType0 );_adec &&_gfgbc ._cfcce !=nil {if _ecdg ,_ebbaff :=_gfgbc .bytesToCharcodes (data );_ebbaff {return _ecdg ;};};_dabgc :=make ([]_gf .CharCode ,0,len (data )+len (data )%2);if _bbbf .baseFields ().isCIDFont (){if len (data )==1{data =[]byte {0,data [0]};};if len (data )%2!=0{_fca .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 _fbcca :=0;_fbcca < len (data );_fbcca +=2{_gdgb :=uint16 (data [_fbcca ])<<8|uint16 (data [_fbcca +1]);_dabgc =append (_dabgc ,_gf .CharCode (_gdgb ));};}else {for _ ,_abedb :=range data {_dabgc =append (_dabgc ,_gf .CharCode (_abedb ));};};return _dabgc ;};
|
||
|
||
// DefaultFont returns the default font, which is currently the built in Helvetica.
|
||
func DefaultFont ()*PdfFont {_begec ,_fbaf :=_aaf .NewStdFontByName (HelveticaName );if !_fbaf {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");};_gedg :=_bcfbb (_begec );return &PdfFont {_bbaa :&_gedg };};
|
||
|
||
// ToJBIG2Image converts current image to the core.JBIG2Image.
|
||
func (_gfbfc *Image )ToJBIG2Image ()(*_fd .JBIG2Image ,error ){_daga ,_feadd :=_gfbfc .ToGoImage ();if _feadd !=nil {return nil ,_feadd ;};return _fd .GoImageToJBIG2 (_daga ,_fd .JB2ImageAutoThreshold );};
|
||
|
||
// PdfDate represents a date, which is a PDF string of the form:
|
||
// (D:YYYYMMDDHHmmSSOHH'mm)
|
||
type PdfDate struct{_bgggb int64 ;_baced int64 ;_beffe int64 ;_dcbba int64 ;_fbbgf int64 ;_cfegc int64 ;_bbeedc byte ;_edbcf int64 ;_eaegd int64 ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for grayscale).
|
||
func (_eefa *PdfColorDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_cfbge *PdfSignature )GetContainingPdfObject ()_fd .PdfObject {return _cfbge ._bcbba };
|
||
|
||
// SetBorderWidth sets the style's border width.
|
||
func (_eadf *PdfBorderStyle )SetBorderWidth (width float64 ){_eadf .W =&width };
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (3 for rgb).
|
||
func (_bfbba *PdfColorspaceDeviceRGB )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cggc ,_gefe :=_fd .GetNumbersAsFloat (objects );if _gefe !=nil {return nil ,_gefe ;};return _bfbba .ColorFromFloats (_cggc );};
|
||
|
||
// PdfActionThread represents a thread action.
|
||
type PdfActionThread struct{*PdfAction ;F *PdfFilespec ;D _fd .PdfObject ;B _fd .PdfObject ;};
|
||
|
||
// GetContainingPdfObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_bfecf *PdfPage )GetContainingPdfObject ()_fd .PdfObject {return _bfecf ._debfd };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fcf *PdfActionLaunch )ToPdfObject ()_fd .PdfObject {_fcf .PdfAction .ToPdfObject ();_eee :=_fcf ._fgb ;_cae :=_eee .PdfObject .(*_fd .PdfObjectDictionary );_cae .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeLaunch )));if _fcf .F !=nil {_cae .Set ("\u0046",_fcf .F .ToPdfObject ());};_cae .SetIfNotNil ("\u0057\u0069\u006e",_fcf .Win );_cae .SetIfNotNil ("\u004d\u0061\u0063",_fcf .Mac );_cae .SetIfNotNil ("\u0055\u006e\u0069\u0078",_fcf .Unix );_cae .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_fcf .NewWindow );return _eee ;};func (_accc PdfFont )actualFont ()pdfFont {if _accc ._bbaa ==nil {_fca .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",_accc );};return _accc ._bbaa ;};var _ _fd .PdfObject =&pdfSignDictionary {};
|
||
|
||
// GetRuneMetrics returns the character metrics for the rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_fecg pdfFontSimple )GetRuneMetrics (r rune )(_aaf .CharMetrics ,bool ){if _fecg ._gdeba !=nil {_dbbb ,_gafd :=_fecg ._gdeba [r ];if _gafd {return _dbbb ,true ;};};_cgegd :=_fecg .Encoder ();if _cgegd ==nil {_fca .Log .Debug ("\u004e\u006f\u0020en\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0073\u003d\u0025\u0073",_fecg );return _aaf .CharMetrics {},false ;};_gfec ,_degc :=_cgegd .RuneToCharcode (r );if !_degc {if r !=' '{_fca .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 ,_fecg );};return _aaf .CharMetrics {},false ;};_gbece ,_abcd :=_fecg .GetCharMetrics (_gfec );return _gbece ,_abcd ;};func _eafgde (_caeaf *_fd .PdfObjectDictionary ,_cefg *fontCommon )(*pdfFontType0 ,error ){_fdgc ,_abcfb :=_fd .GetArray (_caeaf .Get ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073"));if !_abcfb {_fca .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",_cefg );return nil ,_fd .ErrRangeError ;};if _fdgc .Len ()!=1{_fca .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",_fdgc .Len ());return nil ,_fd .ErrRangeError ;};_dcdgd ,_eadaa :=_edda (_fdgc .Get (0),false );if _eadaa !=nil {_fca .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",_eadaa ,_cefg );return nil ,_eadaa ;};_fadce :=_afee (_cefg );_fadce .DescendantFont =_dcdgd ;_accdf ,_abcfb :=_fd .GetNameVal (_caeaf .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _abcfb {if _accdf =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"||_accdf =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0056"{_fadce ._dbbce =_gf .NewIdentityTextEncoder (_accdf );}else if _agg .IsPredefinedCMap (_accdf ){_fadce ._cfcce ,_eadaa =_agg .LoadPredefinedCMap (_accdf );if _eadaa !=nil {_fca .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",_accdf ,_eadaa );};}else {_fca .Log .Debug ("\u0055\u006e\u0068\u0061\u006e\u0064\u006c\u0065\u0064\u0020\u0063\u006da\u0070\u0020\u0025\u0071",_accdf );};};if _bdba :=_dcdgd .baseFields ()._facge ;_bdba !=nil {if _ddfge :=_bdba .Name ();_ddfge =="\u0041d\u006fb\u0065\u002d\u0043\u004e\u0053\u0031\u002d\u0055\u0043\u0053\u0032"||_ddfge =="\u0041\u0064\u006f\u0062\u0065\u002d\u0047\u0042\u0031-\u0055\u0043\u0053\u0032"||_ddfge =="\u0041\u0064\u006f\u0062\u0065\u002d\u004a\u0061\u0070\u0061\u006e\u0031-\u0055\u0043\u0053\u0032"||_ddfge =="\u0041\u0064\u006f\u0062\u0065\u002d\u004b\u006f\u0072\u0065\u0061\u0031-\u0055\u0043\u0053\u0032"{_fadce ._dbbce =_gf .NewCMapEncoder (_accdf ,_fadce ._cfcce ,_bdba );};};return _fadce ,nil ;};
|
||
|
||
// XObjectForm (Table 95 in 8.10.2).
|
||
type XObjectForm struct{Filter _fd .StreamEncoder ;FormType _fd .PdfObject ;BBox _fd .PdfObject ;Matrix _fd .PdfObject ;Resources *PdfPageResources ;Group _fd .PdfObject ;Ref _fd .PdfObject ;MetaData _fd .PdfObject ;PieceInfo _fd .PdfObject ;LastModified _fd .PdfObject ;StructParent _fd .PdfObject ;StructParents _fd .PdfObject ;OPI _fd .PdfObject ;OC _fd .PdfObject ;Name _fd .PdfObject ;
|
||
|
||
// Stream data.
|
||
Stream []byte ;_acdg *_fd .PdfObjectStream ;};
|
||
|
||
// GetPageLabels returns the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_dedeb *PdfReader )GetPageLabels ()(_fd .PdfObject ,error ){_bggac :=_fd .ResolveReference (_dedeb ._bfcbd .Get ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073"));if _bggac ==nil {return nil ,nil ;};if !_dedeb ._ebeae {_fgeeg :=_dedeb .traverseObjectData (_bggac );if _fgeeg !=nil {return nil ,_fgeeg ;};};return _bggac ,nil ;};var _ffeac ="";
|
||
|
||
// PageFromIndirectObject returns the PdfPage and page number for a given indirect object.
|
||
func (_ddgbf *PdfReader )PageFromIndirectObject (ind *_fd .PdfIndirectObject )(*PdfPage ,int ,error ){if len (_ddgbf .PageList )!=len (_ddgbf ._faca ){return nil ,0,_fce .New ("\u0070\u0061\u0067\u0065\u0020\u006c\u0069\u0073\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};for _efefa ,_efaag :=range _ddgbf ._faca {if _efaag ==ind {return _ddgbf .PageList [_efefa ],_efefa +1,nil ;};};return nil ,0,_fce .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// Write writes out the PDF.
|
||
func (_efbc *PdfWriter )Write (writer _fc .Writer )error {_fca .Log .Trace ("\u0057r\u0069\u0074\u0065\u0028\u0029");_agea :=_aa .GetLicenseKey ();if (_agea ==nil ||!_agea .IsLicensed ())&&!_fgfc {_d .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");_d .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 _fce .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 _efbc ._gafg !=nil {_fca .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0054\u0072\u0065\u0065\u003a\u0020\u0025\u002b\u0076",_efbc ._gafg );_cgbb :=_efbc ._gafg .ToPdfObject ();_fca .Log .Trace ("\u004fu\u0074\u006c\u0069\u006e\u0065\u0073\u003a\u0020\u0025\u002b\u0076 \u0028\u0025\u0054\u002c\u0020\u0070\u003a\u0025\u0070\u0029",_cgbb ,_cgbb ,_cgbb );_efbc ._agagg .Set ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073",_cgbb );_faabaa :=_efbc .addObjects (_cgbb );if _faabaa !=nil {return _faabaa ;};};if _efbc ._cfbfa !=nil {_fca .Log .Trace ("\u0057r\u0069t\u0069\u006e\u0067\u0020\u0061c\u0072\u006f \u0066\u006f\u0072\u006d\u0073");_fcbb :=_efbc ._cfbfa .ToPdfObject ();_fca .Log .Trace ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_fcbb );_efbc ._agagg .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_fcbb );_fgafec :=_efbc .addObjects (_fcbb );if _fgafec !=nil {return _fgafec ;};};for _efedf ,_ddfgcd :=range _efbc ._efce {if !_efbc .hasObject (_efedf ){_fca .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",_efedf ,_efedf ,_efedf );for _ ,_cbcff :=range _ddfgcd {for _ ,_eedfd :=range _cbcff .Keys (){_gddgbg :=_cbcff .Get (_eedfd );if _gddgbg ==_efedf {_fca .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");_cbcff .Set (_eedfd ,_fd .MakeNull ());break ;};};};};};_efbc ._agagg .Set ("\u0056e\u0072\u0073\u0069\u006f\u006e",_fd .MakeName (_d .Sprintf ("\u0025\u0064\u002e%\u0064",_efbc ._fddbd ,_efbc ._cecag )));_efbc .copyObjects ();if _efbc ._gegg !=nil {var _dggcd error ;_efbc ._edeb ,_dggcd =_efbc ._gegg .Optimize (_efbc ._edeb );if _dggcd !=nil {return _dggcd ;};_egddbb :=make (map[_fd .PdfObject ]struct{},len (_efbc ._edeb ));for _ ,_eggge :=range _efbc ._edeb {_egddbb [_eggge ]=struct{}{};};_efbc ._fgdfc =_egddbb ;};_efbc ._bdbgg =_efbc ._bddag ;_efbc ._gedga =_e .NewWriter (writer );_fddbe :=_efbc ._fddbd > 1||(_efbc ._fddbd ==1&&_efbc ._cecag > 4);if _efbc ._ccec !=nil {_fddbe =*_efbc ._ccec ;};_fageg :=make (map[_fd .PdfObject ]bool );for _ ,_dbfbe :=range _efbc ._edeb {if _febdfc ,_gbaba :=_dbfbe .(*_fd .PdfObjectStreams );_gbaba {_fddbe =true ;for _ ,_ddbd :=range _febdfc .Elements (){_fageg [_ddbd ]=true ;if _gaedf ,_gadab :=_ddbd .(*_fd .PdfIndirectObject );_gadab {_fageg [_gaedf .PdfObject ]=true ;};};};};if _fddbe &&_efbc ._fddbd ==1&&_efbc ._cecag < 5{_efbc ._cecag =5;};if _efbc ._gfggd {_efbc .writeString ("\u000a");}else {_efbc .writeString (_d .Sprintf ("\u0025\u0025\u0050D\u0046\u002d\u0025\u0064\u002e\u0025\u0064\u000a",_efbc ._fddbd ,_efbc ._cecag ));_efbc .writeString ("\u0025\u00e2\u00e3\u00cf\u00d3\u000a");};_efbc .updateObjectNumbers ();_fca .Log .Trace ("\u0057\u0072\u0069\u0074\u0069\u006e\u0067\u0020\u0025d\u0020\u006f\u0062\u006a",len (_efbc ._edeb ));_efbc ._gace =make (map[int ]crossReference );_efbc ._gace [0]=crossReference {Type :0,ObjectNumber :0,Generation :0xFFFF};if _efbc ._gdeae .ObjectMap !=nil {for _cbded ,_edddg :=range _efbc ._gdeae .ObjectMap {if _cbded ==0{continue ;};if _edddg .XType ==_fd .XrefTypeObjectStream {_gcfaa :=crossReference {Type :2,ObjectNumber :_edddg .OsObjNumber ,Index :_edddg .OsObjIndex };_efbc ._gace [_cbded ]=_gcfaa ;};if _edddg .XType ==_fd .XrefTypeTableEntry {_cgca :=crossReference {Type :1,ObjectNumber :_edddg .ObjectNumber ,Offset :_edddg .Offset };_efbc ._gace [_cbded ]=_cgca ;};};};for _ ,_fbdcf :=range _efbc ._edeb {if _gfdea :=_fageg [_fbdcf ];_gfdea {continue ;};_fcggdf :=int64 (0);switch _cafdg :=_fbdcf .(type ){case *_fd .PdfIndirectObject :_fcggdf =_cafdg .ObjectNumber ;case *_fd .PdfObjectStream :_fcggdf =_cafdg .ObjectNumber ;case *_fd .PdfObjectStreams :_fcggdf =_cafdg .ObjectNumber ;default:_fca .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",_fbdcf );return ErrTypeCheck ;};if _efbc ._cdba !=nil &&_fbdcf !=_efbc ._bgfdd {_fcegf :=_efbc ._cdba .Encrypt (_fbdcf ,int64 (_fcggdf ),0);if _fcegf !=nil {_fca .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",_fcegf );return _fcegf ;};};_efbc .writeObject (int (_fcggdf ),_fbdcf );};_cdgea :=_efbc ._bdbgg ;var _fdecb int ;for _cbeed :=range _efbc ._gace {if _cbeed > _fdecb {_fdecb =_cbeed ;};};if _fddbe {_dddacd :=_fdecb +1;_efbc ._gace [_dddacd ]=crossReference {Type :1,ObjectNumber :_dddacd ,Offset :_cdgea };_feeec :=_bg .NewBuffer (nil );_ggggd :=_fd .MakeArray ();for _becaa :=0;_becaa <=_fdecb ;{for ;_becaa <=_fdecb ;_becaa ++{_edbga ,_baadd :=_efbc ._gace [_becaa ];if _baadd &&(!_efbc ._gfggd ||_efbc ._gfggd &&(_edbga .Type ==1&&_edbga .Offset >=_efbc ._dbdg ||_edbga .Type ==0)){break ;};};var _bgcc int ;for _bgcc =_becaa +1;_bgcc <=_fdecb ;_bgcc ++{_ccecd ,_baabe :=_efbc ._gace [_bgcc ];if _baabe &&(!_efbc ._gfggd ||_efbc ._gfggd &&(_ccecd .Type ==1&&_ccecd .Offset > _efbc ._dbdg )){continue ;};break ;};_ggggd .Append (_fd .MakeInteger (int64 (_becaa )),_fd .MakeInteger (int64 (_bgcc -_becaa )));for _decbd :=_becaa ;_decbd < _bgcc ;_decbd ++{_bgab :=_efbc ._gace [_decbd ];switch _bgab .Type {case 0:_fg .Write (_feeec ,_fg .BigEndian ,byte (0));_fg .Write (_feeec ,_fg .BigEndian ,uint32 (0));_fg .Write (_feeec ,_fg .BigEndian ,uint16 (0xFFFF));case 1:_fg .Write (_feeec ,_fg .BigEndian ,byte (1));_fg .Write (_feeec ,_fg .BigEndian ,uint32 (_bgab .Offset ));_fg .Write (_feeec ,_fg .BigEndian ,uint16 (_bgab .Generation ));case 2:_fg .Write (_feeec ,_fg .BigEndian ,byte (2));_fg .Write (_feeec ,_fg .BigEndian ,uint32 (_bgab .ObjectNumber ));_fg .Write (_feeec ,_fg .BigEndian ,uint16 (_bgab .Index ));};};_becaa =_bgcc +1;};_agcf ,_dbgdb :=_fd .MakeStream (_feeec .Bytes (),_fd .NewFlateEncoder ());if _dbgdb !=nil {return _dbgdb ;};_agcf .ObjectNumber =int64 (_dddacd );_agcf .PdfObjectDictionary .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0058\u0052\u0065\u0066"));_agcf .PdfObjectDictionary .Set ("\u0057",_fd .MakeArray (_fd .MakeInteger (1),_fd .MakeInteger (4),_fd .MakeInteger (2)));_agcf .PdfObjectDictionary .Set ("\u0049\u006e\u0064e\u0078",_ggggd );_agcf .PdfObjectDictionary .Set ("\u0053\u0069\u007a\u0065",_fd .MakeInteger (int64 (_dddacd +1)));_agcf .PdfObjectDictionary .Set ("\u0049\u006e\u0066\u006f",_efbc ._fcacd );_agcf .PdfObjectDictionary .Set ("\u0052\u006f\u006f\u0074",_efbc ._faaba );if _efbc ._gfggd &&_efbc ._cfad > 0{_agcf .PdfObjectDictionary .Set ("\u0050\u0072\u0065\u0076",_fd .MakeInteger (_efbc ._cfad ));};if _efbc ._cdba !=nil {_agcf .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_efbc ._bgfdd );_agcf .Set ("\u0049\u0044",_efbc ._dbcae );_fca .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_efbc ._dbcae );};_efbc .writeObject (int (_agcf .ObjectNumber ),_agcf );}else {_efbc .writeString ("\u0078\u0072\u0065\u0066\u000d\u000a");for _fbecfc :=0;_fbecfc <=_fdecb ;{for ;_fbecfc <=_fdecb ;_fbecfc ++{_aaebc ,_becd :=_efbc ._gace [_fbecfc ];if _becd &&(!_efbc ._gfggd ||_efbc ._gfggd &&(_aaebc .Type ==1&&_aaebc .Offset >=_efbc ._dbdg ||_aaebc .Type ==0)){break ;};};var _ggad int ;for _ggad =_fbecfc +1;_ggad <=_fdecb ;_ggad ++{_fgff ,_dbedc :=_efbc ._gace [_ggad ];if _dbedc &&(!_efbc ._gfggd ||_efbc ._gfggd &&(_fgff .Type ==1&&_fgff .Offset > _efbc ._dbdg )){continue ;};break ;};_egegcd :=_d .Sprintf ("\u0025d\u0020\u0025\u0064\u000d\u000a",_fbecfc ,_ggad -_fbecfc );_efbc .writeString (_egegcd );for _fcab :=_fbecfc ;_fcab < _ggad ;_fcab ++{_acggg :=_efbc ._gace [_fcab ];switch _acggg .Type {case 0:_egegcd =_d .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u0066\u000d\u000a",0,65535);_efbc .writeString (_egegcd );case 1:_egegcd =_d .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u006e\u000d\u000a",_acggg .Offset ,0);_efbc .writeString (_egegcd );};};_fbecfc =_ggad +1;};_aebgf :=_fd .MakeDict ();_aebgf .Set ("\u0049\u006e\u0066\u006f",_efbc ._fcacd );_aebgf .Set ("\u0052\u006f\u006f\u0074",_efbc ._faaba );_aebgf .Set ("\u0053\u0069\u007a\u0065",_fd .MakeInteger (int64 (_fdecb +1)));if _efbc ._gfggd &&_efbc ._cfad > 0{_aebgf .Set ("\u0050\u0072\u0065\u0076",_fd .MakeInteger (_efbc ._cfad ));};if _efbc ._cdba !=nil {_aebgf .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_efbc ._bgfdd );_aebgf .Set ("\u0049\u0044",_efbc ._dbcae );_fca .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_efbc ._dbcae );};_efbc .writeString ("\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u000a");_efbc .writeString (_aebgf .WriteString ());_efbc .writeString ("\u000a");};_fccga :=_d .Sprintf ("\u0073\u0074\u0061\u0072\u0074\u0078\u0072\u0065\u0066\u000a\u0025\u0064\u000a",_cdgea );_efbc .writeString (_fccga );_efbc .writeString ("\u0025\u0025\u0045\u004f\u0046\u000a");if _efbc ._egffc ==nil {_efbc ._egffc =_efbc ._gedga .Flush ();};return _efbc ._egffc ;};
|
||
|
||
// GetAsShadingPattern returns a shading pattern. Check with IsShading() prior to using this.
|
||
func (_babbe *PdfPattern )GetAsShadingPattern ()*PdfShadingPattern {return _babbe ._befef .(*PdfShadingPattern );};
|
||
|
||
// AddExtGState adds a graphics state to the XObject resources.
|
||
func (_ebfb *PdfPage )AddExtGState (name _fd .PdfObjectName ,egs *_fd .PdfObjectDictionary )error {if _ebfb .Resources ==nil {_ebfb .Resources =NewPdfPageResources ();};if _ebfb .Resources .ExtGState ==nil {_ebfb .Resources .ExtGState =_fd .MakeDict ();};_cdca ,_cfda :=_fd .TraceToDirectObject (_ebfb .Resources .ExtGState ).(*_fd .PdfObjectDictionary );if !_cfda {_fca .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",_fd .TraceToDirectObject (_ebfb .Resources .ExtGState ));return _fce .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_cdca .Set (name ,egs );return nil ;};
|
||
|
||
// PdfAnnotationRedact represents Redact annotations.
|
||
// (Section 12.5.6.23).
|
||
type PdfAnnotationRedact struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _fd .PdfObject ;IC _fd .PdfObject ;RO _fd .PdfObject ;OverlayText _fd .PdfObject ;Repeat _fd .PdfObject ;DA _fd .PdfObject ;Q _fd .PdfObject ;};func (_eded *PdfReader )newPdfAnnotationProjectionFromDict (_fccd *_fd .PdfObjectDictionary )(*PdfAnnotationProjection ,error ){_agfc :=&PdfAnnotationProjection {};_febe ,_dab :=_eded .newPdfAnnotationMarkupFromDict (_fccd );if _dab !=nil {return nil ,_dab ;};_agfc .PdfAnnotationMarkup =_febe ;return _agfc ,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";);
|
||
|
||
// GetAllContentStreams gets all the content streams for a page as one string.
|
||
func (_edca *PdfPage )GetAllContentStreams ()(string ,error ){_fbbc ,_gfdeb :=_edca .GetContentStreams ();if _gfdeb !=nil {return "",_gfdeb ;};return _gc .Join (_fbbc ,"\u0020"),nil ;};
|
||
|
||
// BorderEffect represents a border effect (Table 167 p. 395).
|
||
type BorderEffect int ;
|
||
|
||
// ColorToRGB converts an Indexed color to an RGB color.
|
||
func (_eafa *PdfColorspaceSpecialIndexed )ColorToRGB (color PdfColor )(PdfColor ,error ){if _eafa .Base ==nil {return nil ,_fce .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 _eafa .Base .ColorToRGB (color );};
|
||
|
||
// NewPdfActionSubmitForm returns a new "submit form" action.
|
||
func NewPdfActionSubmitForm ()*PdfActionSubmitForm {_edd :=NewPdfAction ();_bd :=&PdfActionSubmitForm {};_bd .PdfAction =_edd ;_edd .SetContext (_bd );return _bd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_add *PdfActionURI )ToPdfObject ()_fd .PdfObject {_add .PdfAction .ToPdfObject ();_ebc :=_add ._fgb ;_ccb :=_ebc .PdfObject .(*_fd .PdfObjectDictionary );_ccb .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeURI )));_ccb .SetIfNotNil ("\u0055\u0052\u0049",_add .URI );_ccb .SetIfNotNil ("\u0049\u0073\u004da\u0070",_add .IsMap );return _ebc ;};
|
||
|
||
// NewPdfActionGoToR returns a new "go to remote" action.
|
||
func NewPdfActionGoToR ()*PdfActionGoToR {_fa :=NewPdfAction ();_egb :=&PdfActionGoToR {};_egb .PdfAction =_fa ;_fa .SetContext (_egb );return _egb ;};
|
||
|
||
// SetNamedDestinations sets the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_baffb *PdfWriter )SetNamedDestinations (names _fd .PdfObject )error {if names ==nil {return nil ;};_fca .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006co\u0067\u0020\u004e\u0061\u006d\u0065\u0073\u002e\u002e\u002e");_baffb ._agagg .Set ("\u004e\u0061\u006de\u0073",names );return _baffb .addObjects (names );};
|
||
|
||
// B returns the value of the blue component of the color.
|
||
func (_debd *PdfColorDeviceRGB )B ()float64 {return float64 (_debd [2])};func _fgcgg ()string {return _fcfc };
|
||
|
||
// NewGrayImageFromGoImage creates a new grayscale unidoc Image from a golang Image.
|
||
func (_ggcc DefaultImageHandler )NewGrayImageFromGoImage (goimg _dg .Image )(*Image ,error ){_eedf :=goimg .Bounds ();_dbbe :=&Image {Width :int64 (_eedf .Dx ()),Height :int64 (_eedf .Dy ()),ColorComponents :1,BitsPerComponent :8};switch _fgfb :=goimg .(type ){case *_dg .Gray :if len (_fgfb .Pix )!=_eedf .Dx ()*_eedf .Dy (){_fbacg ,_bfbaa :=_gd .GrayConverter .Convert (goimg );if _bfbaa !=nil {return nil ,_bfbaa ;};_dbbe .Data =_fbacg .Pix ();}else {_dbbe .Data =_fgfb .Pix ;};case *_dg .Gray16 :_dbbe .BitsPerComponent =16;if len (_fgfb .Pix )!=_eedf .Dx ()*_eedf .Dy ()*2{_ffba ,_eecc :=_gd .Gray16Converter .Convert (goimg );if _eecc !=nil {return nil ,_eecc ;};_dbbe .Data =_ffba .Pix ();}else {_dbbe .Data =_fgfb .Pix ;};default:_faeaab ,_cbbfc :=_gd .GrayConverter .Convert (goimg );if _cbbfc !=nil {return nil ,_cbbfc ;};_dbbe .Data =_faeaab .Pix ();};return _dbbe ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for CalRGB).
|
||
func (_eaeee *PdfColorCalRGB )GetNumComponents ()int {return 3};
|
||
|
||
// NewPdfActionSound returns a new "sound" action.
|
||
func NewPdfActionSound ()*PdfActionSound {_bcd :=NewPdfAction ();_gcc :=&PdfActionSound {};_gcc .PdfAction =_bcd ;_bcd .SetContext (_gcc );return _gcc ;};
|
||
|
||
// HasColorspaceByName checks if the colorspace with the specified name exists in the page resources.
|
||
func (_bafcf *PdfPageResources )HasColorspaceByName (keyName _fd .PdfObjectName )bool {_bddaeg ,_debdda :=_bafcf .GetColorspaces ();if _debdda !=nil {_fca .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",_debdda );return false ;};if _bddaeg ==nil {return false ;};_ ,_fcede :=_bddaeg .Colorspaces [string (keyName )];return _fcede ;};func (_cfaff *PdfWriter )addObjects (_bagdf _fd .PdfObject )error {_fca .Log .Trace ("\u0041d\u0064i\u006e\u0067\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0073\u0021");if _aebd ,_bfcgbg :=_bagdf .(*_fd .PdfIndirectObject );_bfcgbg {_fca .Log .Trace ("\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074");_fca .Log .Trace ("\u002d \u0025\u0073\u0020\u0028\u0025\u0070)",_bagdf ,_aebd );_fca .Log .Trace ("\u002d\u0020\u0025\u0073",_aebd .PdfObject );if _cfaff .addObject (_aebd ){_aacae :=_cfaff .addObjects (_aebd .PdfObject );if _aacae !=nil {return _aacae ;};};return nil ;};if _agaf ,_egfgc :=_bagdf .(*_fd .PdfObjectStream );_egfgc {_fca .Log .Trace ("\u0053\u0074\u0072\u0065\u0061\u006d");_fca .Log .Trace ("\u002d \u0025\u0073\u0020\u0025\u0070",_bagdf ,_bagdf );if _cfaff .addObject (_agaf ){_cgcee :=_cfaff .addObjects (_agaf .PdfObjectDictionary );if _cgcee !=nil {return _cgcee ;};};return nil ;};if _dabd ,_bcbga :=_bagdf .(*_fd .PdfObjectDictionary );_bcbga {_fca .Log .Trace ("\u0044\u0069\u0063\u0074");_fca .Log .Trace ("\u002d\u0020\u0025\u0073",_bagdf );for _ ,_gdfcc :=range _dabd .Keys (){_ceddd :=_dabd .Get (_gdfcc );if _fggf ,_cbbae :=_ceddd .(*_fd .PdfObjectReference );_cbbae {_ceddd =_fggf .Resolve ();_dabd .Set (_gdfcc ,_ceddd );};if _gdfcc !="\u0050\u0061\u0072\u0065\u006e\u0074"{if _cgcdf :=_cfaff .addObjects (_ceddd );_cgcdf !=nil {return _cgcdf ;};}else {if _ ,_befba :=_ceddd .(*_fd .PdfObjectNull );_befba {continue ;};if _ccggd :=_cfaff .hasObject (_ceddd );!_ccggd {_fca .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",_ceddd ,_ceddd ,_ceddd );_cfaff ._efce [_ceddd ]=append (_cfaff ._efce [_ceddd ],_dabd );};};};return nil ;};if _dffca ,_fgeec :=_bagdf .(*_fd .PdfObjectArray );_fgeec {_fca .Log .Trace ("\u0041\u0072\u0072a\u0079");_fca .Log .Trace ("\u002d\u0020\u0025\u0073",_bagdf );if _dffca ==nil {return _fce .New ("\u0061\u0072\u0072a\u0079\u0020\u0069\u0073\u0020\u006e\u0069\u006c");};for _fbbed ,_aeba :=range _dffca .Elements (){if _caegdb ,_bgbdaf :=_aeba .(*_fd .PdfObjectReference );_bgbdaf {_aeba =_caegdb .Resolve ();_dffca .Set (_fbbed ,_aeba );};if _cfdgff :=_cfaff .addObjects (_aeba );_cfdgff !=nil {return _cfdgff ;};};return nil ;};if _ ,_adeag :=_bagdf .(*_fd .PdfObjectReference );_adeag {_fca .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",_bagdf );return _fce .New ("r\u0065\u0066\u0065\u0072en\u0063e\u0020\u006e\u006f\u0074\u0020a\u006c\u006c\u006f\u0077\u0065\u0064");};return nil ;};func (_dedg *PdfReader )newPdfAnnotationPolyLineFromDict (_ecbee *_fd .PdfObjectDictionary )(*PdfAnnotationPolyLine ,error ){_dfbg :=PdfAnnotationPolyLine {};_gdb ,_bafd :=_dedg .newPdfAnnotationMarkupFromDict (_ecbee );if _bafd !=nil {return nil ,_bafd ;};_dfbg .PdfAnnotationMarkup =_gdb ;_dfbg .Vertices =_ecbee .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_dfbg .LE =_ecbee .Get ("\u004c\u0045");_dfbg .BS =_ecbee .Get ("\u0042\u0053");_dfbg .IC =_ecbee .Get ("\u0049\u0043");_dfbg .BE =_ecbee .Get ("\u0042\u0045");_dfbg .IT =_ecbee .Get ("\u0049\u0054");_dfbg .Measure =_ecbee .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_dfbg ,nil ;};func _dgefd (_eccee *_fd .PdfObjectDictionary )(*PdfShadingType5 ,error ){_gfgadg :=PdfShadingType5 {};_agddg :=_eccee .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _agddg ==nil {_fca .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 ;};_eddee ,_bebbe :=_agddg .(*_fd .PdfObjectInteger );if !_bebbe {_fca .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",_agddg );return nil ,_fd .ErrTypeError ;};_gfgadg .BitsPerCoordinate =_eddee ;_agddg =_eccee .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _agddg ==nil {_fca .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 ;};_eddee ,_bebbe =_agddg .(*_fd .PdfObjectInteger );if !_bebbe {_fca .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",_agddg );return nil ,_fd .ErrTypeError ;};_gfgadg .BitsPerComponent =_eddee ;_agddg =_eccee .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077");if _agddg ==nil {_fca .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 ;};_eddee ,_bebbe =_agddg .(*_fd .PdfObjectInteger );if !_bebbe {_fca .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",_agddg );return nil ,_fd .ErrTypeError ;};_gfgadg .VerticesPerRow =_eddee ;_agddg =_eccee .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _agddg ==nil {_fca .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 ;};_gcffe ,_bebbe :=_agddg .(*_fd .PdfObjectArray );if !_bebbe {_fca .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",_agddg );return nil ,_fd .ErrTypeError ;};_gfgadg .Decode =_gcffe ;if _ddgce :=_eccee .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_ddgce !=nil {_gfgadg .Function =[]PdfFunction {};if _gaace ,_ebcfc :=_ddgce .(*_fd .PdfObjectArray );_ebcfc {for _ ,_bgee :=range _gaace .Elements (){_fggbb ,_ffae :=_fagc (_bgee );if _ffae !=nil {_fca .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",_ffae );return nil ,_ffae ;};_gfgadg .Function =append (_gfgadg .Function ,_fggbb );};}else {_efed ,_eebd :=_fagc (_ddgce );if _eebd !=nil {_fca .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",_eebd );return nil ,_eebd ;};_gfgadg .Function =append (_gfgadg .Function ,_efed );};};return &_gfgadg ,nil ;};func (_dfba *PdfWriter )copyObjects (){_ebeab :=make (map[_fd .PdfObject ]_fd .PdfObject );_bfaefd :=make ([]_fd .PdfObject ,0,len (_dfba ._edeb ));_egga :=make (map[_fd .PdfObject ]struct{},len (_dfba ._edeb ));_ebbgfg :=make (map[_fd .PdfObject ]struct{});for _ ,_eaaaf :=range _dfba ._edeb {_egbba :=_dfba .copyObject (_eaaaf ,_ebeab ,_ebbgfg ,false );if _ ,_agcd :=_ebbgfg [_eaaaf ];_agcd {continue ;};_bfaefd =append (_bfaefd ,_egbba );_egga [_egbba ]=struct{}{};};_dfba ._edeb =_bfaefd ;_dfba ._fgdfc =_egga ;_dfba ._fcacd =_dfba .copyObject (_dfba ._fcacd ,_ebeab ,nil ,false ).(*_fd .PdfIndirectObject );_dfba ._faaba =_dfba .copyObject (_dfba ._faaba ,_ebeab ,nil ,false ).(*_fd .PdfIndirectObject );if _dfba ._bgfdd !=nil {_dfba ._bgfdd =_dfba .copyObject (_dfba ._bgfdd ,_ebeab ,nil ,false ).(*_fd .PdfIndirectObject );};if _dfba ._gfggd {_ebfd :=make (map[_fd .PdfObject ]int64 );for _fbfa ,_dcadd :=range _dfba ._febae {if _cdadd ,_dabag :=_ebeab [_fbfa ];_dabag {_ebfd [_cdadd ]=_dcadd ;}else {_fca .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");};};_dfba ._febae =_ebfd ;};};func _aedbg (_gdfcg *fontCommon )*pdfCIDFontType2 {return &pdfCIDFontType2 {fontCommon :*_gdfcg }};func _fcggdb (_cfefd []byte )[]byte {const _fbac =52845;const _baaa =22719;_dgga :=55665;for _ ,_cdgb :=range _cfefd [:4]{_dgga =(int (_cdgb )+_dgga )*_fbac +_baaa ;};_agde :=make ([]byte ,len (_cfefd )-4);for _gffa ,_gagdd :=range _cfefd [4:]{_agde [_gffa ]=byte (int (_gagdd )^_dgga >>8);_dgga =(int (_gagdd )+_dgga )*_fbac +_baaa ;};return _agde ;};
|
||
|
||
// NewPdfPageResourcesColorspaces returns a new PdfPageResourcesColorspaces object.
|
||
func NewPdfPageResourcesColorspaces ()*PdfPageResourcesColorspaces {_ceafb :=&PdfPageResourcesColorspaces {};_ceafb .Names =[]string {};_ceafb .Colorspaces =map[string ]PdfColorspace {};_ceafb ._eeaafd =&_fd .PdfIndirectObject {};return _ceafb ;};
|
||
|
||
// 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 (_agd *PdfColorspaceCalGray )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_becg ,_fbfd :=_fd .GetNumbersAsFloat (objects );if _fbfd !=nil {return nil ,_fbfd ;};return _agd .ColorFromFloats (_becg );};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_babg pdfCIDFontType2 )Encoder ()_gf .TextEncoder {return _babg ._dagf };
|
||
|
||
// IsCID returns true if the underlying font is CID.
|
||
func (_ddbe *PdfFont )IsCID ()bool {return _ddbe .baseFields ().isCIDFont ()};
|
||
|
||
// 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 (_ceae *PdfColorspaceLab )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_affaf ,_efec :=_fd .GetNumbersAsFloat (objects );if _efec !=nil {return nil ,_efec ;};return _ceae .ColorFromFloats (_affaf );};
|
||
|
||
// 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 *_fd .PdfIndirectObject ;SV *_fd .PdfIndirectObject ;};
|
||
|
||
// SetContext sets the sub pattern (context). Either PdfTilingPattern or PdfShadingPattern.
|
||
func (_aaef *PdfPattern )SetContext (ctx PdfModel ){_aaef ._befef =ctx };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gbad *PdfActionGoToR )ToPdfObject ()_fd .PdfObject {_gbad .PdfAction .ToPdfObject ();_bcb :=_gbad ._fgb ;_ba :=_bcb .PdfObject .(*_fd .PdfObjectDictionary );_ba .SetIfNotNil ("\u0053",_fd .MakeName (string (ActionTypeGoToR )));if _gbad .F !=nil {_ba .Set ("\u0046",_gbad .F .ToPdfObject ());};_ba .SetIfNotNil ("\u0044",_gbad .D );_ba .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_gbad .NewWindow );return _bcb ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_adgb *PdfColorCalRGB )A ()float64 {return float64 (_adgb [0])};
|
||
|
||
// 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 (_dfegd *pdfFontSimple )SetEncoder (encoder _gf .TextEncoder ){_dfegd ._fggbd =encoder };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddde *PdfAnnotationTrapNet )ToPdfObject ()_fd .PdfObject {_ddde .PdfAnnotation .ToPdfObject ();_acfa :=_ddde ._defg ;_acff :=_acfa .PdfObject .(*_fd .PdfObjectDictionary );_acff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0054r\u0061\u0070\u004e\u0065\u0074"));return _acfa ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_fdbfd *XObjectImage )ToPdfObject ()_fd .PdfObject {_ccfde :=_fdbfd ._acbee ;_dbaf :=_ccfde .PdfObjectDictionary ;if _fdbfd .Filter !=nil {_dbaf =_fdbfd .Filter .MakeStreamDict ();_ccfde .PdfObjectDictionary =_dbaf ;};_dbaf .Set ("\u0054\u0079\u0070\u0065",_fd .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_dbaf .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0049\u006d\u0061g\u0065"));_dbaf .Set ("\u0057\u0069\u0064t\u0068",_fd .MakeInteger (*(_fdbfd .Width )));_dbaf .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_fd .MakeInteger (*(_fdbfd .Height )));if _fdbfd .BitsPerComponent !=nil {_dbaf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_fd .MakeInteger (*(_fdbfd .BitsPerComponent )));};if _fdbfd .ColorSpace !=nil {_dbaf .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_fdbfd .ColorSpace .ToPdfObject ());};_dbaf .SetIfNotNil ("\u0049\u006e\u0074\u0065\u006e\u0074",_fdbfd .Intent );_dbaf .SetIfNotNil ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k",_fdbfd .ImageMask );_dbaf .SetIfNotNil ("\u004d\u0061\u0073\u006b",_fdbfd .Mask );_dbaf .SetIfNotNil ("\u0044\u0065\u0063\u006f\u0064\u0065",_fdbfd .Decode );_dbaf .SetIfNotNil ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065",_fdbfd .Interpolate );_dbaf .SetIfNotNil ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073",_fdbfd .Alternatives );_dbaf .SetIfNotNil ("\u0053\u004d\u0061s\u006b",_fdbfd .SMask );_dbaf .SetIfNotNil ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061",_fdbfd .SMaskInData );_dbaf .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_fdbfd .Matte );_dbaf .SetIfNotNil ("\u004e\u0061\u006d\u0065",_fdbfd .Name );_dbaf .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_fdbfd .StructParent );_dbaf .SetIfNotNil ("\u0049\u0044",_fdbfd .ID );_dbaf .SetIfNotNil ("\u004f\u0050\u0049",_fdbfd .OPI );_dbaf .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_fdbfd .Metadata );_dbaf .SetIfNotNil ("\u004f\u0043",_fdbfd .OC );_dbaf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_fd .MakeInteger (int64 (len (_fdbfd .Stream ))));_ccfde .Stream =_fdbfd .Stream ;return _ccfde ;};
|
||
|
||
// PdfActionSubmitForm represents a submitForm action.
|
||
type PdfActionSubmitForm struct{*PdfAction ;F *PdfFilespec ;Fields _fd .PdfObject ;Flags _fd .PdfObject ;};func (_dgac *PdfAppender )replaceObject (_eaggb ,_faec _fd .PdfObject ){switch _bbfd :=_eaggb .(type ){case *_fd .PdfIndirectObject :_dgac ._daec [_faec ]=_bbfd .ObjectNumber ;case *_fd .PdfObjectStream :_dgac ._daec [_faec ]=_bbfd .ObjectNumber ;};};func (_ebdb *PdfPage )setContainer (_gdgcd *_fd .PdfIndirectObject ){_gdgcd .PdfObject =_ebdb ._fgbbc ;_ebdb ._debfd =_gdgcd ;};func (_adda *PdfReader )newPdfActionJavaScriptFromDict (_bbbe *_fd .PdfObjectDictionary )(*PdfActionJavaScript ,error ){return &PdfActionJavaScript {JS :_bbbe .Get ("\u004a\u0053")},nil ;};func _dgd (_eac _fd .PdfObject )(*PdfFilespec ,error ){if _eac ==nil {return nil ,nil ;};return NewPdfFilespecFromObj (_eac );};func (_dbgea *PdfReader )newPdfPageFromDict (_fdbcb *_fd .PdfObjectDictionary )(*PdfPage ,error ){_fafc :=NewPdfPage ();_fafc ._fgbbc =_fdbcb ;_ggegd :=*_fdbcb ;_bdfe ,_bcedd :=_ggegd .Get ("\u0054\u0079\u0070\u0065").(*_fd .PdfObjectName );if !_bcedd {return nil ,_fce .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 *_bdfe !="\u0050\u0061\u0067\u0065"{return nil ,_fce .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 _caabg :=_ggegd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_caabg !=nil {_fafc .Parent =_caabg ;};if _aded :=_ggegd .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_aded !=nil {_adgfce ,_ebgab :=_fd .GetString (_aded );if !_ebgab {return nil ,_fce .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");};_aefab ,_daff :=NewPdfDate (_adgfce .Str ());if _daff !=nil {return nil ,_daff ;};_fafc .LastModified =&_aefab ;};if _bbgdg :=_ggegd .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_bbgdg !=nil &&!_fd .IsNullObject (_bbgdg ){_cdabg ,_fdbfb :=_fd .GetDict (_bbgdg );if !_fdbfb {return nil ,_d .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",_bbgdg );};var _dagaf error ;_fafc .Resources ,_dagaf =NewPdfPageResourcesFromDict (_cdabg );if _dagaf !=nil {return nil ,_dagaf ;};}else {_ecbfde ,_gccfab :=_fafc .getParentResources ();if _gccfab !=nil {return nil ,_gccfab ;};if _ecbfde ==nil {_ecbfde =NewPdfPageResources ();};_fafc .Resources =_ecbfde ;};if _aeda :=_ggegd .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_aeda !=nil {_fgdbd ,_agdg :=_fd .GetArray (_aeda );if !_agdg {return nil ,_fce .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 _fcaecg error ;_fafc .MediaBox ,_fcaecg =NewPdfRectangle (*_fgdbd );if _fcaecg !=nil {return nil ,_fcaecg ;};};if _fgadc :=_ggegd .Get ("\u0043r\u006f\u0070\u0042\u006f\u0078");_fgadc !=nil {_fcgcg ,_adge :=_fd .GetArray (_fgadc );if !_adge {return nil ,_fce .New ("\u0070a\u0067\u0065\u0020\u0043r\u006f\u0070\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _agcae error ;_fafc .CropBox ,_agcae =NewPdfRectangle (*_fcgcg );if _agcae !=nil {return nil ,_agcae ;};};if _fcbc :=_ggegd .Get ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078");_fcbc !=nil {_gcage ,_ffag :=_fd .GetArray (_fcbc );if !_ffag {return nil ,_fce .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 _becfd error ;_fafc .BleedBox ,_becfd =NewPdfRectangle (*_gcage );if _becfd !=nil {return nil ,_becfd ;};};if _cbdef :=_ggegd .Get ("\u0054r\u0069\u006d\u0042\u006f\u0078");_cbdef !=nil {_becb ,_gfafa :=_fd .GetArray (_cbdef );if !_gfafa {return nil ,_fce .New ("\u0070a\u0067\u0065\u0020\u0054r\u0069\u006d\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _eaed error ;_fafc .TrimBox ,_eaed =NewPdfRectangle (*_becb );if _eaed !=nil {return nil ,_eaed ;};};if _gegfe :=_ggegd .Get ("\u0041\u0072\u0074\u0042\u006f\u0078");_gegfe !=nil {_ecbd ,_gdfda :=_fd .GetArray (_gegfe );if !_gdfda {return nil ,_fce .New ("\u0070a\u0067\u0065\u0020\u0041\u0072\u0074\u0042\u006f\u0078\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _ceab error ;_fafc .ArtBox ,_ceab =NewPdfRectangle (*_ecbd );if _ceab !=nil {return nil ,_ceab ;};};if _ebeff :=_ggegd .Get ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f");_ebeff !=nil {_fafc .BoxColorInfo =_ebeff ;};if _beedg :=_ggegd .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_beedg !=nil {_fafc .Contents =_beedg ;};if _dagb :=_ggegd .Get ("\u0052\u006f\u0074\u0061\u0074\u0065");_dagb !=nil {_fgge ,_egbb :=_fd .GetInt (_dagb );if !_egbb {return nil ,_fce .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");};_ebcba :=int64 (*_fgge );_fafc .Rotate =&_ebcba ;};if _aadea :=_ggegd .Get ("\u0047\u0072\u006fu\u0070");_aadea !=nil {_fafc .Group =_aadea ;};if _edbgg :=_ggegd .Get ("\u0054\u0068\u0075m\u0062");_edbgg !=nil {_fafc .Thumb =_edbgg ;};if _ddacbe :=_ggegd .Get ("\u0042");_ddacbe !=nil {_fafc .B =_ddacbe ;};if _ebcee :=_ggegd .Get ("\u0044\u0075\u0072");_ebcee !=nil {_fafc .Dur =_ebcee ;};if _cffd :=_ggegd .Get ("\u0054\u0072\u0061n\u0073");_cffd !=nil {_fafc .Trans =_cffd ;};if _fgdfb :=_ggegd .Get ("\u0041\u0041");_fgdfb !=nil {_fafc .AA =_fgdfb ;};if _agae :=_ggegd .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_agae !=nil {_fafc .Metadata =_agae ;};if _gecgc :=_ggegd .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_gecgc !=nil {_fafc .PieceInfo =_gecgc ;};if _dddad :=_ggegd .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_dddad !=nil {_fafc .StructParents =_dddad ;};if _fgdgg :=_ggegd .Get ("\u0049\u0044");_fgdgg !=nil {_fafc .ID =_fgdgg ;};if _eabf :=_ggegd .Get ("\u0050\u005a");_eabf !=nil {_fafc .PZ =_eabf ;};if _feffcd :=_ggegd .Get ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f");_feffcd !=nil {_fafc .SeparationInfo =_feffcd ;};if _cffbe :=_ggegd .Get ("\u0054\u0061\u0062\u0073");_cffbe !=nil {_fafc .Tabs =_cffbe ;};if _bbeg :=_ggegd .Get ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064");_bbeg !=nil {_fafc .TemplateInstantiated =_bbeg ;};if _fgcbc :=_ggegd .Get ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s");_fgcbc !=nil {_fafc .PresSteps =_fgcbc ;};if _bccef :=_ggegd .Get ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074");_bccef !=nil {_fafc .UserUnit =_bccef ;};if _cdgf :=_ggegd .Get ("\u0056\u0050");_cdgf !=nil {_fafc .VP =_cdgf ;};if _ccfgg :=_ggegd .Get ("\u0041\u006e\u006e\u006f\u0074\u0073");_ccfgg !=nil {_fafc .Annots =_ccfgg ;};_fafc ._gccea =_dbgea ;return _fafc ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_afef *PdfFunctionType3 )ToPdfObject ()_fd .PdfObject {_egbdf :=_fd .MakeDict ();_egbdf .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_fd .MakeInteger (3));_cbagb :=&_fd .PdfObjectArray {};for _ ,_afabf :=range _afef .Domain {_cbagb .Append (_fd .MakeFloat (_afabf ));};_egbdf .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cbagb );if _afef .Range !=nil {_bbgaf :=&_fd .PdfObjectArray {};for _ ,_edbc :=range _afef .Range {_bbgaf .Append (_fd .MakeFloat (_edbc ));};_egbdf .Set ("\u0052\u0061\u006eg\u0065",_bbgaf );};if _afef .Functions !=nil {_dgcb :=&_fd .PdfObjectArray {};for _ ,_edggb :=range _afef .Functions {_dgcb .Append (_edggb .ToPdfObject ());};_egbdf .Set ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es",_dgcb );};if _afef .Bounds !=nil {_cgeee :=&_fd .PdfObjectArray {};for _ ,_fcgae :=range _afef .Bounds {_cgeee .Append (_fd .MakeFloat (_fcgae ));};_egbdf .Set ("\u0042\u006f\u0075\u006e\u0064\u0073",_cgeee );};if _afef .Encode !=nil {_dacdc :=&_fd .PdfObjectArray {};for _ ,_cagdc :=range _afef .Encode {_dacdc .Append (_fd .MakeFloat (_cagdc ));};_egbdf .Set ("\u0045\u006e\u0063\u006f\u0064\u0065",_dacdc );};if _afef ._adbb !=nil {_afef ._adbb .PdfObject =_egbdf ;return _afef ._adbb ;};return _egbdf ;};
|
||
|
||
// GetCapHeight returns the CapHeight of the font `descriptor`.
|
||
func (_cbcab *PdfFontDescriptor )GetCapHeight ()(float64 ,error ){return _fd .GetNumberAsFloat (_cbcab .CapHeight );};func (_fgbe *PdfReader )newPdfAnnotationMovieFromDict (_aebfa *_fd .PdfObjectDictionary )(*PdfAnnotationMovie ,error ){_fbc :=PdfAnnotationMovie {};_fbc .T =_aebfa .Get ("\u0054");_fbc .Movie =_aebfa .Get ("\u004d\u006f\u0076i\u0065");_fbc .A =_aebfa .Get ("\u0041");return &_fbc ,nil ;};
|
||
|
||
// ToPdfObject returns the text field dictionary within an indirect object (container).
|
||
func (_fdbe *PdfFieldText )ToPdfObject ()_fd .PdfObject {_fdbe .PdfField .ToPdfObject ();_badd :=_fdbe ._fbef ;_fedg :=_badd .PdfObject .(*_fd .PdfObjectDictionary );_fedg .Set ("\u0046\u0054",_fd .MakeName ("\u0054\u0078"));if _fdbe .DA !=nil {_fedg .Set ("\u0044\u0041",_fdbe .DA );};if _fdbe .Q !=nil {_fedg .Set ("\u0051",_fdbe .Q );};if _fdbe .DS !=nil {_fedg .Set ("\u0044\u0053",_fdbe .DS );};if _fdbe .RV !=nil {_fedg .Set ("\u0052\u0056",_fdbe .RV );};if _fdbe .MaxLen !=nil {_fedg .Set ("\u004d\u0061\u0078\u004c\u0065\u006e",_fdbe .MaxLen );};return _badd ;};
|
||
|
||
// GetXObjectByName gets XObject by name.
|
||
func (_fbagc *PdfPage )GetXObjectByName (name _fd .PdfObjectName )(_fd .PdfObject ,bool ){_acbbd ,_cdbb :=_fbagc .Resources .XObject .(*_fd .PdfObjectDictionary );if !_cdbb {return nil ,false ;};if _gbdfe :=_acbbd .Get (name );_gbdfe !=nil {return _gbdfe ,true ;};return nil ,false ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_efeef *PdfShadingType3 )ToPdfObject ()_fd .PdfObject {_efeef .PdfShading .ToPdfObject ();_agaga ,_dbgbgb :=_efeef .getShadingDict ();if _dbgbgb !=nil {_fca .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 _efeef .Coords !=nil {_agaga .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_efeef .Coords );};if _efeef .Domain !=nil {_agaga .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_efeef .Domain );};if _efeef .Function !=nil {if len (_efeef .Function )==1{_agaga .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_efeef .Function [0].ToPdfObject ());}else {_fagcd :=_fd .MakeArray ();for _ ,_bdff :=range _efeef .Function {_fagcd .Append (_bdff .ToPdfObject ());};_agaga .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fagcd );};};if _efeef .Extend !=nil {_agaga .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_efeef .Extend );};return _efeef ._bcgcg ;};
|
||
|
||
// NewPdfColorspaceDeviceGray returns a new grayscale colorspace.
|
||
func NewPdfColorspaceDeviceGray ()*PdfColorspaceDeviceGray {return &PdfColorspaceDeviceGray {}};
|
||
|
||
// 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 (_gfacg *Image )GetSamples ()[]uint32 {_bcgf :=_ddf .ResampleBytes (_gfacg .Data ,int (_gfacg .BitsPerComponent ));if _gfacg .BitsPerComponent < 8{_bcgf =_gfacg .samplesTrimPadding (_bcgf );};_gffab :=int (_gfacg .Width )*int (_gfacg .Height )*_gfacg .ColorComponents ;if len (_bcgf )< _gffab {_fca .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 (_bcgf ),_gffab );return _bcgf ;}else if len (_bcgf )> _gffab {_fca .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 (_bcgf ),_gffab );_bcgf =_bcgf [:_gffab ];};return _bcgf ;};
|
||
|
||
// NewPdfColorLab returns a new Lab color.
|
||
func NewPdfColorLab (l ,a ,b float64 )*PdfColorLab {_cfebd :=PdfColorLab {l ,a ,b };return &_cfebd };
|
||
|
||
// GetTrailer returns the PDF's trailer dictionary.
|
||
func (_aecef *PdfReader )GetTrailer ()(*_fd .PdfObjectDictionary ,error ){_dedbf :=_aecef ._egbge .GetTrailer ();if _dedbf ==nil {return nil ,_fce .New ("\u0074r\u0061i\u006c\u0065\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};return _dedbf ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_eagb *PdfColorspaceSpecialSeparation )ToPdfObject ()_fd .PdfObject {_bgbef :=_fd .MakeArray (_fd .MakeName ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"));_bgbef .Append (_eagb .ColorantName );_bgbef .Append (_eagb .AlternateSpace .ToPdfObject ());_bgbef .Append (_eagb .TintTransform .ToPdfObject ());if _eagb ._gfbf !=nil {_eagb ._gfbf .PdfObject =_bgbef ;return _eagb ._gfbf ;};return _bgbef ;};
|
||
|
||
// PdfActionLaunch represents a launch action.
|
||
type PdfActionLaunch struct{*PdfAction ;F *PdfFilespec ;Win _fd .PdfObject ;Mac _fd .PdfObject ;Unix _fd .PdfObject ;NewWindow _fd .PdfObject ;};
|
||
|
||
// 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 (_ebef *PdfColorspaceSpecialPattern )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )< 1{return nil ,_fce .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");};_eeda :=&PdfColorPattern {};_bfge ,_dgfa :=objects [len (objects )-1].(*_fd .PdfObjectName );if !_dgfa {_fca .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 ;};_eeda .PatternName =*_bfge ;if len (objects )> 1{_bdga :=objects [0:len (objects )-1];if _ebef .UnderlyingCS ==nil {_fca .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 ,_fce .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};_bfga ,_daaga :=_ebef .UnderlyingCS .ColorFromPdfObjects (_bdga );if _daaga !=nil {_fca .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",_daaga );return nil ,_daaga ;};_eeda .Color =_bfga ;};return _eeda ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_fbdc *PdfColorspaceSpecialSeparation )ColorFromPdfObjects (objects []_fd .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gfgcg ,_ebbaf :=_fd .GetNumbersAsFloat (objects );if _ebbaf !=nil {return nil ,_ebbaf ;};return _fbdc .ColorFromFloats (_gfgcg );};func (_gdcf *pdfFontSimple )addEncoding ()error {var (_eadd string ;_gabd map[_gf .CharCode ]_gf .GlyphName ;_ecbfdc _gf .SimpleEncoder ;);if _gdcf .Encoder ()!=nil {_ccae ,_bbdac :=_gdcf .Encoder ().(_gf .SimpleEncoder );if _bbdac &&_ccae !=nil {_eadd =_ccae .BaseName ();};};if _gdcf .Encoding !=nil {_cdgd ,_cgfdd ,_bgbf :=_gdcf .getFontEncoding ();if _bgbf !=nil {_fca .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",_gdcf ._egfg ,_gdcf ._ccea ,_gdcf .Encoding ,_gdcf .Encoding ,_bgbf );return _bgbf ;};if _cdgd !=""{_eadd =_cdgd ;};_ecbfdc ,_bgbf =_gf .NewSimpleTextEncoder (_eadd ,_cgfdd );if _bgbf !=nil {return _bgbf ;};};if _ecbfdc ==nil {_dgfaf :=_gdcf ._ggbg ;if _dgfaf !=nil {switch _gdcf ._ccea {case "\u0054\u0079\u0070e\u0031":if _dgfaf .fontFile !=nil &&_dgfaf .fontFile ._dfga !=nil {_fca .Log .Debug ("\u0055\u0073\u0069\u006e\u0067\u0020\u0066\u006f\u006et\u0046\u0069\u006c\u0065");_ecbfdc =_dgfaf .fontFile ._dfga ;};case "\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":if _dgfaf ._accda !=nil {_fca .Log .Debug ("\u0055s\u0069n\u0067\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0032");_gcedc ,_ddabe :=_dgfaf ._accda .MakeEncoder ();if _ddabe ==nil {_ecbfdc =_gcedc ;};};};};};if _ecbfdc !=nil {if _gabd !=nil {_fca .Log .Trace ("\u0064\u0069\u0066fe\u0072\u0065\u006e\u0063\u0065\u0073\u003d\u0025\u002b\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_gabd ,_gdcf .baseFields ());_ecbfdc =_gf .ApplyDifferences (_ecbfdc ,_gabd );};_gdcf .SetEncoder (_ecbfdc );};return 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 (_eaffb *PdfReader )FlattenFieldsWithOpts (appgen FieldAppearanceGenerator ,opts *FieldFlattenOpts )error {return _eaffb .flattenFieldsWithOpts (false ,appgen ,opts );};
|
||
|
||
// NewPdfFieldSignature returns an initialized signature field.
|
||
func NewPdfFieldSignature (signature *PdfSignature )*PdfFieldSignature {_debb :=&PdfFieldSignature {};_debb .PdfField =NewPdfField ();_debb .PdfField .SetContext (_debb );_debb .PdfAnnotationWidget =NewPdfAnnotationWidget ();_debb .PdfAnnotationWidget .SetContext (_debb );_debb .PdfAnnotationWidget ._defg =_debb .PdfField ._fbef ;_debb .T =_fd .MakeString ("");_debb .F =_fd .MakeInteger (132);_debb .V =signature ;return _debb ;};
|
||
|
||
// BaseFont returns the font's "BaseFont" field.
|
||
func (_beda *PdfFont )BaseFont ()string {return _beda .baseFields ()._egfg };
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_eeage *PdfColorspaceDeviceCMYK )ToPdfObject ()_fd .PdfObject {return _fd .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b");};
|
||
|
||
// 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 ;
|
||
|
||
// String returns a string that describes `base`.
|
||
func (_gcacf fontCommon )String ()string {return _d .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0073\u007d",_gcacf .coreString ());};func (_geebb *PdfReader )newPdfAnnotationSoundFromDict (_cage *_fd .PdfObjectDictionary )(*PdfAnnotationSound ,error ){_gcb :=PdfAnnotationSound {};_bea ,_bceg :=_geebb .newPdfAnnotationMarkupFromDict (_cage );if _bceg !=nil {return nil ,_bceg ;};_gcb .PdfAnnotationMarkup =_bea ;_gcb .Name =_cage .Get ("\u004e\u0061\u006d\u0065");_gcb .Sound =_cage .Get ("\u0053\u006f\u0075n\u0064");return &_gcb ,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 _fc .ReadSeeker )(*PdfFont ,error ){const _faeff =_gf .CharCode (32);const _gfgd =_gf .CharCode (255);_fbff ,_fafd :=_ec .ReadAll (r );if _fafd !=nil {_fca .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",_fafd );return nil ,_fafd ;};_aaaa ,_fafd :=_aaf .TtfParse (_bg .NewReader (_fbff ));if _fafd !=nil {_fca .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",_fafd );return nil ,_fafd ;};_agfcf :=&pdfFontSimple {_cfcg :make (map[_gf .CharCode ]float64 ),fontCommon :fontCommon {_ccea :"\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065"}};_agfcf ._fggbd =_gf .NewWinAnsiEncoder ();_agfcf ._egfg =_aaaa .PostScriptName ;_agfcf .FirstChar =_fd .MakeInteger (int64 (_faeff ));_agfcf .LastChar =_fd .MakeInteger (int64 (_gfgd ));_ceeed :=1000.0/float64 (_aaaa .UnitsPerEm );if len (_aaaa .Widths )<=0{return nil ,_fce .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");};_egacd :=_ceeed *float64 (_aaaa .Widths [0]);_facec :=make ([]float64 ,0,_gfgd -_faeff +1);for _egacf :=_faeff ;_egacf <=_gfgd ;_egacf ++{_gaegb ,_cfeae :=_agfcf .Encoder ().CharcodeToRune (_egacf );if !_cfeae {_fca .Log .Debug ("\u0052u\u006e\u0065\u0020\u006eo\u0074\u0020\u0066\u006f\u0075n\u0064 \u0028c\u006f\u0064\u0065\u003a\u0020\u0025\u0064)",_egacf );_facec =append (_facec ,_egacd );continue ;};_ecdbf ,_gebg :=_aaaa .Chars [_gaegb ];if !_gebg {_fca .Log .Debug ("R\u0075\u006e\u0065\u0020no\u0074 \u0069\u006e\u0020\u0054\u0054F\u0020\u0043\u0068\u0061\u0072\u0073");_facec =append (_facec ,_egacd );continue ;};_ceeef :=_ceeed *float64 (_aaaa .Widths [_ecdbf ]);_facec =append (_facec ,_ceeef );};_agfcf .Widths =_fd .MakeIndirectObject (_fd .MakeArrayFromFloats (_facec ));if len (_facec )< int (_gfgd -_faeff +1){_fca .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 (_facec ),255-32+1);return nil ,_fd .ErrRangeError ;};for _cbfdc :=_gf .CharCode (_faeff );_cbfdc <=_gfgd ;_cbfdc ++{_agfcf ._cfcg [_cbfdc ]=_facec [_cbfdc -_faeff ];};_agfcf .Encoding =_fd .MakeName ("\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067");_degd :=&PdfFontDescriptor {};_degd .FontName =_fd .MakeName (_aaaa .PostScriptName );_degd .Ascent =_fd .MakeFloat (_ceeed *float64 (_aaaa .TypoAscender ));_degd .Descent =_fd .MakeFloat (_ceeed *float64 (_aaaa .TypoDescender ));_degd .CapHeight =_fd .MakeFloat (_ceeed *float64 (_aaaa .CapHeight ));_degd .FontBBox =_fd .MakeArrayFromFloats ([]float64 {_ceeed *float64 (_aaaa .Xmin ),_ceeed *float64 (_aaaa .Ymin ),_ceeed *float64 (_aaaa .Xmax ),_ceeed *float64 (_aaaa .Ymax )});_degd .ItalicAngle =_fd .MakeFloat (float64 (_aaaa .ItalicAngle ));_degd .MissingWidth =_fd .MakeFloat (_ceeed *float64 (_aaaa .Widths [0]));_gfee ,_fafd :=_fd .MakeStream (_fbff ,_fd .NewFlateEncoder ());if _fafd !=nil {_fca .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",_fafd );return nil ,_fafd ;};_gfee .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_fd .MakeInteger (int64 (len (_fbff ))));_degd .FontFile2 =_gfee ;if _aaaa .Bold {_degd .StemV =_fd .MakeInteger (120);}else {_degd .StemV =_fd .MakeInteger (70);};_efgac :=_egabc ;if _aaaa .IsFixedPitch {_efgac |=_efafc ;};if _aaaa .ItalicAngle !=0{_efgac |=_gfeaa ;};_degd .Flags =_fd .MakeInteger (int64 (_efgac ));_agfcf ._ggbg =_degd ;_cfdgc :=&PdfFont {_bbaa :_agfcf };return _cfdgc ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the PdfAcroForm (indirect object).
|
||
func (_edgb *PdfAcroForm )GetContainingPdfObject ()_fd .PdfObject {return _edgb ._dbcdb };func _bcfbb (_cebgf _aaf .StdFont )pdfFontSimple {_adbc :=_cebgf .Descriptor ();return pdfFontSimple {fontCommon :fontCommon {_ccea :"\u0054\u0079\u0070e\u0031",_egfg :_cebgf .Name ()},_gdeba :_cebgf .GetMetricsTable (),_gbaf :&PdfFontDescriptor {FontName :_fd .MakeName (string (_adbc .Name )),FontFamily :_fd .MakeName (_adbc .Family ),FontWeight :_fd .MakeFloat (float64 (_adbc .Weight )),Flags :_fd .MakeInteger (int64 (_adbc .Flags )),FontBBox :_fd .MakeArrayFromFloats (_adbc .BBox [:]),ItalicAngle :_fd .MakeFloat (_adbc .ItalicAngle ),Ascent :_fd .MakeFloat (_adbc .Ascent ),Descent :_fd .MakeFloat (_adbc .Descent ),CapHeight :_fd .MakeFloat (_adbc .CapHeight ),XHeight :_fd .MakeFloat (_adbc .XHeight ),StemV :_fd .MakeFloat (_adbc .StemV ),StemH :_fd .MakeFloat (_adbc .StemH )},_cgdd :_cebgf .Encoder ()};};func _baaaa (_aggd *_gd .ImageBase )(_afba Image ){_afba .Width =int64 (_aggd .Width );_afba .Height =int64 (_aggd .Height );_afba .BitsPerComponent =int64 (_aggd .BitsPerComponent );_afba .ColorComponents =_aggd .ColorComponents ;_afba .Data =_aggd .Data ;_afba ._dfec =_aggd .Decode ;_afba ._cded =_aggd .Alpha ;return _afba ;};
|
||
|
||
// PdfAnnotationCaret represents Caret annotations.
|
||
// (Section 12.5.6.11).
|
||
type PdfAnnotationCaret struct{*PdfAnnotation ;*PdfAnnotationMarkup ;RD _fd .PdfObject ;Sy _fd .PdfObject ;};
|
||
|
||
// NewPdfAnnotation returns an initialized generic PDF annotation model.
|
||
func NewPdfAnnotation ()*PdfAnnotation {_gdfb :=&PdfAnnotation {};_gdfb ._defg =_fd .MakeIndirectObject (_fd .MakeDict ());return _gdfb ;};
|
||
|
||
// PdfActionSound represents a sound action.
|
||
type PdfActionSound struct{*PdfAction ;Sound _fd .PdfObject ;Volume _fd .PdfObject ;Synchronous _fd .PdfObject ;Repeat _fd .PdfObject ;Mix _fd .PdfObject ;};func (_eccga *PdfReader )traverseObjectData (_ddebc _fd .PdfObject )error {return _fd .ResolveReferencesDeep (_ddebc ,_eccga ._caece );};
|
||
|
||
// String returns the name of the colorspace (DeviceN).
|
||
func (_febefb *PdfColorspaceDeviceN )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u004e"};
|
||
|
||
// SetPdfTitle sets the Title attribute of the output PDF.
|
||
func SetPdfTitle (title string ){_fcfc =title };
|
||
|
||
// C returns the value of the cyan component of the color.
|
||
func (_gccge *PdfColorDeviceCMYK )C ()float64 {return float64 (_gccge [0])};
|
||
|
||
// NewPdfFilespec returns an initialized generic PDF filespec model.
|
||
func NewPdfFilespec ()*PdfFilespec {_dbgdd :=&PdfFilespec {};_dbgdd ._gccf =_fd .MakeIndirectObject (_fd .MakeDict ());return _dbgdd ;};
|
||
|
||
// UpdateObject marks `obj` as updated and to be included in the following revision.
|
||
func (_aaag *PdfAppender )UpdateObject (obj _fd .PdfObject ){_aaag .replaceObject (obj ,obj );if _ ,_fdabg :=_aaag ._baef [obj ];!_fdabg {_aaag ._efe =append (_aaag ._efe ,obj );_aaag ._baef [obj ]=struct{}{};};};
|
||
|
||
// PdfShadingType3 is a Radial shading.
|
||
type PdfShadingType3 struct{*PdfShading ;Coords *_fd .PdfObjectArray ;Domain *_fd .PdfObjectArray ;Function []PdfFunction ;Extend *_fd .PdfObjectArray ;};
|
||
|
||
// NewOutline returns a new outline instance.
|
||
func NewOutline ()*Outline {return &Outline {}};
|
||
|
||
// Val returns the color value.
|
||
func (_cbabe *PdfColorDeviceGray )Val ()float64 {return float64 (*_cbabe )};
|
||
|
||
// DecodeArray returns the range of color component values in CalRGB colorspace.
|
||
func (_cfeea *PdfColorspaceCalRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// SetOptimizer sets the optimizer to optimize PDF before writing.
|
||
func (_dgbag *PdfWriter )SetOptimizer (optimizer Optimizer ){_dgbag ._gegg =optimizer };
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_fbcb *PdfColorspaceDeviceGray )ToPdfObject ()_fd .PdfObject {return _fd .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079");};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dcea *PdfAnnotationHighlight )ToPdfObject ()_fd .PdfObject {_dcea .PdfAnnotation .ToPdfObject ();_ffee :=_dcea ._defg ;_aaaf :=_ffee .PdfObject .(*_fd .PdfObjectDictionary );_dcea .PdfAnnotationMarkup .appendToPdfDictionary (_aaaf );_aaaf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fd .MakeName ("\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t"));_aaaf .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_dcea .QuadPoints );return _ffee ;};
|
||
|
||
// ToPdfObject converts colorspace to a PDF object. [/Indexed base hival lookup]
|
||
func (_ccfdab *PdfColorspaceSpecialIndexed )ToPdfObject ()_fd .PdfObject {_ddfbf :=_fd .MakeArray (_fd .MakeName ("\u0049n\u0064\u0065\u0078\u0065\u0064"));_ddfbf .Append (_ccfdab .Base .ToPdfObject ());_ddfbf .Append (_fd .MakeInteger (int64 (_ccfdab .HiVal )));_ddfbf .Append (_ccfdab .Lookup );if _ccfdab ._fgga !=nil {_ccfdab ._fgga .PdfObject =_ddfbf ;return _ccfdab ._fgga ;};return _ddfbf ;};
|
||
|
||
// ButtonType represents the subtype of a button field, can be one of:
|
||
// - Checkbox (ButtonTypeCheckbox)
|
||
// - PushButton (ButtonTypePushButton)
|
||
// - RadioButton (ButtonTypeRadioButton)
|
||
type ButtonType int ;
|
||
|
||
// HasFontByName checks whether a font is defined by the specified keyName.
|
||
func (_egbce *PdfPageResources )HasFontByName (keyName _fd .PdfObjectName )bool {_ ,_gfadb :=_egbce .GetFontByName (keyName );return _gfadb ;};
|
||
|
||
// 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 (_ggfb *PdfColorspaceDeviceGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_fce .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_egba :=vals [0];if _egba < 0.0||_egba > 1.0{_fca .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 _egba < 0.0{_egba =0.0;}else if _egba > 1.0{_egba =1.0;};return NewPdfColorDeviceGray (_egba ),nil ;};
|
||
|
||
// PdfFieldButton represents a button field which includes push buttons, checkboxes, and radio buttons.
|
||
type PdfFieldButton struct{*PdfField ;Opt *_fd .PdfObjectArray ;};
|
||
|
||
// NewImageFromGoImage creates a new NRGBA32 unidoc Image from a golang Image.
|
||
// If `goimg` is grayscale (*goimage.Gray8) then calls NewGrayImageFromGoImage instead.
|
||
func (_cdbcc DefaultImageHandler )NewImageFromGoImage (goimg _dg .Image )(*Image ,error ){_dgcfd ,_gfge :=_gd .FromGoImage (goimg );if _gfge !=nil {return nil ,_gfge ;};_eace :=_baaaa (_dgcfd .Base ());return &_eace ,nil ;};
|
||
|
||
// SetPdfModifiedDate sets the ModDate attribute of the output PDF.
|
||
func SetPdfModifiedDate (modifiedDate _b .Time ){_fdgee =modifiedDate };
|
||
|
||
// NewPdfAnnotationSquiggly returns a new text squiggly annotation.
|
||
func NewPdfAnnotationSquiggly ()*PdfAnnotationSquiggly {_feb :=NewPdfAnnotation ();_eedd :=&PdfAnnotationSquiggly {};_eedd .PdfAnnotation =_feb ;_eedd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_feb .SetContext (_eedd );return _eedd ;};
|
||
|
||
// GetAsTilingPattern returns a tiling pattern. Check with IsTiling() prior to using this.
|
||
func (_bgege *PdfPattern )GetAsTilingPattern ()*PdfTilingPattern {return _bgege ._befef .(*PdfTilingPattern );};
|
||
|
||
// PdfAcroForm represents the AcroForm dictionary used for representation of form data in PDF.
|
||
type PdfAcroForm struct{Fields *[]*PdfField ;NeedAppearances *_fd .PdfObjectBool ;SigFlags *_fd .PdfObjectInteger ;CO *_fd .PdfObjectArray ;DR *PdfPageResources ;DA *_fd .PdfObjectString ;Q *_fd .PdfObjectInteger ;XFA _fd .PdfObject ;_dbcdb *_fd .PdfIndirectObject ;};
|
||
|
||
// GetOptimizer returns current PDF optimizer.
|
||
func (_bbebc *PdfWriter )GetOptimizer ()Optimizer {return _bbebc ._gegg };
|
||
|
||
// DecodeArray returns the range of color component values in the ICCBased colorspace.
|
||
func (_ffcca *PdfColorspaceICCBased )DecodeArray ()[]float64 {return _ffcca .Range };
|
||
|
||
// NewPdfAnnotationStamp returns a new stamp annotation.
|
||
func NewPdfAnnotationStamp ()*PdfAnnotationStamp {_adb :=NewPdfAnnotation ();_fbg :=&PdfAnnotationStamp {};_fbg .PdfAnnotation =_adb ;_fbg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_adb .SetContext (_fbg );return _fbg ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for RGB).
|
||
func (_ddfe *PdfColorDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// NewPdfColorspaceCalRGB returns a new CalRGB colorspace object.
|
||
func NewPdfColorspaceCalRGB ()*PdfColorspaceCalRGB {_cdb :=&PdfColorspaceCalRGB {};_cdb .BlackPoint =[]float64 {0.0,0.0,0.0};_cdb .Gamma =[]float64 {1.0,1.0,1.0};_cdb .Matrix =[]float64 {1,0,0,0,1,0,0,0,1};return _cdb ;};func (_fedd *PdfReader )newPdfFieldSignatureFromDict (_eaeba *_fd .PdfObjectDictionary )(*PdfFieldSignature ,error ){_adab :=&PdfFieldSignature {};_cbaf ,_fegba :=_fd .GetIndirect (_eaeba .Get ("\u0056"));if _fegba {var _geecg error ;_adab .V ,_geecg =_fedd .newPdfSignatureFromIndirect (_cbaf );if _geecg !=nil {return nil ,_geecg ;};};_adab .Lock ,_ =_fd .GetIndirect (_eaeba .Get ("\u004c\u006f\u0063\u006b"));_adab .SV ,_ =_fd .GetIndirect (_eaeba .Get ("\u0053\u0056"));return _adab ,nil ;};func (_ead *PdfReader )newPdfAnnotationTrapNetFromDict (_cbca *_fd .PdfObjectDictionary )(*PdfAnnotationTrapNet ,error ){_fada :=PdfAnnotationTrapNet {};return &_fada ,nil ;};func (_ggg *PdfReader )newPdfActionFromIndirectObject (_cac *_fd .PdfIndirectObject )(*PdfAction ,error ){_ccc ,_caab :=_cac .PdfObject .(*_fd .PdfObjectDictionary );if !_caab {return nil ,_d .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 :=_ggg ._gggcg .GetModelFromPrimitive (_ccc );model !=nil {_eaf ,_efa :=model .(*PdfAction );if !_efa {return nil ,_d .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 _eaf ,nil ;};_gdc :=&PdfAction {};_gdc ._fgb =_cac ;_ggg ._gggcg .Register (_ccc ,_gdc );if _cbd :=_ccc .Get ("\u0054\u0079\u0070\u0065");_cbd !=nil {_dga ,_adea :=_cbd .(*_fd .PdfObjectName );if !_adea {_fca .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",_cbd );}else {if *_dga !="\u0041\u0063\u0074\u0069\u006f\u006e"{_fca .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",*_dga );};_gdc .Type =_dga ;};};if _bbcg :=_ccc .Get ("\u004e\u0065\u0078\u0074");_bbcg !=nil {_gdc .Next =_bbcg ;};if _abe :=_ccc .Get ("\u0053");_abe !=nil {_gdc .S =_abe ;};_aaa ,_gac :=_gdc .S .(*_fd .PdfObjectName );if !_gac {_fca .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",_gdc .S );return nil ,_d .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",_gdc .S );};_da :=PdfActionType (_aaa .String ());switch _da {case ActionTypeGoTo :_ffe ,_fcb :=_ggg .newPdfActionGotoFromDict (_ccc );if _fcb !=nil {return nil ,_fcb ;};_ffe .PdfAction =_gdc ;_gdc ._db =_ffe ;return _gdc ,nil ;case ActionTypeGoToR :_acf ,_dbg :=_ggg .newPdfActionGotoRFromDict (_ccc );if _dbg !=nil {return nil ,_dbg ;};_acf .PdfAction =_gdc ;_gdc ._db =_acf ;return _gdc ,nil ;case ActionTypeGoToE :_dac ,_bga :=_ggg .newPdfActionGotoEFromDict (_ccc );if _bga !=nil {return nil ,_bga ;};_dac .PdfAction =_gdc ;_gdc ._db =_dac ;return _gdc ,nil ;case ActionTypeLaunch :_daca ,_ffc :=_ggg .newPdfActionLaunchFromDict (_ccc );if _ffc !=nil {return nil ,_ffc ;};_daca .PdfAction =_gdc ;_gdc ._db =_daca ;return _gdc ,nil ;case ActionTypeThread :_dgab ,_gga :=_ggg .newPdfActionThreadFromDict (_ccc );if _gga !=nil {return nil ,_gga ;};_dgab .PdfAction =_gdc ;_gdc ._db =_dgab ;return _gdc ,nil ;case ActionTypeURI :_gfe ,_dda :=_ggg .newPdfActionURIFromDict (_ccc );if _dda !=nil {return nil ,_dda ;};_gfe .PdfAction =_gdc ;_gdc ._db =_gfe ;return _gdc ,nil ;case ActionTypeSound :_agge ,_gec :=_ggg .newPdfActionSoundFromDict (_ccc );if _gec !=nil {return nil ,_gec ;};_agge .PdfAction =_gdc ;_gdc ._db =_agge ;return _gdc ,nil ;case ActionTypeMovie :_cdf ,_ccbd :=_ggg .newPdfActionMovieFromDict (_ccc );if _ccbd !=nil {return nil ,_ccbd ;};_cdf .PdfAction =_gdc ;_gdc ._db =_cdf ;return _gdc ,nil ;case ActionTypeHide :_abg ,_gbe :=_ggg .newPdfActionHideFromDict (_ccc );if _gbe !=nil {return nil ,_gbe ;};_abg .PdfAction =_gdc ;_gdc ._db =_abg ;return _gdc ,nil ;case ActionTypeNamed :_fdg ,_ede :=_ggg .newPdfActionNamedFromDict (_ccc );if _ede !=nil {return nil ,_ede ;};_fdg .PdfAction =_gdc ;_gdc ._db =_fdg ;return _gdc ,nil ;case ActionTypeSubmitForm :_ffea ,_bcdg :=_ggg .newPdfActionSubmitFormFromDict (_ccc );if _bcdg !=nil {return nil ,_bcdg ;};_ffea .PdfAction =_gdc ;_gdc ._db =_ffea ;return _gdc ,nil ;case ActionTypeResetForm :_cgf ,_bcg :=_ggg .newPdfActionResetFormFromDict (_ccc );if _bcg !=nil {return nil ,_bcg ;};_cgf .PdfAction =_gdc ;_gdc ._db =_cgf ;return _gdc ,nil ;case ActionTypeImportData :_gcf ,_fef :=_ggg .newPdfActionImportDataFromDict (_ccc );if _fef !=nil {return nil ,_fef ;};_gcf .PdfAction =_gdc ;_gdc ._db =_gcf ;return _gdc ,nil ;case ActionTypeSetOCGState :_gdfd ,_fcag :=_ggg .newPdfActionSetOCGStateFromDict (_ccc );if _fcag !=nil {return nil ,_fcag ;};_gdfd .PdfAction =_gdc ;_gdc ._db =_gdfd ;return _gdc ,nil ;case ActionTypeRendition :_def ,_fda :=_ggg .newPdfActionRenditionFromDict (_ccc );if _fda !=nil {return nil ,_fda ;};_def .PdfAction =_gdc ;_gdc ._db =_def ;return _gdc ,nil ;case ActionTypeTrans :_adf ,_fdgb :=_ggg .newPdfActionTransFromDict (_ccc );if _fdgb !=nil {return nil ,_fdgb ;};_adf .PdfAction =_gdc ;_gdc ._db =_adf ;return _gdc ,nil ;case ActionTypeGoTo3DView :_bbb ,_ffec :=_ggg .newPdfActionGoTo3DViewFromDict (_ccc );if _ffec !=nil {return nil ,_ffec ;};_bbb .PdfAction =_gdc ;_gdc ._db =_bbb ;return _gdc ,nil ;case ActionTypeJavaScript :_gaf ,_cbba :=_ggg .newPdfActionJavaScriptFromDict (_ccc );if _cbba !=nil {return nil ,_cbba ;};_gaf .PdfAction =_gdc ;_gdc ._db =_gaf ;return _gdc ,nil ;};_fca .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",_da );return nil ,nil ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_feca *PdfColorspaceLab )ToPdfObject ()_fd .PdfObject {_bbfff :=_fd .MakeArray ();_bbfff .Append (_fd .MakeName ("\u004c\u0061\u0062"));_ddeb :=_fd .MakeDict ();if _feca .WhitePoint !=nil {_gead :=_fd .MakeArray (_fd .MakeFloat (_feca .WhitePoint [0]),_fd .MakeFloat (_feca .WhitePoint [1]),_fd .MakeFloat (_feca .WhitePoint [2]));_ddeb .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_gead );}else {_fca .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 _feca .BlackPoint !=nil {_cebe :=_fd .MakeArray (_fd .MakeFloat (_feca .BlackPoint [0]),_fd .MakeFloat (_feca .BlackPoint [1]),_fd .MakeFloat (_feca .BlackPoint [2]));_ddeb .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_cebe );};if _feca .Range !=nil {_faga :=_fd .MakeArray (_fd .MakeFloat (_feca .Range [0]),_fd .MakeFloat (_feca .Range [1]),_fd .MakeFloat (_feca .Range [2]),_fd .MakeFloat (_feca .Range [3]));_ddeb .Set ("\u0052\u0061\u006eg\u0065",_faga );};_bbfff .Append (_ddeb );if _feca ._fbfeb !=nil {_feca ._fbfeb .PdfObject =_bbfff ;return _feca ._fbfeb ;};return _bbfff ;};
|
||
|
||
// AddExtGState add External Graphics State (GState). The gsDict can be specified
|
||
// either directly as a dictionary or an indirect object containing a dictionary.
|
||
func (_acgbb *PdfPageResources )AddExtGState (gsName _fd .PdfObjectName ,gsDict _fd .PdfObject )error {if _acgbb .ExtGState ==nil {_acgbb .ExtGState =_fd .MakeDict ();};_egfca :=_acgbb .ExtGState ;_agece ,_gaga :=_fd .TraceToDirectObject (_egfca ).(*_fd .PdfObjectDictionary );if !_gaga {_fca .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",_egfca ,_fd .TraceToDirectObject (_egfca ));return _fd .ErrTypeError ;};_agece .Set (gsName ,gsDict );return nil ;};var ImageHandling ImageHandler =DefaultImageHandler {};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gedd *PdfColorspaceDeviceRGB )ToPdfObject ()_fd .PdfObject {return _fd .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B");};
|
||
|
||
// 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 (_abcfe *PdfReader )GetOutlinesFlattened ()([]*PdfOutlineTreeNode ,[]string ,error ){var _fddba []*PdfOutlineTreeNode ;var _fefa []string ;var _geged func (*PdfOutlineTreeNode ,*[]*PdfOutlineTreeNode ,*[]string ,int );_geged =func (_egbdfg *PdfOutlineTreeNode ,_aegd *[]*PdfOutlineTreeNode ,_cddfc *[]string ,_cggcgb int ){if _egbdfg ==nil {return ;};if _egbdfg ._ccggf ==nil {_fca .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 ;};_fdadg ,_geade :=_egbdfg ._ccggf .(*PdfOutlineItem );if _geade {*_aegd =append (*_aegd ,&_fdadg .PdfOutlineTreeNode );_gfcff :=_gc .Repeat ("\u0020",_cggcgb *2)+_fdadg .Title .Decoded ();*_cddfc =append (*_cddfc ,_gfcff );};if _egbdfg .First !=nil {_dbfb :=_gc .Repeat ("\u0020",_cggcgb *2)+"\u002b";*_cddfc =append (*_cddfc ,_dbfb );_geged (_egbdfg .First ,_aegd ,_cddfc ,_cggcgb +1);};if _geade &&_fdadg .Next !=nil {_geged (_fdadg .Next ,_aegd ,_cddfc ,_cggcgb );};};_geged (_abcfe ._fbdb ,&_fddba ,&_fefa ,0);return _fddba ,_fefa ,nil ;};
|
||
|
||
// PdfColorCalGray represents a CalGray colorspace.
|
||
type PdfColorCalGray float64 ;
|
||
|
||
// 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 (_ceede pdfFontSimple )GetCharMetrics (code _gf .CharCode )(_aaf .CharMetrics ,bool ){if _gbcee ,_ceca :=_ceede ._cfcg [code ];_ceca {return _aaf .CharMetrics {Wx :_gbcee },true ;};if _aaf .IsStdFont (_aaf .StdFontName (_ceede ._egfg )){return _aaf .CharMetrics {Wx :250},true ;};return _aaf .CharMetrics {},false ;};
|
||
|
||
// SetFilter sets compression filter. Decodes with current filter sets and
|
||
// encodes the data with the new filter.
|
||
func (_ceadca *XObjectImage )SetFilter (encoder _fd .StreamEncoder )error {_cgddg :=_ceadca .Stream ;_dcbgc ,_ddafg :=_ceadca .Filter .DecodeBytes (_cgddg );if _ddafg !=nil {return _ddafg ;};_ceadca .Filter =encoder ;encoder .UpdateParams (_ceadca .getParamsDict ());_cgddg ,_ddafg =encoder .EncodeBytes (_dcbgc );if _ddafg !=nil {return _ddafg ;};_ceadca .Stream =_cgddg ;return nil ;};func (_geaa *PdfReader )newPdfAnnotationPopupFromDict (_dbcd *_fd .PdfObjectDictionary )(*PdfAnnotationPopup ,error ){_fefd :=PdfAnnotationPopup {};_fefd .Parent =_dbcd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_fefd .Open =_dbcd .Get ("\u004f\u0070\u0065\u006e");return &_fefd ,nil ;};
|
||
|
||
// 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 (_aceef *PdfAcroForm )FillWithAppearance (provider FieldValueProvider ,appGen FieldAppearanceGenerator )error {return _aceef .fill (provider ,appGen );};
|
||
|
||
// NewPdfAnnotationUnderline returns a new text underline annotation.
|
||
func NewPdfAnnotationUnderline ()*PdfAnnotationUnderline {_baba :=NewPdfAnnotation ();_ccbdg :=&PdfAnnotationUnderline {};_ccbdg .PdfAnnotation =_baba ;_ccbdg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_baba .SetContext (_ccbdg );return _ccbdg ;};
|
||
|
||
// 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 *_fd .PdfObjectInteger ;TilingType *_fd .PdfObjectInteger ;BBox *PdfRectangle ;XStep *_fd .PdfObjectFloat ;YStep *_fd .PdfObjectFloat ;Resources *PdfPageResources ;Matrix *_fd .PdfObjectArray ;};
|
||
|
||
// 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 ){_begae :=PdfDate {};_cgfdg :=_agcgg .FindAllStringSubmatch (dateStr ,1);if len (_cgfdg )< 1{return _begae ,_d .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 (_cgfdg [0])!=10{return _begae ,_fce .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");};_begae ._bgggb ,_ =_ca .ParseInt (_cgfdg [0][1],10,32);_begae ._baced ,_ =_ca .ParseInt (_cgfdg [0][2],10,32);_begae ._beffe ,_ =_ca .ParseInt (_cgfdg [0][3],10,32);_begae ._dcbba ,_ =_ca .ParseInt (_cgfdg [0][4],10,32);_begae ._fbbgf ,_ =_ca .ParseInt (_cgfdg [0][5],10,32);_begae ._cfegc ,_ =_ca .ParseInt (_cgfdg [0][6],10,32);if len (_cgfdg [0][7])> 0{_begae ._bbeedc =_cgfdg [0][7][0];}else {_begae ._bbeedc ='+';};if len (_cgfdg [0][8])> 0{_begae ._edbcf ,_ =_ca .ParseInt (_cgfdg [0][8],10,32);}else {_begae ._edbcf =0;};if len (_cgfdg [0][9])> 0{_begae ._eaegd ,_ =_ca .ParseInt (_cgfdg [0][9],10,32);}else {_begae ._eaegd =0;};return _begae ,nil ;};
|
||
|
||
// PdfColorspaceSpecialSeparation is a Separation colorspace.
|
||
// At the moment the colour space is set to a Separation space, the conforming reader shall determine whether the
|
||
// device has an available colorant (e.g. dye) corresponding to the name of the requested space. If so, the conforming
|
||
// reader shall ignore the alternateSpace and tintTransform parameters; subsequent painting operations within the
|
||
// space shall apply the designated colorant directly, according to the tint values supplied.
|
||
//
|
||
// Format: [/Separation name alternateSpace tintTransform]
|
||
type PdfColorspaceSpecialSeparation struct{ColorantName *_fd .PdfObjectName ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;_gfbf *_fd .PdfIndirectObject ;};
|
||
|
||
// ValidateSignatures validates digital signatures in the document.
|
||
func (_geecfa *PdfReader )ValidateSignatures (handlers []SignatureHandler )([]SignatureValidationResult ,error ){if _geecfa .AcroForm ==nil {return nil ,nil ;};if _geecfa .AcroForm .Fields ==nil {return nil ,nil ;};type sigFieldPair struct{_bgegc *PdfSignature ;_gedca *PdfField ;_adfb SignatureHandler ;};var _cedgg []*sigFieldPair ;for _ ,_dfcc :=range _geecfa .AcroForm .AllFields (){if _dfcc .V ==nil {continue ;};if _dgbbae ,_bdfb :=_fd .GetDict (_dfcc .V );_bdfb {if _ddfeb ,_beeacc :=_fd .GetNameVal (_dgbbae .Get ("\u0054\u0079\u0070\u0065"));_beeacc &&_ddfeb =="\u0053\u0069\u0067"{_fegfe ,_aeggd :=_fd .GetIndirect (_dfcc .V );if !_aeggd {_fca .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 ;};_gcfb ,_gcbdf :=_geecfa .newPdfSignatureFromIndirect (_fegfe );if _gcbdf !=nil {return nil ,_gcbdf ;};var _daaf SignatureHandler ;for _ ,_cgdaf :=range handlers {if _cgdaf .IsApplicable (_gcfb ){_daaf =_cgdaf ;break ;};};_cedgg =append (_cedgg ,&sigFieldPair {_bgegc :_gcfb ,_gedca :_dfcc ,_adfb :_daaf });};};};var _dgfcd []SignatureValidationResult ;for _ ,_cggff :=range _cedgg {_cgffa :=SignatureValidationResult {IsSigned :true ,Fields :[]*PdfField {_cggff ._gedca }};if _cggff ._adfb ==nil {_cgffa .Errors =append (_cgffa .Errors ,"\u0068a\u006ed\u006c\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0073\u0065\u0074");_dgfcd =append (_dgfcd ,_cgffa );continue ;};_dacafa ,_aeabb :=_cggff ._adfb .NewDigest (_cggff ._bgegc );if _aeabb !=nil {_cgffa .Errors =append (_cgffa .Errors ,"\u0064\u0069\u0067e\u0073\u0074\u0020\u0065\u0072\u0072\u006f\u0072",_aeabb .Error ());_dgfcd =append (_dgfcd ,_cgffa );continue ;};_ebcdg :=_cggff ._bgegc .ByteRange ;if _ebcdg ==nil {_cgffa .Errors =append (_cgffa .Errors ,"\u0042\u0079\u0074\u0065\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");_dgfcd =append (_dgfcd ,_cgffa );continue ;};for _bdbb :=0;_bdbb < _ebcdg .Len ();_bdbb =_bdbb +2{_adgde ,_ :=_fd .GetNumberAsInt64 (_ebcdg .Get (_bdbb ));_aaadc ,_ :=_fd .GetIntVal (_ebcdg .Get (_bdbb +1));if _ ,_aeefc :=_geecfa ._eade .Seek (_adgde ,_fc .SeekStart );_aeefc !=nil {return nil ,_aeefc ;};_aacgd :=make ([]byte ,_aaadc );if _ ,_ffdef :=_geecfa ._eade .Read (_aacgd );_ffdef !=nil {return nil ,_ffdef ;};_dacafa .Write (_aacgd );};_gabag ,_aeabb :=_cggff ._adfb .Validate (_cggff ._bgegc ,_dacafa );if _aeabb !=nil {return nil ,_aeabb ;};_gabag .Name =_cggff ._bgegc .Name .Decoded ();_gabag .Reason =_cggff ._bgegc .Reason .Decoded ();if _cggff ._bgegc .M !=nil {_fecbc ,_bcbab :=NewPdfDate (_cggff ._bgegc .M .String ());if _bcbab !=nil {_gabag .Errors =append (_gabag .Errors ,_bcbab .Error ());continue ;};_gabag .Date =_fecbc ;};_gabag .ContactInfo =_cggff ._bgegc .ContactInfo .Decoded ();_gabag .Location =_cggff ._bgegc .Location .Decoded ();_gabag .Fields =_cgffa .Fields ;_dgfcd =append (_dgfcd ,_gabag );};return _dgfcd ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading pattern.
|
||
func (_bcgff *PdfShadingPattern )ToPdfObject ()_fd .PdfObject {_bcgff .PdfPattern .ToPdfObject ();_bddb :=_bcgff .getDict ();if _bcgff .Shading !=nil {_bddb .Set ("\u0053h\u0061\u0064\u0069\u006e\u0067",_bcgff .Shading .ToPdfObject ());};if _bcgff .Matrix !=nil {_bddb .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_bcgff .Matrix );};if _bcgff .ExtGState !=nil {_bddb .Set ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_bcgff .ExtGState );};return _bcgff ._bfcg ;};
|
||
|
||
// GetXObjectImageByName returns the XObjectImage with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_aedee *PdfPageResources )GetXObjectImageByName (keyName _fd .PdfObjectName )(*XObjectImage ,error ){_acecf ,_dfegdb :=_aedee .GetXObjectByName (keyName );if _acecf ==nil {return nil ,nil ;};if _dfegdb !=XObjectTypeImage {return nil ,_fce .New ("\u006e\u006f\u0074 \u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065");};_eegcb ,_fdabb :=NewXObjectImageFromStream (_acecf );if _fdabb !=nil {return nil ,_fdabb ;};return _eegcb ,nil ;};
|
||
|
||
// M returns the value of the magenta component of the color.
|
||
func (_bbcd *PdfColorDeviceCMYK )M ()float64 {return float64 (_bbcd [1])}; |