mirror of
https://github.com/unidoc/unipdf.git
synced 2025-05-02 22:17:06 +08:00
2612 lines
635 KiB
Go
2612 lines
635 KiB
Go
//
|
||
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
||
//
|
||
// This is a commercial product and requires a license to operate.
|
||
// A trial license can be obtained at https://unidoc.io
|
||
//
|
||
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
||
//
|
||
// Use of this source code is governed by the UniDoc End User License Agreement
|
||
// terms that can be accessed at https://unidoc.io/eula/
|
||
|
||
// Package model provides an interface for working with high-level objects (models) in PDF files, including
|
||
// reading and writing documents.
|
||
//
|
||
// The document structure of a PDF is constructed of a hierarchy of data models, representing a tree
|
||
// of information starting from the Document catalog (Figure 5 p. 80).
|
||
// It is based on the core package which handles core functionality such as file i/o, parsing and
|
||
// handling of primitive PDF objects (core.PdfObject).
|
||
//
|
||
// As an example of the interface, the following snippet can read the PDF and output the number of pages:
|
||
//
|
||
// f, err := os.Open(inputPath)
|
||
// if err != nil {
|
||
// return nil, err
|
||
// }
|
||
// defer f.Close()
|
||
// pdfReader, err := unipdf.NewPdfReader(f)
|
||
// if err != nil {
|
||
// fmt.Printf("Failed to read PDF file: %v\n", err)
|
||
// os.Exit(1)
|
||
// }
|
||
// numPages, err := pdfReader.GetNumPages()
|
||
// if err != nil {
|
||
// fmt.Printf("Failed to get number of pages: %v\n", err)
|
||
// os.Exit(1)
|
||
// }
|
||
// fmt.Printf("The PDF file has %d pages\n", numPages)
|
||
//
|
||
// For more examples, see the unidoc-examples repository on GitHub: https://github.com/unidoc/unidoc-examples
|
||
package model ;import (_f "bufio";_bbb "bytes";_aa "encoding/binary";_bc "errors";_c "fmt";_dbe "github.com/unidoc/unipdf/v3/common";_da "github.com/unidoc/unipdf/v3/common/license";_cb "github.com/unidoc/unipdf/v3/core";_gg "github.com/unidoc/unipdf/v3/core/security";_cc "github.com/unidoc/unipdf/v3/core/security/crypt";_gb "github.com/unidoc/unipdf/v3/internal/cmap";_ac "github.com/unidoc/unipdf/v3/internal/imageutil";_cf "github.com/unidoc/unipdf/v3/internal/sampling";_ccb "github.com/unidoc/unipdf/v3/internal/textencoding";_af "github.com/unidoc/unipdf/v3/model/internal/fonts";_cg "github.com/unidoc/unipdf/v3/ps";_ae "github.com/unidoc/unitype";_ca "image";_db "image/color";_ "image/gif";_ "image/png";_bb "io";_bf "io/ioutil";_ag "math";_b "math/rand";_ce "os";_e "regexp";_gf "sort";_eb "strconv";_fe "strings";_d "time";_g "unicode";_ff "unicode/utf8";);func _fgfdf (_eaad _cb .PdfObject )(*PdfColorspaceSpecialSeparation ,error ){_edec :=NewPdfColorspaceSpecialSeparation ();if _dadc ,_adff :=_eaad .(*_cb .PdfIndirectObject );_adff {_edec ._ccba =_dadc ;};_eaad =_cb .TraceToDirectObject (_eaad );_cadb ,_cecbe :=_eaad .(*_cb .PdfObjectArray );if !_cecbe {return nil ,_c .Errorf ("\u0073\u0065p\u0061\u0072\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0062je\u0063\u0074");};if _cadb .Len ()!=4{return nil ,_c .Errorf ("\u0073\u0065p\u0061\u0072\u0061\u0074i\u006f\u006e \u0043\u0053\u003a\u0020\u0049\u006e\u0063\u006fr\u0072\u0065\u0063\u0074\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006ce\u006e\u0067\u0074\u0068");};_eaad =_cadb .Get (0);_dece ,_cecbe :=_eaad .(*_cb .PdfObjectName );if !_cecbe {return nil ,_c .Errorf ("\u0073\u0065\u0070ar\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a \u0069n\u0076a\u006ci\u0064\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};if *_dece !="\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"{return nil ,_c .Errorf ("\u0073\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e\u0020\u0043\u0053\u003a\u0020w\u0072o\u006e\u0067\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};_eaad =_cadb .Get (1);_dece ,_cecbe =_eaad .(*_cb .PdfObjectName );if !_cecbe {return nil ,_c .Errorf ("\u0073\u0065pa\u0072\u0061\u0074i\u006f\u006e\u0020\u0043S: \u0049nv\u0061\u006c\u0069\u0064\u0020\u0063\u006flo\u0072\u0061\u006e\u0074\u0020\u006e\u0061m\u0065");};_edec .ColorantName =_dece ;_eaad =_cadb .Get (2);_ggcc ,_cffc :=NewPdfColorspaceFromPdfObject (_eaad );if _cffc !=nil {return nil ,_cffc ;};_edec .AlternateSpace =_ggcc ;_gadf ,_cffc :=_abcgd (_cadb .Get (3));if _cffc !=nil {return nil ,_cffc ;};_edec .TintTransform =_gadf ;return _edec ,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 ,_ccb .SimpleEncoder ,error ){_fcdaa ,_dbbba :=_eegd (basefont );if _dbbba !=nil {return nil ,nil ,_dbbba ;};_gecbbc ,_gfaac :=_fcdaa .Encoder ().(_ccb .SimpleEncoder );if !_gfaac {return nil ,nil ,_c .Errorf ("\u006f\u006e\u006c\u0079\u0020s\u0069\u006d\u0070\u006c\u0065\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006eg\u0020\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u002c\u0020\u0067\u006f\u0074\u0020\u0025\u0054",_fcdaa .Encoder ());};_ffcbb :=make (map[rune ]_ccb .GlyphName );for _cafe :=range alphabet {if _ ,_effeg :=_gecbbc .RuneToCharcode (_cafe );!_effeg {_ ,_ceecf :=_fcdaa ._egdg [_cafe ];if !_ceecf {_dbe .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",_cafe ,_cafe );continue ;};_dcdg ,_ceecf :=_ccb .RuneToGlyph (_cafe );if !_ceecf {_dbe .Log .Debug ("\u006eo\u0020\u0067\u006c\u0079\u0070\u0068\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u0020\u0025\u0023\u0078\u003d\u0025\u0071",_cafe ,_cafe );continue ;};if len (_ffcbb )>=255{return nil ,nil ,_bc .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");};_ffcbb [_cafe ]=_dcdg ;};};var (_degdb []_ccb .CharCode ;_egcdb []_ccb .CharCode ;);for _fdebgd :=_ccb .CharCode (1);_fdebgd <=0xff;_fdebgd ++{_fadb ,_agbbf :=_gecbbc .CharcodeToRune (_fdebgd );if !_agbbf {_degdb =append (_degdb ,_fdebgd );continue ;};if _ ,_agbbf =alphabet [_fadb ];!_agbbf {_egcdb =append (_egcdb ,_fdebgd );};};_fded :=append (_degdb ,_egcdb ...);if len (_fded )< len (_ffcbb ){return nil ,nil ,_c .Errorf ("n\u0065\u0065\u0064\u0020\u0074\u006f\u0020\u0065\u006ec\u006f\u0064\u0065\u0020\u0025\u0064\u0020ru\u006e\u0065\u0073\u002c \u0062\u0075\u0074\u0020\u0068\u0061\u0076\u0065\u0020on\u006c\u0079 \u0025\u0064\u0020\u0073\u006c\u006f\u0074\u0073",len (_ffcbb ),len (_fded ));};_ebdd :=make ([]rune ,0,len (_ffcbb ));for _egbe :=range _ffcbb {_ebdd =append (_ebdd ,_egbe );};_gf .Slice (_ebdd ,func (_ccgf ,_dagg int )bool {return _ebdd [_ccgf ]< _ebdd [_dagg ]});_bdec :=make (map[_ccb .CharCode ]_ccb .GlyphName ,len (_ebdd ));for _ ,_degba :=range _ebdd {_dfgdd :=_fded [0];_fded =_fded [1:];_bdec [_dfgdd ]=_ffcbb [_degba ];};_gecbbc =_ccb .ApplyDifferences (_gecbbc ,_bdec );_fcdaa .SetEncoder (_gecbbc );return &PdfFont {_cdfe :&_fcdaa },_gecbbc ,nil ;};
|
||
|
||
// 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 (_ceac *PdfFont )CharcodesToUnicode (charcodes []_ccb .CharCode )[]rune {_acfa ,_ ,_ :=_ceac .CharcodesToUnicodeWithStats (charcodes );return _acfa ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading pattern.
|
||
func (_ccdcg *PdfShadingPattern )ToPdfObject ()_cb .PdfObject {_ccdcg .PdfPattern .ToPdfObject ();_gdcd :=_ccdcg .getDict ();if _ccdcg .Shading !=nil {_gdcd .Set ("\u0053h\u0061\u0064\u0069\u006e\u0067",_ccdcg .Shading .ToPdfObject ());};if _ccdcg .Matrix !=nil {_gdcd .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_ccdcg .Matrix );};if _ccdcg .ExtGState !=nil {_gdcd .Set ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_ccdcg .ExtGState );};return _ccdcg ._gbdd ;};
|
||
|
||
// String returns a string that describes `font`.
|
||
func (_cdbd *PdfFont )String ()string {_bgbdd :="";if _cdbd ._cdfe .Encoder ()!=nil {_bgbdd =_cdbd ._cdfe .Encoder ().String ();};return _c .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0054\u0020\u0025s\u0020\u0025\u0073\u007d",_cdbd ._cdfe ,_cdbd .baseFields ().coreString (),_bgbdd );};
|
||
|
||
// L returns the value of the L component of the color.
|
||
func (_cebffe *PdfColorLab )L ()float64 {return float64 (_cebffe [0])};func (_ceagc *PdfColorspaceCalGray )String ()string {return "\u0043a\u006c\u0047\u0072\u0061\u0079"};
|
||
|
||
// SetAction sets the PDF action for the annotation link.
|
||
func (_fad *PdfAnnotationLink )SetAction (action *PdfAction ){_fad ._afb =action ;if action ==nil {_fad .A =nil ;};};
|
||
|
||
// SetSamples convert samples to byte-data and sets for the image.
|
||
// NOTE: The method resamples the data and this could lead to high memory usage,
|
||
// especially on large images. It should be used only when it is not possible
|
||
// to work with the image byte data directly.
|
||
func (_decba *Image )SetSamples (samples []uint32 ){if _decba .BitsPerComponent < 8{samples =_decba .samplesAddPadding (samples );};_accgad :=_cf .ResampleUint32 (samples ,int (_decba .BitsPerComponent ),8);_bcaca :=make ([]byte ,len (_accgad ));for _bcff ,_cfddb :=range _accgad {_bcaca [_bcff ]=byte (_cfddb );};_decba .Data =_bcaca ;};func (_ggeba *PdfPattern )getDict ()*_cb .PdfObjectDictionary {if _dgacf ,_bfacd :=_ggeba ._gbdd .(*_cb .PdfIndirectObject );_bfacd {_fffgb ,_fdddge :=_dgacf .PdfObject .(*_cb .PdfObjectDictionary );if !_fdddge {return nil ;};return _fffgb ;}else if _adbfd ,_dcffd :=_ggeba ._gbdd .(*_cb .PdfObjectStream );_dcffd {return _adbfd .PdfObjectDictionary ;}else {_dbe .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",_ggeba ._gbdd );return nil ;};};func _bbffe (_fbcaa _cb .PdfObject )(*PdfFunctionType3 ,error ){_fabf :=&PdfFunctionType3 {};var _afab *_cb .PdfObjectDictionary ;if _aebbd ,_ffcdc :=_fbcaa .(*_cb .PdfIndirectObject );_ffcdc {_agfbb ,_dbfcb :=_aebbd .PdfObject .(*_cb .PdfObjectDictionary );if !_dbfcb {return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fabf ._gbbec =_aebbd ;_afab =_agfbb ;}else if _fadcb ,_dgdad :=_fbcaa .(*_cb .PdfObjectDictionary );_dgdad {_afab =_fadcb ;}else {return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_begcg ,_agbcac :=_cb .TraceToDirectObject (_afab .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_cb .PdfObjectArray );if !_agbcac {_dbe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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 _begcg .Len ()!=2{_dbe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_bc .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_cgefe ,_gadbd :=_begcg .ToFloat64Array ();if _gadbd !=nil {return nil ,_gadbd ;};_fabf .Domain =_cgefe ;_begcg ,_agbcac =_cb .TraceToDirectObject (_afab .Get ("\u0052\u0061\u006eg\u0065")).(*_cb .PdfObjectArray );if _agbcac {if _begcg .Len ()< 0||_begcg .Len ()%2!=0{return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_bccbc ,_bagd :=_begcg .ToFloat64Array ();if _bagd !=nil {return nil ,_bagd ;};_fabf .Range =_bccbc ;};_begcg ,_agbcac =_cb .TraceToDirectObject (_afab .Get ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es")).(*_cb .PdfObjectArray );if !_agbcac {_dbe .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 ,_bc .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");};_fabf .Functions =[]PdfFunction {};for _ ,_gadef :=range _begcg .Elements (){_daegf ,_decbd :=_abcgd (_gadef );if _decbd !=nil {return nil ,_decbd ;};_fabf .Functions =append (_fabf .Functions ,_daegf );};_begcg ,_agbcac =_cb .TraceToDirectObject (_afab .Get ("\u0042\u006f\u0075\u006e\u0064\u0073")).(*_cb .PdfObjectArray );if !_agbcac {_dbe .Log .Error ("B\u006fu\u006e\u0064\u0073\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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");};_cabgb ,_gadbd :=_begcg .ToFloat64Array ();if _gadbd !=nil {return nil ,_gadbd ;};_fabf .Bounds =_cabgb ;if len (_fabf .Bounds )!=len (_fabf .Functions )-1{_dbe .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 (_fabf .Bounds ),len (_fabf .Functions ));return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_begcg ,_agbcac =_cb .TraceToDirectObject (_afab .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_cb .PdfObjectArray );if !_agbcac {_dbe .Log .Error ("E\u006ec\u006f\u0064\u0065\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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");};_aebd ,_gadbd :=_begcg .ToFloat64Array ();if _gadbd !=nil {return nil ,_gadbd ;};_fabf .Encode =_aebd ;if len (_fabf .Encode )!=2*len (_fabf .Functions ){_dbe .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 (_fabf .Encode ),len (_fabf .Functions ));return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return _fabf ,nil ;};func (_abcc *PdfReader )newPdfActionImportDataFromDict (_fcf *_cb .PdfObjectDictionary )(*PdfActionImportData ,error ){_bec ,_eeac :=_bgcc (_fcf .Get ("\u0046"));if _eeac !=nil {return nil ,_eeac ;};return &PdfActionImportData {F :_bec },nil ;};
|
||
|
||
// SetFlag sets the flag for the field.
|
||
func (_gegfb *PdfField )SetFlag (flag FieldFlag ){_gegfb .Ff =_cb .MakeInteger (int64 (flag ))};
|
||
|
||
// NewPdfAnnotationCaret returns a new caret annotation.
|
||
func NewPdfAnnotationCaret ()*PdfAnnotationCaret {_aggc :=NewPdfAnnotation ();_cagfe :=&PdfAnnotationCaret {};_cagfe .PdfAnnotation =_aggc ;_cagfe .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_aggc .SetContext (_cagfe );return _cagfe ;};
|
||
|
||
// 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 ){_gadc :=PdfDate {};_efff :=_ebcd .FindAllStringSubmatch (dateStr ,1);if len (_efff )< 1{return _gadc ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0064\u0061\u0074\u0065\u0020s\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0073\u0029",dateStr );};if len (_efff [0])!=10{return _gadc ,_bc .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");};_gadc ._dbbc ,_ =_eb .ParseInt (_efff [0][1],10,32);_gadc ._cddf ,_ =_eb .ParseInt (_efff [0][2],10,32);_gadc ._ffdac ,_ =_eb .ParseInt (_efff [0][3],10,32);_gadc ._cfgca ,_ =_eb .ParseInt (_efff [0][4],10,32);_gadc ._fcgbe ,_ =_eb .ParseInt (_efff [0][5],10,32);_gadc ._aegfed ,_ =_eb .ParseInt (_efff [0][6],10,32);if len (_efff [0][7])> 0{_gadc ._bbbbg =_efff [0][7][0];}else {_gadc ._bbbbg ='+';};if len (_efff [0][8])> 0{_gadc ._bbee ,_ =_eb .ParseInt (_efff [0][8],10,32);}else {_gadc ._bbee =0;};if len (_efff [0][9])> 0{_gadc ._caccb ,_ =_eb .ParseInt (_efff [0][9],10,32);}else {_gadc ._caccb =0;};return _gadc ,nil ;};
|
||
|
||
// Encrypt encrypts the output file with a specified user/owner password.
|
||
func (_ecec *PdfWriter )Encrypt (userPass ,ownerPass []byte ,options *EncryptOptions )error {_afbcc :=RC4_128bit ;if options !=nil {_afbcc =options .Algorithm ;};_cbcbb :=_gg .PermOwner ;if options !=nil {_cbcbb =options .Permissions ;};var _begeb _cc .Filter ;switch _afbcc {case RC4_128bit :_begeb =_cc .NewFilterV2 (16);case AES_128bit :_begeb =_cc .NewFilterAESV2 ();case AES_256bit :_begeb =_cc .NewFilterAESV3 ();default:return _c .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020a\u006cg\u006fr\u0069\u0074\u0068\u006d\u003a\u0020\u0025v",options .Algorithm );};_eaee ,_dcdbb ,_agff :=_cb .PdfCryptNewEncrypt (_begeb ,userPass ,ownerPass ,_cbcbb );if _agff !=nil {return _agff ;};_ecec ._ccaec =_eaee ;if _dcdbb .Major !=0{_ecec .SetVersion (_dcdbb .Major ,_dcdbb .Minor );};_ecec ._fbffb =_dcdbb .Encrypt ;_ecec ._efab =_cb .MakeArray (_cb .MakeHexString (_dcdbb .ID0 ),_cb .MakeHexString (_dcdbb .ID1 ));_gcfgc :=_cb .MakeIndirectObject (_dcdbb .Encrypt );_ecec ._fggd =_gcfgc ;_ecec .addObject (_gcfgc );return nil ;};
|
||
|
||
// GetModelFromPrimitive returns the model corresponding to the `primitive` PdfObject.
|
||
func (_befb *modelManager )GetModelFromPrimitive (primitive _cb .PdfObject )PdfModel {model ,_fbgee :=_befb ._dcff [primitive ];if !_fbgee {return nil ;};return model ;};func (_cce *PdfReader )newPdfActionSetOCGStateFromDict (_gaa *_cb .PdfObjectDictionary )(*PdfActionSetOCGState ,error ){return &PdfActionSetOCGState {State :_gaa .Get ("\u0053\u0074\u0061t\u0065"),PreserveRB :_gaa .Get ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042")},nil ;};
|
||
|
||
// ColorToRGB converts an Indexed color to an RGB color.
|
||
func (_gfde *PdfColorspaceSpecialIndexed )ColorToRGB (color PdfColor )(PdfColor ,error ){if _gfde .Base ==nil {return nil ,_bc .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 _gfde .Base .ColorToRGB (color );};func _adgdg (_gceb *PdfField ,_gfcd _cb .PdfObject ){for _ ,_cdbcc :=range _gceb .Annotations {_cdbcc .AS =_gfcd ;_cdbcc .ToPdfObject ();};};
|
||
|
||
// ColorToRGB converts a color in Separation colorspace to RGB colorspace.
|
||
func (_ageb *PdfColorspaceSpecialSeparation )ColorToRGB (color PdfColor )(PdfColor ,error ){if _ageb .AlternateSpace ==nil {return nil ,_bc .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 _ageb .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// PdfActionGoTo3DView represents a GoTo3DView action.
|
||
type PdfActionGoTo3DView struct{*PdfAction ;TA _cb .PdfObject ;V _cb .PdfObject ;};
|
||
|
||
// NewPdfAnnotationProjection returns a new projection annotation.
|
||
func NewPdfAnnotationProjection ()*PdfAnnotationProjection {_dgff :=NewPdfAnnotation ();_adda :=&PdfAnnotationProjection {};_adda .PdfAnnotation =_dgff ;_adda .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dgff .SetContext (_adda );return _adda ;};
|
||
|
||
// XObjectType represents the type of an XObject.
|
||
type XObjectType int ;
|
||
|
||
// NewPdfFontFromPdfObject loads a PdfFont from the dictionary `fontObj`. If there is a problem an
|
||
// error is returned.
|
||
func NewPdfFontFromPdfObject (fontObj _cb .PdfObject )(*PdfFont ,error ){return _gacea (fontObj ,true )};
|
||
|
||
// Mask returns the uin32 bitmask for the specific flag.
|
||
func (_eddf FieldFlag )Mask ()uint32 {return uint32 (_eddf )};
|
||
|
||
// ToPdfOutline returns a low level PdfOutline object, based on the current
|
||
// instance.
|
||
func (_fgffb *Outline )ToPdfOutline ()*PdfOutline {_caaa :=NewPdfOutline ();var _ccga []*PdfOutlineItem ;var _ebbcd int64 ;var _ccgef *PdfOutlineItem ;for _ ,_bcbeb :=range _fgffb .Entries {_gbbd ,_cgacb :=_bcbeb .ToPdfOutlineItem ();_gbbd .Parent =&_caaa .PdfOutlineTreeNode ;if _ccgef !=nil {_ccgef .Next =&_gbbd .PdfOutlineTreeNode ;_gbbd .Prev =&_ccgef .PdfOutlineTreeNode ;};_ccga =append (_ccga ,_gbbd );_ebbcd +=_cgacb ;_ccgef =_gbbd ;};_babef :=int64 (len (_ccga ));_ebbcd +=int64 (_babef );if _babef > 0{_caaa .First =&_ccga [0].PdfOutlineTreeNode ;_caaa .Last =&_ccga [_babef -1].PdfOutlineTreeNode ;_caaa .Count =&_ebbcd ;};return _caaa ;};
|
||
|
||
// NewPdfAnnotationLine returns a new line annotation.
|
||
func NewPdfAnnotationLine ()*PdfAnnotationLine {_eac :=NewPdfAnnotation ();_effb :=&PdfAnnotationLine {};_effb .PdfAnnotation =_eac ;_effb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eac .SetContext (_effb );return _effb ;};
|
||
|
||
// ToPdfObject converts colorspace to a PDF object. [/Indexed base hival lookup]
|
||
func (_bdge *PdfColorspaceSpecialIndexed )ToPdfObject ()_cb .PdfObject {_dgccc :=_cb .MakeArray (_cb .MakeName ("\u0049n\u0064\u0065\u0078\u0065\u0064"));_dgccc .Append (_bdge .Base .ToPdfObject ());_dgccc .Append (_cb .MakeInteger (int64 (_bdge .HiVal )));_dgccc .Append (_bdge .Lookup );if _bdge ._fdbb !=nil {_bdge ._fdbb .PdfObject =_dgccc ;return _bdge ._fdbb ;};return _dgccc ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_defc *PdfAnnotation )GetContainingPdfObject ()_cb .PdfObject {return _defc ._efd };
|
||
|
||
// IsColored specifies if the pattern is colored.
|
||
func (_ebdcb *PdfTilingPattern )IsColored ()bool {if _ebdcb .PaintType !=nil &&*_ebdcb .PaintType ==1{return true ;};return false ;};
|
||
|
||
// NewPdfActionHide returns a new "hide" action.
|
||
func NewPdfActionHide ()*PdfActionHide {_ddb :=NewPdfAction ();_cd :=&PdfActionHide {};_cd .PdfAction =_ddb ;_ddb .SetContext (_cd );return _cd ;};
|
||
|
||
// GetExtGState gets the ExtGState specified by keyName. Returns a bool
|
||
// indicating whether it was found or not.
|
||
func (_feaa *PdfPageResources )GetExtGState (keyName _cb .PdfObjectName )(_cb .PdfObject ,bool ){if _feaa .ExtGState ==nil {return nil ,false ;};_dbccaa ,_facfe :=_cb .TraceToDirectObject (_feaa .ExtGState ).(*_cb .PdfObjectDictionary );if !_facfe {_dbe .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",_feaa .ExtGState );return nil ,false ;};if _dccea :=_dbccaa .Get (keyName );_dccea !=nil {return _dccea ,true ;};return nil ,false ;};
|
||
|
||
// ToPdfObject converts the font to a PDF representation.
|
||
func (_afeca *pdfFontType0 )ToPdfObject ()_cb .PdfObject {if _afeca ._ggbe ==nil {_afeca ._ggbe =&_cb .PdfIndirectObject {};};_ddde :=_afeca .baseFields ().asPdfObjectDictionary ("\u0054\u0079\u0070e\u0030");_afeca ._ggbe .PdfObject =_ddde ;if _afeca .Encoding !=nil {_ddde .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_afeca .Encoding );}else if _afeca ._ggdg !=nil {_ddde .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_afeca ._ggdg .ToPdfObject ());};if _afeca .DescendantFont !=nil {_ddde .Set ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073",_cb .MakeArray (_afeca .DescendantFont .ToPdfObject ()));};return _afeca ._ggbe ;};
|
||
|
||
// PdfFunctionType4 is a Postscript calculator functions.
|
||
type PdfFunctionType4 struct{Domain []float64 ;Range []float64 ;Program *_cg .PSProgram ;_gfcf *_cg .PSExecutor ;_eefa []byte ;_bdbff *_cb .PdfObjectStream ;};func _fcccb ()string {_dffg :=_da .GetLicenseKey ();if len (_cgafc )> 0&&(_dffg .IsLicensed ()||_fgfg ){return _cgafc ;};return _c .Sprintf ("\u0055\u006e\u0069Do\u0063\u0020\u0076\u0025\u0073\u0020\u0028\u0025\u0073)\u0020-\u0020h\u0074t\u0070\u003a\u002f\u002f\u0075\u006e\u0069\u0064\u006f\u0063\u002e\u0069\u006f",_cebeb (),_dffg .TypeToString ());};
|
||
|
||
// 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 (_eeeff _bb .Reader )(*Image ,error );
|
||
|
||
// NewImageFromGoImage loads a NRGBA32 unidoc Image from a standard Go image structure.
|
||
NewImageFromGoImage (_acbg _ca .Image )(*Image ,error );
|
||
|
||
// NewGrayImageFromGoImage loads a grayscale unidoc Image from a standard Go image structure.
|
||
NewGrayImageFromGoImage (_bbfa _ca .Image )(*Image ,error );
|
||
|
||
// Compress an image.
|
||
Compress (_cddgd *Image ,_fadaa int64 )(*Image ,error );};func _acccf (_fcba *_cb .PdfObjectDictionary ,_afgf *fontCommon )(*pdfFontType0 ,error ){_bbfb ,_gfcge :=_cb .GetArray (_fcba .Get ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073"));if !_gfcge {_dbe .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",_afgf );return nil ,_cb .ErrRangeError ;};if _bbfb .Len ()!=1{_dbe .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",_bbfb .Len ());return nil ,_cb .ErrRangeError ;};_bcbed ,_cfeb :=_gacea (_bbfb .Get (0),false );if _cfeb !=nil {_dbe .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",_cfeb ,_afgf );return nil ,_cfeb ;};_efad :=_baagg (_afgf );_efad .DescendantFont =_bcbed ;_afbfe ,_gfcge :=_cb .GetNameVal (_fcba .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _gfcge {if _afbfe =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"||_afbfe =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0056"{_efad ._ggdg =_ccb .NewIdentityTextEncoder (_afbfe );}else if _gb .IsPredefinedCMap (_afbfe ){_efad ._cebae ,_cfeb =_gb .LoadPredefinedCMap (_afbfe );if _cfeb !=nil {_dbe .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",_afbfe ,_cfeb );};}else {_dbe .Log .Debug ("\u0055\u006e\u0068\u0061\u006e\u0064\u006c\u0065\u0064\u0020\u0063\u006da\u0070\u0020\u0025\u0071",_afbfe );};};if _aeee :=_bcbed .baseFields ()._agag ;_aeee !=nil {if _bgaf :=_aeee .Name ();_bgaf =="\u0041d\u006fb\u0065\u002d\u0043\u004e\u0053\u0031\u002d\u0055\u0043\u0053\u0032"||_bgaf =="\u0041\u0064\u006f\u0062\u0065\u002d\u0047\u0042\u0031-\u0055\u0043\u0053\u0032"||_bgaf =="\u0041\u0064\u006f\u0062\u0065\u002d\u004a\u0061\u0070\u0061\u006e\u0031-\u0055\u0043\u0053\u0032"||_bgaf =="\u0041\u0064\u006f\u0062\u0065\u002d\u004b\u006f\u0072\u0065\u0061\u0031-\u0055\u0043\u0053\u0032"{_efad ._ggdg =_ccb .NewCMapEncoder (_afbfe ,_efad ._cebae ,_aeee );};};return _efad ,nil ;};
|
||
|
||
// NewPdfActionSubmitForm returns a new "submit form" action.
|
||
func NewPdfActionSubmitForm ()*PdfActionSubmitForm {_dbga :=NewPdfAction ();_ba :=&PdfActionSubmitForm {};_ba .PdfAction =_dbga ;_dbga .SetContext (_ba );return _ba ;};
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
func (_bcgge *PdfColorspaceDeviceN )ImageToRGB (img Image )(Image ,error ){_gdadd :=_cf .NewReader (img .getBase ());_cggd :=_ac .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,nil ,img ._ddffb ,img ._cceeg );_dfbf :=_cf .NewWriter (_cggd );_caccc :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_fddd :=_bcgge .GetNumComponents ();_fcea :=make ([]uint32 ,_fddd );_ffad :=make ([]float64 ,_fddd );for {_aageb :=_gdadd .ReadSamples (_fcea );if _aageb ==_bb .EOF {break ;}else if _aageb !=nil {return img ,_aageb ;};for _gggf :=0;_gggf < _fddd ;_gggf ++{_dfbge :=float64 (_fcea [_gggf ])/_caccc ;_ffad [_gggf ]=_dfbge ;};_fcag ,_aageb :=_bcgge .TintTransform .Evaluate (_ffad );if _aageb !=nil {return img ,_aageb ;};for _ ,_gbea :=range _fcag {_gbea =_ag .Min (_ag .Max (0,_gbea ),1.0);if _aageb =_dfbf .WriteSample (uint32 (_gbea *_caccc ));_aageb !=nil {return img ,_aageb ;};};};return _bcgge .AlternateSpace .ImageToRGB (_ecdg (&_cggd ));};
|
||
|
||
// NewPdfActionGoToE returns a new "go to embedded" action.
|
||
func NewPdfActionGoToE ()*PdfActionGoToE {_dd :=NewPdfAction ();_bef :=&PdfActionGoToE {};_bef .PdfAction =_dd ;_dd .SetContext (_bef );return _bef ;};
|
||
|
||
// Flags returns the field flags for the field accounting for any inherited flags.
|
||
func (_cbgf *PdfField )Flags ()FieldFlag {var _efed FieldFlag ;_egddd ,_efbd :=_cbgf .inherit (func (_ccebg *PdfField )bool {if _ccebg .Ff !=nil {_efed =FieldFlag (*_cbgf .Ff );return true ;};return false ;});if _efbd !=nil {_dbe .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",_efbd );};if !_egddd {_dbe .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 _efed ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_edgd *PdfShadingType5 )ToPdfObject ()_cb .PdfObject {_edgd .PdfShading .ToPdfObject ();_ggcee ,_ebdga :=_edgd .getShadingDict ();if _ebdga !=nil {_dbe .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 _edgd .BitsPerCoordinate !=nil {_ggcee .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_edgd .BitsPerCoordinate );};if _edgd .BitsPerComponent !=nil {_ggcee .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_edgd .BitsPerComponent );};if _edgd .VerticesPerRow !=nil {_ggcee .Set ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077",_edgd .VerticesPerRow );};if _edgd .Decode !=nil {_ggcee .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_edgd .Decode );};if _edgd .Function !=nil {if len (_edgd .Function )==1{_ggcee .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_edgd .Function [0].ToPdfObject ());}else {_dded :=_cb .MakeArray ();for _ ,_ggea :=range _edgd .Function {_dded .Append (_ggea .ToPdfObject ());};_ggcee .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dded );};};return _edgd ._gfdg ;};
|
||
|
||
// 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 (_eabb *PdfColorspaceDeviceGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdeg :=vals [0];if _bdeg < 0.0||_bdeg > 1.0{_dbe .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 _bdeg < 0.0{_bdeg =0.0;}else if _bdeg > 1.0{_bdeg =1.0;};return NewPdfColorDeviceGray (_bdeg ),nil ;};
|
||
|
||
// GetPdfName returns the PDF name used to indicate the border style.
|
||
// (Table 166 p. 395).
|
||
func (_bce *BorderStyle )GetPdfName ()string {switch *_bce {case BorderStyleSolid :return "\u0053";case BorderStyleDashed :return "\u0044";case BorderStyleBeveled :return "\u0042";case BorderStyleInset :return "\u0049";case BorderStyleUnderline :return "\u0055";};return "";};
|
||
|
||
// 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 ){_gdba ,_gccgf :=_ce .Open (filePath );if _gccgf !=nil {_dbe .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u006f\u0070\u0065\u006e\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_gccgf );return nil ,_gccgf ;};defer _gdba .Close ();return NewCompositePdfFontFromTTF (_gdba );};func (_cgcee *PdfReader )newPdfAcroFormFromDict (_daaaa *_cb .PdfIndirectObject ,_bfbd *_cb .PdfObjectDictionary )(*PdfAcroForm ,error ){_egcc :=NewPdfAcroForm ();if _daaaa !=nil {_egcc ._dfgeb =_daaaa ;_daaaa .PdfObject =_cb .MakeDict ();};if _cdfff :=_bfbd .Get ("\u0046\u0069\u0065\u006c\u0064\u0073");_cdfff !=nil {_aedaa ,_cgaf :=_cb .GetArray (_cdfff );if !_cgaf {return nil ,_c .Errorf ("\u0066i\u0065\u006c\u0064\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e \u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0025\u0054\u0029",_cdfff );};var _efae []*PdfField ;for _ ,_egfag :=range _aedaa .Elements (){_cfgcb ,_beeagg :=_cb .GetIndirect (_egfag );if !_beeagg {if _ ,_dbae :=_egfag .(*_cb .PdfObjectNull );_dbae {_dbe .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 ;};_dbe .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",_egfag );return nil ,_c .Errorf ("\u0066\u0069\u0065l\u0064\u0020\u006e\u006ft\u0020\u0069\u006e\u0020\u0061\u006e\u0020i\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_bfce ,_eccgg :=_cgcee .newPdfFieldFromIndirectObject (_cfgcb ,nil );if _eccgg !=nil {return nil ,_eccgg ;};_dbe .Log .Trace ("\u0041\u0063\u0072\u006fFo\u0072\u006d\u0020\u0046\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u002b\u0076",*_bfce );_efae =append (_efae ,_bfce );};_egcc .Fields =&_efae ;};if _aggd :=_bfbd .Get ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073");_aggd !=nil {_bbcdf ,_deef :=_cb .GetBool (_aggd );if _deef {_egcc .NeedAppearances =_bbcdf ;}else {_dbe .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",_aggd );};};if _ggaae :=_bfbd .Get ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073");_ggaae !=nil {_dabb ,_cgac :=_cb .GetInt (_ggaae );if _cgac {_egcc .SigFlags =_dabb ;}else {_dbe .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",_ggaae );};};if _afgd :=_bfbd .Get ("\u0043\u004f");_afgd !=nil {_fggff ,_gbbe :=_cb .GetArray (_afgd );if _gbbe {_egcc .CO =_fggff ;}else {_dbe .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",_afgd );};};if _fbgd :=_bfbd .Get ("\u0044\u0052");_fbgd !=nil {if _dcbd ,_egfe :=_cb .GetDict (_fbgd );_egfe {_ffdd ,_adab :=NewPdfPageResourcesFromDict (_dcbd );if _adab !=nil {_dbe .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0044R\u003a\u0020\u0025\u0076",_adab );return nil ,_adab ;};_egcc .DR =_ffdd ;}else {_dbe .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",_fbgd );};};if _dadg :=_bfbd .Get ("\u0044\u0041");_dadg !=nil {_bead ,_cdbaa :=_cb .GetString (_dadg );if _cdbaa {_egcc .DA =_bead ;}else {_dbe .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",_dadg );};};if _eeaaa :=_bfbd .Get ("\u0051");_eeaaa !=nil {_bgca ,_fagd :=_cb .GetInt (_eeaaa );if _fagd {_egcc .Q =_bgca ;}else {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0051\u0020\u0069\u006e\u0076a\u006ci\u0064 \u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_eeaaa );};};if _bbgaf :=_bfbd .Get ("\u0058\u0046\u0041");_bbgaf !=nil {_egcc .XFA =_bbgaf ;};return _egcc ,nil ;};
|
||
|
||
// ToPdfObject returns the button field dictionary within an indirect object.
|
||
func (_baff *PdfFieldButton )ToPdfObject ()_cb .PdfObject {_baff .PdfField .ToPdfObject ();_afdcf :=_baff ._addef ;_egee :=_afdcf .PdfObject .(*_cb .PdfObjectDictionary );_egee .Set ("\u0046\u0054",_cb .MakeName ("\u0042\u0074\u006e"));if _baff .Opt !=nil {_egee .Set ("\u004f\u0070\u0074",_baff .Opt );};return _afdcf ;};
|
||
|
||
// NewBorderStyle returns an initialized PdfBorderStyle.
|
||
func NewBorderStyle ()*PdfBorderStyle {_eaf :=&PdfBorderStyle {};return _eaf };
|
||
|
||
// GetNumComponents returns the number of color components (1 for CalGray).
|
||
func (_cecbg *PdfColorCalGray )GetNumComponents ()int {return 1};func _dbdfa ()string {_ggab :="\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 _cacb _bbb .Buffer ;for _daeg :=0;_daeg < 6;_daeg ++{_cacb .WriteRune (rune (_ggab [_b .Intn (len (_ggab ))]));};return _cacb .String ();};
|
||
|
||
// 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 (_fcecc *PdfFont )RunesToCharcodeBytes (data []rune )([]byte ,int ){var _cdca []_ccb .TextEncoder ;if _fadbf :=_fcecc .baseFields ()._agag ;_fadbf !=nil {_cdca =append (_cdca ,_ccb .NewCMapEncoder ("",nil ,_fadbf ));};if _ggaad :=_fcecc .Encoder ();_ggaad !=nil {_cdca =append (_cdca ,_ggaad );};var _ddfdc _bbb .Buffer ;var _fefd int ;for _ ,_adegfe :=range data {var _cfgfd bool ;for _ ,_gdfc :=range _cdca {if _gafa :=_gdfc .Encode (string (_adegfe ));len (_gafa )> 0{_ddfdc .Write (_gafa );_cfgfd =true ;break ;};};if !_cfgfd {_dbe .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",_adegfe );_fefd ++;};};if _fefd !=0{_dbe .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 ),_fefd ,_fcecc ,_cdca );};return _ddfdc .Bytes (),_fefd ;};
|
||
|
||
// 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{_gfecg *_cb .PdfParser ;_adedg _cb .PdfObject ;_dbbag *_cb .PdfIndirectObject ;_dgfe *_cb .PdfObjectDictionary ;_dfcdb []*_cb .PdfIndirectObject ;PageList []*PdfPage ;_gabac int ;_fccgb *_cb .PdfObjectDictionary ;_adcea *PdfOutlineTreeNode ;AcroForm *PdfAcroForm ;_bffa *modelManager ;_cbfab bool ;_fage map[_cb .PdfObject ]struct{};_cgba _bb .ReadSeeker ;};
|
||
|
||
// NewPdfActionSound returns a new "sound" action.
|
||
func NewPdfActionSound ()*PdfActionSound {_dbg :=NewPdfAction ();_dbd :=&PdfActionSound {};_dbd .PdfAction =_dbg ;_dbg .SetContext (_dbd );return _dbd ;};func (_gcc *PdfReader )newPdfAnnotationWidgetFromDict (_eged *_cb .PdfObjectDictionary )(*PdfAnnotationWidget ,error ){_adfe :=PdfAnnotationWidget {};_adfe .H =_eged .Get ("\u0048");_adfe .MK =_eged .Get ("\u004d\u004b");_adfe .A =_eged .Get ("\u0041");_adfe .AA =_eged .Get ("\u0041\u0041");_adfe .BS =_eged .Get ("\u0042\u0053");_adfe .Parent =_eged .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");return &_adfe ,nil ;};
|
||
|
||
// GetOutlinesFlattened returns a flattened list of tree nodes and titles.
|
||
// NOTE: for most use cases, it is recommended to use the high-level GetOutlines
|
||
// method instead, which also provides information regarding the destination
|
||
// of the outline items.
|
||
func (_bedd *PdfReader )GetOutlinesFlattened ()([]*PdfOutlineTreeNode ,[]string ,error ){var _egbca []*PdfOutlineTreeNode ;var _eeaad []string ;var _fadg func (*PdfOutlineTreeNode ,*[]*PdfOutlineTreeNode ,*[]string ,int );_fadg =func (_eeebg *PdfOutlineTreeNode ,_dfaa *[]*PdfOutlineTreeNode ,_eadde *[]string ,_cddb int ){if _eeebg ==nil {return ;};if _eeebg ._dfaeg ==nil {_dbe .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 ;};_cdab ,_gecf :=_eeebg ._dfaeg .(*PdfOutlineItem );if _gecf {*_dfaa =append (*_dfaa ,&_cdab .PdfOutlineTreeNode );_acfbb :=_fe .Repeat ("\u0020",_cddb *2)+_cdab .Title .Decoded ();*_eadde =append (*_eadde ,_acfbb );};if _eeebg .First !=nil {_fgfde :=_fe .Repeat ("\u0020",_cddb *2)+"\u002b";*_eadde =append (*_eadde ,_fgfde );_fadg (_eeebg .First ,_dfaa ,_eadde ,_cddb +1);};if _gecf &&_cdab .Next !=nil {_fadg (_cdab .Next ,_dfaa ,_eadde ,_cddb );};};_fadg (_bedd ._adcea ,&_egbca ,&_eeaad ,0);return _egbca ,_eeaad ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the PdfAcroForm (indirect object).
|
||
func (_aebeb *PdfAcroForm )GetContainingPdfObject ()_cb .PdfObject {return _aebeb ._dfgeb };
|
||
|
||
// BaseFont returns the font's "BaseFont" field.
|
||
func (_gcga *PdfFont )BaseFont ()string {return _gcga .baseFields ()._babff };
|
||
|
||
// 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 ;_eadd PdfModel ;_gbdd _cb .PdfObject ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_eege *PdfFunctionType3 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_dbe .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return nil ,_bc .New ("\u006e\u006f\u0074\u0020im\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0079\u0065\u0074");};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Separation).
|
||
func (_gfae *PdfColorspaceSpecialSeparation )GetNumComponents ()int {return 1};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fbb *PdfActionURI )ToPdfObject ()_cb .PdfObject {_fbb .PdfAction .ToPdfObject ();_gbg :=_fbb ._fc ;_cee :=_gbg .PdfObject .(*_cb .PdfObjectDictionary );_cee .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeURI )));_cee .SetIfNotNil ("\u0055\u0052\u0049",_fbb .URI );_cee .SetIfNotNil ("\u0049\u0073\u004da\u0070",_fbb .IsMap );return _gbg ;};
|
||
|
||
// DecodeArray returns the range of color component values in the Lab colorspace.
|
||
func (_bbad *PdfColorspaceLab )DecodeArray ()[]float64 {_cgga :=[]float64 {0,100};if _bbad .Range !=nil &&len (_bbad .Range )==4{_cgga =append (_cgga ,_bbad .Range ...);}else {_cgga =append (_cgga ,-100,100,-100,100);};return _cgga ;};func _ecdc (_dbcfc _cb .PdfObject )(*PdfFunctionType2 ,error ){_edbd :=&PdfFunctionType2 {};var _cfgdb *_cb .PdfObjectDictionary ;if _gbbbe ,_dfdcd :=_dbcfc .(*_cb .PdfIndirectObject );_dfdcd {_bcdg ,_gcedf :=_gbbbe .PdfObject .(*_cb .PdfObjectDictionary );if !_gcedf {return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_edbd ._gaadd =_gbbbe ;_cfgdb =_bcdg ;}else if _dgba ,_afdcfa :=_dbcfc .(*_cb .PdfObjectDictionary );_afdcfa {_cfgdb =_dgba ;}else {return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dbe .Log .Trace ("\u0046U\u004e\u0043\u0032\u003a\u0020\u0025s",_cfgdb .String ());_bagb ,_edfbc :=_cb .TraceToDirectObject (_cfgdb .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_cb .PdfObjectArray );if !_edfbc {_dbe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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 _bagb .Len ()< 0||_bagb .Len ()%2!=0{_dbe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u0072\u0061\u006e\u0067e\u0020\u0069\u006e\u0076al\u0069\u0064");return nil ,_bc .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_fffc ,_gabbe :=_bagb .ToFloat64Array ();if _gabbe !=nil {return nil ,_gabbe ;};_edbd .Domain =_fffc ;_bagb ,_edfbc =_cb .TraceToDirectObject (_cfgdb .Get ("\u0052\u0061\u006eg\u0065")).(*_cb .PdfObjectArray );if _edfbc {if _bagb .Len ()< 0||_bagb .Len ()%2!=0{return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_fbee ,_fdec :=_bagb .ToFloat64Array ();if _fdec !=nil {return nil ,_fdec ;};_edbd .Range =_fbee ;};_bagb ,_edfbc =_cb .TraceToDirectObject (_cfgdb .Get ("\u0043\u0030")).(*_cb .PdfObjectArray );if _edfbc {_edcfb ,_ebfaa :=_bagb .ToFloat64Array ();if _ebfaa !=nil {return nil ,_ebfaa ;};_edbd .C0 =_edcfb ;};_bagb ,_edfbc =_cb .TraceToDirectObject (_cfgdb .Get ("\u0043\u0031")).(*_cb .PdfObjectArray );if _edfbc {_gaddb ,_dcfc :=_bagb .ToFloat64Array ();if _dcfc !=nil {return nil ,_dcfc ;};_edbd .C1 =_gaddb ;};if len (_edbd .C0 )!=len (_edbd .C1 ){_dbe .Log .Error ("\u0043\u0030\u0020\u0061nd\u0020\u0043\u0031\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0069n\u0067");return nil ,_cb .ErrRangeError ;};N ,_gabbe :=_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_cfgdb .Get ("\u004e")));if _gabbe !=nil {_dbe .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",_cfgdb .String ());return nil ,_gabbe ;};_edbd .N =N ;return _edbd ,nil ;};
|
||
|
||
// PdfShadingType3 is a Radial shading.
|
||
type PdfShadingType3 struct{*PdfShading ;Coords *_cb .PdfObjectArray ;Domain *_cb .PdfObjectArray ;Function []PdfFunction ;Extend *_cb .PdfObjectArray ;};func (_dfe *PdfReader )newPdfActionTransFromDict (_egf *_cb .PdfObjectDictionary )(*PdfActionTrans ,error ){return &PdfActionTrans {Trans :_egf .Get ("\u0054\u0072\u0061n\u0073")},nil ;};func (_ccacb *PdfColorspaceSpecialSeparation )String ()string {return "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e";};
|
||
|
||
// IsTerminal returns true for terminal fields, false otherwise.
|
||
// Terminal fields are fields whose descendants are only widget annotations.
|
||
func (_cbbc *PdfField )IsTerminal ()bool {return len (_cbbc .Kids )==0};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_agbd *PdfAnnotationLine )ToPdfObject ()_cb .PdfObject {_agbd .PdfAnnotation .ToPdfObject ();_bfbb :=_agbd ._efd ;_bde :=_bfbb .PdfObject .(*_cb .PdfObjectDictionary );_agbd .PdfAnnotationMarkup .appendToPdfDictionary (_bde );_bde .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u004c\u0069\u006e\u0065"));_bde .SetIfNotNil ("\u004c",_agbd .L );_bde .SetIfNotNil ("\u0042\u0053",_agbd .BS );_bde .SetIfNotNil ("\u004c\u0045",_agbd .LE );_bde .SetIfNotNil ("\u0049\u0043",_agbd .IC );_bde .SetIfNotNil ("\u004c\u004c",_agbd .LL );_bde .SetIfNotNil ("\u004c\u004c\u0045",_agbd .LLE );_bde .SetIfNotNil ("\u0043\u0061\u0070",_agbd .Cap );_bde .SetIfNotNil ("\u0049\u0054",_agbd .IT );_bde .SetIfNotNil ("\u004c\u004c\u004f",_agbd .LLO );_bde .SetIfNotNil ("\u0043\u0050",_agbd .CP );_bde .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_agbd .Measure );_bde .SetIfNotNil ("\u0043\u004f",_agbd .CO );return _bfbb ;};
|
||
|
||
// NewPdfActionTrans returns a new "trans" action.
|
||
func NewPdfActionTrans ()*PdfActionTrans {_ga :=NewPdfAction ();_feg :=&PdfActionTrans {};_feg .PdfAction =_ga ;_ga .SetContext (_feg );return _feg ;};
|
||
|
||
// SetLocation sets the `Location` field of the signature.
|
||
func (_eeaaf *PdfSignature )SetLocation (location string ){_eeaaf .Location =_cb .MakeString (location )};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceGray colorspace.
|
||
func (_dafc *PdfColorspaceDeviceGray )DecodeArray ()[]float64 {return []float64 {0,1.0}};const (ButtonTypeCheckbox ButtonType =iota ;ButtonTypePush ButtonType =iota ;ButtonTypeRadio ButtonType =iota ;);var _gbggb =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 _gbgdg (_ebbd _cb .PdfObject ,_ccbaa *fontCommon )(*_gb .CMap ,error ){_cbae ,_gfaeb :=_cb .GetStream (_ebbd );if !_gfaeb {_dbe .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",_ebbd );return nil ,_cb .ErrTypeError ;};_aecea ,_fdeda :=_cb .DecodeStream (_cbae );if _fdeda !=nil {return nil ,_fdeda ;};_egbag ,_fdeda :=_gb .LoadCmapFromData (_aecea ,!_ccbaa .isCIDFont ());if _fdeda !=nil {_dbe .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",_cbae .ObjectNumber ,_fdeda );};return _egbag ,_fdeda ;};
|
||
|
||
// ToPdfObject returns the PdfFontDescriptor as a PDF dictionary inside an indirect object.
|
||
func (_bedfb *PdfFontDescriptor )ToPdfObject ()_cb .PdfObject {_fdbdg :=_cb .MakeDict ();if _bedfb ._gaede ==nil {_bedfb ._gaede =&_cb .PdfIndirectObject {};};_bedfb ._gaede .PdfObject =_fdbdg ;_fdbdg .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"));if _bedfb .FontName !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_bedfb .FontName );};if _bedfb .FontFamily !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079",_bedfb .FontFamily );};if _bedfb .FontStretch !=nil {_fdbdg .Set ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068",_bedfb .FontStretch );};if _bedfb .FontWeight !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074",_bedfb .FontWeight );};if _bedfb .Flags !=nil {_fdbdg .Set ("\u0046\u006c\u0061g\u0073",_bedfb .Flags );};if _bedfb .FontBBox !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078",_bedfb .FontBBox );};if _bedfb .ItalicAngle !=nil {_fdbdg .Set ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065",_bedfb .ItalicAngle );};if _bedfb .Ascent !=nil {_fdbdg .Set ("\u0041\u0073\u0063\u0065\u006e\u0074",_bedfb .Ascent );};if _bedfb .Descent !=nil {_fdbdg .Set ("\u0044e\u0073\u0063\u0065\u006e\u0074",_bedfb .Descent );};if _bedfb .Leading !=nil {_fdbdg .Set ("\u004ce\u0061\u0064\u0069\u006e\u0067",_bedfb .Leading );};if _bedfb .CapHeight !=nil {_fdbdg .Set ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t",_bedfb .CapHeight );};if _bedfb .XHeight !=nil {_fdbdg .Set ("\u0058H\u0065\u0069\u0067\u0068\u0074",_bedfb .XHeight );};if _bedfb .StemV !=nil {_fdbdg .Set ("\u0053\u0074\u0065m\u0056",_bedfb .StemV );};if _bedfb .StemH !=nil {_fdbdg .Set ("\u0053\u0074\u0065m\u0048",_bedfb .StemH );};if _bedfb .AvgWidth !=nil {_fdbdg .Set ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068",_bedfb .AvgWidth );};if _bedfb .MaxWidth !=nil {_fdbdg .Set ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068",_bedfb .MaxWidth );};if _bedfb .MissingWidth !=nil {_fdbdg .Set ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068",_bedfb .MissingWidth );};if _bedfb .FontFile !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065",_bedfb .FontFile );};if _bedfb .FontFile2 !=nil {_fdbdg .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652",_bedfb .FontFile2 );};if _bedfb .FontFile3 !=nil {_fdbdg .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653",_bedfb .FontFile3 );};if _bedfb .CharSet !=nil {_fdbdg .Set ("\u0043h\u0061\u0072\u0053\u0065\u0074",_bedfb .CharSet );};if _bedfb .Style !=nil {_fdbdg .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_bedfb .FontName );};if _bedfb .Lang !=nil {_fdbdg .Set ("\u004c\u0061\u006e\u0067",_bedfb .Lang );};if _bedfb .FD !=nil {_fdbdg .Set ("\u0046\u0044",_bedfb .FD );};if _bedfb .CIDSet !=nil {_fdbdg .Set ("\u0043\u0049\u0044\u0053\u0065\u0074",_bedfb .CIDSet );};return _bedfb ._gaede ;};
|
||
|
||
// 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 (_bgcg *PdfColorspaceDeviceRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdfgc :=vals [0];if _bdfgc < 0.0||_bdfgc > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcecd :=vals [1];if _bcecd < 0.0||_bcecd > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_acdg :=vals [2];if _acdg < 0.0||_acdg > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dace :=NewPdfColorDeviceRGB (_bdfgc ,_bcecd ,_acdg );return _dace ,nil ;};func (_fdbgf *pdfFontType0 )baseFields ()*fontCommon {return &_fdbgf .fontCommon };func (_dgca *PdfWriter )copyObject (_cgdegf _cb .PdfObject ,_dfagd map[_cb .PdfObject ]_cb .PdfObject ,_cbdge map[_cb .PdfObject ]struct{},_ccafb bool )_cb .PdfObject {_aedcc :=!_dgca ._gedaa &&_cbdge !=nil ;if _efcbb ,_gaeaf :=_dfagd [_cgdegf ];_gaeaf {if _aedcc &&!_ccafb {delete (_cbdge ,_cgdegf );};return _efcbb ;};_ccbgf :=_cgdegf ;switch _eaefa :=_cgdegf .(type ){case *_cb .PdfObjectArray :_ddgbc :=_cb .MakeArray ();_ccbgf =_ddgbc ;_dfagd [_cgdegf ]=_ccbgf ;for _ ,_dgeed :=range _eaefa .Elements (){_ddgbc .Append (_dgca .copyObject (_dgeed ,_dfagd ,_cbdge ,_ccafb ));};case *_cb .PdfObjectStreams :_ffbab :=&_cb .PdfObjectStreams {PdfObjectReference :_eaefa .PdfObjectReference };_ccbgf =_ffbab ;_dfagd [_cgdegf ]=_ccbgf ;for _ ,_bcafe :=range _eaefa .Elements (){_ffbab .Append (_dgca .copyObject (_bcafe ,_dfagd ,_cbdge ,_ccafb ));};case *_cb .PdfObjectStream :_fafdc :=&_cb .PdfObjectStream {Stream :_eaefa .Stream ,PdfObjectReference :_eaefa .PdfObjectReference };_ccbgf =_fafdc ;_dfagd [_cgdegf ]=_ccbgf ;_fafdc .PdfObjectDictionary =_dgca .copyObject (_eaefa .PdfObjectDictionary ,_dfagd ,_cbdge ,_ccafb ).(*_cb .PdfObjectDictionary );case *_cb .PdfObjectDictionary :var _gcdcb bool ;if _aedcc &&!_ccafb {if _gfed ,_ :=_cb .GetNameVal (_eaefa .Get ("\u0054\u0079\u0070\u0065"));_gfed =="\u0050\u0061\u0067\u0065"{_ ,_bcdff :=_dgca ._dfebc [_eaefa ];_ccafb =!_bcdff ;_gcdcb =_ccafb ;};};_bacf :=_cb .MakeDict ();_ccbgf =_bacf ;_dfagd [_cgdegf ]=_ccbgf ;for _ ,_efbbe :=range _eaefa .Keys (){_bacf .Set (_efbbe ,_dgca .copyObject (_eaefa .Get (_efbbe ),_dfagd ,_cbdge ,_ccafb ));};if _gcdcb {_ccbgf =_cb .MakeNull ();_ccafb =false ;};case *_cb .PdfIndirectObject :_ebgbf :=&_cb .PdfIndirectObject {PdfObjectReference :_eaefa .PdfObjectReference };_ccbgf =_ebgbf ;_dfagd [_cgdegf ]=_ccbgf ;_ebgbf .PdfObject =_dgca .copyObject (_eaefa .PdfObject ,_dfagd ,_cbdge ,_ccafb );case *_cb .PdfObjectString :_eccc :=*_eaefa ;_ccbgf =&_eccc ;_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectName :_ceagga :=_cb .PdfObjectName (*_eaefa );_ccbgf =&_ceagga ;_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectNull :_ccbgf =_cb .MakeNull ();_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectInteger :_adcdc :=_cb .PdfObjectInteger (*_eaefa );_ccbgf =&_adcdc ;_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectReference :_edbdg :=_cb .PdfObjectReference (*_eaefa );_ccbgf =&_edbdg ;_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectFloat :_ebbdc :=_cb .PdfObjectFloat (*_eaefa );_ccbgf =&_ebbdc ;_dfagd [_cgdegf ]=_ccbgf ;case *_cb .PdfObjectBool :_adgec :=_cb .PdfObjectBool (*_eaefa );_ccbgf =&_adgec ;_dfagd [_cgdegf ]=_ccbgf ;case *pdfSignDictionary :_aaccb :=&pdfSignDictionary {PdfObjectDictionary :_cb .MakeDict (),_adcfc :_eaefa ._adcfc ,_bdfbd :_eaefa ._bdfbd };_ccbgf =_aaccb ;_dfagd [_cgdegf ]=_ccbgf ;for _ ,_acffc :=range _eaefa .Keys (){_aaccb .Set (_acffc ,_dgca .copyObject (_eaefa .Get (_acffc ),_dfagd ,_cbdge ,_ccafb ));};default:_dbe .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",_cgdegf );};if _aedcc &&_ccafb {_cbdge [_cgdegf ]=struct{}{};};return _ccbgf ;};
|
||
|
||
// NewPdfAnnotationTrapNet returns a new trapnet annotation.
|
||
func NewPdfAnnotationTrapNet ()*PdfAnnotationTrapNet {_baag :=NewPdfAnnotation ();_dcgg :=&PdfAnnotationTrapNet {};_dcgg .PdfAnnotation =_baag ;_baag .SetContext (_dcgg );return _dcgg ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the tiling pattern.
|
||
func (_cgdg *PdfTilingPattern )ToPdfObject ()_cb .PdfObject {_cgdg .PdfPattern .ToPdfObject ();_cegaf :=_cgdg .getDict ();if _cgdg .PaintType !=nil {_cegaf .Set ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e",_cgdg .PaintType );};if _cgdg .TilingType !=nil {_cegaf .Set ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_cgdg .TilingType );};if _cgdg .BBox !=nil {_cegaf .Set ("\u0042\u0042\u006f\u0078",_cgdg .BBox .ToPdfObject ());};if _cgdg .XStep !=nil {_cegaf .Set ("\u0058\u0053\u0074e\u0070",_cgdg .XStep );};if _cgdg .YStep !=nil {_cegaf .Set ("\u0059\u0053\u0074e\u0070",_cgdg .YStep );};if _cgdg .Resources !=nil {_cegaf .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_cgdg .Resources .ToPdfObject ());};if _cgdg .Matrix !=nil {_cegaf .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_cgdg .Matrix );};return _cgdg ._gbdd ;};func _ffcfe (_ccdd *_cb .PdfObjectStream )(*PdfFunctionType4 ,error ){_efedf :=&PdfFunctionType4 {};_efedf ._bdbff =_ccdd ;_dffdg :=_ccdd .PdfObjectDictionary ;_abce ,_fcbdg :=_cb .TraceToDirectObject (_dffdg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_cb .PdfObjectArray );if !_fcbdg {_dbe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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 _abce .Len ()%2!=0{_dbe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_bc .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_cgeda ,_acbbg :=_abce .ToFloat64Array ();if _acbbg !=nil {return nil ,_acbbg ;};_efedf .Domain =_cgeda ;_abce ,_fcbdg =_cb .TraceToDirectObject (_dffdg .Get ("\u0052\u0061\u006eg\u0065")).(*_cb .PdfObjectArray );if _fcbdg {if _abce .Len ()< 0||_abce .Len ()%2!=0{return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_cagbb ,_gbead :=_abce .ToFloat64Array ();if _gbead !=nil {return nil ,_gbead ;};_efedf .Range =_cagbb ;};_cegef ,_acbbg :=_cb .DecodeStream (_ccdd );if _acbbg !=nil {return nil ,_acbbg ;};_efedf ._eefa =_cegef ;_fbfdd :=_cg .NewPSParser ([]byte (_cegef ));_cgdda ,_acbbg :=_fbfdd .Parse ();if _acbbg !=nil {return nil ,_acbbg ;};_efedf .Program =_cgdda ;return _efedf ,nil ;};
|
||
|
||
// ColorToRGB converts a Lab color to an RGB color.
|
||
func (_aebc *PdfColorspaceLab )ColorToRGB (color PdfColor )(PdfColor ,error ){_gdbdbd :=func (_ffbf float64 )float64 {if _ffbf >=6.0/29{return _ffbf *_ffbf *_ffbf ;};return 108.0/841*(_ffbf -4/29);};_fcfea ,_caagc :=color .(*PdfColorLab );if !_caagc {_dbe .Log .Debug ("\u0069\u006e\u0070\u0075t \u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u006c\u0061\u0062");return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};LStar :=_fcfea .L ();AStar :=_fcfea .A ();BStar :=_fcfea .B ();L :=(LStar +16)/116+AStar /500;M :=(LStar +16)/116;N :=(LStar +16)/116-BStar /200;X :=_aebc .WhitePoint [0]*_gdbdbd (L );Y :=_aebc .WhitePoint [1]*_gdbdbd (M );Z :=_aebc .WhitePoint [2]*_gdbdbd (N );_bgcga :=3.240479*X +-1.537150*Y +-0.498535*Z ;_fbdd :=-0.969256*X +1.875992*Y +0.041556*Z ;_ffaa :=0.055648*X +-0.204043*Y +1.057311*Z ;_bgcga =_ag .Min (_ag .Max (_bgcga ,0),1.0);_fbdd =_ag .Min (_ag .Max (_fbdd ,0),1.0);_ffaa =_ag .Min (_ag .Max (_ffaa ,0),1.0);return NewPdfColorDeviceRGB (_bgcga ,_fbdd ,_ffaa ),nil ;};
|
||
|
||
// 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 (_ebaf *PdfFont )CharcodeBytesToUnicode (data []byte )(string ,int ,int ){_bcdb ,_ ,_aabed :=_ebaf .CharcodesToUnicodeWithStats (_ebaf .BytesToCharcodes (data ));_aefeb :=_ccb .ExpandLigatures (_bcdb );return _aefeb ,_ff .RuneCountInString (_aefeb ),_aabed ;};func (_ccge *PdfReader )newPdfAnnotation3DFromDict (_bcfa *_cb .PdfObjectDictionary )(*PdfAnnotation3D ,error ){_ceag :=PdfAnnotation3D {};_ceag .T3DD =_bcfa .Get ("\u0033\u0044\u0044");_ceag .T3DV =_bcfa .Get ("\u0033\u0044\u0056");_ceag .T3DA =_bcfa .Get ("\u0033\u0044\u0041");_ceag .T3DI =_bcfa .Get ("\u0033\u0044\u0049");_ceag .T3DB =_bcfa .Get ("\u0033\u0044\u0042");return &_ceag ,nil ;};func (_dgaeb *PdfReader )newPdfAnnotationHighlightFromDict (_fdf *_cb .PdfObjectDictionary )(*PdfAnnotationHighlight ,error ){_ebfb :=PdfAnnotationHighlight {};_cegc ,_agaa :=_dgaeb .newPdfAnnotationMarkupFromDict (_fdf );if _agaa !=nil {return nil ,_agaa ;};_ebfb .PdfAnnotationMarkup =_cegc ;_ebfb .QuadPoints =_fdf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_ebfb ,nil ;};
|
||
|
||
// GetXObjectImageByName returns the XObjectImage with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_eabc *PdfPageResources )GetXObjectImageByName (keyName _cb .PdfObjectName )(*XObjectImage ,error ){_cgacf ,_fccf :=_eabc .GetXObjectByName (keyName );if _cgacf ==nil {return nil ,nil ;};if _fccf !=XObjectTypeImage {return nil ,_bc .New ("\u006e\u006f\u0074 \u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065");};_cgee ,_cfbfg :=NewXObjectImageFromStream (_cgacf );if _cfbfg !=nil {return nil ,_cfbfg ;};return _cgee ,nil ;};
|
||
|
||
// GetMediaBox gets the inheritable media box value, either from the page
|
||
// or a higher up page/pages struct.
|
||
func (_efcdc *PdfPage )GetMediaBox ()(*PdfRectangle ,error ){if _efcdc .MediaBox !=nil {return _efcdc .MediaBox ,nil ;};_afcc :=_efcdc .Parent ;for _afcc !=nil {_edebd ,_baef :=_cb .GetDict (_afcc );if !_baef {return nil ,_bc .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 _caagdb :=_edebd .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_caagdb !=nil {_edaca ,_feef :=_cb .GetArray (_caagdb );if !_feef {return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006d\u0065\u0064\u0069a\u0020\u0062\u006f\u0078");};_ecgbbc ,_aeef :=NewPdfRectangle (*_edaca );if _aeef !=nil {return nil ,_aeef ;};return _ecgbbc ,nil ;};_afcc =_edebd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,_bc .New ("m\u0065\u0064\u0069\u0061 b\u006fx\u0020\u006e\u006f\u0074\u0020d\u0065\u0066\u0069\u006e\u0065\u0064");};func (_befc *PdfReader )newPdfAnnotationPrinterMarkFromDict (_bbbbc *_cb .PdfObjectDictionary )(*PdfAnnotationPrinterMark ,error ){_agcf :=PdfAnnotationPrinterMark {};_agcf .MN =_bbbbc .Get ("\u004d\u004e");return &_agcf ,nil ;};
|
||
|
||
// NewPdfColorspaceCalRGB returns a new CalRGB colorspace object.
|
||
func NewPdfColorspaceCalRGB ()*PdfColorspaceCalRGB {_aadg :=&PdfColorspaceCalRGB {};_aadg .BlackPoint =[]float64 {0.0,0.0,0.0};_aadg .Gamma =[]float64 {1.0,1.0,1.0};_aadg .Matrix =[]float64 {1,0,0,0,1,0,0,0,1};return _aadg ;};func _ffbfb (_edad *_cb .PdfObjectDictionary )(*PdfTilingPattern ,error ){_eegdd :=&PdfTilingPattern {};_cbeb :=_edad .Get ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e");if _cbeb ==nil {_dbe .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054\u0079\u0070\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_eceda ,_bdfd :=_cbeb .(*_cb .PdfObjectInteger );if !_bdfd {_dbe .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",_cbeb );return nil ,_cb .ErrTypeError ;};_eegdd .PaintType =_eceda ;_cbeb =_edad .Get ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _cbeb ==nil {_dbe .Log .Debug ("\u0054i\u006ci\u006e\u0067\u0054\u0079\u0070e\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_dcedf ,_bdfd :=_cbeb .(*_cb .PdfObjectInteger );if !_bdfd {_dbe .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",_cbeb );return nil ,_cb .ErrTypeError ;};_eegdd .TilingType =_dcedf ;_cbeb =_edad .Get ("\u0042\u0042\u006f\u0078");if _cbeb ==nil {_dbe .Log .Debug ("\u0042\u0042\u006fx\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_cbeb =_cb .TraceToDirectObject (_cbeb );_cdaga ,_bdfd :=_cbeb .(*_cb .PdfObjectArray );if !_bdfd {_dbe .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",_cbeb );return nil ,_cb .ErrTypeError ;};_ggfc ,_fcfbed :=NewPdfRectangle (*_cdaga );if _fcfbed !=nil {_dbe .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_fcfbed );return nil ,_fcfbed ;};_eegdd .BBox =_ggfc ;_cbeb =_edad .Get ("\u0058\u0053\u0074e\u0070");if _cbeb ==nil {_dbe .Log .Debug ("\u0058\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gbgfc ,_fcfbed :=_cb .GetNumberAsFloat (_cbeb );if _fcfbed !=nil {_dbe .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",_gbgfc );return nil ,_fcfbed ;};_eegdd .XStep =_cb .MakeFloat (_gbgfc );_cbeb =_edad .Get ("\u0059\u0053\u0074e\u0070");if _cbeb ==nil {_dbe .Log .Debug ("\u0059\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_eegad ,_fcfbed :=_cb .GetNumberAsFloat (_cbeb );if _fcfbed !=nil {_dbe .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",_eegad );return nil ,_fcfbed ;};_eegdd .YStep =_cb .MakeFloat (_eegad );_cbeb =_edad .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");if _cbeb ==nil {_dbe .Log .Debug ("\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_edad ,_bdfd =_cb .TraceToDirectObject (_cbeb ).(*_cb .PdfObjectDictionary );if !_bdfd {return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063e\u0020d\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_cbeb );};_abaec ,_fcfbed :=NewPdfPageResourcesFromDict (_edad );if _fcfbed !=nil {return nil ,_fcfbed ;};_eegdd .Resources =_abaec ;if _acgea :=_edad .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_acgea !=nil {_gfdecc ,_caecg :=_acgea .(*_cb .PdfObjectArray );if !_caecg {_dbe .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",_acgea );return nil ,_cb .ErrTypeError ;};_eegdd .Matrix =_gfdecc ;};return _eegdd ,nil ;};var _eegde ="";
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_fbe *PdfColorDeviceRGB )ToInteger (bits int )[3]uint32 {_cad :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_cad *_fbe .R ()),uint32 (_cad *_fbe .G ()),uint32 (_cad *_fbe .B ())};};
|
||
|
||
// 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"`;};var (CourierName =_af .CourierName ;CourierBoldName =_af .CourierBoldName ;CourierObliqueName =_af .CourierObliqueName ;CourierBoldObliqueName =_af .CourierBoldObliqueName ;HelveticaName =_af .HelveticaName ;HelveticaBoldName =_af .HelveticaBoldName ;HelveticaObliqueName =_af .HelveticaObliqueName ;HelveticaBoldObliqueName =_af .HelveticaBoldObliqueName ;SymbolName =_af .SymbolName ;ZapfDingbatsName =_af .ZapfDingbatsName ;TimesRomanName =_af .TimesRomanName ;TimesBoldName =_af .TimesBoldName ;TimesItalicName =_af .TimesItalicName ;TimesBoldItalicName =_af .TimesBoldItalicName ;);
|
||
|
||
// String returns a string representation of the field.
|
||
func (_bdae *PdfField )String ()string {if _ebdb ,_beegg :=_bdae .ToPdfObject ().(*_cb .PdfIndirectObject );_beegg {return _c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_bdae ._cdfge ,_ebdb .PdfObject .String ());};return "";};
|
||
|
||
// Set sets the colorspace corresponding to key. Add to Names if not set.
|
||
func (_ggcecg *PdfPageResourcesColorspaces )Set (key _cb .PdfObjectName ,val PdfColorspace ){if _ ,_fcbcf :=_ggcecg .Colorspaces [string (key )];!_fcbcf {_ggcecg .Names =append (_ggcecg .Names ,string (key ));};_ggcecg .Colorspaces [string (key )]=val ;};
|
||
|
||
// FieldAppearanceGenerator generates appearance stream for a given field.
|
||
type FieldAppearanceGenerator interface{ContentStreamWrapper ;GenerateAppearanceDict (_ccebb *PdfAcroForm ,_bccg *PdfField ,_adgd *PdfAnnotationWidget )(*_cb .PdfObjectDictionary ,error );};var _fgfg =false ;
|
||
|
||
// ImageToRGB converts Lab colorspace image to RGB and returns the result.
|
||
func (_gdccf *PdfColorspaceLab )ImageToRGB (img Image )(Image ,error ){_faegc :=func (_bfdf float64 )float64 {if _bfdf >=6.0/29{return _bfdf *_bfdf *_bfdf ;};return 108.0/841*(_bfdf -4/29);};_cffg :=img ._cceeg ;if len (_cffg )!=6{_dbe .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");_cffg =_gdccf .DecodeArray ();};_bggg :=_cf .NewReader (img .getBase ());_ecf :=_ac .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,img ._ddffb ,img ._cceeg );_fcfbe :=_cf .NewWriter (_ecf );_beab :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_fdgee :=make ([]uint32 ,3);var (_fbec error ;Ls ,As ,Bs ,L ,M ,N ,X ,Y ,Z ,_cbbac ,_ecea ,_abee float64 ;);for {_fbec =_bggg .ReadSamples (_fdgee );if _fbec ==_bb .EOF {break ;}else if _fbec !=nil {return img ,_fbec ;};Ls =float64 (_fdgee [0])/_beab ;As =float64 (_fdgee [1])/_beab ;Bs =float64 (_fdgee [2])/_beab ;Ls =_ac .LinearInterpolate (Ls ,0.0,1.0,_cffg [0],_cffg [1]);As =_ac .LinearInterpolate (As ,0.0,1.0,_cffg [2],_cffg [3]);Bs =_ac .LinearInterpolate (Bs ,0.0,1.0,_cffg [4],_cffg [5]);L =(Ls +16)/116+As /500;M =(Ls +16)/116;N =(Ls +16)/116-Bs /200;X =_gdccf .WhitePoint [0]*_faegc (L );Y =_gdccf .WhitePoint [1]*_faegc (M );Z =_gdccf .WhitePoint [2]*_faegc (N );_cbbac =3.240479*X +-1.537150*Y +-0.498535*Z ;_ecea =-0.969256*X +1.875992*Y +0.041556*Z ;_abee =0.055648*X +-0.204043*Y +1.057311*Z ;_cbbac =_ag .Min (_ag .Max (_cbbac ,0),1.0);_ecea =_ag .Min (_ag .Max (_ecea ,0),1.0);_abee =_ag .Min (_ag .Max (_abee ,0),1.0);_fdgee [0]=uint32 (_cbbac *_beab );_fdgee [1]=uint32 (_ecea *_beab );_fdgee [2]=uint32 (_abee *_beab );if _fbec =_fcfbe .WriteSamples (_fdgee );_fbec !=nil {return img ,_fbec ;};};return _ecdg (&_ecf ),nil ;};
|
||
|
||
// ColorToRGB converts a CMYK32 color to an RGB color.
|
||
func (_agbb *PdfColorspaceDeviceCMYK )ColorToRGB (color PdfColor )(PdfColor ,error ){_fbga ,_aagfg :=color .(*PdfColorDeviceCMYK );if !_aagfg {_dbe .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 ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ccaef :=_fbga .C ();_dfdfb :=_fbga .M ();_baca :=_fbga .Y ();_dccc :=_fbga .K ();_ccaef =_ccaef *(1-_dccc )+_dccc ;_dfdfb =_dfdfb *(1-_dccc )+_dccc ;_baca =_baca *(1-_dccc )+_dccc ;_fggc :=1-_ccaef ;_cbcbe :=1-_dfdfb ;_ebdc :=1-_baca ;return NewPdfColorDeviceRGB (_fggc ,_cbcbe ,_ebdc ),nil ;};
|
||
|
||
// Subtype returns the font's "Subtype" field.
|
||
func (_adfge *PdfFont )Subtype ()string {_edbe :=_adfge .baseFields ()._fbefd ;if _gddcg ,_ffdbd :=_adfge ._cdfe .(*pdfFontType0 );_ffdbd {_edbe =_edbe +"\u003a"+_gddcg .DescendantFont .Subtype ();};return _edbe ;};func _eegd (_ffgc StdFontName )(pdfFontSimple ,error ){_dbfdd ,_befg :=_af .NewStdFontByName (_ffgc );if !_befg {return pdfFontSimple {},ErrFontNotSupported ;};_bbeg :=_dccg (_dbfdd );return _bbeg ,nil ;};func _dbgb (_cgbd _cb .PdfObject )(*PdfFontDescriptor ,error ){_gbag :=&PdfFontDescriptor {};_cgbd =_cb .ResolveReference (_cgbd );if _eccec ,_gedec :=_cgbd .(*_cb .PdfIndirectObject );_gedec {_gbag ._gaede =_eccec ;_cgbd =_eccec .PdfObject ;};_bcbec ,_edea :=_cb .GetDict (_cgbd );if !_edea {_dbe .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",_cgbd );return nil ,_cb .ErrTypeError ;};if _dfafb :=_bcbec .Get ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065");_dfafb !=nil {_gbag .FontName =_dfafb ;}else {_dbe .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");};_abccc ,_ :=_cb .GetName (_gbag .FontName );if _gaeb :=_bcbec .Get ("\u0054\u0079\u0070\u0065");_gaeb !=nil {_dfeb ,_aeea :=_gaeb .(*_cb .PdfObjectName );if !_aeea ||string (*_dfeb )!="\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"{_dbe .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",_gaeb ,_abccc ,_gbag .FontName );};}else {_dbe .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",_abccc ,_gbag .FontName );};_gbag .FontFamily =_bcbec .Get ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079");_gbag .FontStretch =_bcbec .Get ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068");_gbag .FontWeight =_bcbec .Get ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074");_gbag .Flags =_bcbec .Get ("\u0046\u006c\u0061g\u0073");_gbag .FontBBox =_bcbec .Get ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078");_gbag .ItalicAngle =_bcbec .Get ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065");_gbag .Ascent =_bcbec .Get ("\u0041\u0073\u0063\u0065\u006e\u0074");_gbag .Descent =_bcbec .Get ("\u0044e\u0073\u0063\u0065\u006e\u0074");_gbag .Leading =_bcbec .Get ("\u004ce\u0061\u0064\u0069\u006e\u0067");_gbag .CapHeight =_bcbec .Get ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t");_gbag .XHeight =_bcbec .Get ("\u0058H\u0065\u0069\u0067\u0068\u0074");_gbag .StemV =_bcbec .Get ("\u0053\u0074\u0065m\u0056");_gbag .StemH =_bcbec .Get ("\u0053\u0074\u0065m\u0048");_gbag .AvgWidth =_bcbec .Get ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068");_gbag .MaxWidth =_bcbec .Get ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068");_gbag .MissingWidth =_bcbec .Get ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068");_gbag .FontFile =_bcbec .Get ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065");_gbag .FontFile2 =_bcbec .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652");_gbag .FontFile3 =_bcbec .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653");_gbag .CharSet =_bcbec .Get ("\u0043h\u0061\u0072\u0053\u0065\u0074");_gbag .Style =_bcbec .Get ("\u0053\u0074\u0079l\u0065");_gbag .Lang =_bcbec .Get ("\u004c\u0061\u006e\u0067");_gbag .FD =_bcbec .Get ("\u0046\u0044");_gbag .CIDSet =_bcbec .Get ("\u0043\u0049\u0044\u0053\u0065\u0074");if _gbag .Flags !=nil {if _edgb ,_ebfe :=_cb .GetIntVal (_gbag .Flags );_ebfe {_gbag ._bfdd =_edgb ;};};if _gbag .MissingWidth !=nil {if _bdbc ,_cddg :=_cb .GetNumberAsFloat (_gbag .MissingWidth );_cddg ==nil {_gbag ._bdfag =_bdbc ;};};if _gbag .FontFile !=nil {_cecg ,_caad :=_bagff (_gbag .FontFile );if _caad !=nil {return _gbag ,_caad ;};_dbe .Log .Trace ("f\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u003d\u0025\u0073",_cecg );_gbag .fontFile =_cecg ;};if _gbag .FontFile2 !=nil {_aeda ,_bged :=_af .NewFontFile2FromPdfObject (_gbag .FontFile2 );if _bged !=nil {return _gbag ,_bged ;};_dbe .Log .Trace ("\u0066\u006f\u006et\u0046\u0069\u006c\u0065\u0032\u003d\u0025\u0073",_aeda .String ());_gbag ._eabdd =&_aeda ;};return _gbag ,nil ;};
|
||
|
||
// 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 (_addec pdfFontSimple )GetCharMetrics (code _ccb .CharCode )(_af .CharMetrics ,bool ){if _cegbc ,_edcbf :=_addec ._cfgdd [code ];_edcbf {return _af .CharMetrics {Wx :_cegbc },true ;};if _af .IsStdFont (_af .StdFontName (_addec ._babff )){return _af .CharMetrics {Wx :250},true ;};return _af .CharMetrics {},false ;};func _baagg (_eaeb *fontCommon )*pdfFontType0 {return &pdfFontType0 {fontCommon :*_eaeb }};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_cfdc pdfCIDFontType2 )GetCharMetrics (code _ccb .CharCode )(_af .CharMetrics ,bool ){if _dfcf ,_bfac :=_cfdc ._faafd [code ];_bfac {return _af .CharMetrics {Wx :float64 (_dfcf )},true ;};_bddd :=rune (code );_fcdg ,_fcbe :=_cfdc ._fgga [_bddd ];if !_fcbe {_fcdg =int (_cfdc ._ffga );};return _af .CharMetrics {Wx :float64 (_fcdg )},true ;};
|
||
|
||
// 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 {_aagge ,_faaa :=NewStandard14Font (basefont );if _faaa !=nil {panic (_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0074\u0061n\u0064\u0061\u0072\u0064\u0031\u0034\u0046\u006f\u006e\u0074 \u0025\u0023\u0071",basefont ));};return _aagge ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eea *PdfActionLaunch )ToPdfObject ()_cb .PdfObject {_eea .PdfAction .ToPdfObject ();_afc :=_eea ._fc ;_afd :=_afc .PdfObject .(*_cb .PdfObjectDictionary );_afd .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeLaunch )));if _eea .F !=nil {_afd .Set ("\u0046",_eea .F .ToPdfObject ());};_afd .SetIfNotNil ("\u0057\u0069\u006e",_eea .Win );_afd .SetIfNotNil ("\u004d\u0061\u0063",_eea .Mac );_afd .SetIfNotNil ("\u0055\u006e\u0069\u0078",_eea .Unix );_afd .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_eea .NewWindow );return _afc ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for RGB).
|
||
func (_fcc *PdfColorDeviceRGB )GetNumComponents ()int {return 3};func _gbfb (_fdbf []byte )(_ebec ,_fceg string ,_cegd error ){_dbe .Log .Trace ("g\u0065\u0074\u0041\u0053CI\u0049S\u0065\u0063\u0074\u0069\u006fn\u0073\u003a\u0020\u0025\u0064\u0020",len (_fdbf ));_gaceb :=_gfec .FindIndex (_fdbf );if _gaceb ==nil {_dbe .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 "","",_cb .ErrTypeError ;};_eeda :=_gaceb [1];_ceca :=_fe .Index (string (_fdbf [_eeda :]),_cggf );if _ceca < 0{_ebec =string (_fdbf [_eeda :]);return _ebec ,"",nil ;};_gcgb :=_eeda +_ceca ;_ebec =string (_fdbf [_eeda :_gcgb ]);_afdcc :=_gcgb ;_ceca =_fe .Index (string (_fdbf [_afdcc :]),_ebeg );if _ceca < 0{_dbe .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",_cegd );return "","",_cb .ErrTypeError ;};_afafc :=_afdcc +_ceca ;_fceg =string (_fdbf [_afdcc :_afafc ]);return _ebec ,_fceg ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_dfcdd *PdfPageResourcesColorspaces )ToPdfObject ()_cb .PdfObject {_gcagdc :=_cb .MakeDict ();for _ ,_caced :=range _dfcdd .Names {_gcagdc .Set (_cb .PdfObjectName (_caced ),_dfcdd .Colorspaces [_caced ].ToPdfObject ());};if _dfcdd ._degad !=nil {_dfcdd ._degad .PdfObject =_gcagdc ;return _dfcdd ._degad ;};return _gcagdc ;};
|
||
|
||
// SetContext sets the sub annotation (context).
|
||
func (_cagf *PdfAnnotation )SetContext (ctx PdfModel ){_cagf ._gea =ctx };
|
||
|
||
// NewPdfPageResourcesColorspaces returns a new PdfPageResourcesColorspaces object.
|
||
func NewPdfPageResourcesColorspaces ()*PdfPageResourcesColorspaces {_adccg :=&PdfPageResourcesColorspaces {};_adccg .Names =[]string {};_adccg .Colorspaces =map[string ]PdfColorspace {};_adccg ._degad =&_cb .PdfIndirectObject {};return _adccg ;};const (_dcag =0x00001;_bcba =0x00002;_cdgfg =0x00004;_facfa =0x00008;_decb =0x00020;_dadf =0x00040;_dcea =0x10000;_gcgag =0x20000;_gbgfb =0x40000;);
|
||
|
||
// NewPdfAnnotationWatermark returns a new watermark annotation.
|
||
func NewPdfAnnotationWatermark ()*PdfAnnotationWatermark {_gdb :=NewPdfAnnotation ();_dfg :=&PdfAnnotationWatermark {};_dfg .PdfAnnotation =_gdb ;_gdb .SetContext (_dfg );return _dfg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bg *PdfActionGoToE )ToPdfObject ()_cb .PdfObject {_bg .PdfAction .ToPdfObject ();_edd :=_bg ._fc ;_fcd :=_edd .PdfObject .(*_cb .PdfObjectDictionary );_fcd .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeGoToE )));if _bg .F !=nil {_fcd .Set ("\u0046",_bg .F .ToPdfObject ());};_fcd .SetIfNotNil ("\u0044",_bg .D );_fcd .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_bg .NewWindow );_fcd .SetIfNotNil ("\u0054",_bg .T );return _edd ;};func (_gdbge *PdfWriter )seekByName (_eebaag _cb .PdfObject ,_gdcad []string ,_egeb string )([]_cb .PdfObject ,error ){_dbe .Log .Trace ("\u0053\u0065\u0065\u006b\u0020\u0062\u0079\u0020\u006e\u0061\u006d\u0065.\u002e\u0020\u0025\u0054",_eebaag );var _eeffb []_cb .PdfObject ;if _afgee ,_deca :=_eebaag .(*_cb .PdfIndirectObject );_deca {return _gdbge .seekByName (_afgee .PdfObject ,_gdcad ,_egeb );};if _bfed ,_abacd :=_eebaag .(*_cb .PdfObjectStream );_abacd {return _gdbge .seekByName (_bfed .PdfObjectDictionary ,_gdcad ,_egeb );};if _cfded ,_abbac :=_eebaag .(*_cb .PdfObjectDictionary );_abbac {_dbe .Log .Trace ("\u0044\u0069\u0063\u0074");for _ ,_dgfbf :=range _cfded .Keys (){_cdde :=_cfded .Get (_dgfbf );if string (_dgfbf )==_egeb {_eeffb =append (_eeffb ,_cdde );};for _ ,_edag :=range _gdcad {if string (_dgfbf )==_edag {_dbe .Log .Trace ("\u0046\u006f\u006c\u006c\u006f\u0077\u0020\u006b\u0065\u0079\u0020\u0025\u0073",_edag );_fbedc ,_cecdf :=_gdbge .seekByName (_cdde ,_gdcad ,_egeb );if _cecdf !=nil {return _eeffb ,_cecdf ;};for _ ,_efaa :=range _fbedc {_eeffb =append (_eeffb ,_efaa );};break ;};};};return _eeffb ,nil ;};return _eeffb ,nil ;};
|
||
|
||
// SetContentStream sets the pattern cell's content stream.
|
||
func (_dbddf *PdfTilingPattern )SetContentStream (content []byte ,encoder _cb .StreamEncoder )error {_daadc ,_cdffe :=_dbddf ._gbdd .(*_cb .PdfObjectStream );if !_cdffe {_dbe .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",_dbddf ._gbdd );return _cb .ErrTypeError ;};if encoder ==nil {encoder =_cb .NewRawEncoder ();};_gceed :=_daadc .PdfObjectDictionary ;_efegg :=encoder .MakeStreamDict ();_gceed .Merge (_efegg );_cegbca ,_ceagg :=encoder .EncodeBytes (content );if _ceagg !=nil {return _ceagg ;};_gceed .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_cegbca ))));_daadc .Stream =[]byte (_cegbca );return nil ;};
|
||
|
||
// IsEncrypted returns true if the PDF file is encrypted.
|
||
func (_acbc *PdfReader )IsEncrypted ()(bool ,error ){return _acbc ._gfecg .IsEncrypted ()};func _cbbbb (_agacg *_cb .PdfObjectDictionary )(*PdfShadingType2 ,error ){_edccd :=PdfShadingType2 {};_acdf :=_agacg .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _acdf ==nil {_dbe .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 ;};_fgdga ,_ddefb :=_acdf .(*_cb .PdfObjectArray );if !_ddefb {_dbe .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",_acdf );return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};if _fgdga .Len ()!=4{_dbe .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",_fgdga .Len ());return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");};_edccd .Coords =_fgdga ;if _ccfbe :=_agacg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_ccfbe !=nil {_ccfbe =_cb .TraceToDirectObject (_ccfbe );_cdebb ,_ageef :=_ccfbe .(*_cb .PdfObjectArray );if !_ageef {_dbe .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",_ccfbe );return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_edccd .Domain =_cdebb ;};_acdf =_agacg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _acdf ==nil {_dbe .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 ;};_edccd .Function =[]PdfFunction {};if _gbdgf ,_gdfe :=_acdf .(*_cb .PdfObjectArray );_gdfe {for _ ,_edgce :=range _gbdgf .Elements (){_effac ,_fdebae :=_abcgd (_edgce );if _fdebae !=nil {_dbe .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",_fdebae );return nil ,_fdebae ;};_edccd .Function =append (_edccd .Function ,_effac );};}else {_gacga ,_agdcc :=_abcgd (_acdf );if _agdcc !=nil {_dbe .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",_agdcc );return nil ,_agdcc ;};_edccd .Function =append (_edccd .Function ,_gacga );};if _aegfe :=_agacg .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_aegfe !=nil {_aegfe =_cb .TraceToDirectObject (_aegfe );_fgef ,_ggba :=_aegfe .(*_cb .PdfObjectArray );if !_ggba {_dbe .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",_aegfe );return nil ,_cb .ErrTypeError ;};if _fgef .Len ()!=2{_dbe .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",_fgef .Len ());return nil ,ErrInvalidAttribute ;};_edccd .Extend =_fgef ;};return &_edccd ,nil ;};func _aagcd (_bdfgg *_cb .PdfObjectDictionary )(*PdfShadingType7 ,error ){_bgggf :=PdfShadingType7 {};_gbgdb :=_bdfgg .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _gbgdb ==nil {_dbe .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 ;};_baddfb ,_eaaf :=_gbgdb .(*_cb .PdfObjectInteger );if !_eaaf {_dbe .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",_gbgdb );return nil ,_cb .ErrTypeError ;};_bgggf .BitsPerCoordinate =_baddfb ;_gbgdb =_bdfgg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _gbgdb ==nil {_dbe .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 ;};_baddfb ,_eaaf =_gbgdb .(*_cb .PdfObjectInteger );if !_eaaf {_dbe .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",_gbgdb );return nil ,_cb .ErrTypeError ;};_bgggf .BitsPerComponent =_baddfb ;_gbgdb =_bdfgg .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _gbgdb ==nil {_dbe .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 ;};_baddfb ,_eaaf =_gbgdb .(*_cb .PdfObjectInteger );if !_eaaf {_dbe .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",_gbgdb );return nil ,_cb .ErrTypeError ;};_bgggf .BitsPerComponent =_baddfb ;_gbgdb =_bdfgg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _gbgdb ==nil {_dbe .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 ;};_bagec ,_eaaf :=_gbgdb .(*_cb .PdfObjectArray );if !_eaaf {_dbe .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",_gbgdb );return nil ,_cb .ErrTypeError ;};_bgggf .Decode =_bagec ;if _edbff :=_bdfgg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_edbff !=nil {_bgggf .Function =[]PdfFunction {};if _gdgab ,_gbgca :=_edbff .(*_cb .PdfObjectArray );_gbgca {for _ ,_gaaf :=range _gdgab .Elements (){_cdacb ,_dgfd :=_abcgd (_gaaf );if _dgfd !=nil {_dbe .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",_dgfd );return nil ,_dgfd ;};_bgggf .Function =append (_bgggf .Function ,_cdacb );};}else {_acfaa ,_ddffd :=_abcgd (_edbff );if _ddffd !=nil {_dbe .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",_ddffd );return nil ,_ddffd ;};_bgggf .Function =append (_bgggf .Function ,_acfaa );};};return &_bgggf ,nil ;};
|
||
|
||
// PdfAnnotationCaret represents Caret annotations.
|
||
// (Section 12.5.6.11).
|
||
type PdfAnnotationCaret struct{*PdfAnnotation ;*PdfAnnotationMarkup ;RD _cb .PdfObject ;Sy _cb .PdfObject ;};
|
||
|
||
// PdfAnnotationUnderline represents Underline annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationUnderline struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _cb .PdfObject ;};
|
||
|
||
// 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 (_bdbeb *PdfFont )CharcodesToStrings (charcodes []_ccb .CharCode )([]string ,int ,int ){_ffdf :=_bdbeb .baseFields ();_eggdf :=make ([]string ,0,len (charcodes ));_ggbd :=0;for _ ,_cgaag :=range charcodes {if _ffdf ._agag !=nil {if _adegf ,_gbab :=_ffdf ._agag .CharcodeToUnicode (_gb .CharCode (_cgaag ));_gbab {_eggdf =append (_eggdf ,_adegf );continue ;};};_dcab :=_bdbeb .Encoder ();if _dcab !=nil {if _cebcd ,_ddfbc :=_dcab .CharcodeToRune (_cgaag );_ddfbc {_eggdf =append (_eggdf ,string (_cebcd ));continue ;};};_dbe .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",_cgaag ,charcodes ,_ffdf .isCIDFont (),_bdbeb ,_dcab );_ggbd ++;_eggdf =append (_eggdf ,_gb .MissingCodeString );};if _ggbd !=0{_dbe .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 ),_ggbd ,_bdbeb );};return _eggdf ,len (_eggdf ),_ggbd ;};func (_fbbb *PdfReader )newPdfActionMovieFromDict (_gadb *_cb .PdfObjectDictionary )(*PdfActionMovie ,error ){return &PdfActionMovie {Annotation :_gadb .Get ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e"),T :_gadb .Get ("\u0054"),Operation :_gadb .Get ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn")},nil ;};
|
||
|
||
// G returns the value of the green component of the color.
|
||
func (_bbbe *PdfColorDeviceRGB )G ()float64 {return float64 (_bbbe [1])};
|
||
|
||
// 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 (_gedg *PdfPageResources )GetFontByName (keyName _cb .PdfObjectName )(_cb .PdfObject ,bool ){if _gedg .Font ==nil {return nil ,false ;};_cebfc ,_bgfge :=_cb .TraceToDirectObject (_gedg .Font ).(*_cb .PdfObjectDictionary );if !_bgfge {_dbe .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",_cb .TraceToDirectObject (_gedg .Font ));return nil ,false ;};if _gcagc :=_cebfc .Get (keyName );_gcagc !=nil {return _gcagc ,true ;};return nil ,false ;};func (_adeb *PdfColorspaceDeviceCMYK )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b";};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_aegb *PdfColorspaceSpecialIndexed )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};N :=_aegb .Base .GetNumComponents ();_gdbbb :=int (vals [0])*N ;if _gdbbb < 0||(_gdbbb +N -1)>=len (_aegb ._ecbc ){return nil ,_bc .New ("\u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065");};_dbcd :=_aegb ._ecbc [_gdbbb :_gdbbb +N ];var _ddfg []float64 ;for _ ,_cabg :=range _dbcd {_ddfg =append (_ddfg ,float64 (_cabg )/255.0);};_dgfa ,_abfc :=_aegb .Base .ColorFromFloats (_ddfg );if _abfc !=nil {return nil ,_abfc ;};return _dgfa ,nil ;};
|
||
|
||
// ToOutlineTree returns a low level PdfOutlineTreeNode object, based on
|
||
// the current instance.
|
||
func (_bggba *Outline )ToOutlineTree ()*PdfOutlineTreeNode {return &_bggba .ToPdfOutline ().PdfOutlineTreeNode ;};
|
||
|
||
// ImageToRGB converts an image with samples in Separation CS to an image with samples specified in
|
||
// DeviceRGB CS.
|
||
func (_acaf *PdfColorspaceSpecialSeparation )ImageToRGB (img Image )(Image ,error ){_dfec :=_cf .NewReader (img .getBase ());_cdcb :=_ac .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),_acaf .AlternateSpace .GetNumComponents (),nil ,img ._ddffb ,nil );_fgde :=_cf .NewWriter (_cdcb );_egbaa :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_dbe .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");_dbe .Log .Trace ("\u0054i\u006et\u0054\u0072\u0061\u006e\u0073f\u006f\u0072m\u003a\u0020\u0025\u002b\u0076",_acaf .TintTransform );_badd :=_acaf .AlternateSpace .DecodeArray ();var (_fbdf uint32 ;_eagb error ;);for {_fbdf ,_eagb =_dfec .ReadSample ();if _eagb ==_bb .EOF {break ;};if _eagb !=nil {return img ,_eagb ;};_efdc :=float64 (_fbdf )/_egbaa ;_cbgd ,_bgcgae :=_acaf .TintTransform .Evaluate ([]float64 {_efdc });if _bgcgae !=nil {return img ,_bgcgae ;};for _gfdec ,_eeeb :=range _cbgd {_gefe :=_ac .LinearInterpolate (_eeeb ,_badd [_gfdec *2],_badd [_gfdec *2+1],0,1);if _bgcgae =_fgde .WriteSample (uint32 (_gefe *_egbaa ));_bgcgae !=nil {return img ,_bgcgae ;};};};return _acaf .AlternateSpace .ImageToRGB (_ecdg (&_cdcb ));};
|
||
|
||
// 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 *_cb .PdfIndirectObject `json:"-"`;Page int64 `json:"page"`;Mode string `json:"mode"`;X float64 `json:"x"`;Y float64 `json:"y"`;Zoom float64 `json:"zoom"`;};
|
||
|
||
// IsShading specifies if the pattern is a shading pattern.
|
||
func (_abcbb *PdfPattern )IsShading ()bool {return _abcbb .PatternType ==2};
|
||
|
||
// PdfBorderEffect represents a PDF border effect.
|
||
type PdfBorderEffect struct{S *BorderEffect ;I *float64 ;};
|
||
|
||
// 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 ;_degad *_cb .PdfIndirectObject ;};func (_bccba *PdfAcroForm )fill (_gbebc FieldValueProvider ,_geeg FieldAppearanceGenerator )error {if _bccba ==nil {return nil ;};_bbgeg ,_cfca :=_gbebc .FieldValues ();if _cfca !=nil {return _cfca ;};for _ ,_bdfaee :=range _bccba .AllFields (){_afafg :=_bdfaee .PartialName ();_bcccf ,_bacaf :=_bbgeg [_afafg ];if !_bacaf {if _ecgfg ,_ecdad :=_bdfaee .FullName ();_ecdad ==nil {_bcccf ,_bacaf =_bbgeg [_ecgfg ];};};if !_bacaf {_dbe .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",_afafg );continue ;};if _dafcg :=_fdeag (_bdfaee ,_bcccf );_dafcg !=nil {return _dafcg ;};if _geeg ==nil {continue ;};for _ ,_ggfbc :=range _bdfaee .Annotations {_eeebb ,_fdgfa :=_geeg .GenerateAppearanceDict (_bccba ,_bdfaee ,_ggfbc );if _fdgfa !=nil {return _fdgfa ;};_ggfbc .AP =_eeebb ;_ggfbc .ToPdfObject ();};};return nil ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_beegd pdfCIDFontType2 )GetRuneMetrics (r rune )(_af .CharMetrics ,bool ){_faagf ,_ggaba :=_beegd ._fgga [r ];if !_ggaba {_dcccb ,_aacg :=_cb .GetInt (_beegd .DW );if !_aacg {return _af .CharMetrics {},false ;};_faagf =int (*_dcccb );};return _af .CharMetrics {Wx :float64 (_faagf )},true ;};
|
||
|
||
// FieldValueProvider provides field values from a data source such as FDF, JSON or any other.
|
||
type FieldValueProvider interface{FieldValues ()(map[string ]_cb .PdfObject ,error );};
|
||
|
||
// 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 (_adcd *PdfFieldButton )GetType ()ButtonType {_gfad :=ButtonTypeCheckbox ;if _adcd .Ff !=nil {if (uint32 (*_adcd .Ff )&FieldFlagPushbutton .Mask ())> 0{_gfad =ButtonTypePush ;}else if (uint32 (*_adcd .Ff )&FieldFlagRadio .Mask ())> 0{_gfad =ButtonTypeRadio ;};};return _gfad ;};
|
||
|
||
// 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 ;
|
||
|
||
// String returns a human readable description of `fontfile`.
|
||
func (_aabea *fontFile )String ()string {_cadec :="\u005b\u004e\u006f\u006e\u0065\u005d";if _aabea ._fefc !=nil {_cadec =_aabea ._fefc .String ();};return _c .Sprintf ("\u0046O\u004e\u0054\u0046\u0049\u004c\u0045\u007b\u0025\u0023\u0071\u0020e\u006e\u0063\u006f\u0064\u0065\u0072\u003d\u0025\u0073\u007d",_aabea ._abcae ,_cadec );};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_afegd *PdfColorspaceSpecialSeparation )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eabbb :=vals [0];_cacf :=[]float64 {_eabbb };_cdede ,_ebfg :=_afegd .TintTransform .Evaluate (_cacf );if _ebfg !=nil {_dbe .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",_ebfg );_dbe .Log .Trace ("\u0054\u0069\u006e\u0074 t\u0072\u0061\u006e\u0073\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_afegd .TintTransform );return nil ,_ebfg ;};_dbe .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",_cdede ,_afegd .AlternateSpace );_cdff ,_ebfg :=_afegd .AlternateSpace .ColorFromFloats (_cdede );if _ebfg !=nil {_dbe .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",_ebfg );return nil ,_ebfg ;};return _cdff ,nil ;};func (_badfe *Image )resampleLowBits (_dfcb []uint32 ){_aeccf :=_ac .BytesPerLine (int (_badfe .Width ),int (_badfe .BitsPerComponent ),_badfe .ColorComponents );_feea :=make ([]byte ,_badfe .ColorComponents *_aeccf *int (_badfe .Height ));_ccec :=int (_badfe .BitsPerComponent )*_badfe .ColorComponents *int (_badfe .Width );_afagg :=uint8 (8);var (_ggfgd ,_abcef int ;_feaff uint32 ;);for _daefa :=0;_daefa < int (_badfe .Height );_daefa ++{_abcef =_daefa *_aeccf ;for _fbcec :=0;_fbcec < _ccec ;_fbcec ++{_feaff =_dfcb [_ggfgd ];_afagg -=uint8 (_badfe .BitsPerComponent );_feea [_abcef ]|=byte (_feaff )<<_afagg ;if _afagg ==0{_afagg =8;_abcef ++;};_ggfgd ++;};};_badfe .Data =_feea ;};
|
||
|
||
// PdfRectangle is a definition of a rectangle.
|
||
type PdfRectangle struct{Llx float64 ;Lly float64 ;Urx float64 ;Ury float64 ;};func (_ecc *PdfReader )newPdfActionSubmitFormFromDict (_gfa *_cb .PdfObjectDictionary )(*PdfActionSubmitForm ,error ){_gaef ,_cfda :=_bgcc (_gfa .Get ("\u0046"));if _cfda !=nil {return nil ,_cfda ;};return &PdfActionSubmitForm {F :_gaef ,Fields :_gfa .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_gfa .Get ("\u0046\u006c\u0061g\u0073")},nil ;};func (_bgeb *PdfReader )newPdfAnnotationFreeTextFromDict (_fabe *_cb .PdfObjectDictionary )(*PdfAnnotationFreeText ,error ){_adeg :=PdfAnnotationFreeText {};_dbec ,_dgd :=_bgeb .newPdfAnnotationMarkupFromDict (_fabe );if _dgd !=nil {return nil ,_dgd ;};_adeg .PdfAnnotationMarkup =_dbec ;_adeg .DA =_fabe .Get ("\u0044\u0041");_adeg .Q =_fabe .Get ("\u0051");_adeg .RC =_fabe .Get ("\u0052\u0043");_adeg .DS =_fabe .Get ("\u0044\u0053");_adeg .CL =_fabe .Get ("\u0043\u004c");_adeg .IT =_fabe .Get ("\u0049\u0054");_adeg .BE =_fabe .Get ("\u0042\u0045");_adeg .RD =_fabe .Get ("\u0052\u0044");_adeg .BS =_fabe .Get ("\u0042\u0053");_adeg .LE =_fabe .Get ("\u004c\u0045");return &_adeg ,nil ;};
|
||
|
||
// WriteToFile writes the Appender output to file specified by path.
|
||
func (_badf *PdfAppender )WriteToFile (outputPath string )error {_cfbd ,_gcee :=_ce .Create (outputPath );if _gcee !=nil {return _gcee ;};defer _cfbd .Close ();return _badf .Write (_cfbd );};var _ pdfFont =(*pdfCIDFontType2 )(nil );func (_afbac *pdfCIDFontType2 )getFontDescriptor ()*PdfFontDescriptor {return _afbac ._bgbb };
|
||
|
||
// 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 (_abdb *PdfFont )CharcodesToUnicodeWithStats (charcodes []_ccb .CharCode )(_gedb []rune ,_bace ,_bbccd int ){_edbb ,_bace ,_bbccd :=_abdb .CharcodesToStrings (charcodes );return []rune (_fe .Join (_edbb ,"")),_bace ,_bbccd ;};
|
||
|
||
// ImageToRGB converts an image in CMYK32 colorspace to an RGB image.
|
||
func (_gbgbb *PdfColorspaceDeviceCMYK )ImageToRGB (img Image )(Image ,error ){_dbe .Log .Trace ("\u0043\u004d\u0059\u004b\u0033\u0032\u0020\u002d\u003e\u0020\u0052\u0047\u0042");_dbe .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 );_dbe .Log .Trace ("\u004c\u0065\u006e \u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0064",len (img .Data ));_dbe .Log .Trace ("H\u0065\u0069\u0067\u0068t:\u0020%\u0064\u002c\u0020\u0057\u0069d\u0074\u0068\u003a\u0020\u0025\u0064",img .Height ,img .Width );_gabe ,_gcgfg :=_ac .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._ddffb ,img ._cceeg );if _gcgfg !=nil {return Image {},_gcgfg ;};_bdad ,_gcgfg :=_ac .NRGBAConverter .Convert (_gabe );if _gcgfg !=nil {return Image {},_gcgfg ;};return _ecdg (_bdad .Base ()),nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline item (indirect object).
|
||
func (_agccd *PdfOutlineItem )GetContainingPdfObject ()_cb .PdfObject {return _agccd ._gaga };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_acca *PdfAnnotationSquiggly )ToPdfObject ()_cb .PdfObject {_acca .PdfAnnotation .ToPdfObject ();_bgbf :=_acca ._efd ;_gcff :=_bgbf .PdfObject .(*_cb .PdfObjectDictionary );_acca .PdfAnnotationMarkup .appendToPdfDictionary (_gcff );_gcff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079"));_gcff .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_acca .QuadPoints );return _bgbf ;};
|
||
|
||
// BorderEffect represents a border effect (Table 167 p. 395).
|
||
type BorderEffect int ;func _defcb (_dcced *_cb .PdfObjectStream )(*PdfFunctionType0 ,error ){_dagcb :=&PdfFunctionType0 {};_dagcb ._dgaa =_dcced ;_fgab :=_dcced .PdfObjectDictionary ;_aadd ,_fbaca :=_cb .TraceToDirectObject (_fgab .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_cb .PdfObjectArray );if !_fbaca {_dbe .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_bc .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 _aadd .Len ()< 0||_aadd .Len ()%2!=0{_dbe .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_bc .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_dagcb .NumInputs =_aadd .Len ()/2;_dgedf ,_degbf :=_aadd .ToFloat64Array ();if _degbf !=nil {return nil ,_degbf ;};_dagcb .Domain =_dgedf ;_aadd ,_fbaca =_cb .TraceToDirectObject (_fgab .Get ("\u0052\u0061\u006eg\u0065")).(*_cb .PdfObjectArray );if !_fbaca {_dbe .Log .Error ("\u0052\u0061\u006e\u0067e \u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_bc .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 _aadd .Len ()< 0||_aadd .Len ()%2!=0{return nil ,_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_dagcb .NumOutputs =_aadd .Len ()/2;_ccede ,_degbf :=_aadd .ToFloat64Array ();if _degbf !=nil {return nil ,_degbf ;};_dagcb .Range =_ccede ;_aadd ,_fbaca =_cb .TraceToDirectObject (_fgab .Get ("\u0053\u0069\u007a\u0065")).(*_cb .PdfObjectArray );if !_fbaca {_dbe .Log .Error ("\u0053i\u007ae\u0020\u006e\u006f\u0074\u0020s\u0070\u0065c\u0069\u0066\u0069\u0065\u0064");return nil ,_bc .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");};_daca ,_degbf :=_aadd .ToIntegerArray ();if _degbf !=nil {return nil ,_degbf ;};if len (_daca )!=_dagcb .NumInputs {_dbe .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 ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dagcb .Size =_daca ;_bfca ,_fbaca :=_cb .TraceToDirectObject (_fgab .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065")).(*_cb .PdfObjectInteger );if !_fbaca {_dbe .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 ,_bc .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 *_bfca !=1&&*_bfca !=2&&*_bfca !=4&&*_bfca !=8&&*_bfca !=12&&*_bfca !=16&&*_bfca !=24&&*_bfca !=32{_dbe .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",*_bfca );return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dagcb .BitsPerSample =int (*_bfca );_dagcb .Order =1;_gabdd ,_fbaca :=_cb .TraceToDirectObject (_fgab .Get ("\u004f\u0072\u0064e\u0072")).(*_cb .PdfObjectInteger );if _fbaca {if *_gabdd !=1&&*_gabdd !=3{_dbe .Log .Error ("\u0049n\u0076a\u006c\u0069\u0064\u0020\u006fr\u0064\u0065r\u0020\u0028\u0025\u0064\u0029",*_gabdd );return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dagcb .Order =int (*_gabdd );};_aadd ,_fbaca =_cb .TraceToDirectObject (_fgab .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_cb .PdfObjectArray );if _fbaca {_ccgg ,_ggee :=_aadd .ToFloat64Array ();if _ggee !=nil {return nil ,_ggee ;};_dagcb .Encode =_ccgg ;};_aadd ,_fbaca =_cb .TraceToDirectObject (_fgab .Get ("\u0044\u0065\u0063\u006f\u0064\u0065")).(*_cb .PdfObjectArray );if _fbaca {_gfdba ,_fgff :=_aadd .ToFloat64Array ();if _fgff !=nil {return nil ,_fgff ;};_dagcb .Decode =_gfdba ;};_aegf ,_degbf :=_cb .DecodeStream (_dcced );if _degbf !=nil {return nil ,_degbf ;};_dagcb ._gfdce =_aegf ;return _dagcb ,nil ;};func (_aeeg *PdfColorspaceICCBased )String ()string {return "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064";};
|
||
|
||
// PdfActionNamed represents a named action.
|
||
type PdfActionNamed struct{*PdfAction ;N _cb .PdfObject ;};func (_bdb *PdfColorspaceCalRGB )String ()string {return "\u0043\u0061\u006c\u0052\u0047\u0042"};
|
||
|
||
// NewPdfColorDeviceGray returns a new grayscale color based on an input grayscale float value in range [0-1].
|
||
func NewPdfColorDeviceGray (grayVal float64 )*PdfColorDeviceGray {_cbfg :=PdfColorDeviceGray (grayVal );return &_cbfg ;};func (_dfae *PdfColorspaceSpecialPattern )String ()string {return "\u0050a\u0074\u0074\u0065\u0072\u006e";};
|
||
|
||
// SetPdfProducer sets the Producer attribute of the output PDF.
|
||
func SetPdfProducer (producer string ){_cgafc =producer };
|
||
|
||
// IsCID returns true if the underlying font is CID.
|
||
func (_ddggf *PdfFont )IsCID ()bool {return _ddggf .baseFields ().isCIDFont ()};var _ pdfFont =(*pdfFontType0 )(nil );
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for an RGB device.
|
||
func (_cbcc *PdfColorspaceDeviceRGB )GetNumComponents ()int {return 3};func (_bccf *PdfReader )newPdfActionSoundFromDict (_gdee *_cb .PdfObjectDictionary )(*PdfActionSound ,error ){return &PdfActionSound {Sound :_gdee .Get ("\u0053\u006f\u0075n\u0064"),Volume :_gdee .Get ("\u0056\u006f\u006c\u0075\u006d\u0065"),Synchronous :_gdee .Get ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073"),Repeat :_gdee .Get ("\u0052\u0065\u0070\u0065\u0061\u0074"),Mix :_gdee .Get ("\u004d\u0069\u0078")},nil ;};
|
||
|
||
// GetAlphabet returns a map of the runes in `text` and their frequencies.
|
||
func GetAlphabet (text string )map[rune ]int {_dageaf :=map[rune ]int {};for _ ,_gbac :=range text {_dageaf [_gbac ]++;};return _dageaf ;};
|
||
|
||
// NewPdfSignature creates a new PdfSignature object.
|
||
func NewPdfSignature (handler SignatureHandler )*PdfSignature {_fedcd :=&PdfSignature {Type :_cb .MakeName ("\u0053\u0069\u0067"),Handler :handler };_befgb :=&pdfSignDictionary {PdfObjectDictionary :_cb .MakeDict (),_adcfc :&handler ,_bdfbd :_fedcd };_fedcd ._afcda =_cb .MakeIndirectObject (_befgb );return _fedcd ;};func (_becc *PdfReader )newPdfAnnotationRedactFromDict (_aage *_cb .PdfObjectDictionary )(*PdfAnnotationRedact ,error ){_efbb :=PdfAnnotationRedact {};_afce ,_acc :=_becc .newPdfAnnotationMarkupFromDict (_aage );if _acc !=nil {return nil ,_acc ;};_efbb .PdfAnnotationMarkup =_afce ;_efbb .QuadPoints =_aage .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_efbb .IC =_aage .Get ("\u0049\u0043");_efbb .RO =_aage .Get ("\u0052\u004f");_efbb .OverlayText =_aage .Get ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074");_efbb .Repeat =_aage .Get ("\u0052\u0065\u0070\u0065\u0061\u0074");_efbb .DA =_aage .Get ("\u0044\u0041");_efbb .Q =_aage .Get ("\u0051");return &_efbb ,nil ;};
|
||
|
||
// NewPdfActionGoTo returns a new "go to" action.
|
||
func NewPdfActionGoTo ()*PdfActionGoTo {_bbg :=NewPdfAction ();_fb :=&PdfActionGoTo {};_fb .PdfAction =_bbg ;_bbg .SetContext (_fb );return _fb ;};
|
||
|
||
// 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 (_fbgf *PdfFieldButton )SetType (btype ButtonType ){_gbd :=uint32 (0);if _fbgf .Ff !=nil {_gbd =uint32 (*_fbgf .Ff );};switch btype {case ButtonTypePush :_gbd |=FieldFlagPushbutton .Mask ();case ButtonTypeRadio :_gbd |=FieldFlagRadio .Mask ();};_fbgf .Ff =_cb .MakeInteger (int64 (_gbd ));};func (_fdb *PdfReader )newPdfActionThreadFromDict (_daga *_cb .PdfObjectDictionary )(*PdfActionThread ,error ){_deg ,_gedc :=_bgcc (_daga .Get ("\u0046"));if _gedc !=nil {return nil ,_gedc ;};return &PdfActionThread {D :_daga .Get ("\u0044"),B :_daga .Get ("\u0042"),F :_deg },nil ;};
|
||
|
||
// SetShadingByName sets a shading resource specified by keyName.
|
||
func (_ccded *PdfPageResources )SetShadingByName (keyName _cb .PdfObjectName ,shadingObj _cb .PdfObject )error {if _ccded .Shading ==nil {_ccded .Shading =_cb .MakeDict ();};_cfff ,_faeecf :=_ccded .Shading .(*_cb .PdfObjectDictionary );if !_faeecf {return _cb .ErrTypeError ;};_cfff .Set (keyName ,shadingObj );return nil ;};
|
||
|
||
// 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 (_fdfbg *PdfFont )GetCharMetrics (code _ccb .CharCode )(CharMetrics ,bool ){var _afdfd _af .CharMetrics ;switch _ddad :=_fdfbg ._cdfe .(type ){case *pdfFontSimple :if _adbce ,_acbe :=_ddad .GetCharMetrics (code );_acbe {return _adbce ,_acbe ;};case *pdfFontType0 :if _bdfb ,_fgaee :=_ddad .GetCharMetrics (code );_fgaee {return _bdfb ,_fgaee ;};case *pdfCIDFontType0 :if _fdbede ,_dggg :=_ddad .GetCharMetrics (code );_dggg {return _fdbede ,_dggg ;};case *pdfCIDFontType2 :if _bfggf ,_ddegcf :=_ddad .GetCharMetrics (code );_ddegcf {return _bfggf ,_ddegcf ;};default:_dbe .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",_fdfbg ._cdfe );return _afdfd ,false ;};if _abdbe ,_cagdg :=_fdfbg .GetFontDescriptor ();_cagdg ==nil &&_abdbe !=nil {return _af .CharMetrics {Wx :_abdbe ._bdfag },true ;};_dbe .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",_fdfbg );return _afdfd ,false ;};func _bdga (_bgccd _cb .PdfObject )(*PdfBorderStyle ,error ){_acad :=&PdfBorderStyle {};_acad ._cbcbf =_bgccd ;var _gfdb *_cb .PdfObjectDictionary ;_bgccd =_cb .TraceToDirectObject (_bgccd );_gfdb ,_fdgf :=_bgccd .(*_cb .PdfObjectDictionary );if !_fdgf {return nil ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};if _gdbc :=_gfdb .Get ("\u0054\u0079\u0070\u0065");_gdbc !=nil {_fefb ,_aae :=_gdbc .(*_cb .PdfObjectName );if !_aae {_dbe .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",_gdbc );}else {if *_fefb !="\u0042\u006f\u0072\u0064\u0065\u0072"{_dbe .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",*_fefb );};};};if _edgf :=_gfdb .Get ("\u0057");_edgf !=nil {_cdec ,_afda :=_cb .GetNumberAsFloat (_edgf );if _afda !=nil {_dbe .Log .Debug ("\u0045\u0072\u0072\u006fr \u0072\u0065\u0074\u0072\u0069\u0065\u0076\u0069\u006e\u0067\u0020\u0057\u003a\u0020%\u0076",_afda );return nil ,_afda ;};_acad .W =&_cdec ;};if _ceaf :=_gfdb .Get ("\u0053");_ceaf !=nil {_abf ,_fba :=_ceaf .(*_cb .PdfObjectName );if !_fba {return nil ,_bc .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 _bfdc BorderStyle ;switch *_abf {case "\u0053":_bfdc =BorderStyleSolid ;case "\u0044":_bfdc =BorderStyleDashed ;case "\u0042":_bfdc =BorderStyleBeveled ;case "\u0049":_bfdc =BorderStyleInset ;case "\u0055":_bfdc =BorderStyleUnderline ;default:_dbe .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020s\u0074\u0079\u006c\u0065\u0020n\u0061\u006d\u0065\u0020\u0025\u0073",*_abf );return nil ,_bc .New ("\u0073\u0074\u0079\u006ce \u0074\u0079\u0070\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065c\u006b");};_acad .S =&_bfdc ;};if _dbefd :=_gfdb .Get ("\u0044");_dbefd !=nil {_dafae ,_fcbc :=_dbefd .(*_cb .PdfObjectArray );if !_fcbc {_dbe .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",_dbefd );return nil ,_bc .New ("\u0062o\u0072\u0064\u0065\u0072 \u0044\u0020\u0074\u0079\u0070e\u0020c\u0068e\u0063\u006b\u0020\u0065\u0072\u0072\u006fr");};_aaef ,_fbbe :=_dafae .ToIntegerArray ();if _fbbe !=nil {_dbe .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",_fbbe );return nil ,_fbbe ;};_acad .D =&_aaef ;};return _acad ,nil ;};
|
||
|
||
// AddContentStreamByString adds content stream by string. Puts the content
|
||
// string into a stream object and points the content stream towards it.
|
||
func (_cfbf *PdfPage )AddContentStreamByString (contentStr string )error {_bedfc ,_acfb :=_cb .MakeStream ([]byte (contentStr ),_cb .NewFlateEncoder ());if _acfb !=nil {return _acfb ;};if _cfbf .Contents ==nil {_cfbf .Contents =_bedfc ;}else {_acgdb :=_cb .TraceToDirectObject (_cfbf .Contents );_cebec ,_ffdfe :=_acgdb .(*_cb .PdfObjectArray );if !_ffdfe {_cebec =_cb .MakeArray (_acgdb );};_cebec .Append (_bedfc );_cfbf .Contents =_cebec ;};return nil ;};
|
||
|
||
// NewImageFromGoImage creates a new NRGBA32 unidoc Image from a golang Image.
|
||
// If `goimg` is grayscale (*goimage.Gray8) then calls NewGrayImageFromGoImage instead.
|
||
func (_bbbeg DefaultImageHandler )NewImageFromGoImage (goimg _ca .Image )(*Image ,error ){_gbadd ,_afcb :=_ac .FromGoImage (goimg );if _afcb !=nil {return nil ,_afcb ;};_eafgb :=_ecdg (_gbadd .Base ());return &_eafgb ,nil ;};
|
||
|
||
// NewPdfAnnotationFileAttachment returns a new file attachment annotation.
|
||
func NewPdfAnnotationFileAttachment ()*PdfAnnotationFileAttachment {_dged :=NewPdfAnnotation ();_ddg :=&PdfAnnotationFileAttachment {};_ddg .PdfAnnotation =_dged ;_ddg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dged .SetContext (_ddg );return _ddg ;};
|
||
|
||
// 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 *_cb .PdfObjectArray ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;Attributes *PdfColorspaceDeviceNAttributes ;_eggd *_cb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject converts PdfAcroForm to a PdfObject, i.e. an indirect object containing the
|
||
// AcroForm dictionary.
|
||
func (_fdbgc *PdfAcroForm )ToPdfObject ()_cb .PdfObject {_dffbb :=_fdbgc ._dfgeb ;_efcbf :=_dffbb .PdfObject .(*_cb .PdfObjectDictionary );if _fdbgc .Fields !=nil {_ebgb :=_cb .PdfObjectArray {};for _ ,_eddg :=range *_fdbgc .Fields {_fbae :=_eddg .GetContext ();if _fbae !=nil {_ebgb .Append (_fbae .ToPdfObject ());}else {_ebgb .Append (_eddg .ToPdfObject ());};};_efcbf .Set ("\u0046\u0069\u0065\u006c\u0064\u0073",&_ebgb );};if _fdbgc .NeedAppearances !=nil {_efcbf .Set ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073",_fdbgc .NeedAppearances );};if _fdbgc .SigFlags !=nil {_efcbf .Set ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073",_fdbgc .SigFlags );};if _fdbgc .CO !=nil {_efcbf .Set ("\u0043\u004f",_fdbgc .CO );};if _fdbgc .DR !=nil {_efcbf .Set ("\u0044\u0052",_fdbgc .DR .ToPdfObject ());};if _fdbgc .DA !=nil {_efcbf .Set ("\u0044\u0041",_fdbgc .DA );};if _fdbgc .Q !=nil {_efcbf .Set ("\u0051",_fdbgc .Q );};if _fdbgc .XFA !=nil {_efcbf .Set ("\u0058\u0046\u0041",_fdbgc .XFA );};return _dffbb ;};
|
||
|
||
// PageFromIndirectObject returns the PdfPage and page number for a given indirect object.
|
||
func (_egda *PdfReader )PageFromIndirectObject (ind *_cb .PdfIndirectObject )(*PdfPage ,int ,error ){if len (_egda .PageList )!=len (_egda ._dfcdb ){return nil ,0,_bc .New ("\u0070\u0061\u0067\u0065\u0020\u006c\u0069\u0073\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};for _bdffd ,_bcfg :=range _egda ._dfcdb {if _bcfg ==ind {return _egda .PageList [_bdffd ],_bdffd +1,nil ;};};return nil ,0,_bc .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};func _bgbfg (_babe _cb .PdfObject )(*PdfColorspaceDeviceN ,error ){_ecda :=NewPdfColorspaceDeviceN ();if _caabe ,_eeefg :=_babe .(*_cb .PdfIndirectObject );_eeefg {_ecda ._eggd =_caabe ;};_babe =_cb .TraceToDirectObject (_babe );_bbfec ,_ffaag :=_babe .(*_cb .PdfObjectArray );if !_ffaag {return nil ,_c .Errorf ("\u0064\u0065\u0076\u0069\u0063\u0065\u004e\u0020\u0043\u0053\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006f\u0062j\u0065\u0063\u0074");};if _bbfec .Len ()!=4&&_bbfec .Len ()!=5{return nil ,_c .Errorf ("\u0064\u0065\u0076ic\u0065\u004e\u0020\u0043\u0053\u003a\u0020\u0049\u006ec\u006fr\u0072e\u0063t\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");};_babe =_bbfec .Get (0);_bbgg ,_ffaag :=_babe .(*_cb .PdfObjectName );if !_ffaag {return nil ,_c .Errorf ("\u0064\u0065\u0076i\u0063\u0065\u004e\u0020C\u0053\u003a\u0020\u0069\u006e\u0076\u0061l\u0069\u0064\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u006e\u0061\u006d\u0065");};if *_bbgg !="\u0044e\u0076\u0069\u0063\u0065\u004e"{return nil ,_c .Errorf ("\u0064\u0065v\u0069\u0063\u0065\u004e\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020na\u006d\u0065");};_babe =_bbfec .Get (1);_babe =_cb .TraceToDirectObject (_babe );_aefd ,_ffaag :=_babe .(*_cb .PdfObjectArray );if !_ffaag {return nil ,_c .Errorf ("\u0064\u0065\u0076i\u0063\u0065\u004e\u0020C\u0053\u003a\u0020\u0049\u006e\u0076\u0061l\u0069\u0064\u0020\u006e\u0061\u006d\u0065\u0073\u0020\u0061\u0072\u0072\u0061\u0079");};_ecda .ColorantNames =_aefd ;_babe =_bbfec .Get (2);_aeaf ,_gbaa :=NewPdfColorspaceFromPdfObject (_babe );if _gbaa !=nil {return nil ,_gbaa ;};_ecda .AlternateSpace =_aeaf ;_fegg ,_gbaa :=_abcgd (_bbfec .Get (3));if _gbaa !=nil {return nil ,_gbaa ;};_ecda .TintTransform =_fegg ;if _bbfec .Len ()==5{_adce ,_fafb :=_gaeg (_bbfec .Get (4));if _fafb !=nil {return nil ,_fafb ;};_ecda .Attributes =_adce ;};return _ecda ,nil ;};
|
||
|
||
// PdfAnnotationMovie represents Movie annotations.
|
||
// (Section 12.5.6.17).
|
||
type PdfAnnotationMovie struct{*PdfAnnotation ;T _cb .PdfObject ;Movie _cb .PdfObject ;A _cb .PdfObject ;};
|
||
|
||
// GetAsTilingPattern returns a tiling pattern. Check with IsTiling() prior to using this.
|
||
func (_cabcg *PdfPattern )GetAsTilingPattern ()*PdfTilingPattern {return _cabcg ._eadd .(*PdfTilingPattern );};
|
||
|
||
// GetContext returns a reference to the subshading entry as represented by PdfShadingType1-7.
|
||
func (_cggdc *PdfShading )GetContext ()PdfModel {return _cggdc ._cdece };
|
||
|
||
// NewPdfAnnotationHighlight returns a new text highlight annotation.
|
||
func NewPdfAnnotationHighlight ()*PdfAnnotationHighlight {_bbgf :=NewPdfAnnotation ();_aggf :=&PdfAnnotationHighlight {};_aggf .PdfAnnotation =_bbgf ;_aggf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bbgf .SetContext (_aggf );return _aggf ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_abcab *PdfFunctionType2 )ToPdfObject ()_cb .PdfObject {_acgfa :=_cb .MakeDict ();_acgfa .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_cb .MakeInteger (2));_eaefb :=&_cb .PdfObjectArray {};for _ ,_egce :=range _abcab .Domain {_eaefb .Append (_cb .MakeFloat (_egce ));};_acgfa .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_eaefb );if _abcab .Range !=nil {_eaadee :=&_cb .PdfObjectArray {};for _ ,_agbbg :=range _abcab .Range {_eaadee .Append (_cb .MakeFloat (_agbbg ));};_acgfa .Set ("\u0052\u0061\u006eg\u0065",_eaadee );};if _abcab .C0 !=nil {_egefg :=&_cb .PdfObjectArray {};for _ ,_cacae :=range _abcab .C0 {_egefg .Append (_cb .MakeFloat (_cacae ));};_acgfa .Set ("\u0043\u0030",_egefg );};if _abcab .C1 !=nil {_cedaa :=&_cb .PdfObjectArray {};for _ ,_afcega :=range _abcab .C1 {_cedaa .Append (_cb .MakeFloat (_afcega ));};_acgfa .Set ("\u0043\u0031",_cedaa );};_acgfa .Set ("\u004e",_cb .MakeFloat (_abcab .N ));if _abcab ._gaadd !=nil {_abcab ._gaadd .PdfObject =_acgfa ;return _abcab ._gaadd ;};return _acgfa ;};
|
||
|
||
// ToPdfObject converts the PdfFont object to its PDF representation.
|
||
func (_accga *PdfFont )ToPdfObject ()_cb .PdfObject {if _accga ._cdfe ==nil {_dbe .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 _cb .MakeNull ();};return _accga ._cdfe .ToPdfObject ();};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eedb *PdfColorLab )ToInteger (bits int )[3]uint32 {_aebb :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_aebb *_eedb .L ()),uint32 (_aebb *_eedb .A ()),uint32 (_aebb *_eedb .B ())};};
|
||
|
||
// GetContainingPdfObject returns the container of the outline tree node (indirect object).
|
||
func (_gbfgc *PdfOutlineTreeNode )GetContainingPdfObject ()_cb .PdfObject {return _gbfgc .GetContext ().GetContainingPdfObject ();};var _ pdfFont =(*pdfCIDFontType0 )(nil );
|
||
|
||
// 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 _bb .ReadSeeker )(*PdfReader ,error ){_aaggb :=&PdfReader {_cgba :rs ,_fage :map[_cb .PdfObject ]struct{}{},_bffa :_ccdg (),_cbfab :false };_febf ,_fbabd :=_cb .NewParser (rs );if _fbabd !=nil {return nil ,_fbabd ;};_aaggb ._gfecg =_febf ;_agdfc ,_fbabd :=_aaggb .IsEncrypted ();if _fbabd !=nil {return nil ,_fbabd ;};if !_agdfc {_fbabd =_aaggb .loadStructure ();if _fbabd !=nil {return nil ,_fbabd ;};};return _aaggb ,nil ;};
|
||
|
||
// AddImageResource adds an image to the XObject resources.
|
||
func (_ebeca *PdfPage )AddImageResource (name _cb .PdfObjectName ,ximg *XObjectImage )error {var _eeceg *_cb .PdfObjectDictionary ;if _ebeca .Resources .XObject ==nil {_eeceg =_cb .MakeDict ();_ebeca .Resources .XObject =_eeceg ;}else {var _debgf bool ;_eeceg ,_debgf =(_ebeca .Resources .XObject ).(*_cb .PdfObjectDictionary );if !_debgf {return _bc .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u0078\u0072\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020\u0074\u0079p\u0065");};};_eeceg .Set (name ,ximg .ToPdfObject ());return nil ;};func (_cbf *PdfReader )newPdfAnnotationLinkFromDict (_dbf *_cb .PdfObjectDictionary )(*PdfAnnotationLink ,error ){_eca :=PdfAnnotationLink {};_eca .A =_dbf .Get ("\u0041");_eca .Dest =_dbf .Get ("\u0044\u0065\u0073\u0074");_eca .H =_dbf .Get ("\u0048");_eca .PA =_dbf .Get ("\u0050\u0041");_eca .QuadPoints =_dbf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_eca .BS =_dbf .Get ("\u0042\u0053");return &_eca ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a CalRGB device.
|
||
func (_fefbb *PdfColorspaceCalRGB )GetNumComponents ()int {return 3};func (_dedg Image )getBase ()_ac .ImageBase {return _ac .NewImageBase (int (_dedg .Width ),int (_dedg .Height ),int (_dedg .BitsPerComponent ),_dedg .ColorComponents ,_dedg .Data ,_dedg ._ddffb ,_dedg ._cceeg );};var _cgafc ="";
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_dgdf pdfCIDFontType0 )Encoder ()_ccb .TextEncoder {return _dgdf ._eagd };
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_bafd *PdfColorDeviceCMYK )ToInteger (bits int )[4]uint32 {_dbdd :=_ag .Pow (2,float64 (bits ))-1;return [4]uint32 {uint32 (_dbdd *_bafd .C ()),uint32 (_dbdd *_bafd .M ()),uint32 (_dbdd *_bafd .Y ()),uint32 (_dbdd *_bafd .K ())};};type pdfFontSimple struct{fontCommon ;_bdadb *_cb .PdfIndirectObject ;_cfgdd map[_ccb .CharCode ]float64 ;_egffg _ccb .TextEncoder ;_cecgb _ccb .TextEncoder ;_eggf *PdfFontDescriptor ;
|
||
|
||
// Encoding is subject to limitations that are described in 9.6.6, "Character Encoding".
|
||
// BaseFont is derived differently.
|
||
FirstChar _cb .PdfObject ;LastChar _cb .PdfObject ;Widths _cb .PdfObject ;Encoding _cb .PdfObject ;_egdg map[rune ]_af .CharMetrics ;};
|
||
|
||
// 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 (_fdfdb *PdfAppender )mergeResources (_caecd ,_cdce _cb .PdfObject ,_cebc map[_cb .PdfObjectName ]_cb .PdfObjectName )_cb .PdfObject {if _cdce ==nil &&_caecd ==nil {return nil ;};if _cdce ==nil {return _caecd ;};_aaed ,_ggbg :=_cb .GetDict (_cdce );if !_ggbg {return _caecd ;};if _caecd ==nil {_dfegd :=_cb .MakeDict ();_dfegd .Merge (_aaed );return _cdce ;};_gfag ,_ggbg :=_cb .GetDict (_caecd );if !_ggbg {_dbe .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");_gfag =_cb .MakeDict ();};for _ ,_dfde :=range _aaed .Keys (){if _cge ,_fcef :=_cebc [_dfde ];_fcef {_gfag .Set (_cge ,_aaed .Get (_dfde ));}else {_gfag .Set (_dfde ,_aaed .Get (_dfde ));};};return _gfag ;};
|
||
|
||
// SetPageLabels sets the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_eecgfe *PdfWriter )SetPageLabels (pageLabels _cb .PdfObject )error {if pageLabels ==nil {return nil ;};_dbe .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");_eecgfe ._fgfb .Set ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073",pageLabels );return _eecgfe .addObjects (pageLabels );};
|
||
|
||
// K returns the value of the key component of the color.
|
||
func (_cged *PdfColorDeviceCMYK )K ()float64 {return float64 (_cged [3])};
|
||
|
||
// XObjectForm (Table 95 in 8.10.2).
|
||
type XObjectForm struct{Filter _cb .StreamEncoder ;FormType _cb .PdfObject ;BBox _cb .PdfObject ;Matrix _cb .PdfObject ;Resources *PdfPageResources ;Group _cb .PdfObject ;Ref _cb .PdfObject ;MetaData _cb .PdfObject ;PieceInfo _cb .PdfObject ;LastModified _cb .PdfObject ;StructParent _cb .PdfObject ;StructParents _cb .PdfObject ;OPI _cb .PdfObject ;OC _cb .PdfObject ;Name _cb .PdfObject ;
|
||
|
||
// Stream data.
|
||
Stream []byte ;_eaadb *_cb .PdfObjectStream ;};
|
||
|
||
// NewPdfAnnotation3D returns a new 3d annotation.
|
||
func NewPdfAnnotation3D ()*PdfAnnotation3D {_cceg :=NewPdfAnnotation ();_eab :=&PdfAnnotation3D {};_eab .PdfAnnotation =_cceg ;_cceg .SetContext (_eab );return _eab ;};func (_aagc *pdfFontType0 )getFontDescriptor ()*PdfFontDescriptor {if _aagc ._bgbb ==nil &&_aagc .DescendantFont !=nil {return _aagc .DescendantFont .FontDescriptor ();};return _aagc ._bgbb ;};func (_fdcdd fontCommon )fontFlags ()int {if _fdcdd ._bgbb ==nil {return 0;};return _fdcdd ._bgbb ._bfdd ;};
|
||
|
||
// 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 (_gceda *PdfSignature )bool ;Validate (_abab *PdfSignature ,_aggbf Hasher )(SignatureValidationResult ,error );
|
||
|
||
// InitSignature sets the PdfSignature parameters.
|
||
InitSignature (*PdfSignature )error ;NewDigest (_edab *PdfSignature )(Hasher ,error );Sign (_bcafb *PdfSignature ,_abdg Hasher )error ;};func (_cebcb *PdfColorspaceLab )String ()string {return "\u004c\u0061\u0062"};
|
||
|
||
// PdfPage represents a page in a PDF document. (7.7.3.3 - Table 30).
|
||
type PdfPage struct{Parent _cb .PdfObject ;LastModified *PdfDate ;Resources *PdfPageResources ;CropBox *PdfRectangle ;MediaBox *PdfRectangle ;BleedBox *PdfRectangle ;TrimBox *PdfRectangle ;ArtBox *PdfRectangle ;BoxColorInfo _cb .PdfObject ;Contents _cb .PdfObject ;Rotate *int64 ;Group _cb .PdfObject ;Thumb _cb .PdfObject ;B _cb .PdfObject ;Dur _cb .PdfObject ;Trans _cb .PdfObject ;AA _cb .PdfObject ;Metadata _cb .PdfObject ;PieceInfo _cb .PdfObject ;StructParents _cb .PdfObject ;ID _cb .PdfObject ;PZ _cb .PdfObject ;SeparationInfo _cb .PdfObject ;Tabs _cb .PdfObject ;TemplateInstantiated _cb .PdfObject ;PresSteps _cb .PdfObject ;UserUnit _cb .PdfObject ;VP _cb .PdfObject ;Annots _cb .PdfObject ;_dcgde []*PdfAnnotation ;_acaa *_cb .PdfObjectDictionary ;_adbf *_cb .PdfIndirectObject ;_fffgc *PdfReader ;};
|
||
|
||
// SetReason sets the `Reason` field of the signature.
|
||
func (_eccab *PdfSignature )SetReason (reason string ){_eccab .Reason =_cb .MakeString (reason )};
|
||
|
||
// NewXObjectFormFromStream builds the Form XObject from a stream object.
|
||
// TODO: Should this be exposed? Consider different access points.
|
||
func NewXObjectFormFromStream (stream *_cb .PdfObjectStream )(*XObjectForm ,error ){_egfca :=&XObjectForm {};_egfca ._eaadb =stream ;_acadd :=*(stream .PdfObjectDictionary );_bbce ,_acbbb :=_cb .NewEncoderFromStream (stream );if _acbbb !=nil {return nil ,_acbbb ;};_egfca .Filter =_bbce ;if _dggbe :=_acadd .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_dggbe !=nil {_dfbbb ,_aebg :=_dggbe .(*_cb .PdfObjectName );if !_aebg {return nil ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if *_dfbbb !="\u0046\u006f\u0072\u006d"{_dbe .Log .Debug ("I\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");return nil ,_bc .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");};};if _bfceb :=_acadd .Get ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065");_bfceb !=nil {_egfca .FormType =_bfceb ;};if _efeeg :=_acadd .Get ("\u0042\u0042\u006f\u0078");_efeeg !=nil {_egfca .BBox =_efeeg ;};if _gbegg :=_acadd .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_gbegg !=nil {_egfca .Matrix =_gbegg ;};if _eaag :=_acadd .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_eaag !=nil {_eaag =_cb .TraceToDirectObject (_eaag );_geebd ,_fdecf :=_eaag .(*_cb .PdfObjectDictionary );if !_fdecf {_dbe .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 ,_cb .ErrTypeError ;};_efbca ,_egca :=NewPdfPageResourcesFromDict (_geebd );if _egca !=nil {_dbe .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 ,_egca ;};_egfca .Resources =_efbca ;_dbe .Log .Trace ("\u0046\u006f\u0072\u006d r\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u003a\u0020\u0025\u0023\u0076",_egfca .Resources );};_egfca .Group =_acadd .Get ("\u0047\u0072\u006fu\u0070");_egfca .Ref =_acadd .Get ("\u0052\u0065\u0066");_egfca .MetaData =_acadd .Get ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061");_egfca .PieceInfo =_acadd .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_egfca .LastModified =_acadd .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_egfca .StructParent =_acadd .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_egfca .StructParents =_acadd .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_egfca .OPI =_acadd .Get ("\u004f\u0050\u0049");_egfca .OC =_acadd .Get ("\u004f\u0043");_egfca .Name =_acadd .Get ("\u004e\u0061\u006d\u0065");_egfca .Stream =stream .Stream ;return _egfca ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the resources object (indirect object).
|
||
func (_aeaeg *PdfPageResources )GetContainingPdfObject ()_cb .PdfObject {return _aeaeg ._eeeegd };
|
||
|
||
// ColorToRGB converts a CalRGB color to an RGB color.
|
||
func (_fbab *PdfColorspaceCalRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_dfeaf ,_adebb :=color .(*PdfColorCalRGB );if !_adebb {_dbe .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 ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_egbae :=_dfeaf .A ();_gfff :=_dfeaf .B ();_beeb :=_dfeaf .C ();X :=_fbab .Matrix [0]*_ag .Pow (_egbae ,_fbab .Gamma [0])+_fbab .Matrix [3]*_ag .Pow (_gfff ,_fbab .Gamma [1])+_fbab .Matrix [6]*_ag .Pow (_beeb ,_fbab .Gamma [2]);Y :=_fbab .Matrix [1]*_ag .Pow (_egbae ,_fbab .Gamma [0])+_fbab .Matrix [4]*_ag .Pow (_gfff ,_fbab .Gamma [1])+_fbab .Matrix [7]*_ag .Pow (_beeb ,_fbab .Gamma [2]);Z :=_fbab .Matrix [2]*_ag .Pow (_egbae ,_fbab .Gamma [0])+_fbab .Matrix [5]*_ag .Pow (_gfff ,_fbab .Gamma [1])+_fbab .Matrix [8]*_ag .Pow (_beeb ,_fbab .Gamma [2]);_eaef :=3.240479*X +-1.537150*Y +-0.498535*Z ;_eaff :=-0.969256*X +1.875992*Y +0.041556*Z ;_gbedf :=0.055648*X +-0.204043*Y +1.057311*Z ;_eaef =_ag .Min (_ag .Max (_eaef ,0),1.0);_eaff =_ag .Min (_ag .Max (_eaff ,0),1.0);_gbedf =_ag .Min (_ag .Max (_gbedf ,0),1.0);return NewPdfColorDeviceRGB (_eaef ,_eaff ,_gbedf ),nil ;};func (_dgeda *pdfFontType0 )bytesToCharcodes (_cace []byte )([]_ccb .CharCode ,bool ){if _dgeda ._cebae ==nil {return nil ,false ;};_ageg ,_bdcfb :=_dgeda ._cebae .BytesToCharcodes (_cace );if !_bdcfb {return nil ,false ;};_cafc :=make ([]_ccb .CharCode ,len (_ageg ));for _cdbc ,_fffbb :=range _ageg {_cafc [_cdbc ]=_ccb .CharCode (_fffbb );};return _cafc ,true ;};
|
||
|
||
// GetFontDescriptor returns the font descriptor for `font`.
|
||
func (_abggf PdfFont )GetFontDescriptor ()(*PdfFontDescriptor ,error ){return _abggf ._cdfe .getFontDescriptor (),nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aea *PdfActionNamed )ToPdfObject ()_cb .PdfObject {_aea .PdfAction .ToPdfObject ();_abc :=_aea ._fc ;_gfg :=_abc .PdfObject .(*_cb .PdfObjectDictionary );_gfg .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeNamed )));_gfg .SetIfNotNil ("\u004e",_aea .N );return _abc ;};
|
||
|
||
// PdfOutlineTreeNode contains common fields used by the outline and outline
|
||
// item objects.
|
||
type PdfOutlineTreeNode struct{_dfaeg interface{};First *PdfOutlineTreeNode ;Last *PdfOutlineTreeNode ;};
|
||
|
||
// DecodeArray returns the range of color component values in CalGray colorspace.
|
||
func (_bega *PdfColorspaceCalGray )DecodeArray ()[]float64 {return []float64 {0.0,1.0}};
|
||
|
||
// NewPdfField returns an initialized PdfField.
|
||
func NewPdfField ()*PdfField {return &PdfField {_addef :_cb .MakeIndirectObject (_cb .MakeDict ())}};
|
||
|
||
// ImageToGray returns a new grayscale image based on the passed in RGB image.
|
||
func (_gcae *PdfColorspaceDeviceRGB )ImageToGray (img Image )(Image ,error ){if img .ColorComponents !=3{return img ,_bc .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");};_dadb ,_fbf :=_ac .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._ddffb ,img ._cceeg );if _fbf !=nil {return img ,_fbf ;};_gafd ,_fbf :=_ac .GrayConverter .Convert (_dadb );if _fbf !=nil {return img ,_fbf ;};return _ecdg (_gafd .Base ()),nil ;};func _addfb (_egeeb _cb .PdfObject )(string ,error ){_egeeb =_cb .TraceToDirectObject (_egeeb );switch _bbddb :=_egeeb .(type ){case *_cb .PdfObjectString :return _bbddb .Str (),nil ;case *_cb .PdfObjectStream :_gegba ,_gfeba :=_cb .DecodeStream (_bbddb );if _gfeba !=nil {return "",_gfeba ;};return string (_gegba ),nil ;};return "",_c .Errorf ("\u0069\u006e\u0076\u0061\u006ci\u0064\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u0020\u0073\u0074\u0072e\u0061\u006d\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0068\u006f\u006c\u0064\u0065\u0072\u0020\u0028\u0025\u0054\u0029",_egeeb );};var _gbga ="";
|
||
|
||
// NewPdfAnnotationMovie returns a new movie annotation.
|
||
func NewPdfAnnotationMovie ()*PdfAnnotationMovie {_faga :=NewPdfAnnotation ();_bga :=&PdfAnnotationMovie {};_bga .PdfAnnotation =_faga ;_faga .SetContext (_bga );return _bga ;};func (_cdbb *PdfAppender )addNewObject (_feegg _cb .PdfObject ){if _ ,_bbdc :=_cdbb ._gfb [_feegg ];!_bbdc {_cdbb ._ceda =append (_cdbb ._ceda ,_feegg );_cdbb ._gfb [_feegg ]=struct{}{};};};
|
||
|
||
// NewPdfColorspaceSpecialIndexed returns a new Indexed color.
|
||
func NewPdfColorspaceSpecialIndexed ()*PdfColorspaceSpecialIndexed {return &PdfColorspaceSpecialIndexed {HiVal :255};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_deff *PdfAnnotationCircle )ToPdfObject ()_cb .PdfObject {_deff .PdfAnnotation .ToPdfObject ();_bad :=_deff ._efd ;_abgf :=_bad .PdfObject .(*_cb .PdfObjectDictionary );_deff .PdfAnnotationMarkup .appendToPdfDictionary (_abgf );_abgf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0043\u0069\u0072\u0063\u006c\u0065"));_abgf .SetIfNotNil ("\u0042\u0053",_deff .BS );_abgf .SetIfNotNil ("\u0049\u0043",_deff .IC );_abgf .SetIfNotNil ("\u0042\u0045",_deff .BE );_abgf .SetIfNotNil ("\u0052\u0044",_deff .RD );return _bad ;};func (_aedfb *PdfWriter )updateObjectNumbers (){_begab :=_aedfb .ObjNumOffset ;_adbde :=0;for _ ,_dagcg :=range _aedfb ._bgega {_baace :=int64 (_adbde +1+_begab );_ccbfe :=true ;if _aedfb ._gedaa {if _cfgeg ,_bfbge :=_aedfb ._bedca [_dagcg ];_bfbge {_baace =_cfgeg ;_ccbfe =false ;};};switch _ebbg :=_dagcg .(type ){case *_cb .PdfIndirectObject :_ebbg .ObjectNumber =_baace ;_ebbg .GenerationNumber =0;case *_cb .PdfObjectStream :_ebbg .ObjectNumber =_baace ;_ebbg .GenerationNumber =0;case *_cb .PdfObjectStreams :_ebbg .ObjectNumber =_baace ;_ebbg .GenerationNumber =0;default:_dbe .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",_ebbg );continue ;};if _ccbfe {_adbde ++;};};_afde :=func (_fegca _cb .PdfObject )int64 {switch _ggacf :=_fegca .(type ){case *_cb .PdfIndirectObject :return _ggacf .ObjectNumber ;case *_cb .PdfObjectStream :return _ggacf .ObjectNumber ;case *_cb .PdfObjectStreams :return _ggacf .ObjectNumber ;};return 0;};_gf .SliceStable (_aedfb ._bgega ,func (_gbde ,_dcfdc int )bool {return _afde (_aedfb ._bgega [_gbde ])< _afde (_aedfb ._bgega [_dcfdc ])});};
|
||
|
||
// AllFields returns a flattened list of all fields in the form.
|
||
func (_dabg *PdfAcroForm )AllFields ()[]*PdfField {if _dabg ==nil {return nil ;};var _geafg []*PdfField ;if _dabg .Fields !=nil {for _ ,_fdcag :=range *_dabg .Fields {_geafg =append (_geafg ,_fdeba (_fdcag )...);};};return _geafg ;};
|
||
|
||
// String returns a string describing the font descriptor.
|
||
func (_fgfc *PdfFontDescriptor )String ()string {var _eegc []string ;if _fgfc .FontName !=nil {_eegc =append (_eegc ,_fgfc .FontName .String ());};if _fgfc .FontFamily !=nil {_eegc =append (_eegc ,_fgfc .FontFamily .String ());};if _fgfc .fontFile !=nil {_eegc =append (_eegc ,_fgfc .fontFile .String ());};if _fgfc ._eabdd !=nil {_eegc =append (_eegc ,_fgfc ._eabdd .String ());};_eegc =append (_eegc ,_c .Sprintf ("\u0046\u006f\u006et\u0046\u0069\u006c\u0065\u0033\u003d\u0025\u0074",_fgfc .FontFile3 !=nil ));return _c .Sprintf ("\u0046\u004f\u004e\u0054_D\u0045\u0053\u0043\u0052\u0049\u0050\u0054\u004f\u0052\u007b\u0025\u0073\u007d",_fe .Join (_eegc ,"\u002c\u0020"));};
|
||
|
||
// DecodeArray returns an empty slice as there are no components associated with pattern colorspace.
|
||
func (_cffgd *PdfColorspaceSpecialPattern )DecodeArray ()[]float64 {return []float64 {}};
|
||
|
||
// StdFontName represents name of a standard font.
|
||
type StdFontName =_af .StdFontName ;
|
||
|
||
// NewPdfAnnotationUnderline returns a new text underline annotation.
|
||
func NewPdfAnnotationUnderline ()*PdfAnnotationUnderline {_eccg :=NewPdfAnnotation ();_dcc :=&PdfAnnotationUnderline {};_dcc .PdfAnnotation =_eccg ;_dcc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eccg .SetContext (_dcc );return _dcc ;};
|
||
|
||
// SetPdfSubject sets the Subject attribute of the output PDF.
|
||
func SetPdfSubject (subject string ){_cebffbc =subject };
|
||
|
||
// PdfColorspaceCalRGB stores A, B, C components
|
||
type PdfColorspaceCalRGB struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma []float64 ;Matrix []float64 ;_fcbcb *_cb .PdfObjectDictionary ;_fedfe *_cb .PdfIndirectObject ;};
|
||
|
||
// Evaluate runs the function. Input is [x1 x2 x3].
|
||
func (_dgeeb *PdfFunctionType4 )Evaluate (xVec []float64 )([]float64 ,error ){if _dgeeb ._gfcf ==nil {_dgeeb ._gfcf =_cg .NewPSExecutor (_dgeeb .Program );};var _gegea []_cg .PSObject ;for _ ,_eefc :=range xVec {_gegea =append (_gegea ,_cg .MakeReal (_eefc ));};_gcbc ,_adfcf :=_dgeeb ._gfcf .Execute (_gegea );if _adfcf !=nil {return nil ,_adfcf ;};_abffc ,_adfcf :=_cg .PSObjectArrayToFloat64Array (_gcbc );if _adfcf !=nil {return nil ,_adfcf ;};return _abffc ,nil ;};func (_eafec *PdfWriter )writeObject (_adfa int ,_fbggd _cb .PdfObject ){_dbe .Log .Trace ("\u0057\u0072\u0069\u0074\u0065\u0020\u006f\u0062\u006a \u0023\u0025\u0064\u000a",_adfa );if _aecbf ,_ddefg :=_fbggd .(*_cb .PdfIndirectObject );_ddefg {_eafec ._gebf [_adfa ]=crossReference {Type :1,Offset :_eafec ._ceead ,Generation :_aecbf .GenerationNumber };_cacbd :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_adfa );if _gbfeb ,_dfgfb :=_aecbf .PdfObject .(*pdfSignDictionary );_dfgfb {_gbfeb ._bddgd =_eafec ._ceead +int64 (len (_cacbd ));};if _aecbf .PdfObject ==nil {_dbe .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");_aecbf .PdfObject =_cb .MakeNull ();};_cacbd +=_aecbf .PdfObject .WriteString ();_cacbd +="\u000a\u0065\u006e\u0064\u006f\u0062\u006a\u000a";_eafec .writeString (_cacbd );return ;};if _gfcfb ,_fgaeca :=_fbggd .(*_cb .PdfObjectStream );_fgaeca {_eafec ._gebf [_adfa ]=crossReference {Type :1,Offset :_eafec ._ceead ,Generation :_gfcfb .GenerationNumber };_edaab :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_adfa );_edaab +=_gfcfb .PdfObjectDictionary .WriteString ();_edaab +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_eafec .writeString (_edaab );_eafec .writeBytes (_gfcfb .Stream );_eafec .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};if _abgfg ,_dcgf :=_fbggd .(*_cb .PdfObjectStreams );_dcgf {_eafec ._gebf [_adfa ]=crossReference {Type :1,Offset :_eafec ._ceead ,Generation :_abgfg .GenerationNumber };_eabbd :=_c .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_adfa );var _gcef []string ;var _cdagaa string ;var _gbfc int64 ;for _bgagd ,_cbfabe :=range _abgfg .Elements (){_adffd ,_ebcc :=_cbfabe .(*_cb .PdfIndirectObject );if !_ebcc {_dbe .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",_adfa ,_cbfabe );continue ;};_eedgg :=_adffd .PdfObject .WriteString ()+"\u0020";_cdagaa =_cdagaa +_eedgg ;_gcef =append (_gcef ,_c .Sprintf ("\u0025\u0064\u0020%\u0064",_adffd .ObjectNumber ,_gbfc ));_eafec ._gebf [int (_adffd .ObjectNumber )]=crossReference {Type :2,ObjectNumber :_adfa ,Index :_bgagd };_gbfc =_gbfc +int64 (len ([]byte (_eedgg )));};_dcgdee :=_fe .Join (_gcef ,"\u0020")+"\u0020";_bede :=_cb .NewFlateEncoder ();_agceg :=_bede .MakeStreamDict ();_agceg .Set (_cb .PdfObjectName ("\u0054\u0079\u0070\u0065"),_cb .MakeName ("\u004f\u0062\u006a\u0053\u0074\u006d"));_daded :=int64 (_abgfg .Len ());_agceg .Set (_cb .PdfObjectName ("\u004e"),_cb .MakeInteger (_daded ));_bebfb :=int64 (len (_dcgdee ));_agceg .Set (_cb .PdfObjectName ("\u0046\u0069\u0072s\u0074"),_cb .MakeInteger (_bebfb ));_cdcec ,_ :=_bede .EncodeBytes ([]byte (_dcgdee +_cdagaa ));_cgfab :=int64 (len (_cdcec ));_agceg .Set (_cb .PdfObjectName ("\u004c\u0065\u006e\u0067\u0074\u0068"),_cb .MakeInteger (_cgfab ));_eabbd +=_agceg .WriteString ();_eabbd +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_eafec .writeString (_eabbd );_eafec .writeBytes (_cdcec );_eafec .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};_eafec .writeString (_fbggd .WriteString ());};
|
||
|
||
// NewPdfColorspaceSpecialSeparation returns a new separation color.
|
||
func NewPdfColorspaceSpecialSeparation ()*PdfColorspaceSpecialSeparation {_gabc :=&PdfColorspaceSpecialSeparation {};return _gabc ;};
|
||
|
||
// PdfActionImportData represents a importData action.
|
||
type PdfActionImportData struct{*PdfAction ;F *PdfFilespec ;};
|
||
|
||
// NewOutline returns a new outline instance.
|
||
func NewOutline ()*Outline {return &Outline {}};
|
||
|
||
// 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 (_cbceb *PdfReader )Inspect ()(map[string ]int ,error ){return _cbceb ._gfecg .Inspect ()};
|
||
|
||
// PdfActionURI represents an URI action.
|
||
type PdfActionURI struct{*PdfAction ;URI _cb .PdfObject ;IsMap _cb .PdfObject ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceRGB colorspace.
|
||
func (_dddd *PdfColorspaceDeviceRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};func _cgcbg ()_d .Time {return _ebecb };
|
||
|
||
// PdfActionLaunch represents a launch action.
|
||
type PdfActionLaunch struct{*PdfAction ;F *PdfFilespec ;Win _cb .PdfObject ;Mac _cb .PdfObject ;Unix _cb .PdfObject ;NewWindow _cb .PdfObject ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_feba *PdfColorspaceCalRGB )ToPdfObject ()_cb .PdfObject {_acge :=&_cb .PdfObjectArray {};_acge .Append (_cb .MakeName ("\u0043\u0061\u006c\u0052\u0047\u0042"));_ggd :=_cb .MakeDict ();if _feba .WhitePoint !=nil {_abbf :=_cb .MakeArray (_cb .MakeFloat (_feba .WhitePoint [0]),_cb .MakeFloat (_feba .WhitePoint [1]),_cb .MakeFloat (_feba .WhitePoint [2]));_ggd .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_abbf );}else {_dbe .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 _feba .BlackPoint !=nil {_bgab :=_cb .MakeArray (_cb .MakeFloat (_feba .BlackPoint [0]),_cb .MakeFloat (_feba .BlackPoint [1]),_cb .MakeFloat (_feba .BlackPoint [2]));_ggd .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_bgab );};if _feba .Gamma !=nil {_aafdg :=_cb .MakeArray (_cb .MakeFloat (_feba .Gamma [0]),_cb .MakeFloat (_feba .Gamma [1]),_cb .MakeFloat (_feba .Gamma [2]));_ggd .Set ("\u0047\u0061\u006dm\u0061",_aafdg );};if _feba .Matrix !=nil {_edbf :=_cb .MakeArray (_cb .MakeFloat (_feba .Matrix [0]),_cb .MakeFloat (_feba .Matrix [1]),_cb .MakeFloat (_feba .Matrix [2]),_cb .MakeFloat (_feba .Matrix [3]),_cb .MakeFloat (_feba .Matrix [4]),_cb .MakeFloat (_feba .Matrix [5]),_cb .MakeFloat (_feba .Matrix [6]),_cb .MakeFloat (_feba .Matrix [7]),_cb .MakeFloat (_feba .Matrix [8]));_ggd .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_edbf );};_acge .Append (_ggd );if _feba ._fedfe !=nil {_feba ._fedfe .PdfObject =_acge ;return _feba ._fedfe ;};return _acge ;};
|
||
|
||
// ToPdfObject converts date to a PDF string object.
|
||
func (_ecbd *PdfDate )ToPdfObject ()_cb .PdfObject {_gdbgf :=_c .Sprintf ("\u0044\u003a\u0025\u002e\u0034\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e2\u0064\u0025\u0063\u0025\u002e2\u0064\u0027%\u002e\u0032\u0064\u0027",_ecbd ._dbbc ,_ecbd ._cddf ,_ecbd ._ffdac ,_ecbd ._cfgca ,_ecbd ._fcgbe ,_ecbd ._aegfed ,_ecbd ._bbbbg ,_ecbd ._bbee ,_ecbd ._caccb );return _cb .MakeString (_gdbgf );};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_cdace *PdfSignature )GetContainingPdfObject ()_cb .PdfObject {return _cdace ._afcda };
|
||
|
||
// NewPdfColorspaceDeviceN returns an initialized PdfColorspaceDeviceN.
|
||
func NewPdfColorspaceDeviceN ()*PdfColorspaceDeviceN {_ggbf :=&PdfColorspaceDeviceN {};return _ggbf };
|
||
|
||
// ColorToRGB converts gray -> rgb for a single color component.
|
||
func (_gafc *PdfColorspaceDeviceGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_cgaae ,_abd :=color .(*PdfColorDeviceGray );if !_abd {_dbe .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 ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return NewPdfColorDeviceRGB (float64 (*_cgaae ),float64 (*_cgaae ),float64 (*_cgaae )),nil ;};func _bbac (_fecfg *_cb .PdfObjectDictionary )(*PdfShadingType5 ,error ){_cfcgc :=PdfShadingType5 {};_fcedd :=_fecfg .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fcedd ==nil {_dbe .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 ;};_aggdc ,_efebd :=_fcedd .(*_cb .PdfObjectInteger );if !_efebd {_dbe .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",_fcedd );return nil ,_cb .ErrTypeError ;};_cfcgc .BitsPerCoordinate =_aggdc ;_fcedd =_fecfg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fcedd ==nil {_dbe .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 ;};_aggdc ,_efebd =_fcedd .(*_cb .PdfObjectInteger );if !_efebd {_dbe .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",_fcedd );return nil ,_cb .ErrTypeError ;};_cfcgc .BitsPerComponent =_aggdc ;_fcedd =_fecfg .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077");if _fcedd ==nil {_dbe .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 ;};_aggdc ,_efebd =_fcedd .(*_cb .PdfObjectInteger );if !_efebd {_dbe .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",_fcedd );return nil ,_cb .ErrTypeError ;};_cfcgc .VerticesPerRow =_aggdc ;_fcedd =_fecfg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fcedd ==nil {_dbe .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 ;};_gcedc ,_efebd :=_fcedd .(*_cb .PdfObjectArray );if !_efebd {_dbe .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",_fcedd );return nil ,_cb .ErrTypeError ;};_cfcgc .Decode =_gcedc ;if _efee :=_fecfg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_efee !=nil {_cfcgc .Function =[]PdfFunction {};if _feeaa ,_ffefa :=_efee .(*_cb .PdfObjectArray );_ffefa {for _ ,_dbgcg :=range _feeaa .Elements (){_ebcb ,_efbg :=_abcgd (_dbgcg );if _efbg !=nil {_dbe .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",_efbg );return nil ,_efbg ;};_cfcgc .Function =append (_cfcgc .Function ,_ebcb );};}else {_dbcbb ,_adage :=_abcgd (_efee );if _adage !=nil {_dbe .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",_adage );return nil ,_adage ;};_cfcgc .Function =append (_cfcgc .Function ,_dbcbb );};};return &_cfcgc ,nil ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_adgf *PdfColorCalRGB )A ()float64 {return float64 (_adgf [0])};
|
||
|
||
// 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 (_dcdd *PdfColorspaceDeviceGray )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_afbae ,_cfag :=_cb .GetNumbersAsFloat (objects );if _cfag !=nil {return nil ,_cfag ;};return _dcdd .ColorFromFloats (_afbae );};
|
||
|
||
// 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 (_fadc *PdfReader )FlattenFields (allannots bool ,appgen FieldAppearanceGenerator )error {return _fadc .flattenFieldsWithOpts (allannots ,appgen ,nil );};
|
||
|
||
// NewPdfColorspaceLab returns a new Lab colorspace object.
|
||
func NewPdfColorspaceLab ()*PdfColorspaceLab {_eeece :=&PdfColorspaceLab {};_eeece .BlackPoint =[]float64 {0.0,0.0,0.0};_eeece .Range =[]float64 {-100,100,-100,100};return _eeece ;};
|
||
|
||
// 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 (_dagea *PdfColorspaceCalGray )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_afafa ,_abbea :=_cb .GetNumbersAsFloat (objects );if _abbea !=nil {return nil ,_abbea ;};return _dagea .ColorFromFloats (_afafa );};type pdfCIDFontType0 struct{fontCommon ;_bggag *_cb .PdfIndirectObject ;_eagd _ccb .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// (Required) Dictionary that defines the character collection of the CIDFont.
|
||
// See Table 116.
|
||
CIDSystemInfo *_cb .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _cb .PdfObject ;W _cb .PdfObject ;DW2 _cb .PdfObject ;W2 _cb .PdfObject ;_agae map[_ccb .CharCode ]float64 ;_eccee float64 ;};func (_aeae *PdfReader )newPdfAnnotationStrikeOut (_dgcc *_cb .PdfObjectDictionary )(*PdfAnnotationStrikeOut ,error ){_fdca :=PdfAnnotationStrikeOut {};_adde ,_fggf :=_aeae .newPdfAnnotationMarkupFromDict (_dgcc );if _fggf !=nil {return nil ,_fggf ;};_fdca .PdfAnnotationMarkup =_adde ;_fdca .QuadPoints =_dgcc .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_fdca ,nil ;};
|
||
|
||
// PdfAnnotationPrinterMark represents PrinterMark annotations.
|
||
// (Section 12.5.6.20).
|
||
type PdfAnnotationPrinterMark struct{*PdfAnnotation ;MN _cb .PdfObject ;};
|
||
|
||
// 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 (_bbfc *PdfFont )StringToCharcodeBytes (str string )([]byte ,int ){return _bbfc .RunesToCharcodeBytes ([]rune (str ));};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline.
|
||
func (_afcec *Outline )ToPdfObject ()_cb .PdfObject {return _afcec .ToPdfOutline ().ToPdfObject ()};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceCMYK colorspace.
|
||
func (_afdc *PdfColorspaceDeviceCMYK )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// SetColorspaceByName adds the provided colorspace to the page resources.
|
||
func (_afddf *PdfPageResources )SetColorspaceByName (keyName _cb .PdfObjectName ,cs PdfColorspace )error {_dcge ,_eggdd :=_afddf .GetColorspaces ();if _eggdd !=nil {_dbe .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",_eggdd );return _eggdd ;};if _dcge ==nil {_dcge =NewPdfPageResourcesColorspaces ();_afddf .SetColorSpace (_dcge );};_dcge .Set (keyName ,cs );return nil ;};func (_egga *PdfReader )resolveReference (_fgcde *_cb .PdfObjectReference )(_cb .PdfObject ,bool ,error ){_aaff ,_ddcf :=_egga ._gfecg .ObjCache [int (_fgcde .ObjectNumber )];if !_ddcf {_dbe .Log .Trace ("R\u0065\u0061\u0064\u0065r \u004co\u006f\u006b\u0075\u0070\u0020r\u0065\u0066\u003a\u0020\u0025\u0073",_fgcde );_adge ,_facce :=_egga ._gfecg .LookupByReference (*_fgcde );if _facce !=nil {return nil ,false ,_facce ;};_egga ._gfecg .ObjCache [int (_fgcde .ObjectNumber )]=_adge ;return _adge ,false ,nil ;};return _aaff ,true ,nil ;};
|
||
|
||
// Decrypt decrypts the PDF file with a specified password. Also tries to
|
||
// decrypt with an empty password. Returns true if successful,
|
||
// false otherwise.
|
||
func (_aedeb *PdfReader )Decrypt (password []byte )(bool ,error ){_dcbdg ,_acefb :=_aedeb ._gfecg .Decrypt (password );if _acefb !=nil {return false ,_acefb ;};if !_dcbdg {return false ,nil ;};_acefb =_aedeb .loadStructure ();if _acefb !=nil {_dbe .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",_acefb );return false ,_acefb ;};return true ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bfcf *PdfColorspaceDeviceCMYK )ToPdfObject ()_cb .PdfObject {return _cb .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b");};
|
||
|
||
// ToPdfObject returns the text field dictionary within an indirect object (container).
|
||
func (_cfbb *PdfFieldText )ToPdfObject ()_cb .PdfObject {_cfbb .PdfField .ToPdfObject ();_gfgeb :=_cfbb ._addef ;_baffb :=_gfgeb .PdfObject .(*_cb .PdfObjectDictionary );_baffb .Set ("\u0046\u0054",_cb .MakeName ("\u0054\u0078"));if _cfbb .DA !=nil {_baffb .Set ("\u0044\u0041",_cfbb .DA );};if _cfbb .Q !=nil {_baffb .Set ("\u0051",_cfbb .Q );};if _cfbb .DS !=nil {_baffb .Set ("\u0044\u0053",_cfbb .DS );};if _cfbb .RV !=nil {_baffb .Set ("\u0052\u0056",_cfbb .RV );};if _cfbb .MaxLen !=nil {_baffb .Set ("\u004d\u0061\u0078\u004c\u0065\u006e",_cfbb .MaxLen );};return _gfgeb ;};
|
||
|
||
// NewReaderForText makes a new PdfReader for an input PDF content string. For use in testing.
|
||
func NewReaderForText (txt string )*PdfReader {return &PdfReader {_fage :map[_cb .PdfObject ]struct{}{},_bffa :_ccdg (),_gfecg :_cb .NewParserFromString (txt )};};
|
||
|
||
// DecodeArray returns the range of color component values in the ICCBased colorspace.
|
||
func (_gegae *PdfColorspaceICCBased )DecodeArray ()[]float64 {return _gegae .Range };
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_faeg *PdfColorCalRGB )B ()float64 {return float64 (_faeg [1])};
|
||
|
||
// 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 ;_afcda *_cb .PdfIndirectObject ;
|
||
|
||
// Type: Sig/DocTimeStamp
|
||
Type *_cb .PdfObjectName ;Filter *_cb .PdfObjectName ;SubFilter *_cb .PdfObjectName ;Contents *_cb .PdfObjectString ;Cert _cb .PdfObject ;ByteRange *_cb .PdfObjectArray ;Reference *_cb .PdfObjectArray ;Changes *_cb .PdfObjectArray ;Name *_cb .PdfObjectString ;M *_cb .PdfObjectString ;Location *_cb .PdfObjectString ;Reason *_cb .PdfObjectString ;ContactInfo *_cb .PdfObjectString ;R *_cb .PdfObjectInteger ;V *_cb .PdfObjectInteger ;PropBuild *_cb .PdfObjectDictionary ;PropAuthTime *_cb .PdfObjectInteger ;PropAuthType *_cb .PdfObjectName ;};func (_aed *PdfReader )newPdfActionNamedFromDict (_cdc *_cb .PdfObjectDictionary )(*PdfActionNamed ,error ){return &PdfActionNamed {N :_cdc .Get ("\u004e")},nil ;};
|
||
|
||
// PartialName returns the partial name of the field.
|
||
func (_ceaa *PdfField )PartialName ()string {_gagf :="";if _ceaa .T !=nil {_gagf =_ceaa .T .Decoded ();}else {_dbe .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 _gagf ;};
|
||
|
||
// NewPdfAppender creates a new Pdf appender from a Pdf reader.
|
||
func NewPdfAppender (reader *PdfReader )(*PdfAppender ,error ){_daab :=&PdfAppender {_fdbd :reader ._cgba ,Reader :reader ,_cecd :reader ._gfecg ,_cfdg :reader ._fage };_dccd ,_dec :=_daab ._fdbd .Seek (0,_bb .SeekEnd );if _dec !=nil {return nil ,_dec ;};_daab ._fdfd =_dccd ;if _ ,_dec =_daab ._fdbd .Seek (0,_bb .SeekStart );_dec !=nil {return nil ,_dec ;};_daab ._acgg ,_dec =NewPdfReader (_daab ._fdbd );if _dec !=nil {return nil ,_dec ;};for _ ,_egdc :=range _daab .Reader .GetObjectNums (){if _daab ._caff < _egdc {_daab ._caff =_egdc ;};};_daab ._cfg =_daab ._cecd .GetXrefTable ();_daab ._bdeb =_daab ._cecd .GetXrefOffset ();_daab ._gfb =make (map[_cb .PdfObject ]struct{});for _ ,_bege :=range _daab ._acgg .PageList {_daab ._dgce =append (_daab ._dgce ,_bege );};_daab ._bgbd =make (map[_cb .PdfObject ]int64 );_daab ._bbea =make (map[_cb .PdfObject ]struct{});_daab ._abbe =_daab ._acgg .AcroForm ;return _daab ,nil ;};
|
||
|
||
// RemovePage removes a page by number.
|
||
func (_bgea *PdfAppender )RemovePage (pageNum int ){_bebd :=pageNum -1;_bgea ._dgce =append (_bgea ._dgce [0:_bebd ],_bgea ._dgce [pageNum :]...);};
|
||
|
||
// PdfColorDeviceGray represents a grayscale color value that shall be represented by a single number in the
|
||
// range 0.0 to 1.0 where 0.0 corresponds to black and 1.0 to white.
|
||
type PdfColorDeviceGray float64 ;func _dccg (_edcc _af .StdFont )pdfFontSimple {_edba :=_edcc .Descriptor ();return pdfFontSimple {fontCommon :fontCommon {_fbefd :"\u0054\u0079\u0070e\u0031",_babff :_edcc .Name ()},_egdg :_edcc .GetMetricsTable (),_eggf :&PdfFontDescriptor {FontName :_cb .MakeName (string (_edba .Name )),FontFamily :_cb .MakeName (_edba .Family ),FontWeight :_cb .MakeFloat (float64 (_edba .Weight )),Flags :_cb .MakeInteger (int64 (_edba .Flags )),FontBBox :_cb .MakeArrayFromFloats (_edba .BBox [:]),ItalicAngle :_cb .MakeFloat (_edba .ItalicAngle ),Ascent :_cb .MakeFloat (_edba .Ascent ),Descent :_cb .MakeFloat (_edba .Descent ),CapHeight :_cb .MakeFloat (_edba .CapHeight ),XHeight :_cb .MakeFloat (_edba .XHeight ),StemV :_cb .MakeFloat (_edba .StemV ),StemH :_cb .MakeFloat (_edba .StemH )},_cecgb :_edcc .Encoder ()};};
|
||
|
||
// NewPdfActionSetOCGState returns a new "named" action.
|
||
func NewPdfActionSetOCGState ()*PdfActionSetOCGState {_cae :=NewPdfAction ();_aaa :=&PdfActionSetOCGState {};_aaa .PdfAction =_cae ;_cae .SetContext (_aaa );return _aaa ;};
|
||
|
||
// 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 *_cb .PdfIndirectObject ;SV *_cb .PdfIndirectObject ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (3 for rgb).
|
||
func (_adgc *PdfColorspaceDeviceRGB )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_abff ,_gebc :=_cb .GetNumbersAsFloat (objects );if _gebc !=nil {return nil ,_gebc ;};return _adgc .ColorFromFloats (_abff );};
|
||
|
||
// GetNamedDestinations returns the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_bafdf *PdfReader )GetNamedDestinations ()(_cb .PdfObject ,error ){_bebea :=_cb .ResolveReference (_bafdf ._fccgb .Get ("\u004e\u0061\u006de\u0073"));if _bebea ==nil {return nil ,nil ;};if !_bafdf ._cbfab {_decbe :=_bafdf .traverseObjectData (_bebea );if _decbe !=nil {return nil ,_decbe ;};};return _bebea ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fcgd *PdfAnnotationPolygon )ToPdfObject ()_cb .PdfObject {_fcgd .PdfAnnotation .ToPdfObject ();_bfae :=_fcgd ._efd ;_caed :=_bfae .PdfObject .(*_cb .PdfObjectDictionary );_fcgd .PdfAnnotationMarkup .appendToPdfDictionary (_caed );_caed .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0050o\u006c\u0079\u0067\u006f\u006e"));_caed .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_fcgd .Vertices );_caed .SetIfNotNil ("\u004c\u0045",_fcgd .LE );_caed .SetIfNotNil ("\u0042\u0053",_fcgd .BS );_caed .SetIfNotNil ("\u0049\u0043",_fcgd .IC );_caed .SetIfNotNil ("\u0042\u0045",_fcgd .BE );_caed .SetIfNotNil ("\u0049\u0054",_fcgd .IT );_caed .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_fcgd .Measure );return _bfae ;};
|
||
|
||
// NewPdfAnnotationPolygon returns a new polygon annotation.
|
||
func NewPdfAnnotationPolygon ()*PdfAnnotationPolygon {_fdd :=NewPdfAnnotation ();_ebfa :=&PdfAnnotationPolygon {};_ebfa .PdfAnnotation =_fdd ;_ebfa .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fdd .SetContext (_ebfa );return _ebfa ;};
|
||
|
||
// NewPdfColorDeviceCMYK returns a new CMYK32 color.
|
||
func NewPdfColorDeviceCMYK (c ,m ,y ,k float64 )*PdfColorDeviceCMYK {_bdff :=PdfColorDeviceCMYK {c ,m ,y ,k };return &_bdff ;};func (_fcee *PdfReader )newPdfAnnotationCircleFromDict (_dbcf *_cb .PdfObjectDictionary )(*PdfAnnotationCircle ,error ){_aecb :=PdfAnnotationCircle {};_dgef ,_gaag :=_fcee .newPdfAnnotationMarkupFromDict (_dbcf );if _gaag !=nil {return nil ,_gaag ;};_aecb .PdfAnnotationMarkup =_dgef ;_aecb .BS =_dbcf .Get ("\u0042\u0053");_aecb .IC =_dbcf .Get ("\u0049\u0043");_aecb .BE =_dbcf .Get ("\u0042\u0045");_aecb .RD =_dbcf .Get ("\u0052\u0044");return &_aecb ,nil ;};const (RC4_128bit =EncryptionAlgorithm (iota );AES_128bit ;AES_256bit ;);func (_cgfgg *pdfFontSimple )updateStandard14Font (){_beace ,_caaea :=_cgfgg .Encoder ().(_ccb .SimpleEncoder );if !_caaea {_dbe .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",_cgfgg .Encoder (),_cgfgg );return ;};_faea :=_beace .Charcodes ();_cgfgg ._cfgdd =make (map[_ccb .CharCode ]float64 ,len (_faea ));for _ ,_afff :=range _faea {_bfgf ,_ :=_beace .CharcodeToRune (_afff );_cgfgg ._cfgdd [_afff ]=_cgfgg ._egdg [_bfgf ].Wx ;};};
|
||
|
||
// GetContainingPdfObject returns the XObject Form's containing object (indirect object).
|
||
func (_edebe *XObjectForm )GetContainingPdfObject ()_cb .PdfObject {return _edebe ._eaadb };
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gdbe *pdfFontSimple )Encoder ()_ccb .TextEncoder {if _gdbe ._egffg !=nil {return _gdbe ._egffg ;};if _gdbe ._cecgb !=nil {return _gdbe ._cecgb ;};_fedb ,_ :=_ccb .NewSimpleTextEncoder ("\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",nil );return _fedb ;};
|
||
|
||
// 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 (_bfgb *PdfReader )FlattenFieldsWithOpts (appgen FieldAppearanceGenerator ,opts *FieldFlattenOpts )error {return _bfgb .flattenFieldsWithOpts (false ,appgen ,opts );};func (_fgdb fontCommon )isCIDFont ()bool {if _fgdb ._fbefd ==""{_dbe .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",_fgdb );};_fcgb :=false ;switch _fgdb ._fbefd {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":_fcgb =true ;};_dbe .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",_fcgb ,_fgdb );return _fcgb ;};
|
||
|
||
// 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 *_cb .PdfObjectStream ;Data []byte ;_ebfab *_cb .PdfIndirectObject ;_cfade *_cb .PdfObjectStream ;};
|
||
|
||
// 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 ;_gfdce []byte ;_fcdac []uint32 ;_dgaa *_cb .PdfObjectStream ;};
|
||
|
||
// NewPdfAnnotationSquare returns a new square annotation.
|
||
func NewPdfAnnotationSquare ()*PdfAnnotationSquare {_dab :=NewPdfAnnotation ();_aabc :=&PdfAnnotationSquare {};_aabc .PdfAnnotation =_dab ;_aabc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dab .SetContext (_aabc );return _aabc ;};
|
||
|
||
// NewXObjectForm creates a brand new XObject Form. Creates a new underlying PDF object stream primitive.
|
||
func NewXObjectForm ()*XObjectForm {_dedd :=&XObjectForm {};_efef :=&_cb .PdfObjectStream {};_efef .PdfObjectDictionary =_cb .MakeDict ();_dedd ._eaadb =_efef ;return _dedd ;};
|
||
|
||
// NewPdfColorspaceCalGray returns a new CalGray colorspace object.
|
||
func NewPdfColorspaceCalGray ()*PdfColorspaceCalGray {_deag :=&PdfColorspaceCalGray {};_deag .BlackPoint =[]float64 {0.0,0.0,0.0};_deag .Gamma =1;return _deag ;};
|
||
|
||
// 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 *_cb .PdfObjectName ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;_ccba *_cb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject return the CalGray colorspace as a PDF object (name dictionary).
|
||
func (_dda *PdfColorspaceCalGray )ToPdfObject ()_cb .PdfObject {_efa :=&_cb .PdfObjectArray {};_efa .Append (_cb .MakeName ("\u0043a\u006c\u0047\u0072\u0061\u0079"));_ecbg :=_cb .MakeDict ();if _dda .WhitePoint !=nil {_ecbg .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_cb .MakeArray (_cb .MakeFloat (_dda .WhitePoint [0]),_cb .MakeFloat (_dda .WhitePoint [1]),_cb .MakeFloat (_dda .WhitePoint [2])));}else {_dbe .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 _dda .BlackPoint !=nil {_ecbg .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_cb .MakeArray (_cb .MakeFloat (_dda .BlackPoint [0]),_cb .MakeFloat (_dda .BlackPoint [1]),_cb .MakeFloat (_dda .BlackPoint [2])));};_ecbg .Set ("\u0047\u0061\u006dm\u0061",_cb .MakeFloat (_dda .Gamma ));_efa .Append (_ecbg );if _dda ._beeg !=nil {_dda ._beeg .PdfObject =_efa ;return _dda ._beeg ;};return _efa ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_ee *PdfAction )GetContainingPdfObject ()_cb .PdfObject {return _ee ._fc };
|
||
|
||
// NewPdfAnnotationScreen returns a new screen annotation.
|
||
func NewPdfAnnotationScreen ()*PdfAnnotationScreen {_eggb :=NewPdfAnnotation ();_eec :=&PdfAnnotationScreen {};_eec .PdfAnnotation =_eggb ;_eggb .SetContext (_eec );return _eec ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gdbec *PdfSignature )ToPdfObject ()_cb .PdfObject {_ggac :=_gdbec ._afcda ;var _dbfgc *_cb .PdfObjectDictionary ;if _aeaeb ,_bfeea :=_ggac .PdfObject .(*pdfSignDictionary );_bfeea {_dbfgc =_aeaeb .PdfObjectDictionary ;}else {_dbfgc =_ggac .PdfObject .(*_cb .PdfObjectDictionary );};_dbfgc .SetIfNotNil ("\u0054\u0079\u0070\u0065",_gdbec .Type );_dbfgc .SetIfNotNil ("\u0046\u0069\u006c\u0074\u0065\u0072",_gdbec .Filter );_dbfgc .SetIfNotNil ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r",_gdbec .SubFilter );_dbfgc .SetIfNotNil ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_gdbec .ByteRange );_dbfgc .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_gdbec .Contents );_dbfgc .SetIfNotNil ("\u0043\u0065\u0072\u0074",_gdbec .Cert );_dbfgc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_gdbec .Name );_dbfgc .SetIfNotNil ("\u0052\u0065\u0061\u0073\u006f\u006e",_gdbec .Reason );_dbfgc .SetIfNotNil ("\u004d",_gdbec .M );_dbfgc .SetIfNotNil ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e",_gdbec .Reference );_dbfgc .SetIfNotNil ("\u0043h\u0061\u006e\u0067\u0065\u0073",_gdbec .Changes );_dbfgc .SetIfNotNil ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f",_gdbec .ContactInfo );return _ggac ;};
|
||
|
||
// GenerateXObjectName generates an unused XObject name that can be used for
|
||
// adding new XObjects. Uses format XObj1, XObj2, ...
|
||
func (_cgceeg *PdfPageResources )GenerateXObjectName ()_cb .PdfObjectName {_gecbd :=1;for {_cabbb :=_cb .MakeName (_c .Sprintf ("\u0058\u004f\u0062\u006a\u0025\u0064",_gecbd ));if !_cgceeg .HasXObjectByName (*_cabbb ){return *_cabbb ;};_gecbd ++;};};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_cabeb *PdfOutlineItem )ToPdfObject ()_cb .PdfObject {_bafe :=_cabeb ._gaga ;_ecaec :=_bafe .PdfObject .(*_cb .PdfObjectDictionary );_ecaec .Set ("\u0054\u0069\u0074l\u0065",_cabeb .Title );if _cabeb .A !=nil {_ecaec .Set ("\u0041",_cabeb .A );};if _defag :=_ecaec .Get ("\u0053\u0045");_defag !=nil {_ecaec .Remove ("\u0053\u0045");};if _cabeb .C !=nil {_ecaec .Set ("\u0043",_cabeb .C );};if _cabeb .Dest !=nil {_ecaec .Set ("\u0044\u0065\u0073\u0074",_cabeb .Dest );};if _cabeb .F !=nil {_ecaec .Set ("\u0046",_cabeb .F );};if _cabeb .Count !=nil {_ecaec .Set ("\u0043\u006f\u0075n\u0074",_cb .MakeInteger (*_cabeb .Count ));};if _cabeb .Next !=nil {_ecaec .Set ("\u004e\u0065\u0078\u0074",_cabeb .Next .ToPdfObject ());};if _cabeb .First !=nil {_ecaec .Set ("\u0046\u0069\u0072s\u0074",_cabeb .First .ToPdfObject ());};if _cabeb .Prev !=nil {_ecaec .Set ("\u0050\u0072\u0065\u0076",_cabeb .Prev .GetContext ().GetContainingPdfObject ());};if _cabeb .Last !=nil {_ecaec .Set ("\u004c\u0061\u0073\u0074",_cabeb .Last .GetContext ().GetContainingPdfObject ());};if _cabeb .Parent !=nil {_ecaec .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_cabeb .Parent .GetContext ().GetContainingPdfObject ());};return _bafe ;};
|
||
|
||
// PdfAnnotationCircle represents Circle annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationCircle struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _cb .PdfObject ;IC _cb .PdfObject ;BE _cb .PdfObject ;RD _cb .PdfObject ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_gbcf pdfCIDFontType0 )GetRuneMetrics (r rune )(_af .CharMetrics ,bool ){return _af .CharMetrics {Wx :_gbcf ._eccee },true ;};
|
||
|
||
// NewPdfAnnotationPopup returns a new popup annotation.
|
||
func NewPdfAnnotationPopup ()*PdfAnnotationPopup {_gab :=NewPdfAnnotation ();_cdd :=&PdfAnnotationPopup {};_cdd .PdfAnnotation =_gab ;_gab .SetContext (_cdd );return _cdd ;};func (_aagba *pdfCIDFontType2 )baseFields ()*fontCommon {return &_aagba .fontCommon };
|
||
|
||
// PdfActionType represents an action type in PDF (section 12.6.4 p. 417).
|
||
type PdfActionType string ;func (_egcda *PdfPage )getParentResources ()(*PdfPageResources ,error ){_bdaea :=_egcda .Parent ;for _bdaea !=nil {_eddbf ,_agfce :=_cb .GetDict (_bdaea );if !_agfce {_dbe .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 ,_bc .New ("i\u006e\u0076\u0061\u006cid\u0020p\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};if _dcdef :=_eddbf .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_dcdef !=nil {_bgbbc ,_ggedf :=_cb .GetDict (_dcdef );if !_ggedf {return nil ,_bc .New ("i\u006e\u0076\u0061\u006cid\u0020r\u0065\u0073\u006f\u0075\u0072c\u0065\u0020\u0064\u0069\u0063\u0074");};_gcdbf ,_caceg :=NewPdfPageResourcesFromDict (_bgbbc );if _caceg !=nil {return nil ,_caceg ;};return _gcdbf ,nil ;};_bdaea =_eddbf .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,nil ;};
|
||
|
||
// String returns a string that describes `base`.
|
||
func (_fgbgg fontCommon )String ()string {return _c .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0073\u007d",_fgbgg .coreString ());};
|
||
|
||
// GetContainingPdfObject returns the containing object for the PdfField, i.e. an indirect object
|
||
// containing the field dictionary.
|
||
func (_dcaf *PdfField )GetContainingPdfObject ()_cb .PdfObject {return _dcaf ._addef };
|
||
|
||
// AppendContentStream adds content stream by string. Appends to the last
|
||
// contentstream instance if many.
|
||
func (_acbec *PdfPage )AppendContentStream (contentStr string )error {_acaeb ,_gcecg :=_acbec .GetContentStreams ();if _gcecg !=nil {return _gcecg ;};if len (_acaeb )==0{_acaeb =[]string {contentStr };return _acbec .SetContentStreams (_acaeb ,_cb .NewFlateEncoder ());};var _bgegf _bbb .Buffer ;_bgegf .WriteString (_acaeb [len (_acaeb )-1]);_bgegf .WriteString ("\u000a");_bgegf .WriteString (contentStr );_acaeb [len (_acaeb )-1]=_bgegf .String ();return _acbec .SetContentStreams (_acaeb ,_cb .NewFlateEncoder ());};func (_gafe *PdfReader )buildPageList (_baafb *_cb .PdfIndirectObject ,_eebae *_cb .PdfIndirectObject ,_fffdf map[_cb .PdfObject ]struct{})error {if _baafb ==nil {return nil ;};if _ ,_egeec :=_fffdf [_baafb ];_egeec {_dbe .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",_baafb .ObjectNumber );return nil ;};_fffdf [_baafb ]=struct{}{};_fbdb ,_ccce :=_baafb .PdfObject .(*_cb .PdfObjectDictionary );if !_ccce {return _bc .New ("n\u006f\u0064\u0065\u0020no\u0074 \u0061\u0020\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");};_baeaa ,_ccce :=(*_fbdb ).Get ("\u0054\u0079\u0070\u0065").(*_cb .PdfObjectName );if !_ccce {if _fbdb .Get ("\u004b\u0069\u0064\u0073")==nil {return _bc .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");};_dbe .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.");_baeaa =_cb .MakeName ("\u0050\u0061\u0067e\u0073");_fbdb .Set ("\u0054\u0079\u0070\u0065",_baeaa );};_dbe .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",*_baeaa ,_baafb );if *_baeaa =="\u0050\u0061\u0067\u0065"{_fagdb ,_fbbda :=_gafe .newPdfPageFromDict (_fbdb );if _fbbda !=nil {return _fbbda ;};_fagdb .setContainer (_baafb );if _eebae !=nil {_fbdb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_eebae );};_gafe ._dfcdb =append (_gafe ._dfcdb ,_baafb );_gafe .PageList =append (_gafe .PageList ,_fagdb );return nil ;};if *_baeaa !="\u0050\u0061\u0067e\u0073"{_dbe .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",_baeaa );return _bc .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 _eebae !=nil {_fbdb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_eebae );};if !_gafe ._cbfab {_ebebf :=_gafe .traverseObjectData (_baafb );if _ebebf !=nil {return _ebebf ;};};_acgcg ,_ccaefg :=_gafe ._gfecg .Resolve (_fbdb .Get ("\u004b\u0069\u0064\u0073"));if _ccaefg !=nil {_dbe .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 _ccaefg ;};var _eecf *_cb .PdfObjectArray ;_eecf ,_ccce =_acgcg .(*_cb .PdfObjectArray );if !_ccce {_agee ,_acfc :=_acgcg .(*_cb .PdfIndirectObject );if !_acfc {return _bc .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_eecf ,_ccce =_agee .PdfObject .(*_cb .PdfObjectArray );if !_ccce {return _bc .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");};};_dbe .Log .Trace ("\u004b\u0069\u0064\u0073\u003a\u0020\u0025\u0073",_eecf );for _eaaac ,_gcfd :=range _eecf .Elements (){_fffbf ,_ccca :=_cb .GetIndirect (_gcfd );if !_ccca {_dbe .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",_fffbf );return _bc .New ("\u0070a\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_eecf .Set (_eaaac ,_fffbf );_ccaefg =_gafe .buildPageList (_fffbf ,_baafb ,_fffdf );if _ccaefg !=nil {return _ccaefg ;};};return nil ;};type pdfSignDictionary struct{*_cb .PdfObjectDictionary ;_adcfc *SignatureHandler ;_bdfbd *PdfSignature ;_bddgd int64 ;_cabf int ;_gfcab int ;_bdfge int ;_edbbe int ;};
|
||
|
||
// NewPdfActionGoTo3DView returns a new "goTo3DView" action.
|
||
func NewPdfActionGoTo3DView ()*PdfActionGoTo3DView {_cbb :=NewPdfAction ();_dde :=&PdfActionGoTo3DView {};_dde .PdfAction =_cbb ;_cbb .SetContext (_dde );return _dde ;};func (_dafa *PdfReader )newPdfAnnotationLineFromDict (_bacg *_cb .PdfObjectDictionary )(*PdfAnnotationLine ,error ){_dgb :=PdfAnnotationLine {};_fbbcf ,_fce :=_dafa .newPdfAnnotationMarkupFromDict (_bacg );if _fce !=nil {return nil ,_fce ;};_dgb .PdfAnnotationMarkup =_fbbcf ;_dgb .L =_bacg .Get ("\u004c");_dgb .BS =_bacg .Get ("\u0042\u0053");_dgb .LE =_bacg .Get ("\u004c\u0045");_dgb .IC =_bacg .Get ("\u0049\u0043");_dgb .LL =_bacg .Get ("\u004c\u004c");_dgb .LLE =_bacg .Get ("\u004c\u004c\u0045");_dgb .Cap =_bacg .Get ("\u0043\u0061\u0070");_dgb .IT =_bacg .Get ("\u0049\u0054");_dgb .LLO =_bacg .Get ("\u004c\u004c\u004f");_dgb .CP =_bacg .Get ("\u0043\u0050");_dgb .Measure =_bacg .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");_dgb .CO =_bacg .Get ("\u0043\u004f");return &_dgb ,nil ;};var _ebecb _d .Time ;
|
||
|
||
// NewPdfOutlineItem returns an initialized PdfOutlineItem.
|
||
func NewPdfOutlineItem ()*PdfOutlineItem {_dgcfg :=&PdfOutlineItem {_gaga :_cb .MakeIndirectObject (_cb .MakeDict ())};_dgcfg ._dfaeg =_dgcfg ;return _dgcfg ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gdaa *PdfFont )Encoder ()_ccb .TextEncoder {_fcffc :=_gdaa .actualFont ();if _fcffc ==nil {_dbe .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",_gdaa ._cdfe );return nil ;};return _fcffc .Encoder ();};
|
||
|
||
// 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 (_aefca *PdfFont )GetRuneMetrics (r rune )(CharMetrics ,bool ){_cdcf :=_aefca .actualFont ();if _cdcf ==nil {_dbe .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",_aefca ._cdfe );return _af .CharMetrics {},false ;};if _cdba ,_cfga :=_cdcf .GetRuneMetrics (r );_cfga {return _cdba ,true ;};if _ceba ,_eaed :=_aefca .GetFontDescriptor ();_eaed ==nil &&_ceba !=nil {return _af .CharMetrics {Wx :_ceba ._bdfag },true ;};_dbe .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",_aefca );return _af .CharMetrics {},false ;};func _fefbc (_ffcfdb *_cb .PdfObjectDictionary )(*PdfShadingType6 ,error ){_gdcbg :=PdfShadingType6 {};_fdcb :=_ffcfdb .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fdcb ==nil {_dbe .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 ;};_fcaef ,_fdbcc :=_fdcb .(*_cb .PdfObjectInteger );if !_fdbcc {_dbe .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",_fdcb );return nil ,_cb .ErrTypeError ;};_gdcbg .BitsPerCoordinate =_fcaef ;_fdcb =_ffcfdb .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fdcb ==nil {_dbe .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 ;};_fcaef ,_fdbcc =_fdcb .(*_cb .PdfObjectInteger );if !_fdbcc {_dbe .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",_fdcb );return nil ,_cb .ErrTypeError ;};_gdcbg .BitsPerComponent =_fcaef ;_fdcb =_ffcfdb .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fdcb ==nil {_dbe .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 ;};_fcaef ,_fdbcc =_fdcb .(*_cb .PdfObjectInteger );if !_fdbcc {_dbe .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",_fdcb );return nil ,_cb .ErrTypeError ;};_gdcbg .BitsPerComponent =_fcaef ;_fdcb =_ffcfdb .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fdcb ==nil {_dbe .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 ;};_cgefc ,_fdbcc :=_fdcb .(*_cb .PdfObjectArray );if !_fdbcc {_dbe .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",_fdcb );return nil ,_cb .ErrTypeError ;};_gdcbg .Decode =_cgefc ;if _cgfe :=_ffcfdb .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_cgfe !=nil {_gdcbg .Function =[]PdfFunction {};if _ccggg ,_cdedfc :=_cgfe .(*_cb .PdfObjectArray );_cdedfc {for _ ,_bgfgb :=range _ccggg .Elements (){_gfga ,_eddcf :=_abcgd (_bgfgb );if _eddcf !=nil {_dbe .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",_eddcf );return nil ,_eddcf ;};_gdcbg .Function =append (_gdcbg .Function ,_gfga );};}else {_ddddb ,_gafaa :=_abcgd (_cgfe );if _gafaa !=nil {_dbe .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",_gafaa );return nil ,_gafaa ;};_gdcbg .Function =append (_gdcbg .Function ,_ddddb );};};return &_gdcbg ,nil ;};
|
||
|
||
// C returns the value of the C component of the color.
|
||
func (_cebcc *PdfColorCalRGB )C ()float64 {return float64 (_cebcc [2])};
|
||
|
||
// Write writes the Appender output to io.Writer.
|
||
// It can only be called once and further invocations will result in an error.
|
||
func (_dgbe *PdfAppender )Write (w _bb .Writer )error {if _dgbe ._cfgf {return _bc .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");};_acae :=NewPdfWriter ();_eebg ,_cgd :=_cb .GetDict (_acae ._febaa );if !_cgd {return _bc .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");};_bfc ,_cgd :=_eebg .Get ("\u004b\u0069\u0064\u0073").(*_cb .PdfObjectArray );if !_cgd {return _bc .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");};_aggb ,_cgd :=_eebg .Get ("\u0043\u006f\u0075n\u0074").(*_cb .PdfObjectInteger );if !_cgd {return _bc .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");};_eaaa :=_dgbe ._acgg ._gfecg ;_dcde :=_eaaa .GetTrailer ();if _dcde ==nil {return _bc .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_bfbbb ,_cgd :=_cb .GetIndirect (_dcde .Get ("\u0052\u006f\u006f\u0074"));if !_cgd {return _bc .New ("c\u0061\u0074\u0061\u006c\u006f\u0067 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072 \u006e\u006f\u0074 \u0066o\u0075\u006e\u0064");};_bcea ,_cgd :=_cb .GetDict (_bfbbb );if !_cgd {_dbe .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",_bfbbb ,*_dcde );return _bc .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};for _ ,_deae :=range _bcea .Keys (){if _acae ._fgfb .Get (_deae )==nil {_ccaa :=_bcea .Get (_deae );_acae ._fgfb .Set (_deae ,_ccaa );};};if _dgbe ._abbe !=nil {_acae ._fgfb .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_dgbe ._abbe .ToPdfObject ());_dgbe .updateObjectsDeep (_dgbe ._abbe .ToPdfObject (),nil );};_dgbe .addNewObject (_acae ._ggdd );_dgbe .addNewObject (_acae ._becda );_dffb :=false ;if len (_dgbe ._acgg .PageList )!=len (_dgbe ._dgce ){_dffb =true ;}else {for _ega :=range _dgbe ._acgg .PageList {switch {case _dgbe ._dgce [_ega ]==_dgbe ._acgg .PageList [_ega ]:case _dgbe ._dgce [_ega ]==_dgbe .Reader .PageList [_ega ]:default:_dffb =true ;};if _dffb {break ;};};};if _dffb {_dgbe .updateObjectsDeep (_acae ._febaa ,nil );}else {_dgbe ._bbea [_acae ._febaa ]=struct{}{};};_acae ._febaa .ObjectNumber =_dgbe .Reader ._dbbag .ObjectNumber ;_dgbe ._bgbd [_acae ._febaa ]=_dgbe .Reader ._dbbag .ObjectNumber ;_fgdd :=[]_cb .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 _ ,_adfg :=range _dgbe ._dgce {_aeg :=_adfg .ToPdfObject ();*_aggb =*_aggb +1;if _gdcc ,_cdf :=_aeg .(*_cb .PdfIndirectObject );_cdf &&_gdcc .GetParser ()==_dgbe ._acgg ._gfecg {_bfc .Append (&_gdcc .PdfObjectReference );continue ;};if _efeb ,_eegg :=_cb .GetDict (_aeg );_eegg {_cgde ,_cff :=_efeb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_cb .PdfIndirectObject );for _cff {_dbe .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cgde );_ceefg ,_cgdeg :=_cgde .PdfObject .(*_cb .PdfObjectDictionary );if !_cgdeg {return _bc .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_gebe :=range _fgdd {_dbe .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gebe );if _efeb .Get (_gebe )!=nil {_dbe .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _fecc :=_ceefg .Get (_gebe );_fecc !=nil {_dbe .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_gebe );_efeb .Set (_gebe ,_fecc );};};_cgde ,_cff =_ceefg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_cb .PdfIndirectObject );_dbe .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_ceefg .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_efeb .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_acae ._febaa );};_dgbe .updateObjectsDeep (_aeg ,nil );_bfc .Append (_aeg );};if _ ,_eebb :=_dgbe ._fdbd .Seek (0,_bb .SeekStart );_eebb !=nil {return _eebb ;};_ffgb :=make (map[SignatureHandler ]_bb .Writer );_bcec :=_cb .MakeArray ();for _ ,_defg :=range _dgbe ._ceda {if _dfef ,_adaa :=_cb .GetIndirect (_defg );_adaa {if _fdeb ,_bcgg :=_dfef .PdfObject .(*pdfSignDictionary );_bcgg {_ebbcb :=*_fdeb ._adcfc ;var _cbbeb error ;_ffgb [_ebbcb ],_cbbeb =_ebbcb .NewDigest (_fdeb ._bdfbd );if _cbbeb !=nil {return _cbbeb ;};_bcec .Append (_cb .MakeInteger (0xfffff),_cb .MakeInteger (0xfffff));};};};if _bcec .Len ()> 0{_bcec .Append (_cb .MakeInteger (0xfffff),_cb .MakeInteger (0xfffff));};for _ ,_begc :=range _dgbe ._ceda {if _fgcgd ,_dfda :=_cb .GetIndirect (_begc );_dfda {if _bebb ,_agdc :=_fgcgd .PdfObject .(*pdfSignDictionary );_agdc {_bebb .Set ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_bcec );};};};_dfdf :=len (_ffgb )> 0;var _defb _bb .Reader =_dgbe ._fdbd ;if _dfdf {_fdfdd :=make ([]_bb .Writer ,0,len (_ffgb ));for _ ,_bgbg :=range _ffgb {_fdfdd =append (_fdfdd ,_bgbg );};_defb =_bb .TeeReader (_dgbe ._fdbd ,_bb .MultiWriter (_fdfdd ...));};_fgac ,_fed :=_bb .Copy (w ,_defb );if _fed !=nil {return _fed ;};if len (_dgbe ._ceda )==0{return nil ;};_acae ._aedbee =_fgac ;_acae .ObjNumOffset =_dgbe ._caff ;_acae ._gedaa =true ;_acae ._afefg =_dgbe ._cfg ;_acae ._adfgd =_dgbe ._bdeb ;_acae ._dbbcc =_dgbe ._fdfd ;_acae ._ccefeg =_dgbe ._acgg .PdfVersion ().Minor ;_acae ._bedca =_dgbe ._bgbd ;_fgfd :=_dgbe ._cecd .GetXrefType ();if _fgfd !=nil {_fedf :=*_fgfd ==_cb .XrefTypeObjectStream ;_acae ._ddfdba =&_fedf ;};_acae ._bbbbd =map[_cb .PdfObject ]struct{}{};_acae ._bgega =[]_cb .PdfObject {};for _ ,_gff :=range _dgbe ._ceda {if _ ,_dbeg :=_dgbe ._bbea [_gff ];_dbeg {continue ;};_acae .addObject (_gff );};_fgcf :=w ;if _dfdf {_fgcf =_bbb .NewBuffer (nil );};if _bebgc :=_acae .Write (_fgcf );_bebgc !=nil {return _bebgc ;};if _dfdf {_efbe :=_fgcf .(*_bbb .Buffer ).Bytes ();_cdccee :=_cb .MakeArray ();var _bdea []*pdfSignDictionary ;var _dfee int64 ;for _ ,_dcb :=range _acae ._bgega {if _fgce ,_defe :=_cb .GetIndirect (_dcb );_defe {if _ffff ,_bbdcb :=_fgce .PdfObject .(*pdfSignDictionary );_bbdcb {_bdea =append (_bdea ,_ffff );_ecgbb :=_ffff ._bddgd +int64 (_ffff ._cabf );_cdccee .Append (_cb .MakeInteger (_dfee ),_cb .MakeInteger (_ecgbb -_dfee ));_dfee =_ffff ._bddgd +int64 (_ffff ._gfcab );};};};_cdccee .Append (_cb .MakeInteger (_dfee ),_cb .MakeInteger (_fgac +int64 (len (_efbe ))-_dfee ));_accg :=[]byte (_cdccee .WriteString ());for _ ,_baed :=range _bdea {_afca :=int (_baed ._bddgd -_fgac );for _geda :=_baed ._bdfge ;_geda < _baed ._edbbe ;_geda ++{_efbe [_afca +_geda ]=' ';};_cfad :=_efbe [_afca +_baed ._bdfge :_afca +_baed ._edbbe ];copy (_cfad ,_accg );};var _cffa int ;for _ ,_agad :=range _bdea {_caab :=int (_agad ._bddgd -_fgac );_cdeb :=_efbe [_cffa :_caab +_agad ._cabf ];_gddc :=*_agad ._adcfc ;_ffgb [_gddc ].Write (_cdeb );_cffa =_caab +_agad ._gfcab ;};for _ ,_bda :=range _bdea {_bece :=_efbe [_cffa :];_gda :=*_bda ._adcfc ;_ffgb [_gda ].Write (_bece );};for _ ,_dcec :=range _bdea {_fdef :=int (_dcec ._bddgd -_fgac );_bfffc :=*_dcec ._adcfc ;_facd :=_ffgb [_bfffc ];if _aff :=_bfffc .Sign (_dcec ._bdfbd ,_facd );_aff !=nil {return _aff ;};_dcec ._bdfbd .ByteRange =_cdccee ;_dffe :=[]byte (_dcec ._bdfbd .Contents .WriteString ());for _bdfg :=_dcec ._bdfge ;_bdfg < _dcec ._edbbe ;_bdfg ++{_efbe [_fdef +_bdfg ]=' ';};for _agf :=_dcec ._cabf ;_agf < _dcec ._gfcab ;_agf ++{_efbe [_fdef +_agf ]=' ';};_dbega :=_efbe [_fdef +_dcec ._bdfge :_fdef +_dcec ._edbbe ];copy (_dbega ,_accg );_dbega =_efbe [_fdef +_dcec ._cabf :_fdef +_dcec ._gfcab ];copy (_dbega ,_dffe );};_fgdda :=_bbb .NewBuffer (_efbe );_ ,_fed =_bb .Copy (w ,_fgdda );if _fed !=nil {return _fed ;};};_dgbe ._cfgf =true ;return nil ;};func _cebeb ()string {return _dbe .Version };func (_beg *PdfReader )newPdfActionRenditionFromDict (_fdadf *_cb .PdfObjectDictionary )(*PdfActionRendition ,error ){return &PdfActionRendition {R :_fdadf .Get ("\u0052"),AN :_fdadf .Get ("\u0041\u004e"),OP :_fdadf .Get ("\u004f\u0050"),JS :_fdadf .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline destination.
|
||
func (_cbecb OutlineDest )ToPdfObject ()_cb .PdfObject {if (_cbecb .PageObj ==nil &&_cbecb .Page < 0)||_cbecb .Mode ==""{return _cb .MakeNull ();};_aecd :=_cb .MakeArray ();if _cbecb .PageObj !=nil {_aecd .Append (_cbecb .PageObj );}else {_aecd .Append (_cb .MakeInteger (_cbecb .Page ));};_aecd .Append (_cb .MakeName (_cbecb .Mode ));switch _cbecb .Mode {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":_aecd .Append (_cb .MakeFloat (_cbecb .Y ));case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":_aecd .Append (_cb .MakeFloat (_cbecb .X ));case "\u0058\u0059\u005a":_aecd .Append (_cb .MakeFloat (_cbecb .X ));_aecd .Append (_cb .MakeFloat (_cbecb .Y ));_aecd .Append (_cb .MakeFloat (_cbecb .Zoom ));default:_aecd .Set (1,_cb .MakeName ("\u0046\u0069\u0074"));};return _aecd ;};
|
||
|
||
// NewPdfWriter initializes a new PdfWriter.
|
||
func NewPdfWriter ()PdfWriter {_cbcdc :=PdfWriter {};_cbcdc ._bbbbd =map[_cb .PdfObject ]struct{}{};_cbcdc ._bgega =[]_cb .PdfObject {};_cbcdc ._gbcba =map[_cb .PdfObject ][]*_cb .PdfObjectDictionary {};_cbcdc ._deebb =map[_cb .PdfObject ]struct{}{};_cbcdc ._ecaee =1;_cbcdc ._ccefeg =3;_gggag :=_cb .MakeDict ();_bafab :=[]struct{_egfad _cb .PdfObjectName ;_gbbbeb string ;}{{"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_fcccb ()},{"\u0043r\u0065\u0061\u0074\u006f\u0072",_dbaf ()},{"\u0041\u0075\u0074\u0068\u006f\u0072",_fddgg ()},{"\u0053u\u0062\u006a\u0065\u0063\u0074",_gddb ()},{"\u0054\u0069\u0074l\u0065",_cegcd ()},{"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_cgddc ()}};for _ ,_fdda :=range _bafab {if _fdda ._gbbbeb !=""{_gggag .Set (_fdda ._egfad ,_cb .MakeString (_fdda ._gbbbeb ));};};if _ggcb :=_dggd ();!_ggcb .IsZero (){if _dfccd ,_caeag :=NewPdfDateFromTime (_ggcb );_caeag ==nil {_gggag .Set ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_dfccd .ToPdfObject ());};};if _fdagd :=_cgcbg ();!_fdagd .IsZero (){if _aabb ,_fgbb :=NewPdfDateFromTime (_fdagd );_fgbb ==nil {_gggag .Set ("\u004do\u0064\u0044\u0061\u0074\u0065",_aabb .ToPdfObject ());};};_cfdag :=_cb .PdfIndirectObject {};_cfdag .PdfObject =_gggag ;_cbcdc ._ggdd =&_cfdag ;_cbcdc .addObject (&_cfdag );_agbba :=_cb .PdfIndirectObject {};_bdbgd :=_cb .MakeDict ();_bdbgd .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0043a\u0074\u0061\u006c\u006f\u0067"));_agbba .PdfObject =_bdbgd ;_cbcdc ._becda =&_agbba ;_cbcdc .addObject (_cbcdc ._becda );_cgcbgb :=_cb .PdfIndirectObject {};_faeaf :=_cb .MakeDict ();_faeaf .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0050\u0061\u0067e\u0073"));_bdcg :=_cb .PdfObjectArray {};_faeaf .Set ("\u004b\u0069\u0064\u0073",&_bdcg );_faeaf .Set ("\u0043\u006f\u0075n\u0074",_cb .MakeInteger (0));_cgcbgb .PdfObject =_faeaf ;_cbcdc ._febaa =&_cgcbgb ;_cbcdc ._dfebc =map[_cb .PdfObject ]struct{}{};_cbcdc .addObject (_cbcdc ._febaa );_bdbgd .Set ("\u0050\u0061\u0067e\u0073",&_cgcbgb );_cbcdc ._fgfb =_bdbgd ;_dbe .Log .Trace ("\u0043\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0025\u0073",_agbba );return _cbcdc ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_ffbbd *PdfColorspaceICCBased )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _ffbbd .Alternate ==nil {if _ffbbd .N ==1{_abcgf :=NewPdfColorspaceDeviceGray ();return _abcgf .ColorFromFloats (vals );}else if _ffbbd .N ==3{_eece :=NewPdfColorspaceDeviceRGB ();return _eece .ColorFromFloats (vals );}else if _ffbbd .N ==4{_dafb :=NewPdfColorspaceDeviceCMYK ();return _dafb .ColorFromFloats (vals );}else {return nil ,_bc .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 _ffbbd .Alternate .ColorFromFloats (vals );};type modelManager struct{_geed map[PdfModel ]_cb .PdfObject ;_dcff map[_cb .PdfObject ]PdfModel ;};func (_fffd *PdfReader )newPdfOutlineItemFromIndirectObject (_badb *_cb .PdfIndirectObject )(*PdfOutlineItem ,error ){_adbga ,_edbcg :=_badb .PdfObject .(*_cb .PdfObjectDictionary );if !_edbcg {return nil ,_c .Errorf ("\u006f\u0075\u0074l\u0069\u006e\u0065\u0020o\u0062\u006a\u0065\u0063\u0074\u0020\u006eo\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_bdaeb :=NewPdfOutlineItem ();_dedcf :=_adbga .Get ("\u0054\u0069\u0074l\u0065");if _dedcf ==nil {return nil ,_c .Errorf ("\u006d\u0069\u0073s\u0069\u006e\u0067\u0020\u0054\u0069\u0074\u006c\u0065\u0020\u0066\u0072\u006f\u006d\u0020\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0020\u0049\u0074\u0065\u006d\u0020\u0028r\u0065\u0071\u0075\u0069\u0072\u0065\u0064\u0029");};_cdcaf ,_fbdde :=_cb .GetString (_dedcf );if !_fbdde {return nil ,_c .Errorf ("\u0074\u0069\u0074le\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0054\u0029",_dedcf );};_bdaeb .Title =_cdcaf ;if _gfecf :=_adbga .Get ("\u0043\u006f\u0075n\u0074");_gfecf !=nil {_efgeg ,_gcad :=_gfecf .(*_cb .PdfObjectInteger );if !_gcad {return nil ,_c .Errorf ("\u0063o\u0075\u006e\u0074\u0020n\u006f\u0074\u0020\u0061\u006e \u0069n\u0074e\u0067\u0065\u0072\u0020\u0028\u0025\u0054)",_gfecf );};_gdgb :=int64 (*_efgeg );_bdaeb .Count =&_gdgb ;};if _effc :=_adbga .Get ("\u0044\u0065\u0073\u0074");_effc !=nil {_bdaeb .Dest =_cb .ResolveReference (_effc );if !_fffd ._cbfab {_bddgc :=_fffd .traverseObjectData (_bdaeb .Dest );if _bddgc !=nil {return nil ,_bddgc ;};};};if _fdcfb :=_adbga .Get ("\u0041");_fdcfb !=nil {_bdaeb .A =_cb .ResolveReference (_fdcfb );if !_fffd ._cbfab {_aggda :=_fffd .traverseObjectData (_bdaeb .A );if _aggda !=nil {return nil ,_aggda ;};};};if _eded :=_adbga .Get ("\u0053\u0045");_eded !=nil {_bdaeb .SE =nil ;};if _fgdca :=_adbga .Get ("\u0043");_fgdca !=nil {_bdaeb .C =_cb .ResolveReference (_fgdca );};if _bfefe :=_adbga .Get ("\u0046");_bfefe !=nil {_bdaeb .F =_cb .ResolveReference (_bfefe );};return _bdaeb ,nil ;};
|
||
|
||
// Has checks if flag fl is set in flag and returns true if so, false otherwise.
|
||
func (_ffaae FieldFlag )Has (fl FieldFlag )bool {return (_ffaae .Mask ()&fl .Mask ())> 0};
|
||
|
||
// PdfFieldText represents a text field where user can enter text.
|
||
type PdfFieldText struct{*PdfField ;DA *_cb .PdfObjectString ;Q *_cb .PdfObjectInteger ;DS *_cb .PdfObjectString ;RV _cb .PdfObject ;MaxLen *_cb .PdfObjectInteger ;};
|
||
|
||
// PdfColorspaceDeviceRGB represents an RGB colorspace.
|
||
type PdfColorspaceDeviceRGB struct{};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_ffbce *PdfShading )ToPdfObject ()_cb .PdfObject {_cbff :=_ffbce ._gfdg ;_febge ,_aefa :=_ffbce .getShadingDict ();if _aefa !=nil {_dbe .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 _ffbce .ShadingType !=nil {_febge .Set ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_ffbce .ShadingType );};if _ffbce .ColorSpace !=nil {_febge .Set ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_ffbce .ColorSpace .ToPdfObject ());};if _ffbce .Background !=nil {_febge .Set ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064",_ffbce .Background );};if _ffbce .BBox !=nil {_febge .Set ("\u0042\u0042\u006f\u0078",_ffbce .BBox .ToPdfObject ());};if _ffbce .AntiAlias !=nil {_febge .Set ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s",_ffbce .AntiAlias );};return _cbff ;};
|
||
|
||
// 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 (_gcebd *PdfReader )GetObjectNums ()[]int {return _gcebd ._gfecg .GetObjectNums ()};
|
||
|
||
// PdfAction represents an action in PDF (section 12.6 p. 412).
|
||
type PdfAction struct{_ab PdfModel ;Type _cb .PdfObject ;S _cb .PdfObject ;Next _cb .PdfObject ;_fc *_cb .PdfIndirectObject ;};
|
||
|
||
// 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{_cdfge PdfModel ;_addef *_cb .PdfIndirectObject ;_cffd *bool ;Parent *PdfField ;Annotations []*PdfAnnotationWidget ;Kids []*PdfField ;FT *_cb .PdfObjectName ;T *_cb .PdfObjectString ;TU *_cb .PdfObjectString ;TM *_cb .PdfObjectString ;Ff *_cb .PdfObjectInteger ;V _cb .PdfObject ;DV _cb .PdfObject ;AA _cb .PdfObject ;};
|
||
|
||
// GetContext returns the PdfField context which is the more specific field data type, e.g. PdfFieldButton
|
||
// for a button field.
|
||
func (_gbad *PdfField )GetContext ()PdfModel {return _gbad ._cdfge };
|
||
|
||
// IsCheckbox returns true if the button field represents a checkbox, false otherwise.
|
||
func (_fcde *PdfFieldButton )IsCheckbox ()bool {return _fcde .GetType ()==ButtonTypeCheckbox };
|
||
|
||
// 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 (_abbb *PdfColorspaceSpecialPattern )ColorToRGB (color PdfColor )(PdfColor ,error ){_ccgdf ,_ddaf :=color .(*PdfColorPattern );if !_ddaf {_dbe .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 _ccgdf .Color ==nil {return color ,nil ;};if _abbb .UnderlyingCS ==nil {return nil ,_bc .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};return _abbb .UnderlyingCS .ColorToRGB (_ccgdf .Color );};
|
||
|
||
// ContentStreamWrapper wraps the Page's contentstream into q ... Q blocks.
|
||
type ContentStreamWrapper interface{WrapContentStream (_faegd *PdfPage )error ;};
|
||
|
||
// PdfAnnotationSquare represents Square annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationSquare struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _cb .PdfObject ;IC _cb .PdfObject ;BE _cb .PdfObject ;RD _cb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_abagf *PdfFilespec )ToPdfObject ()_cb .PdfObject {_bfbca :=_abagf .getDict ();_bfbca .Clear ();_bfbca .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"));_bfbca .SetIfNotNil ("\u0046\u0053",_abagf .FS );_bfbca .SetIfNotNil ("\u0046",_abagf .F );_bfbca .SetIfNotNil ("\u0055\u0046",_abagf .UF );_bfbca .SetIfNotNil ("\u0044\u004f\u0053",_abagf .DOS );_bfbca .SetIfNotNil ("\u004d\u0061\u0063",_abagf .Mac );_bfbca .SetIfNotNil ("\u0055\u006e\u0069\u0078",_abagf .Unix );_bfbca .SetIfNotNil ("\u0049\u0044",_abagf .ID );_bfbca .SetIfNotNil ("\u0056",_abagf .V );_bfbca .SetIfNotNil ("\u0045\u0046",_abagf .EF );_bfbca .SetIfNotNil ("\u0052\u0046",_abagf .RF );_bfbca .SetIfNotNil ("\u0044\u0065\u0073\u0063",_abagf .Desc );_bfbca .SetIfNotNil ("\u0043\u0049",_abagf .CI );return _abagf ._fdfg ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gagd pdfFontType0 )Encoder ()_ccb .TextEncoder {return _gagd ._ggdg };
|
||
|
||
// 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 (_efcd DefaultImageHandler )Compress (input *Image ,quality int64 )(*Image ,error ){return input ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for grayscale).
|
||
func (_adaf *PdfColorDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// AcroFormRepairOptions contains options for rebuilding the AcroForm.
|
||
type AcroFormRepairOptions struct{};
|
||
|
||
// GetPageAsIndirectObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_cfgfdc *PdfPage )GetPageAsIndirectObject ()*_cb .PdfIndirectObject {return _cfgfdc ._adbf };
|
||
|
||
// Y returns the value of the yellow component of the color.
|
||
func (_dbegd *PdfColorDeviceCMYK )Y ()float64 {return float64 (_dbegd [2])};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gecb *PdfAnnotationSound )ToPdfObject ()_cb .PdfObject {_gecb .PdfAnnotation .ToPdfObject ();_cefd :=_gecb ._efd ;_daaa :=_cefd .PdfObject .(*_cb .PdfObjectDictionary );_gecb .PdfAnnotationMarkup .appendToPdfDictionary (_daaa );_daaa .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053\u006f\u0075n\u0064"));_daaa .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_gecb .Sound );_daaa .SetIfNotNil ("\u004e\u0061\u006d\u0065",_gecb .Name );return _cefd ;};func (_aebe *PdfReader )newPdfFieldSignatureFromDict (_dacb *_cb .PdfObjectDictionary )(*PdfFieldSignature ,error ){_acfd :=&PdfFieldSignature {};_eeab ,_afaa :=_cb .GetIndirect (_dacb .Get ("\u0056"));if _afaa {var _afbag error ;_acfd .V ,_afbag =_aebe .newPdfSignatureFromIndirect (_eeab );if _afbag !=nil {return nil ,_afbag ;};};_acfd .Lock ,_ =_cb .GetIndirect (_dacb .Get ("\u004c\u006f\u0063\u006b"));_acfd .SV ,_ =_cb .GetIndirect (_dacb .Get ("\u0053\u0056"));return _acfd ,nil ;};
|
||
|
||
// PdfColorspaceDeviceCMYK represents a CMYK32 colorspace.
|
||
type PdfColorspaceDeviceCMYK struct{};
|
||
|
||
// PdfAnnotationWatermark represents Watermark annotations.
|
||
// (Section 12.5.6.22).
|
||
type PdfAnnotationWatermark struct{*PdfAnnotation ;FixedPrint _cb .PdfObject ;};
|
||
|
||
// FullName returns the full name of the field as in rootname.parentname.partialname.
|
||
func (_dada *PdfField )FullName ()(string ,error ){var _gegab _bbb .Buffer ;if _dada .T ==nil {return _gegab .String (),_bc .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");};_fgae :=[]string {_dada .T .Decoded ()};_edfb :=map[*PdfField ]bool {};_edfb [_dada ]=true ;_dcggb :=_dada .Parent ;for _dcggb !=nil {if _ ,_bfe :=_edfb [_dcggb ];_bfe {return _gegab .String (),_bc .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};if _dcggb .T ==nil {return _gegab .String (),_bc .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");};_fgae =append (_fgae ,_dcggb .T .Decoded ());_edfb [_dcggb ]=true ;_dcggb =_dcggb .Parent ;};for _efdcg :=len (_fgae )-1;_efdcg >=0;_efdcg --{_gegab .WriteString (_fgae [_efdcg ]);if _efdcg > 0{_gegab .WriteString ("\u002e");};};return _gegab .String (),nil ;};func _beeag (_eeeg *fontCommon )*pdfFontSimple {return &pdfFontSimple {fontCommon :*_eeeg }};
|
||
|
||
// PdfActionMovie represents a movie action.
|
||
type PdfActionMovie struct{*PdfAction ;Annotation _cb .PdfObject ;T _cb .PdfObject ;Operation _cb .PdfObject ;};
|
||
|
||
// 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 _bb .ReadSeeker )(*PdfFont ,error ){_gbaab ,_gabgc :=_bf .ReadAll (r );if _gabgc !=nil {_dbe .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",_gabgc );return nil ,_gabgc ;};_egea ,_gabgc :=_af .TtfParse (_bbb .NewReader (_gbaab ));if _gabgc !=nil {_dbe .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",_gabgc );return nil ,_gabgc ;};_ecgfa :=&pdfCIDFontType2 {fontCommon :fontCommon {_fbefd :"\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"},CIDToGIDMap :_cb .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079")};_bgbge :=make ([]rune ,0,len (_egea .Chars ));for _feda :=range _egea .Chars {_bgbge =append (_bgbge ,rune (_feda ));};_gf .Slice (_bgbge ,func (_ecgc ,_gbgeg int )bool {return _bgbge [_ecgc ]< _bgbge [_gbgeg ]});_gbfg :=1000.0/float64 (_egea .UnitsPerEm );if len (_egea .Widths )<=0{return nil ,_bc .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");};_debce :=_gbfg *float64 (_egea .Widths [0]);_faacd :=make (map[rune ]int );for _ ,_gceeb :=range _bgbge {_gbdg :=_egea .Chars [_gceeb ];_dafbg :=_gbfg *float64 (_egea .Widths [_gbdg ]);_faacd [_gceeb ]=int (_dafbg );};_ecgfa ._fgga =_faacd ;_ecgfa .DW =_cb .MakeInteger (int64 (_debce ));_accgb :=_cgce (_bgbge ,_faacd ,_egea .Chars );_ecgfa .W =_cb .MakeIndirectObject (_accgb );_aecbd :=_cb .MakeDict ();_aecbd .Set ("\u004f\u0072\u0064\u0065\u0072\u0069\u006e\u0067",_cb .MakeString ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079"));_aecbd .Set ("\u0052\u0065\u0067\u0069\u0073\u0074\u0072\u0079",_cb .MakeString ("\u0041\u0064\u006fb\u0065"));_aecbd .Set ("\u0053\u0075\u0070\u0070\u006c\u0065\u006d\u0065\u006e\u0074",_cb .MakeInteger (0));_ecgfa .CIDSystemInfo =_aecbd ;_fcfd :=&PdfFontDescriptor {FontName :_cb .MakeName (_egea .PostScriptName ),Ascent :_cb .MakeFloat (_gbfg *float64 (_egea .TypoAscender )),Descent :_cb .MakeFloat (_gbfg *float64 (_egea .TypoDescender )),CapHeight :_cb .MakeFloat (_gbfg *float64 (_egea .CapHeight )),FontBBox :_cb .MakeArrayFromFloats ([]float64 {_gbfg *float64 (_egea .Xmin ),_gbfg *float64 (_egea .Ymin ),_gbfg *float64 (_egea .Xmax ),_gbfg *float64 (_egea .Ymax )}),ItalicAngle :_cb .MakeFloat (float64 (_egea .ItalicAngle )),MissingWidth :_cb .MakeFloat (_gbfg *float64 (_egea .Widths [0]))};_gadgd ,_gabgc :=_cb .MakeStream (_gbaab ,_cb .NewFlateEncoder ());if _gabgc !=nil {_dbe .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",_gabgc );return nil ,_gabgc ;};_gadgd .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_cb .MakeInteger (int64 (len (_gbaab ))));_fcfd .FontFile2 =_gadgd ;if _egea .Bold {_fcfd .StemV =_cb .MakeInteger (120);}else {_fcfd .StemV =_cb .MakeInteger (70);};_bagg :=_cdgfg ;if _egea .IsFixedPitch {_bagg |=_dcag ;};if _egea .ItalicAngle !=0{_bagg |=_dadf ;};_fcfd .Flags =_cb .MakeInteger (int64 (_bagg ));_ecgfa ._babff =_egea .PostScriptName ;_ecgfa ._bgbb =_fcfd ;_ccaaa :=pdfFontType0 {fontCommon :fontCommon {_fbefd :"\u0054\u0079\u0070e\u0030",_babff :_egea .PostScriptName },DescendantFont :&PdfFont {_cdfe :_ecgfa },Encoding :_cb .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"),_ggdg :_egea .NewEncoder ()};if len (_egea .Chars )> 0{_ebbf :=make (map[_gb .CharCode ]rune ,len (_egea .Chars ));for _daafe ,_gfeg :=range _egea .Chars {_bfad :=_gb .CharCode (_gfeg );if _geacdd ,_bcbf :=_ebbf [_bfad ];!_bcbf ||(_bcbf &&_geacdd > _daafe ){_ebbf [_bfad ]=_daafe ;};};_ccaaa ._agag =_gb .NewToUnicodeCMap (_ebbf );};_ccbb :=PdfFont {_cdfe :&_ccaaa };return &_ccbb ,nil ;};func (_geec *PdfReader )newPdfAnnotationRichMediaFromDict (_dbcca *_cb .PdfObjectDictionary )(*PdfAnnotationRichMedia ,error ){_fgcdf :=&PdfAnnotationRichMedia {};_fgcdf .RichMediaSettings =_dbcca .Get ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073");_fgcdf .RichMediaContent =_dbcca .Get ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074");return _fgcdf ,nil ;};
|
||
|
||
// RepairAcroForm attempts to rebuild the AcroForm fields using the widget
|
||
// annotations present in the document pages. Pass nil for the opts parameter
|
||
// in order to use the default options.
|
||
// NOTE: Currently, the opts parameter is declared in order to enable adding
|
||
// future options, but passing nil will always result in the default options
|
||
// being used.
|
||
func (_cfcg *PdfReader )RepairAcroForm (opts *AcroFormRepairOptions )error {var _bada []*PdfField ;_adcb :=map[*_cb .PdfIndirectObject ]struct{}{};for _ ,_abcac :=range _cfcg .PageList {_cbece ,_gdcac :=_abcac .GetAnnotations ();if _gdcac !=nil {return _gdcac ;};for _ ,_gcda :=range _cbece {var _afgae *PdfField ;switch _dabd :=_gcda .GetContext ().(type ){case *PdfAnnotationWidget :if _dabd ._bdcc !=nil {_afgae =_dabd ._bdcc ;break ;};if _dddba ,_cedb :=_cb .GetIndirect (_dabd .Parent );_cedb {_afgae ,_gdcac =_cfcg .newPdfFieldFromIndirectObject (_dddba ,nil );if _gdcac ==nil {break ;};_dbe .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",_dddba ,_gdcac );};if _dabd ._efd !=nil {_afgae ,_gdcac =_cfcg .newPdfFieldFromIndirectObject (_dabd ._efd ,nil );if _gdcac ==nil {break ;};_dbe .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",_dabd ._efd ,_gdcac );};};if _afgae ==nil {continue ;};if _ ,_gefb :=_adcb [_afgae ._addef ];_gefb {continue ;};_adcb [_afgae ._addef ]=struct{}{};_bada =append (_bada ,_afgae );};};if len (_bada )==0{return nil ;};if _cfcg .AcroForm ==nil {_cfcg .AcroForm =NewPdfAcroForm ();};_cfcg .AcroForm .Fields =&_bada ;return nil ;};
|
||
|
||
// NewPdfAnnotation returns an initialized generic PDF annotation model.
|
||
func NewPdfAnnotation ()*PdfAnnotation {_dega :=&PdfAnnotation {};_dega ._efd =_cb .MakeIndirectObject (_cb .MakeDict ());return _dega ;};
|
||
|
||
// 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 _cb .StreamEncoder )(*XObjectImage ,error ){_dgcag :=NewXObjectImage ();return UpdateXObjectImageFromImage (_dgcag ,img ,cs ,encoder );};
|
||
|
||
// HasXObjectByName checks if has XObject resource by name.
|
||
func (_befgc *PdfPage )HasXObjectByName (name _cb .PdfObjectName )bool {_dffde ,_afdadc :=_befgc .Resources .XObject .(*_cb .PdfObjectDictionary );if !_afdadc {return false ;};if _egeaf :=_dffde .Get (name );_egeaf !=nil {return true ;};return false ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_bgbbf pdfCIDFontType0 )GetCharMetrics (code _ccb .CharCode )(_af .CharMetrics ,bool ){_caabc :=_bgbbf ._eccee ;if _bddg ,_cgdf :=_bgbbf ._agae [code ];_cgdf {_caabc =_bddg ;};return _af .CharMetrics {Wx :_caabc },true ;};
|
||
|
||
// 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 (_cbgde []_cb .PdfObject )([]_cb .PdfObject ,error );};
|
||
|
||
// 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 ){_eagg ,_dbgcc :=_ce .Open (filePath );if _dbgcc !=nil {_dbe .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",_dbgcc );return nil ,_dbgcc ;};defer _eagg .Close ();return NewPdfFontFromTTF (_eagg );};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 4 for a CMYK32 device.
|
||
func (_ddeb *PdfColorspaceDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// 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 ;_gbbec *_cb .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 *_cb .PdfObjectArray ;ExtGState _cb .PdfObject ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_gdgbg *XObjectImage )ToPdfObject ()_cb .PdfObject {_cadgf :=_gdgbg ._egbff ;_gacfec :=_cadgf .PdfObjectDictionary ;if _gdgbg .Filter !=nil {_gacfec =_gdgbg .Filter .MakeStreamDict ();_cadgf .PdfObjectDictionary =_gacfec ;};_gacfec .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_gacfec .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0049\u006d\u0061g\u0065"));_gacfec .Set ("\u0057\u0069\u0064t\u0068",_cb .MakeInteger (*(_gdgbg .Width )));_gacfec .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_cb .MakeInteger (*(_gdgbg .Height )));if _gdgbg .BitsPerComponent !=nil {_gacfec .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cb .MakeInteger (*(_gdgbg .BitsPerComponent )));};if _gdgbg .ColorSpace !=nil {_gacfec .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_gdgbg .ColorSpace .ToPdfObject ());};_gacfec .SetIfNotNil ("\u0049\u006e\u0074\u0065\u006e\u0074",_gdgbg .Intent );_gacfec .SetIfNotNil ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k",_gdgbg .ImageMask );_gacfec .SetIfNotNil ("\u004d\u0061\u0073\u006b",_gdgbg .Mask );_gacfec .SetIfNotNil ("\u0044\u0065\u0063\u006f\u0064\u0065",_gdgbg .Decode );_gacfec .SetIfNotNil ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065",_gdgbg .Interpolate );_gacfec .SetIfNotNil ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073",_gdgbg .Alternatives );_gacfec .SetIfNotNil ("\u0053\u004d\u0061s\u006b",_gdgbg .SMask );_gacfec .SetIfNotNil ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061",_gdgbg .SMaskInData );_gacfec .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_gdgbg .Matte );_gacfec .SetIfNotNil ("\u004e\u0061\u006d\u0065",_gdgbg .Name );_gacfec .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_gdgbg .StructParent );_gacfec .SetIfNotNil ("\u0049\u0044",_gdgbg .ID );_gacfec .SetIfNotNil ("\u004f\u0050\u0049",_gdgbg .OPI );_gacfec .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_gdgbg .Metadata );_gacfec .SetIfNotNil ("\u004f\u0043",_gdgbg .OC );_gacfec .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_gdgbg .Stream ))));_cadgf .Stream =_gdgbg .Stream ;return _cadgf ;};func _febb (_acgda _cb .PdfObject )(*PdfPageResourcesColorspaces ,error ){_acag :=&PdfPageResourcesColorspaces {};if _cebdc ,_egfab :=_acgda .(*_cb .PdfIndirectObject );_egfab {_acag ._degad =_cebdc ;_acgda =_cebdc .PdfObject ;};_gaba ,_ffdc :=_cb .GetDict (_acgda );if !_ffdc {return nil ,_bc .New ("\u0043\u0053\u0020at\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_acag .Names =[]string {};_acag .Colorspaces =map[string ]PdfColorspace {};for _ ,_gffaa :=range _gaba .Keys (){_abdc :=_gaba .Get (_gffaa );_acag .Names =append (_acag .Names ,string (_gffaa ));_ebba ,_fabce :=NewPdfColorspaceFromPdfObject (_abdc );if _fabce !=nil {return nil ,_fabce ;};_acag .Colorspaces [string (_gffaa )]=_ebba ;};return _acag ,nil ;};var _ffbde ="";
|
||
|
||
// GetNumComponents returns the number of color components (4 for CMYK32).
|
||
func (_gafde *PdfColorDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// NewXObjectImage returns a new XObjectImage.
|
||
func NewXObjectImage ()*XObjectImage {_afcfd :=&XObjectImage {};_cfedg :=&_cb .PdfObjectStream {};_cfedg .PdfObjectDictionary =_cb .MakeDict ();_afcfd ._egbff =_cfedg ;return _afcfd ;};
|
||
|
||
// 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"`;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_afae pdfFontSimple )GetRuneMetrics (r rune )(_af .CharMetrics ,bool ){if _afae ._egdg !=nil {_fgcba ,_beeac :=_afae ._egdg [r ];if _beeac {return _fgcba ,true ;};};_cdfd :=_afae .Encoder ();if _cdfd ==nil {_dbe .Log .Debug ("\u004e\u006f\u0020en\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0073\u003d\u0025\u0073",_afae );return _af .CharMetrics {},false ;};_deagd ,_bfcgg :=_cdfd .RuneToCharcode (r );if !_bfcgg {if r !=' '{_dbe .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 ,_afae );};return _af .CharMetrics {},false ;};_dadab ,_daeee :=_afae .GetCharMetrics (_deagd );return _dadab ,_daeee ;};
|
||
|
||
// BytesToCharcodes converts the bytes in a PDF string to character codes.
|
||
func (_fbac *PdfFont )BytesToCharcodes (data []byte )[]_ccb .CharCode {_dbe .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 _adfc ,_adbgd :=_fbac ._cdfe .(*pdfFontType0 );_adbgd &&_adfc ._cebae !=nil {if _bgec ,_cbbgd :=_adfc .bytesToCharcodes (data );_cbbgd {return _bgec ;};};_gafb :=make ([]_ccb .CharCode ,0,len (data )+len (data )%2);if _fbac .baseFields ().isCIDFont (){if len (data )==1{data =[]byte {0,data [0]};};if len (data )%2!=0{_dbe .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 _ebad :=0;_ebad < len (data );_ebad +=2{_bdbe :=uint16 (data [_ebad ])<<8|uint16 (data [_ebad +1]);_gafb =append (_gafb ,_ccb .CharCode (_bdbe ));};}else {for _ ,_ebdde :=range data {_gafb =append (_gafb ,_ccb .CharCode (_ebdde ));};};return _gafb ;};func (_aecce *PdfReader )newPdfAnnotationMarkupFromDict (_bgag *_cb .PdfObjectDictionary )(*PdfAnnotationMarkup ,error ){_dfc :=&PdfAnnotationMarkup {};if _cgf :=_bgag .Get ("\u0054");_cgf !=nil {_dfc .T =_cgf ;};if _ddc :=_bgag .Get ("\u0050\u006f\u0070u\u0070");_ddc !=nil {_egc ,_ece :=_ddc .(*_cb .PdfIndirectObject );if !_ece {if _ ,_gbggg :=_ddc .(*_cb .PdfObjectNull );!_gbggg {return nil ,_bc .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 {_aggcf ,_bgg :=_aecce .newPdfAnnotationFromIndirectObject (_egc );if _bgg !=nil {return nil ,_bgg ;};if _aggcf !=nil {_daaf ,_ccgd :=_aggcf ._gea .(*PdfAnnotationPopup );if !_ccgd {return nil ,_bc .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");};_dfc .Popup =_daaf ;};};};if _ffec :=_bgag .Get ("\u0043\u0041");_ffec !=nil {_dfc .CA =_ffec ;};if _egde :=_bgag .Get ("\u0052\u0043");_egde !=nil {_dfc .RC =_egde ;};if _bbf :=_bgag .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065");_bbf !=nil {_dfc .CreationDate =_bbf ;};if _ddec :=_bgag .Get ("\u0049\u0052\u0054");_ddec !=nil {_dfc .IRT =_ddec ;};if _geb :=_bgag .Get ("\u0053\u0075\u0062\u006a");_geb !=nil {_dfc .Subj =_geb ;};if _eead :=_bgag .Get ("\u0052\u0054");_eead !=nil {_dfc .RT =_eead ;};if _gbed :=_bgag .Get ("\u0049\u0054");_gbed !=nil {_dfc .IT =_gbed ;};if _ace :=_bgag .Get ("\u0045\u0078\u0044\u0061\u0074\u0061");_ace !=nil {_dfc .ExData =_ace ;};return _dfc ,nil ;};
|
||
|
||
// NewPdfAnnotationSquiggly returns a new text squiggly annotation.
|
||
func NewPdfAnnotationSquiggly ()*PdfAnnotationSquiggly {_babc :=NewPdfAnnotation ();_fag :=&PdfAnnotationSquiggly {};_fag .PdfAnnotation =_babc ;_fag .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_babc .SetContext (_fag );return _fag ;};
|
||
|
||
// 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 (_gbfe *PdfReader )AcroFormNeedsRepair ()(bool ,error ){var _dbddd []*PdfField ;if _gbfe .AcroForm !=nil {_dbddd =_gbfe .AcroForm .AllFields ();};_deefb :=make (map[*PdfField ]struct{},len (_dbddd ));for _ ,_ffegf :=range _dbddd {_deefb [_ffegf ]=struct{}{};};for _ ,_agbe :=range _gbfe .PageList {_dggac ,_gcaeg :=_agbe .GetAnnotations ();if _gcaeg !=nil {return false ,_gcaeg ;};for _ ,_fbgff :=range _dggac {_abaf ,_ceea :=_fbgff .GetContext ().(*PdfAnnotationWidget );if !_ceea {continue ;};_cfgb :=_abaf .Field ();if _cfgb ==nil {return true ,nil ;};if _ ,_gedea :=_deefb [_cfgb ];!_gedea {return true ,nil ;};};};return false ,nil ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_bgebb *PdfColorLab )B ()float64 {return float64 (_bgebb [2])};
|
||
|
||
// 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 ()_cb .PdfObject ;GetContainingPdfObject ()_cb .PdfObject ;};func (_eag *PdfReader )newPdfActionGotoEFromDict (_ddeff *_cb .PdfObjectDictionary )(*PdfActionGoToE ,error ){_gae ,_bdc :=_bgcc (_ddeff .Get ("\u0046"));if _bdc !=nil {return nil ,_bdc ;};return &PdfActionGoToE {D :_ddeff .Get ("\u0044"),NewWindow :_ddeff .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),T :_ddeff .Get ("\u0054"),F :_gae },nil ;};func _dggd ()_d .Time {return _dfbbdb };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bdfa *PdfAnnotationInk )ToPdfObject ()_cb .PdfObject {_bdfa .PdfAnnotation .ToPdfObject ();_gdbd :=_bdfa ._efd ;_dgcd :=_gdbd .PdfObject .(*_cb .PdfObjectDictionary );_bdfa .PdfAnnotationMarkup .appendToPdfDictionary (_dgcd );_dgcd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0049\u006e\u006b"));_dgcd .SetIfNotNil ("\u0049n\u006b\u004c\u0069\u0073\u0074",_bdfa .InkList );_dgcd .SetIfNotNil ("\u0042\u0053",_bdfa .BS );return _gdbd ;};
|
||
|
||
// SetColorSpace sets `r` colorspace object to `colorspace`.
|
||
func (_fgbe *PdfPageResources )SetColorSpace (colorspace *PdfPageResourcesColorspaces ){_fgbe ._ggaga =colorspace ;};
|
||
|
||
// HasFontByName checks whether a font is defined by the specified keyName.
|
||
func (_bddad *PdfPageResources )HasFontByName (keyName _cb .PdfObjectName )bool {_ ,_bfdfg :=_bddad .GetFontByName (keyName );return _bfdfg ;};func _bgcc (_fece _cb .PdfObject )(*PdfFilespec ,error ){if _fece ==nil {return nil ,nil ;};return NewPdfFilespecFromObj (_fece );};
|
||
|
||
// NewPdfAnnotationInk returns a new ink annotation.
|
||
func NewPdfAnnotationInk ()*PdfAnnotationInk {_fdc :=NewPdfAnnotation ();_aagf :=&PdfAnnotationInk {};_aagf .PdfAnnotation =_fdc ;_aagf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fdc .SetContext (_aagf );return _aagf ;};func (_ecg *PdfReader )newPdfActionLaunchFromDict (_dgf *_cb .PdfObjectDictionary )(*PdfActionLaunch ,error ){_gaf ,_bgdb :=_bgcc (_dgf .Get ("\u0046"));if _bgdb !=nil {return nil ,_bgdb ;};return &PdfActionLaunch {Win :_dgf .Get ("\u0057\u0069\u006e"),Mac :_dgf .Get ("\u004d\u0061\u0063"),Unix :_dgf .Get ("\u0055\u006e\u0069\u0078"),NewWindow :_dgf .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_gaf },nil ;};
|
||
|
||
// SetPdfTitle sets the Title attribute of the output PDF.
|
||
func SetPdfTitle (title string ){_eegde =title };
|
||
|
||
// NewPdfColorspaceSpecialPattern returns a new pattern color.
|
||
func NewPdfColorspaceSpecialPattern ()*PdfColorspaceSpecialPattern {return &PdfColorspaceSpecialPattern {};};func (_dccac *PdfReader )newPdfAnnotationTextFromDict (_ffee *_cb .PdfObjectDictionary )(*PdfAnnotationText ,error ){_aece :=PdfAnnotationText {};_bffb ,_bcfe :=_dccac .newPdfAnnotationMarkupFromDict (_ffee );if _bcfe !=nil {return nil ,_bcfe ;};_aece .PdfAnnotationMarkup =_bffb ;_aece .Open =_ffee .Get ("\u004f\u0070\u0065\u006e");_aece .Name =_ffee .Get ("\u004e\u0061\u006d\u0065");_aece .State =_ffee .Get ("\u0053\u0074\u0061t\u0065");_aece .StateModel =_ffee .Get ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c");return &_aece ,nil ;};func _fddgg ()string {return _gbga };
|
||
|
||
// NewPdfColorLab returns a new Lab color.
|
||
func NewPdfColorLab (l ,a ,b float64 )*PdfColorLab {_dfaf :=PdfColorLab {l ,a ,b };return &_dfaf };
|
||
|
||
// NewPdfAnnotationPrinterMark returns a new printermark annotation.
|
||
func NewPdfAnnotationPrinterMark ()*PdfAnnotationPrinterMark {_caee :=NewPdfAnnotation ();_gggc :=&PdfAnnotationPrinterMark {};_gggc .PdfAnnotation =_caee ;_caee .SetContext (_gggc );return _gggc ;};func (_eddc *PdfAnnotationMarkup )appendToPdfDictionary (_feeg *_cb .PdfObjectDictionary ){_feeg .SetIfNotNil ("\u0054",_eddc .T );if _eddc .Popup !=nil {_feeg .Set ("\u0050\u006f\u0070u\u0070",_eddc .Popup .ToPdfObject ());};_feeg .SetIfNotNil ("\u0043\u0041",_eddc .CA );_feeg .SetIfNotNil ("\u0052\u0043",_eddc .RC );_feeg .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_eddc .CreationDate );_feeg .SetIfNotNil ("\u0049\u0052\u0054",_eddc .IRT );_feeg .SetIfNotNil ("\u0053\u0075\u0062\u006a",_eddc .Subj );_feeg .SetIfNotNil ("\u0052\u0054",_eddc .RT );_feeg .SetIfNotNil ("\u0049\u0054",_eddc .IT );_feeg .SetIfNotNil ("\u0045\u0078\u0044\u0061\u0074\u0061",_eddc .ExData );};
|
||
|
||
// ImageToRGB convert 1-component grayscale data to 3-component RGB.
|
||
func (_gdce *PdfColorspaceDeviceGray )ImageToRGB (img Image )(Image ,error ){if img .ColorComponents !=1{return img ,_bc .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");};_afdd ,_deabb :=_ac .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._ddffb ,img ._cceeg );if _deabb !=nil {return img ,_deabb ;};_gbgf ,_deabb :=_ac .NRGBAConverter .Convert (_afdd );if _deabb !=nil {return img ,_deabb ;};_dggf :=_ecdg (_gbgf .Base ());_dbe .Log .Trace ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079\u0020\u002d>\u0020\u0052\u0047\u0042");_dbe .Log .Trace ("s\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",img .Data );_dbe .Log .Trace ("\u0052G\u0042 \u0073\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",_dggf .Data );_dbe .Log .Trace ("\u0025\u0076\u0020\u002d\u003e\u0020\u0025\u0076",img ,_dggf );return _dggf ,nil ;};func (_dcebe SignatureValidationResult )String ()string {var _badfd _bbb .Buffer ;_badfd .WriteString (_c .Sprintf ("\u004ea\u006d\u0065\u003a\u0020\u0025\u0073\n",_dcebe .Name ));if _dcebe .Date ._dbbc > 0{_badfd .WriteString (_c .Sprintf ("\u0044a\u0074\u0065\u003a\u0020\u0025\u0073\n",_dcebe .Date .ToGoTime ().String ()));}else {_badfd .WriteString ("\u0044\u0061\u0074\u0065 n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_dcebe .Reason )> 0{_badfd .WriteString (_c .Sprintf ("R\u0065\u0061\u0073\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_dcebe .Reason ));}else {_badfd .WriteString ("N\u006f \u0072\u0065\u0061\u0073\u006f\u006e\u0020\u0073p\u0065\u0063\u0069\u0066ie\u0064\u000a");};if len (_dcebe .Location )> 0{_badfd .WriteString (_c .Sprintf ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_dcebe .Location ));}else {_badfd .WriteString ("\u004c\u006f\u0063at\u0069\u006f\u006e\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_dcebe .ContactInfo )> 0{_badfd .WriteString (_c .Sprintf ("\u0043\u006f\u006e\u0074\u0061\u0063\u0074\u0020\u0049\u006e\u0066\u006f:\u0020\u0025\u0073\u000a",_dcebe .ContactInfo ));}else {_badfd .WriteString ("C\u006f\u006e\u0074\u0061\u0063\u0074 \u0069\u006e\u0066\u006f\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063i\u0066i\u0065\u0064\u000a");};_badfd .WriteString (_c .Sprintf ("F\u0069\u0065\u006c\u0064\u0073\u003a\u0020\u0025\u0064\u000a",len (_dcebe .Fields )));if _dcebe .IsSigned {_badfd .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 {_badfd .WriteString ("\u0053\u0069\u0067\u006eed\u003a\u0020\u004e\u006f\u0074\u0020\u0073\u0069\u0067\u006e\u0065\u0064\u000a");};if _dcebe .IsVerified {_badfd .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 {_badfd .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 _dcebe .IsTrusted {_badfd .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 {_badfd .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 !_dcebe .GeneralizedTime .IsZero (){_badfd .WriteString (_c .Sprintf ("G\u0065n\u0065\u0072\u0061\u006c\u0069\u007a\u0065\u0064T\u0069\u006d\u0065\u003a %\u0073\u000a",_dcebe .GeneralizedTime .String ()));};return _badfd .String ();};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cgaa *PdfAnnotationFileAttachment )ToPdfObject ()_cb .PdfObject {_cgaa .PdfAnnotation .ToPdfObject ();_beae :=_cgaa ._efd ;_dca :=_beae .PdfObject .(*_cb .PdfObjectDictionary );_cgaa .PdfAnnotationMarkup .appendToPdfDictionary (_dca );_dca .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074"));_dca .SetIfNotNil ("\u0046\u0053",_cgaa .FS );_dca .SetIfNotNil ("\u004e\u0061\u006d\u0065",_cgaa .Name );return _beae ;};func (_ggfd *PdfReader )newPdfAnnotationCaretFromDict (_ebbc *_cb .PdfObjectDictionary )(*PdfAnnotationCaret ,error ){_fgcd :=PdfAnnotationCaret {};_fcb ,_gadd :=_ggfd .newPdfAnnotationMarkupFromDict (_ebbc );if _gadd !=nil {return nil ,_gadd ;};_fgcd .PdfAnnotationMarkup =_fcb ;_fgcd .RD =_ebbc .Get ("\u0052\u0044");_fgcd .Sy =_ebbc .Get ("\u0053\u0079");return &_fgcd ,nil ;};
|
||
|
||
// PdfAnnotationScreen represents Screen annotations.
|
||
// (Section 12.5.6.18).
|
||
type PdfAnnotationScreen struct{*PdfAnnotation ;T _cb .PdfObject ;MK _cb .PdfObject ;A _cb .PdfObject ;AA _cb .PdfObject ;};func (_bcca *PdfReader )loadAction (_fefa _cb .PdfObject )(*PdfAction ,error ){if _dbff ,_aabe :=_cb .GetIndirect (_fefa );_aabe {_fdee ,_bgga :=_bcca .newPdfActionFromIndirectObject (_dbff );if _bgga !=nil {return nil ,_bgga ;};return _fdee ,nil ;}else if !_cb .IsNullObject (_fefa ){return nil ,_bc .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 ;};
|
||
|
||
// 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 _cb .StreamEncoder ;Intent _cb .PdfObject ;ImageMask _cb .PdfObject ;Mask _cb .PdfObject ;Matte _cb .PdfObject ;Decode _cb .PdfObject ;Interpolate _cb .PdfObject ;Alternatives _cb .PdfObject ;SMask _cb .PdfObject ;SMaskInData _cb .PdfObject ;Name _cb .PdfObject ;StructParent _cb .PdfObject ;ID _cb .PdfObject ;OPI _cb .PdfObject ;Metadata _cb .PdfObject ;OC _cb .PdfObject ;Stream []byte ;_egbff *_cb .PdfObjectStream ;};
|
||
|
||
// NewPdfFieldSignature returns an initialized signature field.
|
||
func NewPdfFieldSignature (signature *PdfSignature )*PdfFieldSignature {_aadce :=&PdfFieldSignature {};_aadce .PdfField =NewPdfField ();_aadce .PdfField .SetContext (_aadce );_aadce .PdfAnnotationWidget =NewPdfAnnotationWidget ();_aadce .PdfAnnotationWidget .SetContext (_aadce );_aadce .PdfAnnotationWidget ._efd =_aadce .PdfField ._addef ;_aadce .T =_cb .MakeString ("");_aadce .F =_cb .MakeInteger (132);_aadce .V =signature ;return _aadce ;};
|
||
|
||
// NewPdfActionURI returns a new "Uri" action.
|
||
func NewPdfActionURI ()*PdfActionURI {_cgb :=NewPdfAction ();_ed :=&PdfActionURI {};_ed .PdfAction =_cgb ;_cgb .SetContext (_ed );return _ed ;};
|
||
|
||
// NewGrayImageFromGoImage creates a new grayscale unidoc Image from a golang Image.
|
||
func (_caeg DefaultImageHandler )NewGrayImageFromGoImage (goimg _ca .Image )(*Image ,error ){_edeac :=goimg .Bounds ();_eefde :=&Image {Width :int64 (_edeac .Dx ()),Height :int64 (_edeac .Dy ()),ColorComponents :1,BitsPerComponent :8};switch _fgfdb :=goimg .(type ){case *_ca .Gray :if len (_fgfdb .Pix )!=_edeac .Dx ()*_edeac .Dy (){_abbg ,_ecgbd :=_ac .GrayConverter .Convert (goimg );if _ecgbd !=nil {return nil ,_ecgbd ;};_eefde .Data =_abbg .Pix ();}else {_eefde .Data =_fgfdb .Pix ;};case *_ca .Gray16 :_eefde .BitsPerComponent =16;if len (_fgfdb .Pix )!=_edeac .Dx ()*_edeac .Dy ()*2{_gfaab ,_eafgc :=_ac .Gray16Converter .Convert (goimg );if _eafgc !=nil {return nil ,_eafgc ;};_eefde .Data =_gfaab .Pix ();}else {_eefde .Data =_fgfdb .Pix ;};default:_cbcf ,_fbaba :=_ac .GrayConverter .Convert (goimg );if _fbaba !=nil {return nil ,_fbaba ;};_eefde .Data =_cbcf .Pix ();};return _eefde ,nil ;};
|
||
|
||
// ToPdfObject returns the choice field dictionary within an indirect object (container).
|
||
func (_gfgd *PdfFieldChoice )ToPdfObject ()_cb .PdfObject {_gfgd .PdfField .ToPdfObject ();_baea :=_gfgd ._addef ;_egdf :=_baea .PdfObject .(*_cb .PdfObjectDictionary );_egdf .Set ("\u0046\u0054",_cb .MakeName ("\u0043\u0068"));if _gfgd .Opt !=nil {_egdf .Set ("\u004f\u0070\u0074",_gfgd .Opt );};if _gfgd .TI !=nil {_egdf .Set ("\u0054\u0049",_gfgd .TI );};if _gfgd .I !=nil {_egdf .Set ("\u0049",_gfgd .I );};return _baea ;};func _eegddc (_ecfeb _cb .PdfObject )(*PdfShading ,error ){_fdcae :=&PdfShading {};var _bcdf *_cb .PdfObjectDictionary ;if _gddae ,_dcedd :=_cb .GetIndirect (_ecfeb );_dcedd {_fdcae ._gfdg =_gddae ;_bfeb ,_gdbg :=_gddae .PdfObject .(*_cb .PdfObjectDictionary );if !_gdbg {_dbe .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 ,_cb .ErrTypeError ;};_bcdf =_bfeb ;}else if _befgcb ,_acadc :=_cb .GetStream (_ecfeb );_acadc {_fdcae ._gfdg =_befgcb ;_bcdf =_befgcb .PdfObjectDictionary ;}else if _daea ,_cafb :=_cb .GetDict (_ecfeb );_cafb {_fdcae ._gfdg =_daea ;_bcdf =_daea ;}else {_dbe .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",_ecfeb );return nil ,_cb .ErrTypeError ;};if _bcdf ==nil {_dbe .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_bc .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_ecfeb =_bcdf .Get ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _ecfeb ==nil {_dbe .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 ;};_ecfeb =_cb .TraceToDirectObject (_ecfeb );_cgggd ,_aabcd :=_ecfeb .(*_cb .PdfObjectInteger );if !_aabcd {_dbe .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",_ecfeb );return nil ,_cb .ErrTypeError ;};if *_cgggd < 1||*_cgggd > 7{_dbe .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",*_cgggd );return nil ,_cb .ErrTypeError ;};_fdcae .ShadingType =_cgggd ;_ecfeb =_bcdf .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");if _ecfeb ==nil {_dbe .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 ;};_ccafd ,_cedbe :=NewPdfColorspaceFromPdfObject (_ecfeb );if _cedbe !=nil {_dbe .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",_cedbe );return nil ,_cedbe ;};_fdcae .ColorSpace =_ccafd ;_ecfeb =_bcdf .Get ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064");if _ecfeb !=nil {_ecfeb =_cb .TraceToDirectObject (_ecfeb );_fbaad ,_cbgda :=_ecfeb .(*_cb .PdfObjectArray );if !_cbgda {_dbe .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)",_ecfeb );return nil ,_cb .ErrTypeError ;};_fdcae .Background =_fbaad ;};_ecfeb =_bcdf .Get ("\u0042\u0042\u006f\u0078");if _ecfeb !=nil {_ecfeb =_cb .TraceToDirectObject (_ecfeb );_bceea ,_fcdae :=_ecfeb .(*_cb .PdfObjectArray );if !_fcdae {_dbe .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)",_ecfeb );return nil ,_cb .ErrTypeError ;};_fbadg ,_afbd :=NewPdfRectangle (*_bceea );if _afbd !=nil {_dbe .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_afbd );return nil ,_afbd ;};_fdcae .BBox =_fbadg ;};_ecfeb =_bcdf .Get ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s");if _ecfeb !=nil {_ecfeb =_cb .TraceToDirectObject (_ecfeb );_bdcd ,_cfdef :=_ecfeb .(*_cb .PdfObjectBool );if !_cfdef {_dbe .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",_ecfeb );return nil ,_cb .ErrTypeError ;};_fdcae .AntiAlias =_bdcd ;};switch *_cgggd {case 1:_eaggg ,_edgc :=_befa (_bcdf );if _edgc !=nil {return nil ,_edgc ;};_eaggg .PdfShading =_fdcae ;_fdcae ._cdece =_eaggg ;return _fdcae ,nil ;case 2:_ebbag ,_afbga :=_cbbbb (_bcdf );if _afbga !=nil {return nil ,_afbga ;};_ebbag .PdfShading =_fdcae ;_fdcae ._cdece =_ebbag ;return _fdcae ,nil ;case 3:_agfg ,_dbacf :=_agdccc (_bcdf );if _dbacf !=nil {return nil ,_dbacf ;};_agfg .PdfShading =_fdcae ;_fdcae ._cdece =_agfg ;return _fdcae ,nil ;case 4:_eedad ,_egefa :=_abgda (_bcdf );if _egefa !=nil {return nil ,_egefa ;};_eedad .PdfShading =_fdcae ;_fdcae ._cdece =_eedad ;return _fdcae ,nil ;case 5:_ceade ,_gcaegc :=_bbac (_bcdf );if _gcaegc !=nil {return nil ,_gcaegc ;};_ceade .PdfShading =_fdcae ;_fdcae ._cdece =_ceade ;return _fdcae ,nil ;case 6:_ffcgd ,_bdac :=_fefbc (_bcdf );if _bdac !=nil {return nil ,_bdac ;};_ffcgd .PdfShading =_fdcae ;_fdcae ._cdece =_ffcgd ;return _fdcae ,nil ;case 7:_gcgdd ,_bffdd :=_aagcd (_bcdf );if _bffdd !=nil {return nil ,_bffdd ;};_gcgdd .PdfShading =_fdcae ;_fdcae ._cdece =_gcgdd ;return _fdcae ,nil ;};return nil ,_bc .New ("u\u006ek\u006e\u006f\u0077\u006e\u0020\u0073\u0068\u0061d\u0069\u006e\u0067\u0020ty\u0070\u0065");};
|
||
|
||
// 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 (_fgdee *PdfPage )SetContentStreams (cStreams []string ,encoder _cb .StreamEncoder )error {if len (cStreams )==0{_fgdee .Contents =nil ;return nil ;};if encoder ==nil {encoder =_cb .NewRawEncoder ();};var _ggec []*_cb .PdfObjectStream ;for _ ,_ffega :=range cStreams {_cgbdf :=&_cb .PdfObjectStream {};_fcabd :=encoder .MakeStreamDict ();_gfdab ,_afaae :=encoder .EncodeBytes ([]byte (_ffega ));if _afaae !=nil {return _afaae ;};_fcabd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_gfdab ))));_cgbdf .PdfObjectDictionary =_fcabd ;_cgbdf .Stream =[]byte (_gfdab );_ggec =append (_ggec ,_cgbdf );};if len (_ggec )==1{_fgdee .Contents =_ggec [0];}else {_cbbae :=_cb .MakeArray ();for _ ,_efac :=range _ggec {_cbbae .Append (_efac );};_fgdee .Contents =_cbbae ;};return nil ;};func (_cab *PdfReader )newPdfActionGotoRFromDict (_ebf *_cb .PdfObjectDictionary )(*PdfActionGoToR ,error ){_cda ,_ebgd :=_bgcc (_ebf .Get ("\u0046"));if _ebgd !=nil {return nil ,_ebgd ;};return &PdfActionGoToR {D :_ebf .Get ("\u0044"),NewWindow :_ebf .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_cda },nil ;};
|
||
|
||
// 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 ;
|
||
|
||
// EncryptionAlgorithm is used in EncryptOptions to change the default algorithm used to encrypt the document.
|
||
type EncryptionAlgorithm int ;
|
||
|
||
// NewPdfColorCalGray returns a new CalGray color.
|
||
func NewPdfColorCalGray (grayVal float64 )*PdfColorCalGray {_bdgf :=PdfColorCalGray (grayVal );return &_bdgf ;};
|
||
|
||
// 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 (_gfabg *PdfReader )CheckAccessRights (password []byte )(bool ,_gg .Permissions ,error ){return _gfabg ._gfecg .CheckAccessRights (password );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggf *PdfActionSound )ToPdfObject ()_cb .PdfObject {_ggf .PdfAction .ToPdfObject ();_fg :=_ggf ._fc ;_egd :=_fg .PdfObject .(*_cb .PdfObjectDictionary );_egd .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeSound )));_egd .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_ggf .Sound );_egd .SetIfNotNil ("\u0056\u006f\u006c\u0075\u006d\u0065",_ggf .Volume );_egd .SetIfNotNil ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073",_ggf .Synchronous );_egd .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_ggf .Repeat );_egd .SetIfNotNil ("\u004d\u0069\u0078",_ggf .Mix );return _fg ;};
|
||
|
||
// GetBorderWidth returns the border style's width.
|
||
func (_eccea *PdfBorderStyle )GetBorderWidth ()float64 {if _eccea .W ==nil {return 1;};return *_eccea .W ;};
|
||
|
||
// ColorToRGB converts a CalGray color to an RGB color.
|
||
func (_gecg *PdfColorspaceCalGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_cgcb ,_fgbg :=color .(*PdfColorCalGray );if !_fgbg {_dbe .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 ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};ANorm :=_cgcb .Val ();X :=_gecg .WhitePoint [0]*_ag .Pow (ANorm ,_gecg .Gamma );Y :=_gecg .WhitePoint [1]*_ag .Pow (ANorm ,_gecg .Gamma );Z :=_gecg .WhitePoint [2]*_ag .Pow (ANorm ,_gecg .Gamma );_aabdb :=3.240479*X +-1.537150*Y +-0.498535*Z ;_fcgff :=-0.969256*X +1.875992*Y +0.041556*Z ;_feae :=0.055648*X +-0.204043*Y +1.057311*Z ;_aabdb =_ag .Min (_ag .Max (_aabdb ,0),1.0);_fcgff =_ag .Min (_ag .Max (_fcgff ,0),1.0);_feae =_ag .Min (_ag .Max (_feae ,0),1.0);return NewPdfColorDeviceRGB (_aabdb ,_fcgff ,_feae ),nil ;};
|
||
|
||
// SignatureValidationResult defines the response from the signature validation handler.
|
||
type SignatureValidationResult struct{
|
||
|
||
// List of errors when validating the signature.
|
||
Errors []string ;IsSigned bool ;IsVerified bool ;IsTrusted bool ;Fields []*PdfField ;Name string ;Date PdfDate ;Reason string ;Location string ;ContactInfo string ;
|
||
|
||
// GeneralizedTime is the time at which the time-stamp token has been created by the TSA (RFC 3161).
|
||
GeneralizedTime _d .Time ;};func (_ggb *PdfReader )newPdfAnnotationMovieFromDict (_aba *_cb .PdfObjectDictionary )(*PdfAnnotationMovie ,error ){_bcaf :=PdfAnnotationMovie {};_bcaf .T =_aba .Get ("\u0054");_bcaf .Movie =_aba .Get ("\u004d\u006f\u0076i\u0065");_bcaf .A =_aba .Get ("\u0041");return &_bcaf ,nil ;};func (_dacec *PdfWriter )hasObject (_cagge _cb .PdfObject )bool {_ ,_ddba :=_dacec ._bbbbd [_cagge ];return _ddba ;};
|
||
|
||
// PdfWriter handles outputing PDF content.
|
||
type PdfWriter struct{_becda *_cb .PdfIndirectObject ;_febaa *_cb .PdfIndirectObject ;_dfebc map[_cb .PdfObject ]struct{};_bgega []_cb .PdfObject ;_bbbbd map[_cb .PdfObject ]struct{};_ggfgf []*_cb .PdfIndirectObject ;_eadf *PdfOutlineTreeNode ;_fgfb *_cb .PdfObjectDictionary ;_cdgbb []_cb .PdfObject ;_ggdd *_cb .PdfIndirectObject ;_eabcf *_f .Writer ;_ceead int64 ;_dadaf error ;_ccaec *_cb .PdfCrypt ;_fbffb *_cb .PdfObjectDictionary ;_fggd *_cb .PdfIndirectObject ;_efab *_cb .PdfObjectArray ;_ecaee int ;_ccefeg int ;_ddfdba *bool ;_gbcba map[_cb .PdfObject ][]*_cb .PdfObjectDictionary ;_aeegd *PdfAcroForm ;_agfcf Optimizer ;_gebf map[int ]crossReference ;_aedbee int64 ;ObjNumOffset int ;_gedaa bool ;_afefg _cb .XrefTable ;_adfgd int64 ;_dbbcc int64 ;_bedca map[_cb .PdfObject ]int64 ;_deebb map[_cb .PdfObject ]struct{};};func (_fccdf *PdfReader )newPdfFieldFromIndirectObject (_bcee *_cb .PdfIndirectObject ,_cgbc *PdfField )(*PdfField ,error ){if _ebaa ,_gcb :=_fccdf ._bffa .GetModelFromPrimitive (_bcee ).(*PdfField );_gcb {return _ebaa ,nil ;};_afec ,_fgaec :=_cb .GetDict (_bcee );if !_fgaec {return nil ,_c .Errorf ("\u0050\u0064f\u0046\u0069\u0065\u006c\u0064 \u0069\u006e\u0064\u0069\u0072e\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_cgfaf :=NewPdfField ();_cgfaf ._addef =_bcee ;_cgfaf ._addef .PdfObject =_afec ;_aaedb :=false ;if _gagg ,_abea :=_cb .GetName (_afec .Get ("\u0046\u0054"));_abea {_cgfaf .FT =_gagg ;_aaedb =true ;};_cgfaf ._cffd =&_aaedb ;_cgfaf .T ,_ =_afec .Get ("\u0054").(*_cb .PdfObjectString );_cgfaf .TU ,_ =_afec .Get ("\u0054\u0055").(*_cb .PdfObjectString );_cgfaf .TM ,_ =_afec .Get ("\u0054\u004d").(*_cb .PdfObjectString );_cgfaf .Ff ,_ =_afec .Get ("\u0046\u0066").(*_cb .PdfObjectInteger );_cgfaf .V =_afec .Get ("\u0056");_cgfaf .DV =_afec .Get ("\u0044\u0056");_cgfaf .AA =_afec .Get ("\u0041\u0041");if _cgfaf .FT !=nil {switch *_cgfaf .FT {case "\u0054\u0078":_fdbed ,_adgg :=_fbeb (_afec );if _adgg !=nil {return nil ,_adgg ;};_fdbed .PdfField =_cgfaf ;_cgfaf ._cdfge =_fdbed ;case "\u0043\u0068":_gcecd ,_cdfbb :=_cacg (_afec );if _cdfbb !=nil {return nil ,_cdfbb ;};_gcecd .PdfField =_cgfaf ;_cgfaf ._cdfge =_gcecd ;case "\u0042\u0074\u006e":_ggcf ,_dbeb :=_gfbee (_afec );if _dbeb !=nil {return nil ,_dbeb ;};_ggcf .PdfField =_cgfaf ;_cgfaf ._cdfge =_ggcf ;case "\u0053\u0069\u0067":_cbfc ,_caae :=_fccdf .newPdfFieldSignatureFromDict (_afec );if _caae !=nil {return nil ,_caae ;};_cbfc .PdfField =_cgfaf ;_cgfaf ._cdfge =_cbfc ;default:_dbe .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",*_cgfaf .FT );return nil ,_bc .New ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079p\u0065");};};if _cgbc !=nil {_cgfaf .Parent =_cgbc ;};_cgfaf .Annotations =[]*PdfAnnotationWidget {};if _agbgf ,_eeaae :=_cb .GetName (_afec .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_eeaae {if *_agbgf =="\u0057\u0069\u0064\u0067\u0065\u0074"{_edcf ,_bgccf :=_fccdf .newPdfAnnotationFromIndirectObject (_bcee );if _bgccf !=nil {return nil ,_bgccf ;};_geacd ,_deda :=_edcf .GetContext ().(*PdfAnnotationWidget );if !_deda {return nil ,_bc .New ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0067e\u0074 \u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006fn");};_geacd ._bdcc =_cgfaf ;_geacd .Parent =_cgfaf ._addef ;_cgfaf .Annotations =append (_cgfaf .Annotations ,_geacd );return _cgfaf ,nil ;};};if _dddbg ,_deec :=_cb .GetArray (_afec .Get ("\u004b\u0069\u0064\u0073"));_deec {_cgfaf .Kids =[]*PdfField {};for _ ,_afag :=range _dddbg .Elements (){_cdedc ,_agdeb :=_cb .GetIndirect (_afag );if !_agdeb {_dfged ,_ddfd :=_cb .GetStream (_afag );if _ddfd &&_dfged .PdfObjectDictionary !=nil {_agfd ,_agdf :=_cb .GetNameVal (_dfged .Get ("\u0054\u0079\u0070\u0065"));if _agdf &&_agfd =="\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061"{_dbe .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 ,_bc .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");};_bdee ,_dcf :=_cb .GetDict (_cdedc );if !_dcf {return nil ,ErrTypeCheck ;};_ ,_cedg :=_cb .GetName (_bdee .Get ("\u0046\u0054"));if _gfgc ,_ffgfa :=_cb .GetName (_bdee .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_ffgfa &&!_cedg &&*_gfgc =="\u0057\u0069\u0064\u0067\u0065\u0074"{_eggdb ,_fbbf :=_fccdf .newPdfAnnotationFromIndirectObject (_cdedc );if _fbbf !=nil {_dbe .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",_fbbf );return nil ,_fbbf ;};_eaea ,_dbbea :=_eggdb ._gea .(*PdfAnnotationWidget );if !_dbbea {return nil ,ErrTypeCheck ;};_eaea ._bdcc =_cgfaf ;_cgfaf .Annotations =append (_cgfaf .Annotations ,_eaea );}else {_ceagd ,_dbgd :=_fccdf .newPdfFieldFromIndirectObject (_cdedc ,_cgfaf );if _dbgd !=nil {_dbe .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",_dbgd );return nil ,_dbgd ;};_cgfaf .Kids =append (_cgfaf .Kids ,_ceagd );};};};return _cgfaf ,nil ;};func _bccd (_afecg *_cb .PdfObjectDictionary ,_gfda *fontCommon )(*pdfCIDFontType2 ,error ){if _gfda ._fbefd !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_dbe .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",_gfda );return nil ,_cb .ErrRangeError ;};_bfbg :=_bfbbbg (_gfda );_fecd ,_begcb :=_cb .GetDict (_afecg .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_begcb {_dbe .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",_gfda );return nil ,ErrRequiredAttributeMissing ;};_bfbg .CIDSystemInfo =_fecd ;_bfbg .DW =_afecg .Get ("\u0044\u0057");_bfbg .W =_afecg .Get ("\u0057");_bfbg .DW2 =_afecg .Get ("\u0044\u0057\u0032");_bfbg .W2 =_afecg .Get ("\u0057\u0032");_bfbg .CIDToGIDMap =_afecg .Get ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070");_bfbg ._ffga =1000.0;if _faba ,_ggfg :=_cb .GetNumberAsFloat (_bfbg .DW );_ggfg ==nil {_bfbg ._ffga =_faba ;};_ddecd ,_cbdd :=_dgcee (_bfbg .W );if _cbdd !=nil {return nil ,_cbdd ;};if _ddecd ==nil {_ddecd =map[_ccb .CharCode ]float64 {};};_bfbg ._faafd =_ddecd ;return _bfbg ,nil ;};
|
||
|
||
// PdfActionGoToR represents a GoToR action.
|
||
type PdfActionGoToR struct{*PdfAction ;F *PdfFilespec ;D _cb .PdfObject ;NewWindow _cb .PdfObject ;};func (_def *PdfReader )newPdfAnnotationSoundFromDict (_dfeg *_cb .PdfObjectDictionary )(*PdfAnnotationSound ,error ){_dbbb :=PdfAnnotationSound {};_cege ,_fcbb :=_def .newPdfAnnotationMarkupFromDict (_dfeg );if _fcbb !=nil {return nil ,_fcbb ;};_dbbb .PdfAnnotationMarkup =_cege ;_dbbb .Name =_dfeg .Get ("\u004e\u0061\u006d\u0065");_dbbb .Sound =_dfeg .Get ("\u0053\u006f\u0075n\u0064");return &_dbbb ,nil ;};func (_bcf *PdfReader )newPdfActionFromIndirectObject (_fge *_cb .PdfIndirectObject )(*PdfAction ,error ){_deb ,_dcg :=_fge .PdfObject .(*_cb .PdfObjectDictionary );if !_dcg {return nil ,_c .Errorf ("\u0061\u0063\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u006e\u006f\u0074 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};if model :=_bcf ._bffa .GetModelFromPrimitive (_deb );model !=nil {_dbb ,_debg :=model .(*PdfAction );if !_debg {return nil ,_c .Errorf ("\u0063\u0061c\u0068\u0065\u0064\u0020\u006d\u006f\u0064\u0065\u006c\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0050\u0044\u0046\u0020\u0061\u0063ti\u006f\u006e");};return _dbb ,nil ;};_aagg :=&PdfAction {};_aagg ._fc =_fge ;_bcf ._bffa .Register (_deb ,_aagg );if _bae :=_deb .Get ("\u0054\u0079\u0070\u0065");_bae !=nil {_cgc ,_cfb :=_bae .(*_cb .PdfObjectName );if !_cfb {_dbe .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",_bae );}else {if *_cgc !="\u0041\u0063\u0074\u0069\u006f\u006e"{_dbe .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",*_cgc );};_aagg .Type =_cgc ;};};if _aecc :=_deb .Get ("\u004e\u0065\u0078\u0074");_aecc !=nil {_aagg .Next =_aecc ;};if _cdg :=_deb .Get ("\u0053");_cdg !=nil {_aagg .S =_cdg ;};_aab ,_ade :=_aagg .S .(*_cb .PdfObjectName );if !_ade {_dbe .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",_aagg .S );return nil ,_c .Errorf ("\u0069\u006e\u0076al\u0069\u0064\u0020\u0053\u0020\u006f\u0062\u006a\u0065c\u0074 \u0074y\u0070e\u0020\u0021\u003d\u0020\u006e\u0061\u006d\u0065\u0020\u0028\u0025\u0054\u0029",_aagg .S );};_gbgd :=PdfActionType (_aab .String ());switch _gbgd {case ActionTypeGoTo :_abcg ,_bgd :=_bcf .newPdfActionGotoFromDict (_deb );if _bgd !=nil {return nil ,_bgd ;};_abcg .PdfAction =_aagg ;_aagg ._ab =_abcg ;return _aagg ,nil ;case ActionTypeGoToR :_adc ,_dgab :=_bcf .newPdfActionGotoRFromDict (_deb );if _dgab !=nil {return nil ,_dgab ;};_adc .PdfAction =_aagg ;_aagg ._ab =_adc ;return _aagg ,nil ;case ActionTypeGoToE :_adb ,_bac :=_bcf .newPdfActionGotoEFromDict (_deb );if _bac !=nil {return nil ,_bac ;};_adb .PdfAction =_aagg ;_aagg ._ab =_adb ;return _aagg ,nil ;case ActionTypeLaunch :_bgc ,_gbgg :=_bcf .newPdfActionLaunchFromDict (_deb );if _gbgg !=nil {return nil ,_gbgg ;};_bgc .PdfAction =_aagg ;_aagg ._ab =_bgc ;return _aagg ,nil ;case ActionTypeThread :_cbg ,_eaa :=_bcf .newPdfActionThreadFromDict (_deb );if _eaa !=nil {return nil ,_eaa ;};_cbg .PdfAction =_aagg ;_aagg ._ab =_cbg ;return _aagg ,nil ;case ActionTypeURI :_gadg ,_dag :=_bcf .newPdfActionURIFromDict (_deb );if _dag !=nil {return nil ,_dag ;};_gadg .PdfAction =_aagg ;_aagg ._ab =_gadg ;return _aagg ,nil ;case ActionTypeSound :_edf ,_gfe :=_bcf .newPdfActionSoundFromDict (_deb );if _gfe !=nil {return nil ,_gfe ;};_edf .PdfAction =_aagg ;_aagg ._ab =_edf ;return _aagg ,nil ;case ActionTypeMovie :_efg ,_agg :=_bcf .newPdfActionMovieFromDict (_deb );if _agg !=nil {return nil ,_agg ;};_efg .PdfAction =_aagg ;_aagg ._ab =_efg ;return _aagg ,nil ;case ActionTypeHide :_ddf ,_gge :=_bcf .newPdfActionHideFromDict (_deb );if _gge !=nil {return nil ,_gge ;};_ddf .PdfAction =_aagg ;_aagg ._ab =_ddf ;return _aagg ,nil ;case ActionTypeNamed :_cde ,_dgae :=_bcf .newPdfActionNamedFromDict (_deb );if _dgae !=nil {return nil ,_dgae ;};_cde .PdfAction =_aagg ;_aagg ._ab =_cde ;return _aagg ,nil ;case ActionTypeSubmitForm :_fde ,_fga :=_bcf .newPdfActionSubmitFormFromDict (_deb );if _fga !=nil {return nil ,_fga ;};_fde .PdfAction =_aagg ;_aagg ._ab =_fde ;return _aagg ,nil ;case ActionTypeResetForm :_bbc ,_gde :=_bcf .newPdfActionResetFormFromDict (_deb );if _gde !=nil {return nil ,_gde ;};_bbc .PdfAction =_aagg ;_aagg ._ab =_bbc ;return _aagg ,nil ;case ActionTypeImportData :_dbc ,_ddbf :=_bcf .newPdfActionImportDataFromDict (_deb );if _ddbf !=nil {return nil ,_ddbf ;};_dbc .PdfAction =_aagg ;_aagg ._ab =_dbc ;return _aagg ,nil ;case ActionTypeSetOCGState :_fdad ,_eeee :=_bcf .newPdfActionSetOCGStateFromDict (_deb );if _eeee !=nil {return nil ,_eeee ;};_fdad .PdfAction =_aagg ;_aagg ._ab =_fdad ;return _aagg ,nil ;case ActionTypeRendition :_ddef ,_afcd :=_bcf .newPdfActionRenditionFromDict (_deb );if _afcd !=nil {return nil ,_afcd ;};_ddef .PdfAction =_aagg ;_aagg ._ab =_ddef ;return _aagg ,nil ;case ActionTypeTrans :_df ,_feb :=_bcf .newPdfActionTransFromDict (_deb );if _feb !=nil {return nil ,_feb ;};_df .PdfAction =_aagg ;_aagg ._ab =_df ;return _aagg ,nil ;case ActionTypeGoTo3DView :_ddbb ,_cfa :=_bcf .newPdfActionGoTo3DViewFromDict (_deb );if _cfa !=nil {return nil ,_cfa ;};_ddbb .PdfAction =_aagg ;_aagg ._ab =_ddbb ;return _aagg ,nil ;case ActionTypeJavaScript :_bbe ,_ffg :=_bcf .newPdfActionJavaScriptFromDict (_deb );if _ffg !=nil {return nil ,_ffg ;};_bbe .PdfAction =_aagg ;_aagg ._ab =_bbe ;return _aagg ,nil ;};_dbe .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",_gbgd );return nil ,nil ;};
|
||
|
||
// PdfActionSound represents a sound action.
|
||
type PdfActionSound struct{*PdfAction ;Sound _cb .PdfObject ;Volume _cb .PdfObject ;Synchronous _cb .PdfObject ;Repeat _cb .PdfObject ;Mix _cb .PdfObject ;};
|
||
|
||
// GetNumComponents returns the number of color components.
|
||
func (_dbddb *PdfColorspaceICCBased )GetNumComponents ()int {return _dbddb .N };
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_gegaba *PdfFunctionType3 )ToPdfObject ()_cb .PdfObject {_fdebge :=_cb .MakeDict ();_fdebge .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_cb .MakeInteger (3));_aadcd :=&_cb .PdfObjectArray {};for _ ,_aebce :=range _gegaba .Domain {_aadcd .Append (_cb .MakeFloat (_aebce ));};_fdebge .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_aadcd );if _gegaba .Range !=nil {_aege :=&_cb .PdfObjectArray {};for _ ,_addf :=range _gegaba .Range {_aege .Append (_cb .MakeFloat (_addf ));};_fdebge .Set ("\u0052\u0061\u006eg\u0065",_aege );};if _gegaba .Functions !=nil {_bgeg :=&_cb .PdfObjectArray {};for _ ,_dcaga :=range _gegaba .Functions {_bgeg .Append (_dcaga .ToPdfObject ());};_fdebge .Set ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es",_bgeg );};if _gegaba .Bounds !=nil {_cadbe :=&_cb .PdfObjectArray {};for _ ,_deece :=range _gegaba .Bounds {_cadbe .Append (_cb .MakeFloat (_deece ));};_fdebge .Set ("\u0042\u006f\u0075\u006e\u0064\u0073",_cadbe );};if _gegaba .Encode !=nil {_bbfbg :=&_cb .PdfObjectArray {};for _ ,_agafd :=range _gegaba .Encode {_bbfbg .Append (_cb .MakeFloat (_agafd ));};_fdebge .Set ("\u0045\u006e\u0063\u006f\u0064\u0065",_bbfbg );};if _gegaba ._gbbec !=nil {_gegaba ._gbbec .PdfObject =_fdebge ;return _gegaba ._gbbec ;};return _fdebge ;};func _begbc (_eeba _cb .PdfObject )(*PdfPattern ,error ){_dbca :=&PdfPattern {};var _bcead *_cb .PdfObjectDictionary ;if _ddfbf ,_gabda :=_cb .GetIndirect (_eeba );_gabda {_dbca ._gbdd =_ddfbf ;_bfeee ,_cgddaf :=_ddfbf .PdfObject .(*_cb .PdfObjectDictionary );if !_cgddaf {_dbe .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",_ddfbf .PdfObject );return nil ,_cb .ErrTypeError ;};_bcead =_bfeee ;}else if _bfbgc ,_bfea :=_cb .GetStream (_eeba );_bfea {_dbca ._gbdd =_bfbgc ;_bcead =_bfbgc .PdfObjectDictionary ;}else {_dbe .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",_eeba );return nil ,_cb .ErrTypeError ;};_dbfg :=_bcead .Get ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065");if _dbfg ==nil {_dbe .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 ;};_eebaa ,_acgce :=_dbfg .(*_cb .PdfObjectInteger );if !_acgce {_dbe .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",_dbfg );return nil ,_cb .ErrTypeError ;};if *_eebaa !=1&&*_eebaa !=2{_dbe .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",*_eebaa );return nil ,_cb .ErrRangeError ;};_dbca .PatternType =int64 (*_eebaa );switch *_eebaa {case 1:_dcdda ,_agaeb :=_ffbfb (_bcead );if _agaeb !=nil {return nil ,_agaeb ;};_dcdda .PdfPattern =_dbca ;_dbca ._eadd =_dcdda ;return _dbca ,nil ;case 2:_afbgg ,_cbgbb :=_fabd (_bcead );if _cbgbb !=nil {return nil ,_cbgbb ;};_afbgg .PdfPattern =_dbca ;_dbca ._eadd =_afbgg ;return _dbca ,nil ;};return nil ,_bc .New ("\u0075n\u006bn\u006f\u0077\u006e\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e");};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cec *PdfActionSetOCGState )ToPdfObject ()_cb .PdfObject {_cec .PdfAction .ToPdfObject ();_dge :=_cec ._fc ;_cag :=_dge .PdfObject .(*_cb .PdfObjectDictionary );_cag .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeSetOCGState )));_cag .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_cec .State );_cag .SetIfNotNil ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042",_cec .PreserveRB );return _dge ;};
|
||
|
||
// NewPdfAnnotationRedact returns a new redact annotation.
|
||
func NewPdfAnnotationRedact ()*PdfAnnotationRedact {_daad :=NewPdfAnnotation ();_gce :=&PdfAnnotationRedact {};_gce .PdfAnnotation =_daad ;_gce .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_daad .SetContext (_gce );return _gce ;};
|
||
|
||
// GetContainingPdfObject returns the container of the pattern object (indirect object).
|
||
func (_bbedf *PdfPattern )GetContainingPdfObject ()_cb .PdfObject {return _bbedf ._gbdd };func (_gee *PdfReader )newPdfAnnotationSquareFromDict (_egb *_cb .PdfObjectDictionary )(*PdfAnnotationSquare ,error ){_age :=PdfAnnotationSquare {};_dbef ,_gdbb :=_gee .newPdfAnnotationMarkupFromDict (_egb );if _gdbb !=nil {return nil ,_gdbb ;};_age .PdfAnnotationMarkup =_dbef ;_age .BS =_egb .Get ("\u0042\u0053");_age .IC =_egb .Get ("\u0049\u0043");_age .BE =_egb .Get ("\u0042\u0045");_age .RD =_egb .Get ("\u0052\u0044");return &_age ,nil ;};
|
||
|
||
// AddWatermarkImage adds a watermark to the page.
|
||
func (_egdbc *PdfPage )AddWatermarkImage (ximg *XObjectImage ,opt WatermarkImageOptions )error {_feac ,_ceff :=_egdbc .GetMediaBox ();if _ceff !=nil {return _ceff ;};_agfac :=_feac .Urx -_feac .Llx ;_dfac :=_feac .Ury -_feac .Lly ;_dffec :=float64 (*ximg .Width );_beaa :=(float64 (_agfac )-float64 (_dffec ))/2;if opt .FitToWidth {_dffec =_agfac ;_beaa =0;};_ecacd :=_dfac ;_cbcd :=float64 (0);if opt .PreserveAspectRatio {_ecacd =_dffec *float64 (*ximg .Height )/float64 (*ximg .Width );_cbcd =(_dfac -_ecacd )/2;};if _egdbc .Resources ==nil {_egdbc .Resources =NewPdfPageResources ();};_gggfb :=0;_degdf :=_cb .PdfObjectName (_c .Sprintf ("\u0049\u006d\u0077%\u0064",_gggfb ));for _egdbc .Resources .HasXObjectByName (_degdf ){_gggfb ++;_degdf =_cb .PdfObjectName (_c .Sprintf ("\u0049\u006d\u0077%\u0064",_gggfb ));};_ceff =_egdbc .AddImageResource (_degdf ,ximg );if _ceff !=nil {return _ceff ;};_gggfb =0;_bdfe :=_cb .PdfObjectName (_c .Sprintf ("\u0047\u0053\u0025\u0064",_gggfb ));for _egdbc .HasExtGState (_bdfe ){_gggfb ++;_bdfe =_cb .PdfObjectName (_c .Sprintf ("\u0047\u0053\u0025\u0064",_gggfb ));};_aaac :=_cb .MakeDict ();_aaac .Set ("\u0042\u004d",_cb .MakeName ("\u004e\u006f\u0072\u006d\u0061\u006c"));_aaac .Set ("\u0043\u0041",_cb .MakeFloat (opt .Alpha ));_aaac .Set ("\u0063\u0061",_cb .MakeFloat (opt .Alpha ));_ceff =_egdbc .AddExtGState (_bdfe ,_aaac );if _ceff !=nil {return _ceff ;};_gfca :=_c .Sprintf ("\u0071\u000a"+"\u002f%\u0073\u0020\u0067\u0073\u000a"+"%\u002e\u0030\u0066\u0020\u0030\u00200\u0020\u0025\u002e\u0030\u0066\u0020\u0025\u002e\u0034f\u0020\u0025\u002e4\u0066 \u0063\u006d\u000a"+"\u002f%\u0073\u0020\u0044\u006f\u000a"+"\u0051",_bdfe ,_dffec ,_ecacd ,_beaa ,_cbcd ,_degdf );_egdbc .AddContentStreamByString (_gfca );return nil ;};func (_edbcd *PdfPage )setContainer (_fdcda *_cb .PdfIndirectObject ){_fdcda .PdfObject =_edbcd ._acaa ;_edbcd ._adbf =_fdcda ;};
|
||
|
||
// DefaultFont returns the default font, which is currently the built in Helvetica.
|
||
func DefaultFont ()*PdfFont {_cgcd ,_cbfea :=_af .NewStdFontByName (HelveticaName );if !_cbfea {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");};_decf :=_dccg (_cgcd );return &PdfFont {_cdfe :&_decf };};
|
||
|
||
// 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 (_dcaba byte )byte ;
|
||
|
||
// 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 _bb .ReadSeeker )(*PdfFont ,error ){const _egcg =_ccb .CharCode (32);const _gbffa =_ccb .CharCode (255);_dgccff ,_degg :=_bf .ReadAll (r );if _degg !=nil {_dbe .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",_degg );return nil ,_degg ;};_fddg ,_degg :=_af .TtfParse (_bbb .NewReader (_dgccff ));if _degg !=nil {_dbe .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",_degg );return nil ,_degg ;};_dbcbe :=&pdfFontSimple {_cfgdd :make (map[_ccb .CharCode ]float64 ),fontCommon :fontCommon {_fbefd :"\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065"}};_dbcbe ._egffg =_ccb .NewWinAnsiEncoder ();_dbcbe ._babff =_fddg .PostScriptName ;_dbcbe .FirstChar =_cb .MakeInteger (int64 (_egcg ));_dbcbe .LastChar =_cb .MakeInteger (int64 (_gbffa ));_beceb :=1000.0/float64 (_fddg .UnitsPerEm );if len (_fddg .Widths )<=0{return nil ,_bc .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");};_efga :=_beceb *float64 (_fddg .Widths [0]);_gcfae :=make ([]float64 ,0,_gbffa -_egcg +1);for _cccfe :=_egcg ;_cccfe <=_gbffa ;_cccfe ++{_gabfg ,_acbb :=_dbcbe .Encoder ().CharcodeToRune (_cccfe );if !_acbb {_dbe .Log .Debug ("\u0052u\u006e\u0065\u0020\u006eo\u0074\u0020\u0066\u006f\u0075n\u0064 \u0028c\u006f\u0064\u0065\u003a\u0020\u0025\u0064)",_cccfe );_gcfae =append (_gcfae ,_efga );continue ;};_bfef ,_bgbaa :=_fddg .Chars [_gabfg ];if !_bgbaa {_dbe .Log .Debug ("R\u0075\u006e\u0065\u0020no\u0074 \u0069\u006e\u0020\u0054\u0054F\u0020\u0043\u0068\u0061\u0072\u0073");_gcfae =append (_gcfae ,_efga );continue ;};_bdfbg :=_beceb *float64 (_fddg .Widths [_bfef ]);_gcfae =append (_gcfae ,_bdfbg );};_dbcbe .Widths =_cb .MakeIndirectObject (_cb .MakeArrayFromFloats (_gcfae ));if len (_gcfae )< int (_gbffa -_egcg +1){_dbe .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 (_gcfae ),255-32+1);return nil ,_cb .ErrRangeError ;};for _dabfa :=_ccb .CharCode (_egcg );_dabfa <=_gbffa ;_dabfa ++{_dbcbe ._cfgdd [_dabfa ]=_gcfae [_dabfa -_egcg ];};_dbcbe .Encoding =_cb .MakeName ("\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067");_egbb :=&PdfFontDescriptor {};_egbb .FontName =_cb .MakeName (_fddg .PostScriptName );_egbb .Ascent =_cb .MakeFloat (_beceb *float64 (_fddg .TypoAscender ));_egbb .Descent =_cb .MakeFloat (_beceb *float64 (_fddg .TypoDescender ));_egbb .CapHeight =_cb .MakeFloat (_beceb *float64 (_fddg .CapHeight ));_egbb .FontBBox =_cb .MakeArrayFromFloats ([]float64 {_beceb *float64 (_fddg .Xmin ),_beceb *float64 (_fddg .Ymin ),_beceb *float64 (_fddg .Xmax ),_beceb *float64 (_fddg .Ymax )});_egbb .ItalicAngle =_cb .MakeFloat (float64 (_fddg .ItalicAngle ));_egbb .MissingWidth =_cb .MakeFloat (_beceb *float64 (_fddg .Widths [0]));_bbgb ,_degg :=_cb .MakeStream (_dgccff ,_cb .NewFlateEncoder ());if _degg !=nil {_dbe .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",_degg );return nil ,_degg ;};_bbgb .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_cb .MakeInteger (int64 (len (_dgccff ))));_egbb .FontFile2 =_bbgb ;if _fddg .Bold {_egbb .StemV =_cb .MakeInteger (120);}else {_egbb .StemV =_cb .MakeInteger (70);};_cgeb :=_decb ;if _fddg .IsFixedPitch {_cgeb |=_dcag ;};if _fddg .ItalicAngle !=0{_cgeb |=_dadf ;};_egbb .Flags =_cb .MakeInteger (int64 (_cgeb ));_dbcbe ._bgbb =_egbb ;_dccda :=&PdfFont {_cdfe :_dbcbe };return _dccda ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ffbb *PdfAnnotationStamp )ToPdfObject ()_cb .PdfObject {_ffbb .PdfAnnotation .ToPdfObject ();_fgca :=_ffbb ._efd ;_dad :=_fgca .PdfObject .(*_cb .PdfObjectDictionary );_ffbb .PdfAnnotationMarkup .appendToPdfDictionary (_dad );_dad .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053\u0074\u0061m\u0070"));_dad .SetIfNotNil ("\u004e\u0061\u006d\u0065",_ffbb .Name );return _fgca ;};
|
||
|
||
// 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 ;const (XObjectTypeUndefined XObjectType =iota ;XObjectTypeImage ;XObjectTypeForm ;XObjectTypePS ;XObjectTypeUnknown ;);func (_gfc *PdfReader )newPdfActionGoTo3DViewFromDict (_beff *_cb .PdfObjectDictionary )(*PdfActionGoTo3DView ,error ){return &PdfActionGoTo3DView {TA :_beff .Get ("\u0054\u0041"),V :_beff .Get ("\u0056")},nil ;};var _ pdfFont =(*pdfFontSimple )(nil );func (_adba *PdfReader )lookupPageByObject (_egafb _cb .PdfObject )(*PdfPage ,error ){return nil ,_bc .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_agce pdfFontType0 )GetRuneMetrics (r rune )(_af .CharMetrics ,bool ){if _agce .DescendantFont ==nil {_dbe .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",_agce );return _af .CharMetrics {},false ;};return _agce .DescendantFont .GetRuneMetrics (r );};func _befa (_cgcce *_cb .PdfObjectDictionary )(*PdfShadingType1 ,error ){_ffdfb :=PdfShadingType1 {};if _cafg :=_cgcce .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_cafg !=nil {_cafg =_cb .TraceToDirectObject (_cafg );_eeae ,_egdfeg :=_cafg .(*_cb .PdfObjectArray );if !_egdfeg {_dbe .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",_cafg );return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ffdfb .Domain =_eeae ;};if _gcgfb :=_cgcce .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_gcgfb !=nil {_gcgfb =_cb .TraceToDirectObject (_gcgfb );_gdfa ,_fecb :=_gcgfb .(*_cb .PdfObjectArray );if !_fecb {_dbe .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",_gcgfb );return nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ffdfb .Matrix =_gdfa ;};_ccdb :=_cgcce .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _ccdb ==nil {_dbe .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 ;};_ffdfb .Function =[]PdfFunction {};if _fagg ,_fcfgd :=_ccdb .(*_cb .PdfObjectArray );_fcfgd {for _ ,_fafa :=range _fagg .Elements (){_bfdgd ,_gdcea :=_abcgd (_fafa );if _gdcea !=nil {_dbe .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",_gdcea );return nil ,_gdcea ;};_ffdfb .Function =append (_ffdfb .Function ,_bfdgd );};}else {_beda ,_dbaed :=_abcgd (_ccdb );if _dbaed !=nil {_dbe .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",_dbaed );return nil ,_dbaed ;};_ffdfb .Function =append (_ffdfb .Function ,_beda );};return &_ffdfb ,nil ;};
|
||
|
||
// 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 (_fgcbb *Image )GetSamples ()[]uint32 {_bccad :=_cf .ResampleBytes (_fgcbb .Data ,int (_fgcbb .BitsPerComponent ));if _fgcbb .BitsPerComponent < 8{_bccad =_fgcbb .samplesTrimPadding (_bccad );};_afbe :=int (_fgcbb .Width )*int (_fgcbb .Height )*_fgcbb .ColorComponents ;if len (_bccad )< _afbe {_dbe .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 (_bccad ),_afbe );return _bccad ;}else if len (_bccad )> _afbe {_dbe .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 (_bccad ),_afbe );_bccad =_bccad [:_afbe ];};return _bccad ;};
|
||
|
||
// AddPage adds a page to the PDF file. The new page should be an indirect object.
|
||
func (_ecedf *PdfWriter )AddPage (page *PdfPage )error {_eggaf (page );_bceb :=page .ToPdfObject ();_dbe .Log .Trace ("\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d");_dbe .Log .Trace ("\u0041p\u0070\u0065\u006e\u0064i\u006e\u0067\u0020\u0074\u006f \u0070a\u0067e\u0020\u006c\u0069\u0073\u0074\u0020\u0025T",_bceb );_caddf ,_cgede :=_cb .GetIndirect (_bceb );if !_cgede {return _bc .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");};_dbe .Log .Trace ("\u0025\u0073",_caddf );_dbe .Log .Trace ("\u0025\u0073",_caddf .PdfObject );_dddde ,_cgede :=_cb .GetDict (_caddf .PdfObject );if !_cgede {return _bc .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");};_bacab ,_cgede :=_cb .GetName (_dddde .Get ("\u0054\u0079\u0070\u0065"));if !_cgede {return _c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0068\u0061\u0076\u0065\u0020\u0061\u0020\u0054y\u0070\u0065\u0020\u006b\u0065\u0079\u0020\u0077\u0069t\u0068\u0020\u0061\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006f\u0066\u0020t\u0079\u0070\u0065\u0020\u006e\u0061m\u0065\u0020\u0028%\u0054\u0029",_dddde .Get ("\u0054\u0079\u0070\u0065"));};if _bacab .String ()!="\u0050\u0061\u0067\u0065"{return _bc .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");};_fdbff :=[]_cb .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"};_bdcbf ,_dcddb :=_cb .GetIndirect (_dddde .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_dbe .Log .Trace ("P\u0061g\u0065\u0020\u0050\u0061\u0072\u0065\u006e\u0074:\u0020\u0025\u0054\u0020(%\u0076\u0029",_dddde .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"),_dcddb );for _dcddb {_dbe .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_bdcbf );_cegacb ,_efabf :=_cb .GetDict (_bdcbf .PdfObject );if !_efabf {return _bc .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_acfbg :=range _fdbff {_dbe .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_acfbg );if _dddde .Get (_acfbg )!=nil {_dbe .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _egfaa :=_cegacb .Get (_acfbg );_egfaa !=nil {_dbe .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_acfbg );_dddde .Set (_acfbg ,_egfaa );};};_bdcbf ,_dcddb =_cb .GetIndirect (_cegacb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_dbe .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cegacb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_dbe .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c \u0064\u006f\u006e\u0065");_dddde .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ecedf ._febaa );_caddf .PdfObject =_dddde ;_beeff ,_cgede :=_cb .GetDict (_ecedf ._febaa .PdfObject );if !_cgede {return _bc .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");};_deabd ,_cgede :=_cb .GetArray (_beeff .Get ("\u004b\u0069\u0064\u0073"));if !_cgede {return _bc .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");};_deabd .Append (_caddf );_ecedf ._dfebc [_dddde ]=struct{}{};_dcfbc ,_cgede :=_cb .GetInt (_beeff .Get ("\u0043\u006f\u0075n\u0074"));if !_cgede {return _bc .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");};*_dcfbc =*_dcfbc +1;_ecedf .addObject (_caddf );_aggec :=_ecedf .addObjects (_dddde );if _aggec !=nil {return _aggec ;};return nil ;};
|
||
|
||
// PdfAnnotationWidget represents Widget annotations.
|
||
// Note: Widget annotations are used to display form fields.
|
||
// (Section 12.5.6.19).
|
||
type PdfAnnotationWidget struct{*PdfAnnotation ;H _cb .PdfObject ;MK _cb .PdfObject ;A _cb .PdfObject ;AA _cb .PdfObject ;BS _cb .PdfObject ;Parent _cb .PdfObject ;_bdcc *PdfField ;_dff bool ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bcac *PdfColorspaceDeviceRGB )ToPdfObject ()_cb .PdfObject {return _cb .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B");};
|
||
|
||
// HasFontByName checks if has font resource by name.
|
||
func (_afcf *PdfPage )HasFontByName (name _cb .PdfObjectName )bool {_aeeed ,_ecca :=_afcf .Resources .Font .(*_cb .PdfObjectDictionary );if !_ecca {return false ;};if _cbfb :=_aeeed .Get (name );_cbfb !=nil {return true ;};return false ;};var _dfbbdb _d .Time ;
|
||
|
||
// 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 (_dbea *PdfFont )FontDescriptor ()*PdfFontDescriptor {if _dbea .baseFields ()._bgbb !=nil {return _dbea .baseFields ()._bgbb ;};if _bddf :=_dbea ._cdfe .getFontDescriptor ();_bddf !=nil {return _bddf ;};_dbe .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",_dbea );return nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColorDevice based on the input slice of
|
||
// color components. The slice should contain four elements representing the
|
||
// cyan, magenta, yellow and key components of the color. The values of the
|
||
// elements should be between 0 and 1.
|
||
func (_bacc *PdfColorspaceDeviceCMYK )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=4{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bcbg :=vals [0];if _bcbg < 0.0||_bcbg > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cdebe :=vals [1];if _cdebe < 0.0||_cdebe > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdbf :=vals [2];if _gdbf < 0.0||_gdbf > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gace :=vals [3];if _gace < 0.0||_gace > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fbd :=NewPdfColorDeviceCMYK (_bcbg ,_cdebe ,_gdbf ,_gace );return _fbd ,nil ;};
|
||
|
||
// Duplicate creates a duplicate page based on the current one and returns it.
|
||
func (_fdbgca *PdfPage )Duplicate ()*PdfPage {var _bbgag PdfPage ;_bbgag =*_fdbgca ;_bbgag ._acaa =_cb .MakeDict ();_bbgag ._adbf =_cb .MakeIndirectObject (_bbgag ._acaa );return &_bbgag ;};func _cfeda (_facf *PdfAnnotation )(*XObjectForm ,*PdfRectangle ,error ){_faaf ,_fceae :=_cb .GetDict (_facf .AP );if !_fceae {return nil ,nil ,_bc .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 _faaf ==nil {return nil ,nil ,nil ;};_eacgc ,_fceae :=_cb .GetArray (_facf .Rect );if !_fceae ||_eacgc .Len ()!=4{return nil ,nil ,_bc .New ("\u0072\u0065\u0063t\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_gafg ,_cfeg :=NewPdfRectangle (*_eacgc );if _cfeg !=nil {return nil ,nil ,_cfeg ;};_dgdb :=_cb .TraceToDirectObject (_faaf .Get ("\u004e"));switch _fdfga :=_dgdb .(type ){case *_cb .PdfObjectStream :_ebgde :=_fdfga ;_ddegc ,_ddfc :=NewXObjectFormFromStream (_ebgde );return _ddegc ,_gafg ,_ddfc ;case *_cb .PdfObjectDictionary :_cacgf :=_fdfga ;_gcca ,_gfgb :=_cb .GetName (_facf .AS );if !_gfgb {return nil ,nil ,nil ;};if _cacgf .Get (*_gcca )==nil {_dbe .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 ;};_eccd ,_gfgb :=_cb .GetStream (_cacgf .Get (*_gcca ));if !_gfgb {_dbe .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",_gcca );return nil ,nil ,_bc .New ("\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};_cgcfa ,_fffg :=NewXObjectFormFromStream (_eccd );return _cgcfa ,_gafg ,_fffg ;};_dbe .Log .Debug ("\u0049\u006e\u0076\u0061li\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066\u006f\u0072\u0020\u004e\u003a\u0020%\u0054",_dgdb );return nil ,nil ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};
|
||
|
||
// PdfAnnotationHighlight represents Highlight annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationHighlight struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _cb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddff *PdfAnnotationMovie )ToPdfObject ()_cb .PdfObject {_ddff .PdfAnnotation .ToPdfObject ();_gfcg :=_ddff ._efd ;_ggfdd :=_gfcg .PdfObject .(*_cb .PdfObjectDictionary );_ggfdd .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u004d\u006f\u0076i\u0065"));_ggfdd .SetIfNotNil ("\u0054",_ddff .T );_ggfdd .SetIfNotNil ("\u004d\u006f\u0076i\u0065",_ddff .Movie );_ggfdd .SetIfNotNil ("\u0041",_ddff .A );return _gfcg ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (4 for cmyk).
|
||
func (_defgf *PdfColorspaceDeviceCMYK )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=4{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dafe ,_eedf :=_cb .GetNumbersAsFloat (objects );if _eedf !=nil {return nil ,_eedf ;};return _defgf .ColorFromFloats (_dafe );};type fontFile struct{_abcae string ;_bfee string ;_fefc _ccb .SimpleEncoder ;};
|
||
|
||
// GetContentStream returns the pattern cell's content stream
|
||
func (_gfeae *PdfTilingPattern )GetContentStream ()([]byte ,error ){_eceee ,_ ,_fccee :=_gfeae .GetContentStreamWithEncoder ();return _eceee ,_fccee ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_baddf *OutlineItem )Items ()[]*OutlineItem {return _baddf .Entries };
|
||
|
||
// PdfShadingType7 is a Tensor-product patch mesh.
|
||
type PdfShadingType7 struct{*PdfShading ;BitsPerCoordinate *_cb .PdfObjectInteger ;BitsPerComponent *_cb .PdfObjectInteger ;BitsPerFlag *_cb .PdfObjectInteger ;Decode *_cb .PdfObjectArray ;Function []PdfFunction ;};func _ccdg ()*modelManager {_fddff :=modelManager {};_fddff ._geed =map[PdfModel ]_cb .PdfObject {};_fddff ._dcff =map[_cb .PdfObject ]PdfModel {};return &_fddff ;};func (_fgf *PdfReader )newPdfAnnotationPopupFromDict (_dcdb *_cb .PdfObjectDictionary )(*PdfAnnotationPopup ,error ){_cbec :=PdfAnnotationPopup {};_cbec .Parent =_dcdb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_cbec .Open =_dcdb .Get ("\u004f\u0070\u0065\u006e");return &_cbec ,nil ;};
|
||
|
||
// GetAnnotations returns the list of page annotations for `page`. If not loaded attempts to load the
|
||
// annotations, otherwise returns the loaded list.
|
||
func (_gcfg *PdfPage )GetAnnotations ()([]*PdfAnnotation ,error ){if _gcfg ._dcgde !=nil {return _gcfg ._dcgde ,nil ;};if _gcfg .Annots ==nil {_gcfg ._dcgde =[]*PdfAnnotation {};return nil ,nil ;};if _gcfg ._fffgc ==nil {_gcfg ._dcgde =[]*PdfAnnotation {};return nil ,nil ;};_dfcfg ,_ebfag :=_gcfg ._fffgc .loadAnnotations (_gcfg .Annots );if _ebfag !=nil {return nil ,_ebfag ;};if _dfcfg ==nil {_gcfg ._dcgde =[]*PdfAnnotation {};};_gcfg ._dcgde =_dfcfg ;return _gcfg ._dcgde ,nil ;};func (_gaff *PdfWriter )copyObjects (){_gdebg :=make (map[_cb .PdfObject ]_cb .PdfObject );_fabag :=make ([]_cb .PdfObject ,0,len (_gaff ._bgega ));_bgdbd :=make (map[_cb .PdfObject ]struct{},len (_gaff ._bgega ));_dbffg :=make (map[_cb .PdfObject ]struct{});for _ ,_addfa :=range _gaff ._bgega {_bfgbd :=_gaff .copyObject (_addfa ,_gdebg ,_dbffg ,false );if _ ,_cbcff :=_dbffg [_addfa ];_cbcff {continue ;};_fabag =append (_fabag ,_bfgbd );_bgdbd [_bfgbd ]=struct{}{};};_gaff ._bgega =_fabag ;_gaff ._bbbbd =_bgdbd ;_gaff ._ggdd =_gaff .copyObject (_gaff ._ggdd ,_gdebg ,nil ,false ).(*_cb .PdfIndirectObject );_gaff ._becda =_gaff .copyObject (_gaff ._becda ,_gdebg ,nil ,false ).(*_cb .PdfIndirectObject );if _gaff ._fggd !=nil {_gaff ._fggd =_gaff .copyObject (_gaff ._fggd ,_gdebg ,nil ,false ).(*_cb .PdfIndirectObject );};if _gaff ._gedaa {_eabeg :=make (map[_cb .PdfObject ]int64 );for _bcdba ,_cgbbe :=range _gaff ._bedca {if _fbgc ,_fafdf :=_gdebg [_bcdba ];_fafdf {_eabeg [_fbgc ]=_cgbbe ;}else {_dbe .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");};};_gaff ._bedca =_eabeg ;};};
|
||
|
||
// NewPdfAnnotationCircle returns a new circle annotation.
|
||
func NewPdfAnnotationCircle ()*PdfAnnotationCircle {_fgd :=NewPdfAnnotation ();_ddbd :=&PdfAnnotationCircle {};_ddbd .PdfAnnotation =_fgd ;_ddbd .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fgd .SetContext (_ddbd );return _ddbd ;};func _ebed (_beaed *_cb .PdfIndirectObject )(*PdfOutline ,error ){_ggcec ,_faacg :=_beaed .PdfObject .(*_cb .PdfObjectDictionary );if !_faacg {return nil ,_c .Errorf ("\u006f\u0075\u0074l\u0069\u006e\u0065\u0020o\u0062\u006a\u0065\u0063\u0074\u0020\u006eo\u0074\u0020\u0061\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_egdge :=NewPdfOutline ();if _bfab :=_ggcec .Get ("\u0054\u0079\u0070\u0065");_bfab !=nil {_cgcad ,_ebde :=_bfab .(*_cb .PdfObjectName );if _ebde {if *_cgcad !="\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"{_dbe .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",*_cgcad );};};};if _cbgeb :=_ggcec .Get ("\u0043\u006f\u0075n\u0074");_cbgeb !=nil {_bbdcg ,_eaab :=_cb .GetNumberAsInt64 (_cbgeb );if _eaab !=nil {return nil ,_eaab ;};_egdge .Count =&_bbdcg ;};return _egdge ,nil ;};func (_aaae *PdfField )inherit (_bgad func (*PdfField )bool )(bool ,error ){_beffd :=map[*PdfField ]bool {};_eaca :=false ;_ddggd :=_aaae ;for _ddggd !=nil {if _ ,_edfd :=_beffd [_ddggd ];_edfd {return false ,_bc .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};_bdgde :=_bgad (_ddggd );if _bdgde {_eaca =true ;break ;};_beffd [_ddggd ]=true ;_ddggd =_ddggd .Parent ;};return _eaca ,nil ;};
|
||
|
||
// AlphaMap performs mapping of alpha data for transformations. Allows custom filtering of alpha data etc.
|
||
func (_egac *Image )AlphaMap (mapFunc AlphaMapFunc ){for _cgff ,_fgbac :=range _egac ._ddffb {_egac ._ddffb [_cgff ]=mapFunc (_fgbac );};};
|
||
|
||
// GetOutlineTree returns the outline tree.
|
||
func (_egcf *PdfReader )GetOutlineTree ()*PdfOutlineTreeNode {return _egcf ._adcea };
|
||
|
||
// SetContext sets the specific fielddata type, e.g. would be PdfFieldButton for a button field.
|
||
func (_fegf *PdfField )SetContext (ctx PdfModel ){_fegf ._cdfge =ctx };func _dgabd (_aedbgb *_cb .PdfObjectArray )(float64 ,error ){_bafec ,_bddfcb :=_aedbgb .ToFloat64Array ();if _bddfcb !=nil {_dbe .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",_aedbgb ,_bddfcb );};switch len (_bafec ){case 1:return _bafec [0],nil ;case 3:_egcce :=PdfColorspaceDeviceRGB {};_cabd ,_fade :=_egcce .ColorFromFloats (_bafec );if _fade !=nil {return 0.0,_fade ;};return _cabd .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;case 4:_ddcbg :=PdfColorspaceDeviceCMYK {};_bafb ,_baedb :=_ddcbg .ColorFromFloats (_bafec );if _baedb !=nil {return 0.0,_baedb ;};_bfdb ,_baedb :=_ddcbg .ColorToRGB (_bafb .(*PdfColorDeviceCMYK ));if _baedb !=nil {return 0.0,_baedb ;};return _bfdb .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;};_bddfcb =_bc .New ("\u0062a\u0064 \u004d\u0061\u0074\u0074\u0065\u0020\u0063\u006f\u006c\u006f\u0072");_dbe .Log .Error ("\u0074\u006f\u0047ra\u0079\u003a\u0020\u006d\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_aedbgb ,_bddfcb );return 0.0,_bddfcb ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aec *PdfActionSubmitForm )ToPdfObject ()_cb .PdfObject {_aec .PdfAction .ToPdfObject ();_eee :=_aec ._fc ;_ecb :=_eee .PdfObject .(*_cb .PdfObjectDictionary );_ecb .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeSubmitForm )));if _aec .F !=nil {_ecb .Set ("\u0046",_aec .F .ToPdfObject ());};_ecb .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_aec .Fields );_ecb .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_aec .Flags );return _eee ;};
|
||
|
||
// PdfAppender appends new PDF content to an existing PDF document via incremental updates.
|
||
type PdfAppender struct{_fdbd _bb .ReadSeeker ;_cecd *_cb .PdfParser ;_acgg *PdfReader ;Reader *PdfReader ;_dgce []*PdfPage ;_abbe *PdfAcroForm ;_cfg _cb .XrefTable ;_bdeb int64 ;_caff int ;_ceda []_cb .PdfObject ;_gfb map[_cb .PdfObject ]struct{};_bgbd map[_cb .PdfObject ]int64 ;_bbea map[_cb .PdfObject ]struct{};_cfdg map[_cb .PdfObject ]struct{};_fdfd int64 ;_cfgf bool ;};
|
||
|
||
// SetFontByName sets the font specified by keyName to the given object.
|
||
func (_bdde *PdfPageResources )SetFontByName (keyName _cb .PdfObjectName ,obj _cb .PdfObject )error {if _bdde .Font ==nil {_bdde .Font =_cb .MakeDict ();};_bfdde ,_bacgd :=_cb .TraceToDirectObject (_bdde .Font ).(*_cb .PdfObjectDictionary );if !_bacgd {_dbe .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",_cb .TraceToDirectObject (_bdde .Font ));return _cb .ErrTypeError ;};_bfdde .Set (keyName ,obj );return nil ;};
|
||
|
||
// AddPages adds pages to be appended to the end of the source PDF.
|
||
func (_aagb *PdfAppender )AddPages (pages ...*PdfPage ){for _ ,_dbba :=range pages {_dbba =_dbba .Duplicate ();_eggaf (_dbba );_aagb ._dgce =append (_aagb ._dgce ,_dbba );};return ;};
|
||
|
||
// ToUnicode returns the name of the font's "ToUnicode" field if there is one, or "" if there isn't.
|
||
func (_fggea *PdfFont )ToUnicode ()string {if _fggea .baseFields ()._agag ==nil {return "";};return _fggea .baseFields ()._agag .Name ();};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bebf *PdfAnnotationPrinterMark )ToPdfObject ()_cb .PdfObject {_bebf .PdfAnnotation .ToPdfObject ();_bbgee :=_bebf ._efd ;_ebfbg :=_bbgee .PdfObject .(*_cb .PdfObjectDictionary );_ebfbg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b"));_ebfbg .SetIfNotNil ("\u004d\u004e",_bebf .MN );return _bbgee ;};func _fabd (_fecfc *_cb .PdfObjectDictionary )(*PdfShadingPattern ,error ){_dbfe :=&PdfShadingPattern {};_affad :=_fecfc .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");if _affad ==nil {_dbe .Log .Debug ("\u0053h\u0061d\u0069\u006e\u0067\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_cbaf ,_cabbc :=_eegddc (_affad );if _cabbc !=nil {_dbe .Log .Debug ("\u0045r\u0072\u006f\u0072\u0020l\u006f\u0061\u0064\u0069\u006eg\u0020s\u0068a\u0064\u0069\u006e\u0067\u003a\u0020\u0025v",_cabbc );return nil ,_cabbc ;};_dbfe .Shading =_cbaf ;if _acee :=_fecfc .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_acee !=nil {_dgcea ,_fdaac :=_acee .(*_cb .PdfObjectArray );if !_fdaac {_dbe .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",_acee );return nil ,_cb .ErrTypeError ;};_dbfe .Matrix =_dgcea ;};if _fgdfd :=_fecfc .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_fgdfd !=nil {_dbfe .ExtGState =_fgdfd ;};return _dbfe ,nil ;};
|
||
|
||
// NewPdfPageResourcesFromDict creates and returns a new PdfPageResources object
|
||
// from the input dictionary.
|
||
func NewPdfPageResourcesFromDict (dict *_cb .PdfObjectDictionary )(*PdfPageResources ,error ){_daac :=NewPdfPageResources ();if _cbef :=dict .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_cbef !=nil {_daac .ExtGState =_cbef ;};if _ffcg :=dict .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");_ffcg !=nil &&!_cb .IsNullObject (_ffcg ){_daac .ColorSpace =_ffcg ;};if _afagf :=dict .Get ("\u0050a\u0074\u0074\u0065\u0072\u006e");_afagf !=nil {_daac .Pattern =_afagf ;};if _cgcc :=dict .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");_cgcc !=nil {_daac .Shading =_cgcc ;};if _bfbea :=dict .Get ("\u0058O\u0062\u006a\u0065\u0063\u0074");_bfbea !=nil {_daac .XObject =_bfbea ;};if _cagbg :=_cb .ResolveReference (dict .Get ("\u0046\u006f\u006e\u0074"));_cagbg !=nil {_daac .Font =_cagbg ;};if _bddfc :=dict .Get ("\u0050r\u006f\u0063\u0053\u0065\u0074");_bddfc !=nil {_daac .ProcSet =_bddfc ;};if _abbc :=dict .Get ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_abbc !=nil {_daac .Properties =_abbc ;};return _daac ,nil ;};
|
||
|
||
// PdfDate represents a date, which is a PDF string of the form:
|
||
// (D:YYYYMMDDHHmmSSOHH'mm)
|
||
type PdfDate struct{_dbbc int64 ;_cddf int64 ;_ffdac int64 ;_cfgca int64 ;_fcgbe int64 ;_aegfed int64 ;_bbbbg byte ;_bbee int64 ;_caccb int64 ;};func _ggdab (_bbbef string )map[string ]string {_bgfe :=_gded .Split (_bbbef ,-1);_fcfbec :=map[string ]string {};for _ ,_aeca :=range _bgfe {_bbcb :=_afdg .FindStringSubmatch (_aeca );if _bbcb ==nil {continue ;};_ddefd ,_cfdde :=_bbcb [1],_bbcb [2];_fcfbec [_ddefd ]=_cfdde ;};return _fcfbec ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType2 to a PDF representation.
|
||
func (_gged *pdfCIDFontType2 )ToPdfObject ()_cb .PdfObject {if _gged ._dfdbg ==nil {_gged ._dfdbg =&_cb .PdfIndirectObject {};};_cfeab :=_gged .baseFields ().asPdfObjectDictionary ("\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032");_gged ._dfdbg .PdfObject =_cfeab ;if _gged .CIDSystemInfo !=nil {_cfeab .Set ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f",_gged .CIDSystemInfo );};if _gged .DW !=nil {_cfeab .Set ("\u0044\u0057",_gged .DW );};if _gged .DW2 !=nil {_cfeab .Set ("\u0044\u0057\u0032",_gged .DW2 );};if _gged .W !=nil {_cfeab .Set ("\u0057",_gged .W );};if _gged .W2 !=nil {_cfeab .Set ("\u0057\u0032",_gged .W2 );};if _gged .CIDToGIDMap !=nil {_cfeab .Set ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070",_gged .CIDToGIDMap );};return _gged ._dfdbg ;};
|
||
|
||
// PdfAnnotationPolygon represents Polygon annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolygon struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _cb .PdfObject ;LE _cb .PdfObject ;BS _cb .PdfObject ;IC _cb .PdfObject ;BE _cb .PdfObject ;IT _cb .PdfObject ;Measure _cb .PdfObject ;};func (_cccc fontCommon )asPdfObjectDictionary (_gbef string )*_cb .PdfObjectDictionary {if _gbef !=""&&_cccc ._fbefd !=""&&_gbef !=_cccc ._fbefd {_dbe .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",_gbef ,_cccc );}else if _gbef ==""&&_cccc ._fbefd ==""{_dbe .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",_cccc );}else if _cccc ._fbefd ==""{_cccc ._fbefd =_gbef ;};_aaaf :=_cb .MakeDict ();_aaaf .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0046\u006f\u006e\u0074"));_aaaf .Set ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074",_cb .MakeName (_cccc ._babff ));_aaaf .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName (_cccc ._fbefd ));if _cccc ._bgbb !=nil {_aaaf .Set ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072",_cccc ._bgbb .ToPdfObject ());};if _cccc ._ccaac !=nil {_aaaf .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_cccc ._ccaac );}else if _cccc ._agag !=nil {_ebddd ,_affa :=_cccc ._agag .Stream ();if _affa !=nil {_dbe .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",_affa );}else {_aaaf .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_ebddd );};};return _aaaf ;};func (_gcag *PdfReader )newPdfAnnotationScreenFromDict (_cfe *_cb .PdfObjectDictionary )(*PdfAnnotationScreen ,error ){_cbcb :=PdfAnnotationScreen {};_cbcb .T =_cfe .Get ("\u0054");_cbcb .MK =_cfe .Get ("\u004d\u004b");_cbcb .A =_cfe .Get ("\u0041");_cbcb .AA =_cfe .Get ("\u0041\u0041");return &_cbcb ,nil ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_becab pdfFontType0 )GetCharMetrics (code _ccb .CharCode )(_af .CharMetrics ,bool ){if _becab .DescendantFont ==nil {_dbe .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",_becab );return _af .CharMetrics {},false ;};return _becab .DescendantFont .GetCharMetrics (code );};
|
||
|
||
// PdfFunction interface represents the common methods of a function in PDF.
|
||
type PdfFunction interface{Evaluate ([]float64 )([]float64 ,error );ToPdfObject ()_cb .PdfObject ;};
|
||
|
||
// NewPdfActionMovie returns a new "movie" action.
|
||
func NewPdfActionMovie ()*PdfActionMovie {_bfa :=NewPdfAction ();_fcg :=&PdfActionMovie {};_fcg .PdfAction =_bfa ;_bfa .SetContext (_fcg );return _fcg ;};
|
||
|
||
// Height returns the height of `rect`.
|
||
func (_aegeg *PdfRectangle )Height ()float64 {return _ag .Abs (_aegeg .Ury -_aegeg .Lly )};type pdfFontType0 struct{fontCommon ;_ggbe *_cb .PdfIndirectObject ;_ggdg _ccb .TextEncoder ;Encoding _cb .PdfObject ;DescendantFont *PdfFont ;_cebae *_gb .CMap ;};
|
||
|
||
// SetXObjectByName adds the XObject from the passed in stream to the page resources.
|
||
// The added XObject is identified by the specified name.
|
||
func (_eggcf *PdfPageResources )SetXObjectByName (keyName _cb .PdfObjectName ,stream *_cb .PdfObjectStream )error {if _eggcf .XObject ==nil {_eggcf .XObject =_cb .MakeDict ();};_cefcd :=_cb .TraceToDirectObject (_eggcf .XObject );_ceafg ,_fcbde :=_cefcd .(*_cb .PdfObjectDictionary );if !_fcbde {_dbe .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",_eggcf .XObject ,_cefcd );return _bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ceafg .Set (keyName ,stream );return nil ;};
|
||
|
||
// PdfAnnotationLine represents Line annotations.
|
||
// (Section 12.5.6.7).
|
||
type PdfAnnotationLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;L _cb .PdfObject ;BS _cb .PdfObject ;LE _cb .PdfObject ;IC _cb .PdfObject ;LL _cb .PdfObject ;LLE _cb .PdfObject ;Cap _cb .PdfObject ;IT _cb .PdfObject ;LLO _cb .PdfObject ;CP _cb .PdfObject ;Measure _cb .PdfObject ;CO _cb .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 (_fcdf *PdfField )ToPdfObject ()_cb .PdfObject {_bdgfe :=_fcdf ._addef ;_adbe :=_bdgfe .PdfObject .(*_cb .PdfObjectDictionary );_cdffd :=_cb .MakeArray ();for _ ,_cdfc :=range _fcdf .Kids {_cdffd .Append (_cdfc .ToPdfObject ());};for _ ,_ccde :=range _fcdf .Annotations {if _ccde ._efd !=_fcdf ._addef {_cdffd .Append (_ccde .GetContext ().ToPdfObject ());};};if _fcdf .Parent !=nil {_adbe .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_fcdf .Parent .GetContainingPdfObject ());};if _cdffd .Len ()> 0{_adbe .Set ("\u004b\u0069\u0064\u0073",_cdffd );};_adbe .SetIfNotNil ("\u0046\u0054",_fcdf .FT );_adbe .SetIfNotNil ("\u0054",_fcdf .T );_adbe .SetIfNotNil ("\u0054\u0055",_fcdf .TU );_adbe .SetIfNotNil ("\u0054\u004d",_fcdf .TM );_adbe .SetIfNotNil ("\u0046\u0066",_fcdf .Ff );_adbe .SetIfNotNil ("\u0056",_fcdf .V );_adbe .SetIfNotNil ("\u0044\u0056",_fcdf .DV );_adbe .SetIfNotNil ("\u0041\u0041",_fcdf .AA );return _bdgfe ;};func _gacea (_ffcd _cb .PdfObject ,_affd bool )(*PdfFont ,error ){_bdca ,_ceeca ,_cdgf :=_eegf (_ffcd );if _cdgf !=nil {if _cdgf ==ErrType3FontNotSupported ||_cdgf ==ErrType1CFontNotSupported {_efba ,_gfgdc :=_babb (_bdca ,_ceeca ,nil );if _gfgdc !=nil {_dbe .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",_ceeca ,_gfgdc );return nil ,_cdgf ;};return &PdfFont {_cdfe :_efba },_cdgf ;};return nil ,_cdgf ;};_dafg :=&PdfFont {};switch _ceeca ._fbefd {case "\u0054\u0079\u0070e\u0030":if !_affd {_dbe .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",_ceeca );return nil ,_bc .New ("\u0063\u0079\u0063\u006cic\u0061\u006c\u0020\u0074\u0079\u0070\u0065\u0030\u0020\u006c\u006f\u0061\u0064\u0069n\u0067");};_dacg ,_afbf :=_acccf (_bdca ,_ceeca );if _afbf !=nil {_dbe .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",_ceeca ,_afbf );return nil ,_afbf ;};_dafg ._cdfe =_dacg ;case "\u0054\u0079\u0070e\u0031","\u0054\u0079\u0070e\u0033","\u004dM\u0054\u0079\u0070\u0065\u0031","\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":var _dgdbg *pdfFontSimple ;_fege ,_eecc :=_af .NewStdFontByName (_af .StdFontName (_ceeca ._babff ));if _eecc {_babd :=_dccg (_fege );_dafg ._cdfe =&_babd ;_cfc :=_cb .TraceToDirectObject (_babd .ToPdfObject ());_agcbf ,_fcfc ,_fdff :=_eegf (_cfc );if _fdff !=nil {_dbe .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",_ceeca ,_babd );return nil ,_fdff ;};for _ ,_egfd :=range _bdca .Keys (){_agcbf .Set (_egfd ,_bdca .Get (_egfd ));};_dgdbg ,_fdff =_babb (_agcbf ,_fcfc ,_babd ._cecgb );if _fdff !=nil {_dbe .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",_ceeca ,_babd );return nil ,_fdff ;};_dgdbg ._cfgdd =_babd ._cfgdd ;_dgdbg ._egdg =_babd ._egdg ;}else {_dgdbg ,_cdgf =_babb (_bdca ,_ceeca ,nil );if _cdgf !=nil {_dbe .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",_ceeca ,_cdgf );return nil ,_cdgf ;};};_cdgf =_dgdbg .addEncoding ();if _cdgf !=nil {return nil ,_cdgf ;};if _eecc {_dgdbg .updateStandard14Font ();};if _eecc &&_dgdbg ._egffg ==nil &&_dgdbg ._cecgb ==nil {_dbe .Log .Error ("\u0073\u0069\u006d\u0070\u006c\u0065\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_dgdbg );_dbe .Log .Error ("\u0066n\u0074\u003d\u0025\u002b\u0076",_fege );};if len (_dgdbg ._cfgdd )==0{_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u004e\u006f\u0020\u0077\u0069d\u0074h\u0073.\u0020\u0066\u006f\u006e\u0074\u003d\u0025s",_dgdbg );};_dafg ._cdfe =_dgdbg ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030":_cdfba ,_dcce :=_cgbe (_bdca ,_ceeca );if _dcce !=nil {_dbe .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",_dcce );return nil ,_dcce ;};_dafg ._cdfe =_cdfba ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_bdeab ,_gfbc :=_bccd (_bdca ,_ceeca );if _gfbc !=nil {_dbe .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",_ceeca ,_gfbc );return nil ,_gfbc ;};_dafg ._cdfe =_bdeab ;default:_dbe .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",_ceeca );return nil ,_c .Errorf ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0066\u006f\u006e\u0074\u0020\u0074y\u0070\u0065\u003a\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_ceeca );};return _dafg ,nil ;};func (_gdeb *PdfReader )loadStructure ()error {if _gdeb ._gfecg .GetCrypter ()!=nil &&!_gdeb ._gfecg .IsAuthenticated (){return _c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_gaec :=_gdeb ._gfecg .GetTrailer ();if _gaec ==nil {return _c .Errorf ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_cfebb ,_faegda :=_gaec .Get ("\u0052\u006f\u006f\u0074").(*_cb .PdfObjectReference );if !_faegda {return _c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0052\u006f\u006ft\u0020\u0028\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u003a \u0025\u0073\u0029",_gaec );};_gedf ,_febe :=_gdeb ._gfecg .LookupByReference (*_cfebb );if _febe !=nil {_dbe .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",_febe );return _febe ;};_cgceb ,_faegda :=_gedf .(*_cb .PdfIndirectObject );if !_faegda {_dbe .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",_gedf ,*_gaec );return _bc .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_cagbd ,_faegda :=(*_cgceb ).PdfObject .(*_cb .PdfObjectDictionary );if !_faegda {_dbe .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",_cgceb .PdfObject );return _bc .New ("\u0069n\u0076a\u006c\u0069\u0064\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_dbe .Log .Trace ("C\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_cagbd );_cfcae ,_faegda :=_cagbd .Get ("\u0050\u0061\u0067e\u0073").(*_cb .PdfObjectReference );if !_faegda {return _bc .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");};_cfgcbf ,_febe :=_gdeb ._gfecg .LookupByReference (*_cfcae );if _febe !=nil {_dbe .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 _febe ;};_cebaa ,_faegda :=_cfgcbf .(*_cb .PdfIndirectObject );if !_faegda {_dbe .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");_dbe .Log .Debug ("\u006f\u0070\u003a\u0020\u0025\u0070",_cebaa );return _bc .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_aecee ,_faegda :=_cebaa .PdfObject .(*_cb .PdfObjectDictionary );if !_faegda {_dbe .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",_cebaa );return _bc .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_gegee ,_faegda :=_cb .GetInt (_aecee .Get ("\u0043\u006f\u0075n\u0074"));if !_faegda {_dbe .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 _bc .New ("\u0070\u0061\u0067\u0065s \u0063\u006f\u0075\u006e\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};if _ ,_faegda =_cb .GetName (_aecee .Get ("\u0054\u0079\u0070\u0065"));!_faegda {_dbe .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");_aecee .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0050\u0061\u0067e\u0073"));};_gdeb ._adedg =_cfebb ;_gdeb ._fccgb =_cagbd ;_gdeb ._dgfe =_aecee ;_gdeb ._dbbag =_cebaa ;_gdeb ._gabac =int (*_gegee );_gdeb ._dfcdb =[]*_cb .PdfIndirectObject {};_agcfe :=map[_cb .PdfObject ]struct{}{};_febe =_gdeb .buildPageList (_cebaa ,nil ,_agcfe );if _febe !=nil {return _febe ;};_dbe .Log .Trace ("\u002d\u002d\u002d");_dbe .Log .Trace ("\u0054\u004f\u0043");_dbe .Log .Trace ("\u0050\u0061\u0067e\u0073");_dbe .Log .Trace ("\u0025\u0064\u003a\u0020\u0025\u0073",len (_gdeb ._dfcdb ),_gdeb ._dfcdb );_gdeb ._adcea ,_febe =_gdeb .loadOutlines ();if _febe !=nil {_dbe .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",_febe );return _febe ;};_gdeb .AcroForm ,_febe =_gdeb .loadForms ();if _febe !=nil {return _febe ;};return nil ;};
|
||
|
||
// NewOutlineDest returns a new outline destination which can be used
|
||
// with outline items.
|
||
func NewOutlineDest (page int64 ,x ,y float64 )OutlineDest {return OutlineDest {Page :page ,Mode :"\u0058\u0059\u005a",X :x ,Y :y };};func (_dddgb *PdfAcroForm )filteredFields (_fbebf FieldFilterFunc ,_edbc bool )[]*PdfField {if _dddgb ==nil {return nil ;};return _dgcf (_dddgb .Fields ,_fbebf ,_edbc );};func (_eecgf *PdfFilespec )getDict ()*_cb .PdfObjectDictionary {if _gfaa ,_degd :=_eecgf ._fdfg .(*_cb .PdfIndirectObject );_degd {_fgbf ,_agfb :=_gfaa .PdfObject .(*_cb .PdfObjectDictionary );if !_agfb {return nil ;};return _fgbf ;}else if _faeb ,_dbfc :=_eecgf ._fdfg .(*_cb .PdfObjectDictionary );_dbfc {return _faeb ;}else {_dbe .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",_eecgf ._fdfg );return nil ;};};
|
||
|
||
// 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 _cb .PdfObjectArray )(*PdfRectangle ,error ){_dggb :=PdfRectangle {};if arr .Len ()!=4{return nil ,_bc .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 _degag error ;_dggb .Llx ,_degag =_cb .GetNumberAsFloat (arr .Get (0));if _degag !=nil {return nil ,_degag ;};_dggb .Lly ,_degag =_cb .GetNumberAsFloat (arr .Get (1));if _degag !=nil {return nil ,_degag ;};_dggb .Urx ,_degag =_cb .GetNumberAsFloat (arr .Get (2));if _degag !=nil {return nil ,_degag ;};_dggb .Ury ,_degag =_cb .GetNumberAsFloat (arr .Get (3));if _degag !=nil {return nil ,_degag ;};return &_dggb ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_egaa *PdfColorspaceSpecialPattern )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _egaa .UnderlyingCS ==nil {return nil ,_bc .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 _egaa .UnderlyingCS .ColorFromFloats (vals );};
|
||
|
||
// HasExtGState checks if ExtGState name is available.
|
||
func (_eafd *PdfPage )HasExtGState (name _cb .PdfObjectName )bool {if _eafd .Resources ==nil {return false ;};if _eafd .Resources .ExtGState ==nil {return false ;};_adggf ,_gfea :=_cb .TraceToDirectObject (_eafd .Resources .ExtGState ).(*_cb .PdfObjectDictionary );if !_gfea {_dbe .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",_cb .TraceToDirectObject (_eafd .Resources .ExtGState ));return false ;};_bfge :=_adggf .Get (name );_dagee :=_bfge !=nil ;return _dagee ;};
|
||
|
||
// PdfBorderStyle represents a border style dictionary (12.5.4 Border Styles p. 394).
|
||
type PdfBorderStyle struct{W *float64 ;S *BorderStyle ;D *[]int ;_cbcbf _cb .PdfObject ;};
|
||
|
||
// UpdatePage updates the `page` in the new revision if it has changed.
|
||
func (_eafc *PdfAppender )UpdatePage (page *PdfPage ){_eafc .updateObjectsDeep (page .ToPdfObject (),nil )};func (_aded *PdfReader )flattenFieldsWithOpts (_cfgc bool ,_faeec FieldAppearanceGenerator ,_dcgd *FieldFlattenOpts )error {if _dcgd ==nil {_dcgd =&FieldFlattenOpts {};};var _ecgf bool ;_daee :=map[*PdfAnnotation ]bool {};{var _acggc []*PdfField ;_cadeg :=_aded .AcroForm ;if _cadeg !=nil {if _dcgd .FilterFunc !=nil {_acggc =_cadeg .filteredFields (_dcgd .FilterFunc ,true );_ecgf =_cadeg .Fields !=nil &&len (*_cadeg .Fields )> 0;}else {_acggc =_cadeg .AllFields ();};};for _ ,_bfbe :=range _acggc {for _ ,_ebac :=range _bfbe .Annotations {_daee [_ebac .PdfAnnotation ]=_bfbe .V !=nil ;if _faeec !=nil {_acgd ,_eega :=_faeec .GenerateAppearanceDict (_cadeg ,_bfbe ,_ebac );if _eega !=nil {return _eega ;};_ebac .AP =_acgd ;};};};};if _cfgc {for _ ,_eeada :=range _aded .PageList {_ffcbg ,_fffb :=_eeada .GetAnnotations ();if _fffb !=nil {return _fffb ;};for _ ,_gccg :=range _ffcbg {_daee [_gccg ]=true ;};};};for _ ,_bccc :=range _aded .PageList {var _bdab []*PdfAnnotation ;if _faeec !=nil {if _fcdba :=_faeec .WrapContentStream (_bccc );_fcdba !=nil {return _fcdba ;};};_ggaf ,_cegg :=_bccc .GetAnnotations ();if _cegg !=nil {return _cegg ;};for _ ,_bbdb :=range _ggaf {_fgdcf ,_adgcc :=_daee [_bbdb ];if !_adgcc {_bdab =append (_bdab ,_bbdb );continue ;};switch _bbdb .GetContext ().(type ){case *PdfAnnotationPopup :continue ;case *PdfAnnotationLink :continue ;case *PdfAnnotationProjection :continue ;};_eebd ,_fgdf ,_dceb :=_cfeda (_bbdb );if _dceb !=nil {if !_fgdcf {_dbe .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 ;};_dbe .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",_dceb );continue ;};if _eebd ==nil {continue ;};_faag :=_bccc .Resources .GenerateXObjectName ();_bccc .Resources .SetXObjectFormByName (_faag ,_eebd );_agfbc :=_ag .Min (_fgdf .Llx ,_fgdf .Urx );_aaged :=_ag .Min (_fgdf .Lly ,_fgdf .Ury );var _babf []string ;_babf =append (_babf ,"\u0071");_babf =append (_babf ,_c .Sprintf ("\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020%\u002e6\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0025\u002e\u0036\u0066\u0020\u0063\u006d",1.0,0.0,0.0,1.0,_agfbc ,_aaged ));_babf =append (_babf ,_c .Sprintf ("\u002f\u0025\u0073\u0020\u0044\u006f",_faag .String ()));_babf =append (_babf ,"\u0051");_aefg :=_fe .Join (_babf ,"\u000a");_dceb =_bccc .AppendContentStream (_aefg );if _dceb !=nil {return _dceb ;};if _eebd .Resources !=nil {_bcbe ,_bggc :=_cb .GetDict (_eebd .Resources .Font );if _bggc {for _ ,_ebge :=range _bcbe .Keys (){if !_bccc .Resources .HasFontByName (_ebge ){_bccc .Resources .SetFontByName (_ebge ,_bcbe .Get (_ebge ));};};};};};if len (_bdab )> 0{_bccc ._dcgde =_bdab ;}else {_bccc ._dcgde =[]*PdfAnnotation {};};};if !_ecgf {_aded .AcroForm =nil ;};return nil ;};
|
||
|
||
// NewOutlineItem returns a new outline item instance.
|
||
func NewOutlineItem (title string ,dest OutlineDest )*OutlineItem {return &OutlineItem {Title :title ,Dest :dest };};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fa *PdfActionHide )ToPdfObject ()_cb .PdfObject {_fa .PdfAction .ToPdfObject ();_gggg :=_fa ._fc ;_gfd :=_gggg .PdfObject .(*_cb .PdfObjectDictionary );_gfd .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeHide )));_gfd .SetIfNotNil ("\u0054",_fa .T );_gfd .SetIfNotNil ("\u0048",_fa .H );return _gggg ;};
|
||
|
||
// 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 _cb .PdfObject ;FontFamily _cb .PdfObject ;FontStretch _cb .PdfObject ;FontWeight _cb .PdfObject ;Flags _cb .PdfObject ;FontBBox _cb .PdfObject ;ItalicAngle _cb .PdfObject ;Ascent _cb .PdfObject ;Descent _cb .PdfObject ;Leading _cb .PdfObject ;CapHeight _cb .PdfObject ;XHeight _cb .PdfObject ;StemV _cb .PdfObject ;StemH _cb .PdfObject ;AvgWidth _cb .PdfObject ;MaxWidth _cb .PdfObject ;MissingWidth _cb .PdfObject ;FontFile _cb .PdfObject ;FontFile2 _cb .PdfObject ;FontFile3 _cb .PdfObject ;CharSet _cb .PdfObject ;_bfdd int ;_bdfag float64 ;*fontFile ;_eabdd *_af .TtfType ;
|
||
|
||
// Additional entries for CIDFonts
|
||
Style _cb .PdfObject ;Lang _cb .PdfObject ;FD _cb .PdfObject ;CIDSet _cb .PdfObject ;_gaede *_cb .PdfIndirectObject ;};
|
||
|
||
// PdfActionGoToE represents a GoToE action.
|
||
type PdfActionGoToE struct{*PdfAction ;F *PdfFilespec ;D _cb .PdfObject ;NewWindow _cb .PdfObject ;T _cb .PdfObject ;};var (_gfec =_e .MustCompile ("\u005cd\u002b\u0020\u0064\u0069c\u0074\u005c\u0073\u002b\u0028d\u0075p\u005cs\u002b\u0029\u003f\u0062\u0065\u0067\u0069n");_afdg =_e .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");_caca =_e .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");_cggf ="\u002f\u0045\u006e\u0063od\u0069\u006e\u0067\u0020\u0032\u0035\u0036\u0020\u0061\u0072\u0072\u0061\u0079";_ebeg ="\u0072\u0065\u0061d\u006f\u006e\u006c\u0079\u0020\u0064\u0065\u0066";_gfadb ="\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u0066\u0069\u006c\u0065\u0020e\u0065\u0078\u0065\u0063";);
|
||
|
||
// PdfColorPattern represents a pattern color.
|
||
type PdfColorPattern struct{Color PdfColor ;PatternName _cb .PdfObjectName ;};func _fbeb (_gcbe *_cb .PdfObjectDictionary )(*PdfFieldText ,error ){_bfdg :=&PdfFieldText {};_bfdg .DA ,_ =_cb .GetString (_gcbe .Get ("\u0044\u0041"));_bfdg .Q ,_ =_cb .GetInt (_gcbe .Get ("\u0051"));_bfdg .DS ,_ =_cb .GetString (_gcbe .Get ("\u0044\u0053"));_bfdg .RV =_gcbe .Get ("\u0052\u0056");_bfdg .MaxLen ,_ =_cb .GetInt (_gcbe .Get ("\u004d\u0061\u0078\u004c\u0065\u006e"));return _bfdg ,nil ;};
|
||
|
||
// String implements interface PdfObject.
|
||
func (_be *PdfAction )String ()string {_ef ,_ebg :=_be .ToPdfObject ().(*_cb .PdfIndirectObject );if _ebg {return _c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_be ._ab ,_ef .PdfObject .String ());};return "";};func (_cccgc *PdfShading )getShadingDict ()(*_cb .PdfObjectDictionary ,error ){_gbec :=_cccgc ._gfdg ;if _eacf ,_ffef :=_gbec .(*_cb .PdfIndirectObject );_ffef {_gffc ,_bffbb :=_eacf .PdfObject .(*_cb .PdfObjectDictionary );if !_bffbb {return nil ,_cb .ErrTypeError ;};return _gffc ,nil ;}else if _facg ,_gagfe :=_gbec .(*_cb .PdfObjectStream );_gagfe {return _facg .PdfObjectDictionary ,nil ;}else if _acce ,_bdbd :=_gbec .(*_cb .PdfObjectDictionary );_bdbd {return _acce ,nil ;}else {_dbe .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 ,_cb .ErrTypeError ;};};func _bfbbbg (_dgccf *fontCommon )*pdfCIDFontType2 {return &pdfCIDFontType2 {fontCommon :*_dgccf }};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_cddd pdfCIDFontType2 )Encoder ()_ccb .TextEncoder {return _cddd ._acdcfc };
|
||
|
||
// R returns the value of the red component of the color.
|
||
func (_deaeb *PdfColorDeviceRGB )R ()float64 {return float64 (_deaeb [0])};
|
||
|
||
// PdfActionJavaScript represents a javaScript action.
|
||
type PdfActionJavaScript struct{*PdfAction ;JS _cb .PdfObject ;};
|
||
|
||
// Val returns the color value.
|
||
func (_eabd *PdfColorDeviceGray )Val ()float64 {return float64 (*_eabd )};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_adf *PdfActionGoToR )ToPdfObject ()_cb .PdfObject {_adf .PdfAction .ToPdfObject ();_gbc :=_adf ._fc ;_ge :=_gbc .PdfObject .(*_cb .PdfObjectDictionary );_ge .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeGoToR )));if _adf .F !=nil {_ge .Set ("\u0046",_adf .F .ToPdfObject ());};_ge .SetIfNotNil ("\u0044",_adf .D );_ge .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_adf .NewWindow );return _gbc ;};func _gdgd (_deee []byte )bool {if len (_deee )< 4{return true ;};for _gcagd :=range _deee [:4]{_gcecdb :=rune (_gcagd );if !_g .Is (_g .ASCII_Hex_Digit ,_gcecdb )&&!_g .IsSpace (_gcecdb ){return true ;};};return false ;};func (_fbg *PdfReader )newPdfActionGotoFromDict (_dbcc *_cb .PdfObjectDictionary )(*PdfActionGoTo ,error ){return &PdfActionGoTo {D :_dbcc .Get ("\u0044")},nil ;};
|
||
|
||
// SetNamedDestinations sets the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_cefb *PdfWriter )SetNamedDestinations (names _cb .PdfObject )error {if names ==nil {return nil ;};_dbe .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006co\u0067\u0020\u004e\u0061\u006d\u0065\u0073\u002e\u002e\u002e");_cefb ._fgfb .Set ("\u004e\u0061\u006de\u0073",names );return _cefb .addObjects (names );};func (_fgdc *PdfColorspaceDeviceGray )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079";};
|
||
|
||
// 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 *_cb .PdfObjectStream )(*XObjectImage ,error ){_bdccb :=&XObjectImage {};_bdccb ._egbff =stream ;_efdef :=*(stream .PdfObjectDictionary );_edbeg ,_adccf :=_cb .NewEncoderFromStream (stream );if _adccf !=nil {return nil ,_adccf ;};_bdccb .Filter =_edbeg ;if _aeaea :=_cb .TraceToDirectObject (_efdef .Get ("\u0057\u0069\u0064t\u0068"));_aeaea !=nil {_fceaac ,_eacb :=_aeaea .(*_cb .PdfObjectInteger );if !_eacb {return nil ,_bc .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");};_ddeec :=int64 (*_fceaac );_bdccb .Width =&_ddeec ;}else {return nil ,_bc .New ("\u0077\u0069\u0064\u0074\u0068\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _aadeg :=_cb .TraceToDirectObject (_efdef .Get ("\u0048\u0065\u0069\u0067\u0068\u0074"));_aadeg !=nil {_fgda ,_acbcg :=_aadeg .(*_cb .PdfObjectInteger );if !_acbcg {return nil ,_bc .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_egcgb :=int64 (*_fgda );_bdccb .Height =&_egcgb ;}else {return nil ,_bc .New ("\u0068\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};if _fggfc :=_cb .TraceToDirectObject (_efdef .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065"));_fggfc !=nil {_eacbf ,_ffggg :=NewPdfColorspaceFromPdfObject (_fggfc );if _ffggg !=nil {return nil ,_ffggg ;};_bdccb .ColorSpace =_eacbf ;}else {_dbe .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");_bdccb .ColorSpace =NewPdfColorspaceDeviceGray ();};if _dbfb :=_cb .TraceToDirectObject (_efdef .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"));_dbfb !=nil {_bgcac ,_bbbbfg :=_dbfb .(*_cb .PdfObjectInteger );if !_bbbbfg {return nil ,_bc .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_ccafdc :=int64 (*_bgcac );_bdccb .BitsPerComponent =&_ccafdc ;};_bdccb .Intent =_efdef .Get ("\u0049\u006e\u0074\u0065\u006e\u0074");_bdccb .ImageMask =_efdef .Get ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k");_bdccb .Mask =_efdef .Get ("\u004d\u0061\u0073\u006b");_bdccb .Decode =_efdef .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");_bdccb .Interpolate =_efdef .Get ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065");_bdccb .Alternatives =_efdef .Get ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073");_bdccb .SMask =_efdef .Get ("\u0053\u004d\u0061s\u006b");_bdccb .SMaskInData =_efdef .Get ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061");_bdccb .Matte =_efdef .Get ("\u004d\u0061\u0074t\u0065");_bdccb .Name =_efdef .Get ("\u004e\u0061\u006d\u0065");_bdccb .StructParent =_efdef .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_bdccb .ID =_efdef .Get ("\u0049\u0044");_bdccb .OPI =_efdef .Get ("\u004f\u0050\u0049");_bdccb .Metadata =_efdef .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_bdccb .OC =_efdef .Get ("\u004f\u0043");_bdccb .Stream =stream .Stream ;return _bdccb ,nil ;};
|
||
|
||
// NewPdfActionNamed returns a new "named" action.
|
||
func NewPdfActionNamed ()*PdfActionNamed {_acd :=NewPdfAction ();_bee :=&PdfActionNamed {};_bee .PdfAction =_acd ;_acd .SetContext (_bee );return _bee ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bfd *PdfActionResetForm )ToPdfObject ()_cb .PdfObject {_bfd .PdfAction .ToPdfObject ();_geg :=_bfd ._fc ;_efe :=_geg .PdfObject .(*_cb .PdfObjectDictionary );_efe .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeResetForm )));_efe .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_bfd .Fields );_efe .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_bfd .Flags );return _geg ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_aggea *PdfFunctionType0 )ToPdfObject ()_cb .PdfObject {if _aggea ._dgaa ==nil {_aggea ._dgaa =&_cb .PdfObjectStream {};};_cgcab :=_cb .MakeDict ();_cgcab .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_cb .MakeInteger (0));_bcecda :=&_cb .PdfObjectArray {};for _ ,_deeaa :=range _aggea .Domain {_bcecda .Append (_cb .MakeFloat (_deeaa ));};_cgcab .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_bcecda );_cfccg :=&_cb .PdfObjectArray {};for _ ,_dfcc :=range _aggea .Range {_cfccg .Append (_cb .MakeFloat (_dfcc ));};_cgcab .Set ("\u0052\u0061\u006eg\u0065",_cfccg );_cgdega :=&_cb .PdfObjectArray {};for _ ,_dfgf :=range _aggea .Size {_cgdega .Append (_cb .MakeInteger (int64 (_dfgf )));};_cgcab .Set ("\u0053\u0069\u007a\u0065",_cgdega );_cgcab .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065",_cb .MakeInteger (int64 (_aggea .BitsPerSample )));if _aggea .Order !=1{_cgcab .Set ("\u004f\u0072\u0064e\u0072",_cb .MakeInteger (int64 (_aggea .Order )));};_cgcab .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_aggea ._gfdce ))));_aggea ._dgaa .Stream =_aggea ._gfdce ;_aggea ._dgaa .PdfObjectDictionary =_cgcab ;return _aggea ._dgaa ;};
|
||
|
||
// 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 ;_gaadd *_cb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType0 to a PDF representation.
|
||
func (_dfded *pdfCIDFontType0 )ToPdfObject ()_cb .PdfObject {return _cb .MakeNull ()};
|
||
|
||
// GetShadingByName gets the shading specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_caea *PdfPageResources )GetShadingByName (keyName _cb .PdfObjectName )(*PdfShading ,bool ){if _caea .Shading ==nil {return nil ,false ;};_dfcfa ,_fadge :=_cb .TraceToDirectObject (_caea .Shading ).(*_cb .PdfObjectDictionary );if !_fadge {_dbe .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",_caea .Shading );return nil ,false ;};if _ccfg :=_dfcfa .Get (keyName );_ccfg !=nil {_efea ,_ccbf :=_eegddc (_ccfg );if _ccbf !=nil {_dbe .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",_ccbf );return nil ,false ;};return _efea ,true ;};return nil ,false ;};
|
||
|
||
// Clear clears flag fl from the flag and returns the resulting flag.
|
||
func (_abeb FieldFlag )Clear (fl FieldFlag )FieldFlag {return FieldFlag (_abeb .Mask ()&^fl .Mask ())};
|
||
|
||
// SetContext set the sub annotation (context).
|
||
func (_ffddc *PdfShading )SetContext (ctx PdfModel ){_ffddc ._cdece =ctx };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aeb *PdfAnnotationUnderline )ToPdfObject ()_cb .PdfObject {_aeb .PdfAnnotation .ToPdfObject ();_ccc :=_aeb ._efd ;_ggfb :=_ccc .PdfObject .(*_cb .PdfObjectDictionary );_aeb .PdfAnnotationMarkup .appendToPdfDictionary (_ggfb );_ggfb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee"));_ggfb .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_aeb .QuadPoints );return _ccc ;};func (_bgba *pdfCIDFontType0 )getFontDescriptor ()*PdfFontDescriptor {return _bgba ._bgbb };
|
||
|
||
// GetXObjectByName returns the XObject with the specified keyName and the object type.
|
||
func (_dceff *PdfPageResources )GetXObjectByName (keyName _cb .PdfObjectName )(*_cb .PdfObjectStream ,XObjectType ){if _dceff .XObject ==nil {return nil ,XObjectTypeUndefined ;};_eagfa ,_eaac :=_cb .TraceToDirectObject (_dceff .XObject ).(*_cb .PdfObjectDictionary );if !_eaac {_dbe .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",_cb .TraceToDirectObject (_dceff .XObject ));return nil ,XObjectTypeUndefined ;};if _bfcd :=_eagfa .Get (keyName );_bfcd !=nil {_gbdgc ,_gcaa :=_cb .GetStream (_bfcd );if !_gcaa {_dbe .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",_bfcd );return nil ,XObjectTypeUndefined ;};_egdcd :=_gbdgc .PdfObjectDictionary ;_gdcfe ,_gcaa :=_cb .TraceToDirectObject (_egdcd .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065")).(*_cb .PdfObjectName );if !_gcaa {_dbe .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",_egdcd .String ());return nil ,XObjectTypeUndefined ;};if *_gdcfe =="\u0049\u006d\u0061g\u0065"{return _gbdgc ,XObjectTypeImage ;}else if *_gdcfe =="\u0046\u006f\u0072\u006d"{return _gbdgc ,XObjectTypeForm ;}else if *_gdcfe =="\u0050\u0053"{return _gbdgc ,XObjectTypePS ;}else {_dbe .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",*_gdcfe );return nil ,XObjectTypeUndefined ;};}else {return nil ,XObjectTypeUndefined ;};};
|
||
|
||
// GetContext returns a reference to the subpattern entry: either PdfTilingPattern or PdfShadingPattern.
|
||
func (_ecgaa *PdfPattern )GetContext ()PdfModel {return _ecgaa ._eadd };func _cgddc ()string {return _ffbde };
|
||
|
||
// NewPdfActionThread returns a new "thread" action.
|
||
func NewPdfActionThread ()*PdfActionThread {_fec :=NewPdfAction ();_bd :=&PdfActionThread {};_bd .PdfAction =_fec ;_fec .SetContext (_bd );return _bd ;};
|
||
|
||
// NewPdfFilespecFromObj creates and returns a new PdfFilespec object.
|
||
func NewPdfFilespecFromObj (obj _cb .PdfObject )(*PdfFilespec ,error ){_gegc :=&PdfFilespec {};var _ffea *_cb .PdfObjectDictionary ;if _ebc ,_egggf :=_cb .GetIndirect (obj );_egggf {_gegc ._fdfg =_ebc ;_cbcgc ,_fegb :=_cb .GetDict (_ebc .PdfObject );if !_fegb {_dbe .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 ,_cb .ErrTypeError ;};_ffea =_cbcgc ;}else if _cbgg ,_becg :=_cb .GetDict (obj );_becg {_gegc ._fdfg =_cbgg ;_ffea =_cbgg ;}else {_dbe .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 ,_cb .ErrTypeError ;};if _ffea ==nil {_dbe .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_bc .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _edca :=_ffea .Get ("\u0054\u0079\u0070\u0065");_edca !=nil {_eefd ,_edgfa :=_edca .(*_cb .PdfObjectName );if !_edgfa {_dbe .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",_edca );}else {if *_eefd !="\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"{_dbe .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",*_eefd );};};};if _cfeac :=_ffea .Get ("\u0046\u0053");_cfeac !=nil {_gegc .FS =_cfeac ;};if _fccg :=_ffea .Get ("\u0046");_fccg !=nil {_gegc .F =_fccg ;};if _fecg :=_ffea .Get ("\u0055\u0046");_fecg !=nil {_gegc .UF =_fecg ;};if _bfgga :=_ffea .Get ("\u0044\u004f\u0053");_bfgga !=nil {_gegc .DOS =_bfgga ;};if _dfdb :=_ffea .Get ("\u004d\u0061\u0063");_dfdb !=nil {_gegc .Mac =_dfdb ;};if _edfdf :=_ffea .Get ("\u0055\u006e\u0069\u0078");_edfdf !=nil {_gegc .Unix =_edfdf ;};if _gfagd :=_ffea .Get ("\u0049\u0044");_gfagd !=nil {_gegc .ID =_gfagd ;};if _afdf :=_ffea .Get ("\u0056");_afdf !=nil {_gegc .V =_afdf ;};if _bbccg :=_ffea .Get ("\u0045\u0046");_bbccg !=nil {_gegc .EF =_bbccg ;};if _abbeab :=_ffea .Get ("\u0052\u0046");_abbeab !=nil {_gegc .RF =_abbeab ;};if _ccab :=_ffea .Get ("\u0044\u0065\u0073\u0063");_ccab !=nil {_gegc .Desc =_ccab ;};if _fdbgb :=_ffea .Get ("\u0043\u0049");_fdbgb !=nil {_gegc .CI =_fdbgb ;};return _gegc ,nil ;};
|
||
|
||
// Width returns the width of `rect`.
|
||
func (_feaaa *PdfRectangle )Width ()float64 {return _ag .Abs (_feaaa .Urx -_feaaa .Llx )};func _gaeg (_cdae _cb .PdfObject )(*PdfColorspaceDeviceNAttributes ,error ){_aabcb :=&PdfColorspaceDeviceNAttributes {};var _gdaf *_cb .PdfObjectDictionary ;if _gfbf ,_egdef :=_cdae .(*_cb .PdfIndirectObject );_egdef {_aabcb ._afgb =_gfbf ;var _fggb bool ;_gdaf ,_fggb =_gfbf .PdfObject .(*_cb .PdfObjectDictionary );if !_fggb {_dbe .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 ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};}else if _bbcd ,_edecf :=_cdae .(*_cb .PdfObjectDictionary );_edecf {_gdaf =_bbcd ;}else {_dbe .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 ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _gcfc :=_gdaf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_gcfc !=nil {_ebea ,_adbb :=_cb .TraceToDirectObject (_gcfc ).(*_cb .PdfObjectName );if !_adbb {_dbe .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 ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_aabcb .Subtype =_ebea ;};if _gdcb :=_gdaf .Get ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s");_gdcb !=nil {_aabcb .Colorants =_gdcb ;};if _ded :=_gdaf .Get ("\u0050r\u006f\u0063\u0065\u0073\u0073");_ded !=nil {_aabcb .Process =_ded ;};if _fdcd :=_gdaf .Get ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073");_fdcd !=nil {_aabcb .MixingHints =_fdcd ;};return _aabcb ,nil ;};
|
||
|
||
// SetPdfCreationDate sets the CreationDate attribute of the output PDF.
|
||
func SetPdfCreationDate (creationDate _d .Time ){_dfbbdb =creationDate };
|
||
|
||
// PdfAnnotationStrikeOut represents StrikeOut annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationStrikeOut struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _cb .PdfObject ;};
|
||
|
||
// Add appends an outline item as a child of the current outline item.
|
||
func (_bgdba *OutlineItem )Add (item *OutlineItem ){_bgdba .Entries =append (_bgdba .Entries ,item )};
|
||
|
||
// AddExtGState add External Graphics State (GState). The gsDict can be specified
|
||
// either directly as a dictionary or an indirect object containing a dictionary.
|
||
func (_ebeec *PdfPageResources )AddExtGState (gsName _cb .PdfObjectName ,gsDict _cb .PdfObject )error {if _ebeec .ExtGState ==nil {_ebeec .ExtGState =_cb .MakeDict ();};_bfgcb :=_ebeec .ExtGState ;_gccfe ,_bddgca :=_cb .TraceToDirectObject (_bfgcb ).(*_cb .PdfObjectDictionary );if !_bddgca {_dbe .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",_bfgcb ,_cb .TraceToDirectObject (_bfgcb ));return _cb .ErrTypeError ;};_gccfe .Set (gsName ,gsDict );return nil ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline item.
|
||
func (_gdef *OutlineItem )ToPdfObject ()_cb .PdfObject {_agdg ,_ :=_gdef .ToPdfOutlineItem ();return _agdg .ToPdfObject ();};func (_fcgdc *PdfAppender )updateObjectsDeep (_cgada _cb .PdfObject ,_aeff map[_cb .PdfObject ]struct{}){if _aeff ==nil {_aeff =map[_cb .PdfObject ]struct{}{};};if _ ,_bdcfg :=_aeff [_cgada ];_bdcfg ||_cgada ==nil {return ;};_aeff [_cgada ]=struct{}{};_cba :=_cb .ResolveReferencesDeep (_cgada ,_fcgdc ._cfdg );if _cba !=nil {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cba );};switch _dbdf :=_cgada .(type ){case *_cb .PdfIndirectObject :switch {case _dbdf .GetParser ()==_fcgdc ._acgg ._gfecg :return ;case _dbdf .GetParser ()==_fcgdc .Reader ._gfecg :_aeec ,_ :=_fcgdc ._acgg .GetIndirectObjectByNumber (int (_dbdf .ObjectNumber ));_agda ,_gega :=_aeec .(*_cb .PdfIndirectObject );if _gega &&_agda !=nil {if _agda .PdfObject !=_dbdf .PdfObject &&_agda .PdfObject .WriteString ()!=_dbdf .PdfObject .WriteString (){_fcgdc .addNewObject (_cgada );_fcgdc ._bgbd [_cgada ]=_dbdf .ObjectNumber ;};};default:_fcgdc .addNewObject (_cgada );};_fcgdc .updateObjectsDeep (_dbdf .PdfObject ,_aeff );case *_cb .PdfObjectArray :for _ ,_abgc :=range _dbdf .Elements (){_fcgdc .updateObjectsDeep (_abgc ,_aeff );};case *_cb .PdfObjectDictionary :for _ ,_beged :=range _dbdf .Keys (){_fcgdc .updateObjectsDeep (_dbdf .Get (_beged ),_aeff );};case *_cb .PdfObjectStreams :if _dbdf .GetParser ()!=_fcgdc ._acgg ._gfecg {for _ ,_gef :=range _dbdf .Elements (){_fcgdc .updateObjectsDeep (_gef ,_aeff );};};case *_cb .PdfObjectStream :switch {case _dbdf .GetParser ()==_fcgdc ._acgg ._gfecg :return ;case _dbdf .GetParser ()==_fcgdc .Reader ._gfecg :if _gaea ,_adac :=_fcgdc ._acgg ._gfecg .LookupByReference (_dbdf .PdfObjectReference );_adac ==nil {var _edac bool ;if _egbc ,_beba :=_cb .GetStream (_gaea );_beba &&_bbb .Equal (_egbc .Stream ,_dbdf .Stream ){_edac =true ;};if _cfee ,_faee :=_cb .GetDict (_gaea );_edac &&_faee {_edac =_cfee .WriteString ()==_dbdf .PdfObjectDictionary .WriteString ();};if _edac {return ;};};if _dbdf .ObjectNumber !=0{_fcgdc ._bgbd [_cgada ]=_dbdf .ObjectNumber ;};default:if _ ,_ggef :=_fcgdc ._gfb [_cgada ];!_ggef {_fcgdc .addNewObject (_cgada );};};_fcgdc .updateObjectsDeep (_dbdf .PdfObjectDictionary ,_aeff );};};
|
||
|
||
// ColorToRGB verifies that the input color is an RGB color. Method exists in
|
||
// order to satisfy the PdfColorspace interface.
|
||
func (_eeec *PdfColorspaceDeviceRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_dbbbe ,_fcff :=color .(*PdfColorDeviceRGB );if !_fcff {_dbe .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 ,_bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return _dbbbe ,nil ;};func _ffeg (_agafb *fontCommon )*pdfCIDFontType0 {return &pdfCIDFontType0 {fontCommon :*_agafb }};func (_egeg *pdfFontSimple )getFontEncoding ()(_fccc string ,_cgef map[_ccb .CharCode ]_ccb .GlyphName ,_ebeeb error ){_fccc ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";if _baddg ,_ggabd :=_gbggb [_egeg ._babff ];_ggabd {_fccc =_baddg ;}else if _egeg .fontFlags ()&_cdgfg !=0{for _gffa ,_dfag :=range _gbggb {if _fe .Contains (_egeg ._babff ,_gffa ){_fccc =_dfag ;break ;};};};if _egeg .Encoding ==nil {return _fccc ,nil ,nil ;};switch _eebdc :=_egeg .Encoding .(type ){case *_cb .PdfObjectName :return string (*_eebdc ),nil ,nil ;case *_cb .PdfObjectDictionary :_abcgb ,_aace :=_cb .GetName (_eebdc .Get ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _aace {_fccc =_abcgb .String ();};if _gfged :=_eebdc .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073");_gfged !=nil {_dfgdf ,_egbgb :=_cb .GetArray (_gfged );if !_egbgb {_dbe .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",_eebdc ,_eebdc .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073"));return "",nil ,_cb .ErrTypeError ;};_cgef ,_ebeeb =_ccb .FromFontDifferences (_dfgdf );};return _fccc ,_cgef ,_ebeeb ;default:_dbe .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",_egeg .Encoding ,_egeg .Encoding );return "",nil ,_cb .ErrTypeError ;};};
|
||
|
||
// NewPdfOutline returns an initialized PdfOutline.
|
||
func NewPdfOutline ()*PdfOutline {_acgc :=&PdfOutline {_ffbfg :_cb .MakeIndirectObject (_cb .MakeDict ())};_acgc ._dfaeg =_acgc ;return _acgc ;};
|
||
|
||
// GetContentStream returns the XObject Form's content stream.
|
||
func (_bgfged *XObjectForm )GetContentStream ()([]byte ,error ){_fggag ,_dccfd :=_cb .DecodeStream (_bgfged ._eaadb );if _dccfd !=nil {return nil ,_dccfd ;};return _fggag ,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 (_bbged *PdfPageResources )GetColorspaces ()(*PdfPageResourcesColorspaces ,error ){if _bbged ._ggaga !=nil {return _bbged ._ggaga ,nil ;};if _bbged .ColorSpace ==nil {return nil ,nil ;};_aefef ,_dbead :=_febb (_bbged .ColorSpace );if _dbead !=nil {return nil ,_dbead ;};_bbged ._ggaga =_aefef ;return _bbged ._ggaga ,nil ;};func _cgbe (_bfgbc *_cb .PdfObjectDictionary ,_ebbed *fontCommon )(*pdfCIDFontType0 ,error ){if _ebbed ._fbefd !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"{_dbe .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",_ebbed );return nil ,_cb .ErrRangeError ;};_bdbfd :=_ffeg (_ebbed );_eefb ,_ccdc :=_cb .GetDict (_bfgbc .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_ccdc {_dbe .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",_ebbed );return nil ,ErrRequiredAttributeMissing ;};_bdbfd .CIDSystemInfo =_eefb ;_bdbfd .DW =_bfgbc .Get ("\u0044\u0057");_bdbfd .W =_bfgbc .Get ("\u0057");_bdbfd .DW2 =_bfgbc .Get ("\u0044\u0057\u0032");_bdbfd .W2 =_bfgbc .Get ("\u0057\u0032");_bdbfd ._eccee =1000.0;if _bcfad ,_adegd :=_cb .GetNumberAsFloat (_bdbfd .DW );_adegd ==nil {_bdbfd ._eccee =_bcfad ;};_cbgb ,_adef :=_dgcee (_bdbfd .W );if _adef !=nil {return nil ,_adef ;};if _cbgb ==nil {_cbgb =map[_ccb .CharCode ]float64 {};};_bdbfd ._agae =_cbgb ;return _bdbfd ,nil ;};
|
||
|
||
// Insert adds a top level outline item in the outline,
|
||
// at the specified index.
|
||
func (_bdgab *Outline )Insert (index uint ,item *OutlineItem ){_dgfgc :=uint (len (_bdgab .Entries ));if index > _dgfgc {index =_dgfgc ;};_bdgab .Entries =append (_bdgab .Entries [:index ],append ([]*OutlineItem {item },_bdgab .Entries [index :]...)...);};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););
|
||
|
||
// 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 ;};func (_acg *PdfReader )newPdfActionJavaScriptFromDict (_ced *_cb .PdfObjectDictionary )(*PdfActionJavaScript ,error ){return &PdfActionJavaScript {JS :_ced .Get ("\u004a\u0053")},nil ;};func (_cdcc *PdfAnnotation )String ()string {_ecga :="";_ecce ,_agga :=_cdcc .ToPdfObject ().(*_cb .PdfIndirectObject );if _agga {_ecga =_c .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_cdcc ._gea ,_ecce .PdfObject .String ());};return _ecga ;};
|
||
|
||
// ImageToRGB converts image in CalGray color space to RGB (A, B, C -> X, Y, Z).
|
||
func (_agfc *PdfColorspaceCalGray )ImageToRGB (img Image )(Image ,error ){_dfdaa :=_cf .NewReader (img .getBase ());_ddae :=_ac .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_cbbf :=_cf .NewWriter (_ddae );_cgdd :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_bcfae :=make ([]uint32 ,3);var (_fbea uint32 ;ANorm ,X ,Y ,Z ,_feegb ,_baccf ,_dgccd float64 ;_cdag error ;);for {_fbea ,_cdag =_dfdaa .ReadSample ();if _cdag ==_bb .EOF {break ;}else if _cdag !=nil {return img ,_cdag ;};ANorm =float64 (_fbea )/_cgdd ;X =_agfc .WhitePoint [0]*_ag .Pow (ANorm ,_agfc .Gamma );Y =_agfc .WhitePoint [1]*_ag .Pow (ANorm ,_agfc .Gamma );Z =_agfc .WhitePoint [2]*_ag .Pow (ANorm ,_agfc .Gamma );_feegb =3.240479*X +-1.537150*Y +-0.498535*Z ;_baccf =-0.969256*X +1.875992*Y +0.041556*Z ;_dgccd =0.055648*X +-0.204043*Y +1.057311*Z ;_feegb =_ag .Min (_ag .Max (_feegb ,0),1.0);_baccf =_ag .Min (_ag .Max (_baccf ,0),1.0);_dgccd =_ag .Min (_ag .Max (_dgccd ,0),1.0);_bcfae [0]=uint32 (_feegb *_cgdd );_bcfae [1]=uint32 (_baccf *_cgdd );_bcfae [2]=uint32 (_dgccd *_cgdd );if _cdag =_cbbf .WriteSamples (_bcfae );_cdag !=nil {return img ,_cdag ;};};return _ecdg (&_ddae ),nil ;};
|
||
|
||
// PdfFilespec represents a file specification which can either refer to an external or embedded file.
|
||
type PdfFilespec struct{Type _cb .PdfObject ;FS _cb .PdfObject ;F _cb .PdfObject ;UF _cb .PdfObject ;DOS _cb .PdfObject ;Mac _cb .PdfObject ;Unix _cb .PdfObject ;ID _cb .PdfObject ;V _cb .PdfObject ;EF _cb .PdfObject ;RF _cb .PdfObject ;Desc _cb .PdfObject ;CI _cb .PdfObject ;_fdfg _cb .PdfObject ;};
|
||
|
||
// NewPdfActionJavaScript returns a new "javaScript" action.
|
||
func NewPdfActionJavaScript ()*PdfActionJavaScript {_bca :=NewPdfAction ();_eba :=&PdfActionJavaScript {};_eba .PdfAction =_bca ;_bca .SetContext (_eba );return _eba ;};
|
||
|
||
// GetParamsDict returns *core.PdfObjectDictionary with a set of basic image parameters.
|
||
func (_ggefcg *Image )GetParamsDict ()*_cb .PdfObjectDictionary {_gafgd :=_cb .MakeDict ();_gafgd .Set ("\u0057\u0069\u0064t\u0068",_cb .MakeInteger (_ggefcg .Width ));_gafgd .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_cb .MakeInteger (_ggefcg .Height ));_gafgd .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_cb .MakeInteger (int64 (_ggefcg .ColorComponents )));_gafgd .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cb .MakeInteger (_ggefcg .BitsPerComponent ));return _gafgd ;};
|
||
|
||
// PdfAnnotationText represents Text annotations.
|
||
// (Section 12.5.6.4 p. 402).
|
||
type PdfAnnotationText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Open _cb .PdfObject ;Name _cb .PdfObject ;State _cb .PdfObject ;StateModel _cb .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_cfcbf *PdfFunctionType4 )ToPdfObject ()_cb .PdfObject {_geaaf :=_cfcbf ._bdbff ;if _geaaf ==nil {_cfcbf ._bdbff =&_cb .PdfObjectStream {};_geaaf =_cfcbf ._bdbff ;};_edebc :=_cb .MakeDict ();_edebc .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_cb .MakeInteger (4));_baggf :=&_cb .PdfObjectArray {};for _ ,_cgge :=range _cfcbf .Domain {_baggf .Append (_cb .MakeFloat (_cgge ));};_edebc .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_baggf );_decea :=&_cb .PdfObjectArray {};for _ ,_affe :=range _cfcbf .Range {_decea .Append (_cb .MakeFloat (_affe ));};_edebc .Set ("\u0052\u0061\u006eg\u0065",_decea );if _cfcbf ._eefa ==nil &&_cfcbf .Program !=nil {_cfcbf ._eefa =[]byte (_cfcbf .Program .String ());};_edebc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_cfcbf ._eefa ))));_geaaf .Stream =_cfcbf ._eefa ;_geaaf .PdfObjectDictionary =_edebc ;return _geaaf ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_fdbca *PdfColorspaceLab )ToPdfObject ()_cb .PdfObject {_fdfda :=_cb .MakeArray ();_fdfda .Append (_cb .MakeName ("\u004c\u0061\u0062"));_cded :=_cb .MakeDict ();if _fdbca .WhitePoint !=nil {_bfbcg :=_cb .MakeArray (_cb .MakeFloat (_fdbca .WhitePoint [0]),_cb .MakeFloat (_fdbca .WhitePoint [1]),_cb .MakeFloat (_fdbca .WhitePoint [2]));_cded .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_bfbcg );}else {_dbe .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 _fdbca .BlackPoint !=nil {_egbg :=_cb .MakeArray (_cb .MakeFloat (_fdbca .BlackPoint [0]),_cb .MakeFloat (_fdbca .BlackPoint [1]),_cb .MakeFloat (_fdbca .BlackPoint [2]));_cded .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_egbg );};if _fdbca .Range !=nil {_gedd :=_cb .MakeArray (_cb .MakeFloat (_fdbca .Range [0]),_cb .MakeFloat (_fdbca .Range [1]),_cb .MakeFloat (_fdbca .Range [2]),_cb .MakeFloat (_fdbca .Range [3]));_cded .Set ("\u0052\u0061\u006eg\u0065",_gedd );};_fdfda .Append (_cded );if _fdbca ._ddee !=nil {_fdbca ._ddee .PdfObject =_fdfda ;return _fdbca ._ddee ;};return _fdfda ;};func (_bdf *PdfReader )newPdfActionResetFormFromDict (_bcb *_cb .PdfObjectDictionary )(*PdfActionResetForm ,error ){return &PdfActionResetForm {Fields :_bcb .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_bcb .Get ("\u0046\u006c\u0061g\u0073")},nil ;};type pdfCIDFontType2 struct{fontCommon ;_dfdbg *_cb .PdfIndirectObject ;_acdcfc _ccb .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// Dictionary that defines the character collection of the CIDFont (required).
|
||
// See Table 116.
|
||
CIDSystemInfo *_cb .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _cb .PdfObject ;W _cb .PdfObject ;DW2 _cb .PdfObject ;W2 _cb .PdfObject ;
|
||
|
||
// CIDs to glyph indices mapping (optional).
|
||
CIDToGIDMap _cb .PdfObject ;_faafd map[_ccb .CharCode ]float64 ;_ffga float64 ;_fgga map[rune ]int ;};
|
||
|
||
// NewPdfAnnotationStamp returns a new stamp annotation.
|
||
func NewPdfAnnotationStamp ()*PdfAnnotationStamp {_eace :=NewPdfAnnotation ();_gbgb :=&PdfAnnotationStamp {};_gbgb .PdfAnnotation =_eace ;_gbgb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_eace .SetContext (_gbgb );return _gbgb ;};
|
||
|
||
// 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 (_gceca *PdfColorspaceSpecialPattern )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )< 1{return nil ,_bc .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");};_dbbe :=&PdfColorPattern {};_gbgga ,_egdea :=objects [len (objects )-1].(*_cb .PdfObjectName );if !_egdea {_dbe .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 ;};_dbbe .PatternName =*_gbgga ;if len (objects )> 1{_gdab :=objects [0:len (objects )-1];if _gceca .UnderlyingCS ==nil {_dbe .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 ,_bc .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};_cdfg ,_abca :=_gceca .UnderlyingCS .ColorFromPdfObjects (_gdab );if _abca !=nil {_dbe .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",_abca );return nil ,_abca ;};_dbbe .Color =_cdfg ;};return _dbbe ,nil ;};
|
||
|
||
// ToPdfObject converts the PdfPage to a dictionary within an indirect object container.
|
||
func (_bdcac *PdfPage )ToPdfObject ()_cb .PdfObject {_efdgb :=_bdcac ._adbf ;_bdcac .GetPageDict ();return _efdgb ;};
|
||
|
||
// GetContext returns the annotation context which contains the specific type-dependent context.
|
||
// The context represents the subannotation.
|
||
func (_dbgf *PdfAnnotation )GetContext ()PdfModel {if _dbgf ==nil {return nil ;};return _dbgf ._gea ;};func (_ceafc *pdfFontSimple )addEncoding ()error {var (_fbfd string ;_cbcgd map[_ccb .CharCode ]_ccb .GlyphName ;_fgead _ccb .SimpleEncoder ;);if _ceafc .Encoder ()!=nil {_gadgdd ,_ffcc :=_ceafc .Encoder ().(_ccb .SimpleEncoder );if _ffcc &&_gadgdd !=nil {_fbfd =_gadgdd .BaseName ();};};if _ceafc .Encoding !=nil {_begce ,_dcdf ,_aaeb :=_ceafc .getFontEncoding ();if _aaeb !=nil {_dbe .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",_ceafc ._babff ,_ceafc ._fbefd ,_ceafc .Encoding ,_ceafc .Encoding ,_aaeb );return _aaeb ;};if _begce !=""{_fbfd =_begce ;};_fgead ,_aaeb =_ccb .NewSimpleTextEncoder (_fbfd ,_dcdf );if _aaeb !=nil {return _aaeb ;};};if _fgead ==nil {_eedg :=_ceafc ._bgbb ;if _eedg !=nil {switch _ceafc ._fbefd {case "\u0054\u0079\u0070e\u0031":if _eedg .fontFile !=nil &&_eedg .fontFile ._fefc !=nil {_dbe .Log .Debug ("\u0055\u0073\u0069\u006e\u0067\u0020\u0066\u006f\u006et\u0046\u0069\u006c\u0065");_fgead =_eedg .fontFile ._fefc ;};case "\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":if _eedg ._eabdd !=nil {_dbe .Log .Debug ("\u0055s\u0069n\u0067\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0032");_bfgbcd ,_bfgd :=_eedg ._eabdd .MakeEncoder ();if _bfgd ==nil {_fgead =_bfgbcd ;};};};};};if _fgead !=nil {if _cbcgd !=nil {_dbe .Log .Trace ("\u0064\u0069\u0066fe\u0072\u0065\u006e\u0063\u0065\u0073\u003d\u0025\u002b\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_cbcgd ,_ceafc .baseFields ());_fgead =_ccb .ApplyDifferences (_fgead ,_cbcgd );};_ceafc .SetEncoder (_fgead );};return nil ;};func _bagff (_gaee _cb .PdfObject )(*fontFile ,error ){_dbe .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",_gaee );_gbffd :=&fontFile {};_gaee =_cb .TraceToDirectObject (_gaee );_bbeb ,_gcfee :=_gaee .(*_cb .PdfObjectStream );if !_gcfee {_dbe .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",_gaee );return nil ,_cb .ErrTypeError ;};_fdfgc :=_bbeb .PdfObjectDictionary ;_abccgc ,_ebff :=_cb .DecodeStream (_bbeb );if _ebff !=nil {return nil ,_ebff ;};_acde ,_gcfee :=_cb .GetNameVal (_fdfgc .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_gcfee {_gbffd ._bfee =_acde ;if _acde =="\u0054\u0079\u0070\u0065\u0031\u0043"{_dbe .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 ;};};_gdfcb ,_ :=_cb .GetIntVal (_fdfgc .Get ("\u004ce\u006e\u0067\u0074\u0068\u0031"));_bbde ,_ :=_cb .GetIntVal (_fdfgc .Get ("\u004ce\u006e\u0067\u0074\u0068\u0032"));if _gdfcb > len (_abccgc ){_gdfcb =len (_abccgc );};if _gdfcb +_bbde > len (_abccgc ){_bbde =len (_abccgc )-_gdfcb ;};_fcgdb :=_abccgc [:_gdfcb ];var _bedc []byte ;if _bbde > 0{_bedc =_abccgc [_gdfcb :_gdfcb +_bbde ];};if _gdfcb > 0&&_bbde > 0{_cbeg :=_gbffd .loadFromSegments (_fcgdb ,_bedc );if _cbeg !=nil {return nil ,_cbeg ;};};return _gbffd ,nil ;};
|
||
|
||
// NewPdfAnnotationStrikeOut returns a new text strikeout annotation.
|
||
func NewPdfAnnotationStrikeOut ()*PdfAnnotationStrikeOut {_fcda :=NewPdfAnnotation ();_gfaf :=&PdfAnnotationStrikeOut {};_gfaf .PdfAnnotation =_fcda ;_gfaf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fcda .SetContext (_gfaf );return _gfaf ;};var _adebc ="";func (_bbfecc *PdfReader )buildOutlineTree (_eccf _cb .PdfObject ,_ccfba *PdfOutlineTreeNode ,_bbgbe *PdfOutlineTreeNode ,_eaefcg map[_cb .PdfObject ]struct{})(*PdfOutlineTreeNode ,*PdfOutlineTreeNode ,error ){if _eaefcg ==nil {_eaefcg =map[_cb .PdfObject ]struct{}{};};_eaefcg [_eccf ]=struct{}{};_cdefc ,_bbgfe :=_eccf .(*_cb .PdfIndirectObject );if !_bbgfe {return nil ,nil ,_c .Errorf ("\u006f\u0075\u0074\u006c\u0069\u006e\u0065 \u0063\u006f\u006et\u0061\u0069\u006e\u0065r\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u0025\u0054",_eccf );};_gfcfc ,_facdbd :=_cdefc .PdfObject .(*_cb .PdfObjectDictionary );if !_facdbd {return nil ,nil ,_bc .New ("\u006e\u006f\u0074 a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_dbe .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",_gfcfc ,_cdefc ,_cdefc );if _dadbe :=_gfcfc .Get ("\u0054\u0069\u0074l\u0065");_dadbe !=nil {_ebdbe ,_cgggb :=_bbfecc .newPdfOutlineItemFromIndirectObject (_cdefc );if _cgggb !=nil {return nil ,nil ,_cgggb ;};_ebdbe .Parent =_ccfba ;_ebdbe .Prev =_bbgbe ;_bebgd :=_cb .ResolveReference (_gfcfc .Get ("\u0046\u0069\u0072s\u0074"));if _ ,_gaeff :=_eaefcg [_bebgd ];_bebgd !=nil &&_bebgd !=_cdefc &&!_gaeff {if !_cb .IsNullObject (_bebgd ){_gdcca ,_feaeb ,_efcf :=_bbfecc .buildOutlineTree (_bebgd ,&_ebdbe .PdfOutlineTreeNode ,nil ,_eaefcg );if _efcf !=nil {_dbe .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",_efcf );}else {_ebdbe .First =_gdcca ;_ebdbe .Last =_feaeb ;};};};_fegfa :=_cb .ResolveReference (_gfcfc .Get ("\u004e\u0065\u0078\u0074"));if _ ,_dccb :=_eaefcg [_fegfa ];_fegfa !=nil &&_fegfa !=_cdefc &&!_dccb {if !_cb .IsNullObject (_fegfa ){_defbf ,_ecfg ,_gaabf :=_bbfecc .buildOutlineTree (_fegfa ,_ccfba ,&_ebdbe .PdfOutlineTreeNode ,_eaefcg );if _gaabf !=nil {_dbe .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",_gaabf );}else {_ebdbe .Next =_defbf ;return &_ebdbe .PdfOutlineTreeNode ,_ecfg ,nil ;};};};return &_ebdbe .PdfOutlineTreeNode ,&_ebdbe .PdfOutlineTreeNode ,nil ;};_ebgf ,_aade :=_ebed (_cdefc );if _aade !=nil {return nil ,nil ,_aade ;};_ebgf .Parent =_ccfba ;if _bddag :=_gfcfc .Get ("\u0046\u0069\u0072s\u0074");_bddag !=nil {_bddag =_cb .ResolveReference (_bddag );_dbbf :=_cb .TraceToDirectObject (_bddag );if _ ,_dfacb :=_dbbf .(*_cb .PdfObjectNull );!_dfacb &&_dbbf !=nil {_adgcg ,_gbbf ,_fegbf :=_bbfecc .buildOutlineTree (_bddag ,&_ebgf .PdfOutlineTreeNode ,nil ,_eaefcg );if _fegbf !=nil {_dbe .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",_fegbf );}else {_ebgf .First =_adgcg ;_ebgf .Last =_gbbf ;};};};return &_ebgf .PdfOutlineTreeNode ,&_ebgf .PdfOutlineTreeNode ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfef *PdfAnnotationPopup )ToPdfObject ()_cb .PdfObject {_cfef .PdfAnnotation .ToPdfObject ();_abadc :=_cfef ._efd ;_bdcf :=_abadc .PdfObject .(*_cb .PdfObjectDictionary );_bdcf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0050\u006f\u0070u\u0070"));_bdcf .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_cfef .Parent );_bdcf .SetIfNotNil ("\u004f\u0070\u0065\u006e",_cfef .Open );return _abadc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dc *PdfActionRendition )ToPdfObject ()_cb .PdfObject {_dc .PdfAction .ToPdfObject ();_cfd :=_dc ._fc ;_gac :=_cfd .PdfObject .(*_cb .PdfObjectDictionary );_gac .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeRendition )));_gac .SetIfNotNil ("\u0052",_dc .R );_gac .SetIfNotNil ("\u0041\u004e",_dc .AN );_gac .SetIfNotNil ("\u004f\u0050",_dc .OP );_gac .SetIfNotNil ("\u004a\u0053",_dc .JS );return _cfd ;};
|
||
|
||
// AddExtGState adds a graphics state to the XObject resources.
|
||
func (_ceeg *PdfPage )AddExtGState (name _cb .PdfObjectName ,egs *_cb .PdfObjectDictionary )error {if _ceeg .Resources ==nil {_ceeg .Resources =NewPdfPageResources ();};if _ceeg .Resources .ExtGState ==nil {_ceeg .Resources .ExtGState =_cb .MakeDict ();};_fcfg ,_gfcdd :=_cb .TraceToDirectObject (_ceeg .Resources .ExtGState ).(*_cb .PdfObjectDictionary );if !_gfcdd {_dbe .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",_cb .TraceToDirectObject (_ceeg .Resources .ExtGState ));return _bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_fcfg .Set (name ,egs );return nil ;};
|
||
|
||
// PdfOutlineItem represents an outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type PdfOutlineItem struct{PdfOutlineTreeNode ;Title *_cb .PdfObjectString ;Parent *PdfOutlineTreeNode ;Prev *PdfOutlineTreeNode ;Next *PdfOutlineTreeNode ;Count *int64 ;Dest _cb .PdfObject ;A _cb .PdfObject ;SE _cb .PdfObject ;C _cb .PdfObject ;F _cb .PdfObject ;_gaga *_cb .PdfIndirectObject ;};func _cegcd ()string {return _eegde };
|
||
|
||
// 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 (_cac *PdfAnnotationWidget )Field ()*PdfField {return _cac ._bdcc };
|
||
|
||
// String returns the name of the colorspace (DeviceN).
|
||
func (_afbb *PdfColorspaceDeviceN )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u004e"};func (_ccdee *PdfReader )traverseObjectData (_gfba _cb .PdfObject )error {return _cb .ResolveReferencesDeep (_gfba ,_ccdee ._fage );};
|
||
|
||
// Insert adds an outline item as a child of the current outline item,
|
||
// at the specified index.
|
||
func (_fcgda *OutlineItem )Insert (index uint ,item *OutlineItem ){_dfbb :=uint (len (_fcgda .Entries ));if index > _dfbb {index =_dfbb ;};_fcgda .Entries =append (_fcgda .Entries [:index ],append ([]*OutlineItem {item },_fcgda .Entries [index :]...)...);};func (_agccb *PdfWriter )writeBytes (_cbedg []byte ){if _agccb ._dadaf !=nil {return ;};_bcag ,_egfee :=_agccb ._eabcf .Write (_cbedg );_agccb ._ceead +=int64 (_bcag );_agccb ._dadaf =_egfee ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for CalRGB).
|
||
func (_fbdc *PdfColorCalRGB )GetNumComponents ()int {return 3};func (_gacfe *PdfReader )newPdfSignatureFromIndirect (_cdfbd *_cb .PdfIndirectObject )(*PdfSignature ,error ){_abada ,_degbd :=_cdfbd .PdfObject .(*_cb .PdfObjectDictionary );if !_degbd {_dbe .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 _bgfef ,_gdcacb :=_gacfe ._bffa .GetModelFromPrimitive (_cdfbd ).(*PdfSignature );_gdcacb {return _bgfef ,nil ;};_bfaea :=&PdfSignature {};_bfaea ._afcda =_cdfbd ;_bfaea .Type ,_ =_cb .GetName (_abada .Get ("\u0054\u0079\u0070\u0065"));_bfaea .Filter ,_degbd =_cb .GetName (_abada .Get ("\u0046\u0069\u006c\u0074\u0065\u0072"));if !_degbd {_dbe .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 ;};_bfaea .SubFilter ,_ =_cb .GetName (_abada .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r"));_bfaea .Contents ,_degbd =_cb .GetString (_abada .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073"));if !_degbd {_dbe .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 ;};_bfaea .Cert =_abada .Get ("\u0043\u0065\u0072\u0074");_bfaea .ByteRange ,_ =_cb .GetArray (_abada .Get ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e"));_bfaea .Reference ,_ =_cb .GetArray (_abada .Get ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e"));_bfaea .Changes ,_ =_cb .GetArray (_abada .Get ("\u0043h\u0061\u006e\u0067\u0065\u0073"));_bfaea .Name ,_ =_cb .GetString (_abada .Get ("\u004e\u0061\u006d\u0065"));_bfaea .M ,_ =_cb .GetString (_abada .Get ("\u004d"));_bfaea .Location ,_ =_cb .GetString (_abada .Get ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"));_bfaea .Reason ,_ =_cb .GetString (_abada .Get ("\u0052\u0065\u0061\u0073\u006f\u006e"));_bfaea .ContactInfo ,_ =_cb .GetString (_abada .Get ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f"));_bfaea .R ,_ =_cb .GetInt (_abada .Get ("\u0052"));_bfaea .V ,_ =_cb .GetInt (_abada .Get ("\u0056"));_bfaea .PropBuild ,_ =_cb .GetDict (_abada .Get ("\u0050\u0072\u006f\u0070\u005f\u0042\u0075\u0069\u006c\u0064"));_bfaea .PropAuthTime ,_ =_cb .GetInt (_abada .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0069\u006d\u0065"));_bfaea .PropAuthType ,_ =_cb .GetName (_abada .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0079\u0070\u0065"));return _bfaea ,nil ;};func _eegf (_ecee _cb .PdfObject )(*_cb .PdfObjectDictionary ,*fontCommon ,error ){_fbgg :=&fontCommon {};if _acdcf ,_cfeaa :=_ecee .(*_cb .PdfIndirectObject );_cfeaa {_fbgg ._cbgad =_acdcf .ObjectNumber ;};_faeed ,_aacb :=_cb .GetDict (_ecee );if !_aacb {_dbe .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",_ecee );return nil ,nil ,ErrFontNotSupported ;};_gead ,_aacb :=_cb .GetNameVal (_faeed .Get ("\u0054\u0079\u0070\u0065"));if !_aacb {_dbe .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 _gead !="\u0046\u006f\u006e\u0074"{_dbe .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.",_gead ,"\u0046\u006f\u006e\u0074");return nil ,nil ,_cb .ErrTypeError ;};_ecfe ,_aacb :=_cb .GetNameVal (_faeed .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_aacb {_dbe .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 ;};_fbgg ._fbefd =_ecfe ;_ggefc ,_aacb :=_cb .GetNameVal (_faeed .Get ("\u004e\u0061\u006d\u0065"));if _aacb {_fbgg ._ecaeb =_ggefc ;};if _ecfe =="\u0054\u0079\u0070e\u0033"{_dbe .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",_faeed );return _faeed ,_fbgg ,ErrType3FontNotSupported ;};_degf ,_aacb :=_cb .GetNameVal (_faeed .Get ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074"));if !_aacb {_dbe .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 _faeed ,_fbgg ,ErrRequiredAttributeMissing ;};_fbgg ._babff =_degf ;_geacb :=_faeed .Get ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072");if _geacb !=nil {_bgage ,_fgba :=_dbgb (_geacb );if _fgba !=nil {_dbe .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",_fgba );return _faeed ,_fbgg ,_fgba ;};_fbgg ._bgbb =_bgage ;};_gdda :=_faeed .Get ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e");if _gdda !=nil {_fbgg ._ccaac =_cb .TraceToDirectObject (_gdda );_facc ,_becad :=_gbgdg (_fbgg ._ccaac ,_fbgg );if _becad !=nil {return _faeed ,_fbgg ,_becad ;};_fbgg ._agag =_facc ;}else if _ecfe =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"||_ecfe =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_ggda ,_fddb :=_gb .NewCIDSystemInfo (_faeed .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if _fddb !=nil {return _faeed ,_fbgg ,_fddb ;};_feag :=_c .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0055\u0043\u0053\u0032",_ggda .Registry ,_ggda .Ordering );if _gb .IsPredefinedCMap (_feag ){_fbgg ._agag ,_fddb =_gb .LoadPredefinedCMap (_feag );if _fddb !=nil {_dbe .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",_feag ,_fddb );};};};return _faeed ,_fbgg ,nil ;};
|
||
|
||
// GetDescent returns the Descent of the font `descriptor`.
|
||
func (_eacaf *PdfFontDescriptor )GetDescent ()(float64 ,error ){return _cb .GetNumberAsFloat (_eacaf .Descent );};func _fdeag (_ecaf *PdfField ,_ddgd _cb .PdfObject )error {switch _ecaf .GetContext ().(type ){case *PdfFieldText :switch _ggfe :=_ddgd .(type ){case *_cb .PdfObjectName :_gegaee :=_ggfe ;_dbe .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",_gegaee .String ());_ecaf .V =_cb .MakeEncodedString (_ggfe .String (),true );case *_cb .PdfObjectString :_ecaf .V =_cb .MakeEncodedString (_ggfe .String (),true );default:_dbe .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",_ggfe ,_ggfe );};case *PdfFieldButton :switch _ddgd .(type ){case *_cb .PdfObjectName :if len (_ddgd .String ())> 0{_ecaf .V =_ddgd ;_adgdg (_ecaf ,_ddgd );};case *_cb .PdfObjectString :if len (_ddgd .String ())> 0{_ecaf .V =_cb .MakeName (_ddgd .String ());_adgdg (_ecaf ,_ecaf .V );};default:_dbe .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",_ecaf .PartialName (),_ddgd );_ecaf .V =_ddgd ;};case *PdfFieldChoice :switch _ddgd .(type ){case *_cb .PdfObjectName :if len (_ddgd .String ())> 0{_ecaf .V =_cb .MakeString (_ddgd .String ());_adgdg (_ecaf ,_ddgd );};case *_cb .PdfObjectString :if len (_ddgd .String ())> 0{_ecaf .V =_ddgd ;_adgdg (_ecaf ,_cb .MakeName (_ddgd .String ()));};default:_dbe .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",_ecaf .PartialName (),_ddgd );_ecaf .V =_ddgd ;};case *PdfFieldSignature :_dbe .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",_ecaf .PartialName (),_ddgd );};return 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 ){_defd ,_ggce :=_eegd (basefont );if _ggce !=nil {return nil ,_ggce ;};if basefont !=SymbolName &&basefont !=ZapfDingbatsName {_defd ._egffg =_ccb .NewWinAnsiEncoder ();};return &PdfFont {_cdfe :&_defd },nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three elements representing the
|
||
// L (range 0-100), A (range -100-100) and B (range -100-100) components of
|
||
// the color.
|
||
func (_dbgc *PdfColorspaceLab )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cdgc :=vals [0];if _cdgc < 0.0||_cdgc > 100.0{_dbe .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",_cdgc );return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdad :=vals [1];_eacc :=float64 (-100);_fcfb :=float64 (100);if len (_dbgc .Range )> 1{_eacc =_dbgc .Range [0];_fcfb =_dbgc .Range [1];};if _gdad < _eacc ||_gdad > _fcfb {_dbe .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",_gdad ,_eacc ,_fcfb );return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fcbd :=vals [2];_gffb :=float64 (-100);_egdd :=float64 (100);if len (_dbgc .Range )> 3{_gffb =_dbgc .Range [2];_egdd =_dbgc .Range [3];};if _fcbd < _gffb ||_fcbd > _egdd {_dbe .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",_fcbd ,_gffb ,_egdd );return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dfbd :=NewPdfColorLab (_cdgc ,_gdad ,_fcbd );return _dfbd ,nil ;};
|
||
|
||
// DecodeArray returns the component range values for the DeviceN colorspace.
|
||
// [0 1.0 0 1.0 ...] for each color component.
|
||
func (_ecaa *PdfColorspaceDeviceN )DecodeArray ()[]float64 {var _bade []float64 ;for _caaba :=0;_caaba < _ecaa .GetNumComponents ();_caaba ++{_bade =append (_bade ,0.0,1.0);};return _bade ;};
|
||
|
||
// WatermarkImageOptions contains options for configuring the watermark process.
|
||
type WatermarkImageOptions struct{Alpha float64 ;FitToWidth bool ;PreserveAspectRatio bool ;};
|
||
|
||
// 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 (_addg *PdfAppender )Sign (pageNum int ,field *PdfFieldSignature )error {if field ==nil {return _bc .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");};_agaf :=field .V ;if _agaf ==nil {return _bc .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");};_efbc :=pageNum -1;if _efbc < 0||_efbc > len (_addg ._dgce )-1{return _c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064",pageNum );};_dadd :=_addg .Reader .PageList [_efbc ];field .P =_dadd .ToPdfObject ();if field .T ==nil ||field .T .String ()==""{field .T =_cb .MakeString (_c .Sprintf ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072\u0065\u0020\u0025\u0064",pageNum ));};_dadd .AddAnnotation (field .PdfAnnotationWidget .PdfAnnotation );if _addg ._abbe ==_addg ._acgg .AcroForm {_addg ._abbe =_addg .Reader .AcroForm ;};_cbbe :=_addg ._abbe ;if _cbbe ==nil {_cbbe =NewPdfAcroForm ();};_cbbe .SigFlags =_cb .MakeInteger (3);_eeaa :=append (_cbbe .AllFields (),field .PdfField );_cbbe .Fields =&_eeaa ;_addg .ReplaceAcroForm (_cbbe );_addg .UpdatePage (_dadd );_addg ._dgce [_efbc ]=_dadd ;return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_gdgbe *PdfShadingType2 )ToPdfObject ()_cb .PdfObject {_gdgbe .PdfShading .ToPdfObject ();_eggda ,_dgggc :=_gdgbe .getShadingDict ();if _dgggc !=nil {_dbe .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 _eggda ==nil {_dbe .Log .Error ("\u0053\u0068\u0061\u0064in\u0067\u0020\u0064\u0069\u0063\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c");return nil ;};if _gdgbe .Coords !=nil {_eggda .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_gdgbe .Coords );};if _gdgbe .Domain !=nil {_eggda .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_gdgbe .Domain );};if _gdgbe .Function !=nil {if len (_gdgbe .Function )==1{_eggda .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_gdgbe .Function [0].ToPdfObject ());}else {_agbbe :=_cb .MakeArray ();for _ ,_bcef :=range _gdgbe .Function {_agbbe .Append (_bcef .ToPdfObject ());};_eggda .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_agbbe );};};if _gdgbe .Extend !=nil {_eggda .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_gdgbe .Extend );};return _gdgbe ._gfdg ;};
|
||
|
||
// GetPageLabels returns the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_gfgca *PdfReader )GetPageLabels ()(_cb .PdfObject ,error ){_abffb :=_cb .ResolveReference (_gfgca ._fccgb .Get ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073"));if _abffb ==nil {return nil ,nil ;};if !_gfgca ._cbfab {_afecgf :=_gfgca .traverseObjectData (_abffb );if _afecgf !=nil {return nil ,_afecgf ;};};return _abffb ,nil ;};
|
||
|
||
// NewPdfActionLaunch returns a new "launch" action.
|
||
func NewPdfActionLaunch ()*PdfActionLaunch {_bcc :=NewPdfAction ();_fd :=&PdfActionLaunch {};_fd .PdfAction =_bcc ;_bcc .SetContext (_fd );return _fd ;};
|
||
|
||
// ImageToRGB converts ICCBased colorspace image to RGB and returns the result.
|
||
func (_badgc *PdfColorspaceICCBased )ImageToRGB (img Image )(Image ,error ){if _badgc .Alternate ==nil {_dbe .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 _badgc .N ==1{_dbe .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");_ffca :=NewPdfColorspaceDeviceGray ();return _ffca .ImageToRGB (img );}else if _badgc .N ==3{_dbe .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 _badgc .N ==4{_dbe .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");_feed :=NewPdfColorspaceDeviceCMYK ();return _feed .ImageToRGB (img );}else {return img ,_bc .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");};};_dbe .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",_badgc );_abag ,_egggd :=_badgc .Alternate .ImageToRGB (img );_dbe .Log .Trace ("I\u0043C\u0020\u0049\u006e\u0070\u0075\u0074\u0020\u0069m\u0061\u0067\u0065\u003a %\u002b\u0076",img );_dbe .Log .Trace ("I\u0043\u0043\u0020\u004fut\u0070u\u0074\u0020\u0069\u006d\u0061g\u0065\u003a\u0020\u0025\u002b\u0076",_abag );return _abag ,_egggd ;};func _fccb (_afaf _cb .PdfObject )(*PdfColorspaceCalGray ,error ){_cbed :=NewPdfColorspaceCalGray ();if _efc ,_aced :=_afaf .(*_cb .PdfIndirectObject );_aced {_cbed ._beeg =_efc ;};_afaf =_cb .TraceToDirectObject (_afaf );_dccde ,_cdbed :=_afaf .(*_cb .PdfObjectArray );if !_cdbed {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _dccde .Len ()!=2{return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0043\u0061\u006cG\u0072\u0061\u0079\u0020\u0063\u006f\u006c\u006f\u0072\u0073p\u0061\u0063\u0065");};_afaf =_cb .TraceToDirectObject (_dccde .Get (0));_bbed ,_cdbed :=_afaf .(*_cb .PdfObjectName );if !_cdbed {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061\u0079\u0020\u006e\u0061m\u0065\u0020\u006e\u006f\u0074\u0020\u0061 \u004e\u0061\u006d\u0065\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};if *_bbed !="\u0043a\u006c\u0047\u0072\u0061\u0079"{return nil ,_c .Errorf ("\u006eo\u0074\u0020\u0061\u0020\u0043\u0061\u006c\u0047\u0072\u0061\u0079 \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_afaf =_cb .TraceToDirectObject (_dccde .Get (1));_eeaf ,_cdbed :=_afaf .(*_cb .PdfObjectDictionary );if !_cdbed {return nil ,_c .Errorf ("\u0043\u0061lG\u0072\u0061\u0079 \u0064\u0069\u0063\u0074 no\u0074 a\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u006f\u0062\u006a\u0065c\u0074");};_afaf =_eeaf .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_afaf =_cb .TraceToDirectObject (_afaf );_bgeag ,_cdbed :=_afaf .(*_cb .PdfObjectArray );if !_cdbed {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020W\u0068\u0069\u0074e\u0050o\u0069\u006e\u0074");};if _bgeag .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061y\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069t\u0065\u0050\u006f\u0069\u006e\u0074\u0020a\u0072\u0072\u0061\u0079");};_fada ,_bdgdf :=_bgeag .GetAsFloat64Slice ();if _bdgdf !=nil {return nil ,_bdgdf ;};_cbed .WhitePoint =_fada ;_afaf =_eeaf .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _afaf !=nil {_afaf =_cb .TraceToDirectObject (_afaf );_aacc ,_abe :=_afaf .(*_cb .PdfObjectArray );if !_abe {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020B\u006c\u0061\u0063k\u0050o\u0069\u006e\u0074");};if _aacc .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0047\u0072\u0061y\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061c\u006b\u0050\u006f\u0069\u006e\u0074\u0020a\u0072\u0072\u0061\u0079");};_aabcg ,_aggg :=_aacc .GetAsFloat64Slice ();if _aggg !=nil {return nil ,_aggg ;};_cbed .BlackPoint =_aabcg ;};_afaf =_eeaf .Get ("\u0047\u0061\u006dm\u0061");if _afaf !=nil {_afaf =_cb .TraceToDirectObject (_afaf );_gddd ,_abfe :=_cb .GetNumberAsFloat (_afaf );if _abfe !=nil {return nil ,_c .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0067\u0061\u006d\u006d\u0061\u0020\u006e\u006ft\u0020\u0061\u0020n\u0075m\u0062\u0065\u0072");};_cbed .Gamma =_gddd ;};return _cbed ,nil ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_ccbac *XObjectForm )ToPdfObject ()_cb .PdfObject {_feedd :=_ccbac ._eaadb ;_afecc :=_feedd .PdfObjectDictionary ;if _ccbac .Filter !=nil {_afecc =_ccbac .Filter .MakeStreamDict ();_feedd .PdfObjectDictionary =_afecc ;};_afecc .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_afecc .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0046\u006f\u0072\u006d"));_afecc .SetIfNotNil ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065",_ccbac .FormType );_afecc .SetIfNotNil ("\u0042\u0042\u006f\u0078",_ccbac .BBox );_afecc .SetIfNotNil ("\u004d\u0061\u0074\u0072\u0069\u0078",_ccbac .Matrix );if _ccbac .Resources !=nil {_afecc .SetIfNotNil ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_ccbac .Resources .ToPdfObject ());};_afecc .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_ccbac .Group );_afecc .SetIfNotNil ("\u0052\u0065\u0066",_ccbac .Ref );_afecc .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061",_ccbac .MetaData );_afecc .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_ccbac .PieceInfo );_afecc .SetIfNotNil ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_ccbac .LastModified );_afecc .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_ccbac .StructParent );_afecc .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_ccbac .StructParents );_afecc .SetIfNotNil ("\u004f\u0050\u0049",_ccbac .OPI );_afecc .SetIfNotNil ("\u004f\u0043",_ccbac .OC );_afecc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_ccbac .Name );_afecc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_ccbac .Stream ))));_feedd .Stream =_ccbac .Stream ;return _feedd ;};func (_cea *PdfReader )newPdfAnnotationPolyLineFromDict (_gfge *_cb .PdfObjectDictionary )(*PdfAnnotationPolyLine ,error ){_bcbb :=PdfAnnotationPolyLine {};_gec ,_dgeb :=_cea .newPdfAnnotationMarkupFromDict (_gfge );if _dgeb !=nil {return nil ,_dgeb ;};_bcbb .PdfAnnotationMarkup =_gec ;_bcbb .Vertices =_gfge .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_bcbb .LE =_gfge .Get ("\u004c\u0045");_bcbb .BS =_gfge .Get ("\u0042\u0053");_bcbb .IC =_gfge .Get ("\u0049\u0043");_bcbb .BE =_gfge .Get ("\u0042\u0045");_bcbb .IT =_gfge .Get ("\u0049\u0054");_bcbb .Measure =_gfge .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_bcbb ,nil ;};
|
||
|
||
// GetNumPages returns the number of pages in the document.
|
||
func (_bddb *PdfReader )GetNumPages ()(int ,error ){if _bddb ._gfecg .GetCrypter ()!=nil &&!_bddb ._gfecg .IsAuthenticated (){return 0,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};return len (_bddb ._dfcdb ),nil ;};func _eggaf (_edcae *PdfPage ){_ffdg :=_da .GetLicenseKey ();if _ffdg !=nil &&_ffdg .IsLicensed (){return ;};_bgdec :=_cb .PdfObjectName ("\u0055\u0046\u0031");if !_edcae .Resources .HasFontByName (_bgdec ){_edcae .Resources .SetFontByName (_bgdec ,DefaultFont ().ToPdfObject ());};var _dgfc []string ;_dgfc =append (_dgfc ,"\u0071");_dgfc =append (_dgfc ,"\u0042\u0054");_dgfc =append (_dgfc ,_c .Sprintf ("\u002f%\u0073\u0020\u0031\u0034\u0020\u0054f",_bgdec .String ()));_dgfc =append (_dgfc ,"\u0031\u0020\u0030\u0020\u0030\u0020\u0072\u0067");_dgfc =append (_dgfc ,"\u0031\u0030\u0020\u0031\u0030\u0020\u0054\u0064");_gdbea :="\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";_dgfc =append (_dgfc ,_c .Sprintf ("\u0028%\u0073\u0029\u0020\u0054\u006a",_gdbea ));_dgfc =append (_dgfc ,"\u0045\u0054");_dgfc =append (_dgfc ,"\u0051");_babbe :=_fe .Join (_dgfc ,"\u000a");_edcae .AddContentStreamByString (_babbe );_edcae .ToPdfObject ();};func _gfbee (_afege *_cb .PdfObjectDictionary )(*PdfFieldButton ,error ){_efgbg :=&PdfFieldButton {};_efgbg .Opt ,_ =_cb .GetArray (_afege .Get ("\u004f\u0070\u0074"));return _efgbg ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_daafg *PdfShadingType1 )ToPdfObject ()_cb .PdfObject {_daafg .PdfShading .ToPdfObject ();_adea ,_fbgaa :=_daafg .getShadingDict ();if _fbgaa !=nil {_dbe .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 _daafg .Domain !=nil {_adea .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_daafg .Domain );};if _daafg .Matrix !=nil {_adea .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_daafg .Matrix );};if _daafg .Function !=nil {if len (_daafg .Function )==1{_adea .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_daafg .Function [0].ToPdfObject ());}else {_ddbbf :=_cb .MakeArray ();for _ ,_gffba :=range _daafg .Function {_ddbbf .Append (_gffba .ToPdfObject ());};_adea .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ddbbf );};};return _daafg ._gfdg ;};
|
||
|
||
// PdfActionHide represents a hide action.
|
||
type PdfActionHide struct{*PdfAction ;T _cb .PdfObject ;H _cb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fgcae *PdfBorderStyle )ToPdfObject ()_cb .PdfObject {_cagg :=_cb .MakeDict ();if _fgcae ._cbcbf !=nil {if _cdcg ,_ead :=_fgcae ._cbcbf .(*_cb .PdfIndirectObject );_ead {_cdcg .PdfObject =_cagg ;};};_cagg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0042\u006f\u0072\u0064\u0065\u0072"));if _fgcae .W !=nil {_cagg .Set ("\u0057",_cb .MakeFloat (*_fgcae .W ));};if _fgcae .S !=nil {_cagg .Set ("\u0053",_cb .MakeName (_fgcae .S .GetPdfName ()));};if _fgcae .D !=nil {_cagg .Set ("\u0044",_cb .MakeArrayFromIntegers (*_fgcae .D ));};if _fgcae ._cbcbf !=nil {return _fgcae ._cbcbf ;};return _cagg ;};
|
||
|
||
// SetContext sets the sub action (context).
|
||
func (_ggg *PdfAction )SetContext (ctx PdfModel ){_ggg ._ab =ctx };
|
||
|
||
// GetTrailer returns the PDF's trailer dictionary.
|
||
func (_ceecc *PdfReader )GetTrailer ()(*_cb .PdfObjectDictionary ,error ){_edbea :=_ceecc ._gfecg .GetTrailer ();if _edbea ==nil {return nil ,_bc .New ("\u0074r\u0061i\u006c\u0065\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};return _edbea ,nil ;};
|
||
|
||
// GetOptimizer returns current PDF optimizer.
|
||
func (_bgbe *PdfWriter )GetOptimizer ()Optimizer {return _bgbe ._agfcf };
|
||
|
||
// GetPageDict converts the Page to a PDF object dictionary.
|
||
func (_dcfa *PdfPage )GetPageDict ()*_cb .PdfObjectDictionary {_gfbeg :=_dcfa ._acaa ;_gfbeg .Clear ();_gfbeg .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0050\u0061\u0067\u0065"));_gfbeg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_dcfa .Parent );if _dcfa .LastModified !=nil {_gfbeg .Set ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_dcfa .LastModified .ToPdfObject ());};if _dcfa .Resources !=nil {_gfbeg .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_dcfa .Resources .ToPdfObject ());};if _dcfa .CropBox !=nil {_gfbeg .Set ("\u0043r\u006f\u0070\u0042\u006f\u0078",_dcfa .CropBox .ToPdfObject ());};if _dcfa .MediaBox !=nil {_gfbeg .Set ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078",_dcfa .MediaBox .ToPdfObject ());};if _dcfa .BleedBox !=nil {_gfbeg .Set ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078",_dcfa .BleedBox .ToPdfObject ());};if _dcfa .TrimBox !=nil {_gfbeg .Set ("\u0054r\u0069\u006d\u0042\u006f\u0078",_dcfa .TrimBox .ToPdfObject ());};if _dcfa .ArtBox !=nil {_gfbeg .Set ("\u0041\u0072\u0074\u0042\u006f\u0078",_dcfa .ArtBox .ToPdfObject ());};_gfbeg .SetIfNotNil ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f",_dcfa .BoxColorInfo );_gfbeg .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_dcfa .Contents );if _dcfa .Rotate !=nil {_gfbeg .Set ("\u0052\u006f\u0074\u0061\u0074\u0065",_cb .MakeInteger (*_dcfa .Rotate ));};_gfbeg .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_dcfa .Group );_gfbeg .SetIfNotNil ("\u0054\u0068\u0075m\u0062",_dcfa .Thumb );_gfbeg .SetIfNotNil ("\u0042",_dcfa .B );_gfbeg .SetIfNotNil ("\u0044\u0075\u0072",_dcfa .Dur );_gfbeg .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_dcfa .Trans );_gfbeg .SetIfNotNil ("\u0041\u0041",_dcfa .AA );_gfbeg .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_dcfa .Metadata );_gfbeg .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_dcfa .PieceInfo );_gfbeg .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_dcfa .StructParents );_gfbeg .SetIfNotNil ("\u0049\u0044",_dcfa .ID );_gfbeg .SetIfNotNil ("\u0050\u005a",_dcfa .PZ );_gfbeg .SetIfNotNil ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f",_dcfa .SeparationInfo );_gfbeg .SetIfNotNil ("\u0054\u0061\u0062\u0073",_dcfa .Tabs );_gfbeg .SetIfNotNil ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064",_dcfa .TemplateInstantiated );_gfbeg .SetIfNotNil ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s",_dcfa .PresSteps );_gfbeg .SetIfNotNil ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074",_dcfa .UserUnit );_gfbeg .SetIfNotNil ("\u0056\u0050",_dcfa .VP );if _dcfa ._dcgde !=nil {_ggeee :=_cb .MakeArray ();for _ ,_afea :=range _dcfa ._dcgde {if _cgade :=_afea .GetContext ();_cgade !=nil {_ggeee .Append (_cgade .ToPdfObject ());}else {_ggeee .Append (_afea .ToPdfObject ());};};if _ggeee .Len ()> 0{_gfbeg .Set ("\u0041\u006e\u006e\u006f\u0074\u0073",_ggeee );};}else if _dcfa .Annots !=nil {_gfbeg .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0073",_dcfa .Annots );};return _gfbeg ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_ddaa *PdfColorspaceSpecialIndexed )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gfbe ,_cdgd :=_cb .GetNumbersAsFloat (objects );if _cdgd !=nil {return nil ,_cdgd ;};return _ddaa .ColorFromFloats (_gfbe );};
|
||
|
||
// PdfOutline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
type PdfOutline struct{PdfOutlineTreeNode ;Parent *PdfOutlineTreeNode ;Count *int64 ;_ffbfg *_cb .PdfIndirectObject ;};
|
||
|
||
// SetForms sets the Acroform for a PDF file.
|
||
func (_efaee *PdfWriter )SetForms (form *PdfAcroForm )error {_efaee ._aeegd =form ;return nil };func (_acf *PdfReader )newPdfAnnotationWatermarkFromDict (_dfcd *_cb .PdfObjectDictionary )(*PdfAnnotationWatermark ,error ){_bea :=PdfAnnotationWatermark {};_bea .FixedPrint =_dfcd .Get ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074");return &_bea ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_cfdaa *PdfPage )GetContainingPdfObject ()_cb .PdfObject {return _cfdaa ._adbf };
|
||
|
||
// SetImage updates XObject Image with new image data.
|
||
func (_ecccb *XObjectImage )SetImage (img *Image ,cs PdfColorspace )error {_ecccb .Filter .UpdateParams (img .GetParamsDict ());_bagbbc ,_ggefa :=_ecccb .Filter .EncodeBytes (img .Data );if _ggefa !=nil {return _ggefa ;};_ecccb .Stream =_bagbbc ;_cdfcc :=img .Width ;_ecccb .Width =&_cdfcc ;_adedb :=img .Height ;_ecccb .Height =&_adedb ;_edde :=img .BitsPerComponent ;_ecccb .BitsPerComponent =&_edde ;if cs ==nil {if img .ColorComponents ==1{_ecccb .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_ecccb .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_ecccb .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return _bc .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_ecccb .ColorSpace =cs ;};return nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cdb *PdfActionThread )ToPdfObject ()_cb .PdfObject {_cdb .PdfAction .ToPdfObject ();_bcd :=_cdb ._fc ;_efb :=_bcd .PdfObject .(*_cb .PdfObjectDictionary );_efb .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeThread )));if _cdb .F !=nil {_efb .Set ("\u0046",_cdb .F .ToPdfObject ());};_efb .SetIfNotNil ("\u0044",_cdb .D );_efb .SetIfNotNil ("\u0042",_cdb .B );return _bcd ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_aacba *PdfShadingType4 )ToPdfObject ()_cb .PdfObject {_aacba .PdfShading .ToPdfObject ();_bbca ,_bcbfg :=_aacba .getShadingDict ();if _bcbfg !=nil {_dbe .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 _aacba .BitsPerCoordinate !=nil {_bbca .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_aacba .BitsPerCoordinate );};if _aacba .BitsPerComponent !=nil {_bbca .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_aacba .BitsPerComponent );};if _aacba .BitsPerFlag !=nil {_bbca .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_aacba .BitsPerFlag );};if _aacba .Decode !=nil {_bbca .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_aacba .Decode );};if _aacba .Function !=nil {if len (_aacba .Function )==1{_bbca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_aacba .Function [0].ToPdfObject ());}else {_cegf :=_cb .MakeArray ();for _ ,_ccedc :=range _aacba .Function {_cegf .Append (_ccedc .ToPdfObject ());};_bbca .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cegf );};};return _aacba ._gfdg ;};
|
||
|
||
// PdfAnnotationRedact represents Redact annotations.
|
||
// (Section 12.5.6.23).
|
||
type PdfAnnotationRedact struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _cb .PdfObject ;IC _cb .PdfObject ;RO _cb .PdfObject ;OverlayText _cb .PdfObject ;Repeat _cb .PdfObject ;DA _cb .PdfObject ;Q _cb .PdfObject ;};
|
||
|
||
// SetXObjectFormByName adds the provided XObjectForm to the page resources.
|
||
// The added XObjectForm is identified by the specified name.
|
||
func (_gfffe *PdfPageResources )SetXObjectFormByName (keyName _cb .PdfObjectName ,xform *XObjectForm )error {_cffb :=xform .ToPdfObject ().(*_cb .PdfObjectStream );_ecbag :=_gfffe .SetXObjectByName (keyName ,_cffb );return _ecbag ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cebffb *PdfShadingType6 )ToPdfObject ()_cb .PdfObject {_cebffb .PdfShading .ToPdfObject ();_gcecdf ,_gafcg :=_cebffb .getShadingDict ();if _gafcg !=nil {_dbe .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 _cebffb .BitsPerCoordinate !=nil {_gcecdf .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_cebffb .BitsPerCoordinate );};if _cebffb .BitsPerComponent !=nil {_gcecdf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cebffb .BitsPerComponent );};if _cebffb .BitsPerFlag !=nil {_gcecdf .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_cebffb .BitsPerFlag );};if _cebffb .Decode !=nil {_gcecdf .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_cebffb .Decode );};if _cebffb .Function !=nil {if len (_cebffb .Function )==1{_gcecdf .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cebffb .Function [0].ToPdfObject ());}else {_ggdf :=_cb .MakeArray ();for _ ,_cfabg :=range _cebffb .Function {_ggdf .Append (_cfabg .ToPdfObject ());};_gcecdf .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ggdf );};};return _cebffb ._gfdg ;};
|
||
|
||
// SetName sets the `Name` field of the signature.
|
||
func (_ccddd *PdfSignature )SetName (name string ){_ccddd .Name =_cb .MakeString (name )};func (_deabc *PdfReader )newPdfAnnotationFileAttachmentFromDict (_dddg *_cb .PdfObjectDictionary )(*PdfAnnotationFileAttachment ,error ){_agbc :=PdfAnnotationFileAttachment {};_dgdd ,_abcd :=_deabc .newPdfAnnotationMarkupFromDict (_dddg );if _abcd !=nil {return nil ,_abcd ;};_agbc .PdfAnnotationMarkup =_dgdd ;_agbc .FS =_dddg .Get ("\u0046\u0053");_agbc .Name =_dddg .Get ("\u004e\u0061\u006d\u0065");return &_agbc ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the image object (indirect object).
|
||
func (_ffac *XObjectImage )GetContainingPdfObject ()_cb .PdfObject {return _ffac ._egbff };
|
||
|
||
// PdfAnnotation represents an annotation in PDF (section 12.5 p. 389).
|
||
type PdfAnnotation struct{_gea PdfModel ;Rect _cb .PdfObject ;Contents _cb .PdfObject ;P _cb .PdfObject ;NM _cb .PdfObject ;M _cb .PdfObject ;F _cb .PdfObject ;AP _cb .PdfObject ;AS _cb .PdfObject ;Border _cb .PdfObject ;C _cb .PdfObject ;StructParent _cb .PdfObject ;OC _cb .PdfObject ;_efd *_cb .PdfIndirectObject ;};
|
||
|
||
// GetAscent returns the Ascent of the font `descriptor`.
|
||
func (_caga *PdfFontDescriptor )GetAscent ()(float64 ,error ){return _cb .GetNumberAsFloat (_caga .Ascent );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aca *PdfActionGoTo3DView )ToPdfObject ()_cb .PdfObject {_aca .PdfAction .ToPdfObject ();_bge :=_aca ._fc ;_ged :=_bge .PdfObject .(*_cb .PdfObjectDictionary );_ged .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeGoTo3DView )));_ged .SetIfNotNil ("\u0054\u0041",_aca .TA );_ged .SetIfNotNil ("\u0056",_aca .V );return _bge ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Indexed).
|
||
func (_edeef *PdfColorspaceSpecialIndexed )GetNumComponents ()int {return 1};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cccde *PdfShadingType3 )ToPdfObject ()_cb .PdfObject {_cccde .PdfShading .ToPdfObject ();_eaacb ,_cdgff :=_cccde .getShadingDict ();if _cdgff !=nil {_dbe .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 _cccde .Coords !=nil {_eaacb .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_cccde .Coords );};if _cccde .Domain !=nil {_eaacb .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cccde .Domain );};if _cccde .Function !=nil {if len (_cccde .Function )==1{_eaacb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cccde .Function [0].ToPdfObject ());}else {_fcfgg :=_cb .MakeArray ();for _ ,_gdbfg :=range _cccde .Function {_fcfgg .Append (_gdbfg .ToPdfObject ());};_eaacb .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fcfgg );};};if _cccde .Extend !=nil {_eaacb .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_cccde .Extend );};return _cccde ._gfdg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fda *PdfActionImportData )ToPdfObject ()_cb .PdfObject {_fda .PdfAction .ToPdfObject ();_egg :=_fda ._fc ;_effe :=_egg .PdfObject .(*_cb .PdfObjectDictionary );_effe .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeImportData )));if _fda .F !=nil {_effe .Set ("\u0046",_fda .F .ToPdfObject ());};return _egg ;};
|
||
|
||
// HasExtGState checks whether a font is defined by the specified keyName.
|
||
func (_gadge *PdfPageResources )HasExtGState (keyName _cb .PdfObjectName )bool {_ ,_bgfc :=_gadge .GetFontByName (keyName );return _bgfc ;};type pdfFont interface{_af .Font ;
|
||
|
||
// ToPdfObject returns a PDF representation of the font and implements interface Model.
|
||
ToPdfObject ()_cb .PdfObject ;getFontDescriptor ()*PdfFontDescriptor ;baseFields ()*fontCommon ;};func _dgcee (_gacba _cb .PdfObject )(map[_ccb .CharCode ]float64 ,error ){if _gacba ==nil {return nil ,nil ;};_bbgea ,_ffgcb :=_cb .GetArray (_gacba );if !_ffgcb {return nil ,nil ;};_edga :=map[_ccb .CharCode ]float64 {};_bgbac :=_bbgea .Len ();for _agbca :=0;_agbca < _bgbac -1;_agbca ++{_fgcgdf :=_cb .TraceToDirectObject (_bbgea .Get (_agbca ));_fbcb ,_dcbg :=_cb .GetIntVal (_fgcgdf );if !_dcbg {return nil ,_c .Errorf ("\u0042a\u0064\u0020\u0066\u006fn\u0074\u0020\u0057\u0020\u006fb\u006a0\u003a \u0069\u003d\u0025\u0064\u0020\u0025\u0023v",_agbca ,_fgcgdf );};_agbca ++;if _agbca > _bgbac -1{return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020a\u0072\u0072\u0061\u0079\u003a\u0020\u0061\u0072\u0072\u0032=\u0025\u002b\u0076",_bbgea );};_eagc :=_cb .TraceToDirectObject (_bbgea .Get (_agbca ));switch _eagc .(type ){case *_cb .PdfObjectArray :_edbga ,_ :=_cb .GetArray (_eagc );if _beag ,_fcgc :=_edbga .ToFloat64Array ();_fcgc ==nil {for _fecda :=0;_fecda < len (_beag );_fecda ++{_edga [_ccb .CharCode (_fbcb +_fecda )]=_beag [_fecda ];};}else {return nil ,_c .Errorf ("\u0042\u0061\u0064 \u0066\u006f\u006e\u0074 \u0057\u0020\u0061\u0072\u0072\u0061\u0079 \u006f\u0062\u006a\u0031\u003a\u0020\u0069\u003d\u0025\u0064\u0020\u0025\u0023\u0076",_agbca ,_eagc );};case *_cb .PdfObjectInteger :_gfaga ,_egggff :=_cb .GetIntVal (_eagc );if !_egggff {return nil ,_c .Errorf ("\u0042\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020\u0069\u006e\u0074\u0020\u006f\u0062\u006a\u0031\u003a\u0020\u0069\u003d\u0025\u0064 %\u0023\u0076",_agbca ,_eagc );};_agbca ++;if _agbca > _bgbac -1{return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020a\u0072\u0072\u0061\u0079\u003a\u0020\u0061\u0072\u0072\u0032=\u0025\u002b\u0076",_bbgea );};_bfcg :=_bbgea .Get (_agbca );_ggbfb ,_cbedd :=_cb .GetNumberAsFloat (_bfcg );if _cbedd !=nil {return nil ,_c .Errorf ("\u0042\u0061d\u0020\u0066\u006f\u006e\u0074\u0020\u0057\u0020\u0069\u006e\u0074\u0020\u006f\u0062\u006a\u0032\u003a\u0020\u0069\u003d\u0025\u0064 %\u0023\u0076",_agbca ,_bfcg );};for _acef :=_fbcb ;_acef <=_gfaga ;_acef ++{_edga [_ccb .CharCode (_acef )]=_ggbfb ;};default:return nil ,_c .Errorf ("\u0042\u0061\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0057 \u006f\u0062\u006a\u0031\u0020\u0074\u0079p\u0065\u003a\u0020\u0069\u003d\u0025\u0064\u0020\u0025\u0023\u0076",_agbca ,_eagc );};};return _edga ,nil ;};func _cbbd (_dbebd []byte )[]byte {const _gbfd =52845;const _bdfae =22719;_ggdb :=55665;for _ ,_ecgg :=range _dbebd [:4]{_ggdb =(int (_ecgg )+_ggdb )*_gbfd +_bdfae ;};_fdaf :=make ([]byte ,len (_dbebd )-4);for _bbfce ,_cdfdb :=range _dbebd [4:]{_fdaf [_bbfce ]=byte (int (_cdfdb )^_ggdb >>8);_ggdb =(int (_cdfdb )+_ggdb )*_gbfd +_bdfae ;};return _fdaf ;};
|
||
|
||
// PdfActionResetForm represents a resetForm action.
|
||
type PdfActionResetForm struct{*PdfAction ;Fields _cb .PdfObject ;Flags _cb .PdfObject ;};
|
||
|
||
// 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 *_cb .PdfObjectInteger ;TilingType *_cb .PdfObjectInteger ;BBox *PdfRectangle ;XStep *_cb .PdfObjectFloat ;YStep *_cb .PdfObjectFloat ;Resources *PdfPageResources ;Matrix *_cb .PdfObjectArray ;};
|
||
|
||
// NewPdfActionImportData returns a new "import data" action.
|
||
func NewPdfActionImportData ()*PdfActionImportData {_eff :=NewPdfAction ();_dga :=&PdfActionImportData {};_dga .PdfAction =_eff ;_eff .SetContext (_dga );return _dga ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_cbfe *PdfColorCalGray )ToInteger (bits int )uint32 {_fcae :=_ag .Pow (2,float64 (bits ))-1;return uint32 (_fcae *_cbfe .Val ());};
|
||
|
||
// FieldFlag represents form field flags. Some of the flags can apply to all types of fields whereas other
|
||
// flags are specific.
|
||
type FieldFlag uint32 ;
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_edeb *PdfColorspaceSpecialPattern )ToPdfObject ()_cb .PdfObject {if _edeb .UnderlyingCS ==nil {return _cb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e");};_defa :=_cb .MakeArray (_cb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_defa .Append (_edeb .UnderlyingCS .ToPdfObject ());if _edeb ._beef !=nil {_edeb ._beef .PdfObject =_defa ;return _edeb ._beef ;};return _defa ;};func _fgaa (_gdga _cb .PdfObject )(*PdfColorspaceSpecialIndexed ,error ){_aefc :=NewPdfColorspaceSpecialIndexed ();if _ffgg ,_ddeg :=_gdga .(*_cb .PdfIndirectObject );_ddeg {_aefc ._fdbb =_ffgg ;};_gdga =_cb .TraceToDirectObject (_gdga );_eabe ,_fcadb :=_gdga .(*_cb .PdfObjectArray );if !_fcadb {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _eabe .Len ()!=4{return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069\u006e\u0076a\u006ci\u0064\u0020\u0061\u0072\u0072\u0061\u0079\u0020\u006c\u0065\u006e\u0067\u0074\u0068");};_gdga =_eabe .Get (0);_addgd ,_fcadb :=_gdga .(*_cb .PdfObjectName );if !_fcadb {return nil ,_c .Errorf ("\u0069n\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};if *_addgd !="\u0049n\u0064\u0065\u0078\u0065\u0064"{return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065xe\u0064\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u006e\u0061m\u0065");};_gdga =_eabe .Get (1);_agde ,_fdbg :=DetermineColorspaceNameFromPdfObject (_gdga );if _agde =="\u0049n\u0064\u0065\u0078\u0065\u0064"||_agde =="\u0050a\u0074\u0074\u0065\u0072\u006e"{_dbe .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",_agde );return nil ,_ccef ;};_daef ,_fdbg :=NewPdfColorspaceFromPdfObject (_gdga );if _fdbg !=nil {return nil ,_fdbg ;};_aefc .Base =_daef ;_gdga =_eabe .Get (2);_bbfd ,_fdbg :=_cb .GetNumberAsInt64 (_gdga );if _fdbg !=nil {return nil ,_fdbg ;};if _bbfd > 255{return nil ,_c .Errorf ("\u0069n\u0064\u0065\u0078\u0065d\u0020\u0043\u0053\u003a\u0020I\u006ev\u0061l\u0069\u0064\u0020\u0068\u0069\u0076\u0061l");};_aefc .HiVal =int (_bbfd );_gdga =_eabe .Get (3);_aefc .Lookup =_gdga ;_gdga =_cb .TraceToDirectObject (_gdga );var _ddge []byte ;if _ddce ,_gfdfa :=_gdga .(*_cb .PdfObjectString );_gfdfa {_ddge =_ddce .Bytes ();_dbe .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",_ddge );}else if _effba ,_cbdf :=_gdga .(*_cb .PdfObjectStream );_cbdf {_dbe .Log .Trace ("\u0049n\u0064e\u0078\u0065\u0064\u0020\u0073t\u0072\u0065a\u006d\u003a\u0020\u0025\u0073",_gdga .String ());_dbe .Log .Trace ("\u0045\u006e\u0063\u006fde\u0064\u0020\u0028\u0025\u0064\u0029\u0020\u003a\u0020\u0025\u0023\u0020\u0078",len (_effba .Stream ),_effba .Stream );_ccac ,_affc :=_cb .DecodeStream (_effba );if _affc !=nil {return nil ,_affc ;};_dbe .Log .Trace ("\u0044e\u0063o\u0064\u0065\u0064\u0020\u0028%\u0064\u0029 \u003a\u0020\u0025\u0020\u0058",len (_ccac ),_ccac );_ddge =_ccac ;}else {_dbe .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_gdga );return nil ,_c .Errorf ("\u0069\u006e\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0049\u006e\u0076a\u006ci\u0064\u0020\u0074\u0061\u0062\u006c\u0065\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};if len (_ddge )< _aefc .Base .GetNumComponents ()*(_aefc .HiVal +1){_dbe .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");_dbe .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 (_ddge ),_aefc .Base .GetNumComponents (),_aefc .HiVal );}else {_ddge =_ddge [:_aefc .Base .GetNumComponents ()*(_aefc .HiVal +1)];};_aefc ._ecbc =_ddge ;return _aefc ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cdbe *PdfAnnotationWatermark )ToPdfObject ()_cb .PdfObject {_cdbe .PdfAnnotation .ToPdfObject ();_cgad :=_cdbe ._efd ;_cgfb :=_cgad .PdfObject .(*_cb .PdfObjectDictionary );_cgfb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k"));_cgfb .SetIfNotNil ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074",_cdbe .FixedPrint );return _cgad ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aad *PdfAnnotationRichMedia )ToPdfObject ()_cb .PdfObject {_aad .PdfAnnotation .ToPdfObject ();_bfg :=_aad ._efd ;_efeg :=_bfg .PdfObject .(*_cb .PdfObjectDictionary );_efeg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a"));_efeg .SetIfNotNil ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073",_aad .RichMediaSettings );_efeg .SetIfNotNil ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074",_aad .RichMediaContent );return _bfg ;};func (_ffeea *PdfWriter )addObject (_ebedg _cb .PdfObject )bool {_afdgg :=_ffeea .hasObject (_ebedg );if !_afdgg {_afgbb :=_cb .ResolveReferencesDeep (_ebedg ,_ffeea ._deebb );if _afgbb !=nil {_dbe .Log .Debug ("E\u0052R\u004f\u0052\u003a\u0020\u0025\u0076\u0020\u002d \u0073\u006b\u0069\u0070pi\u006e\u0067",_afgbb );};_ffeea ._bgega =append (_ffeea ._bgega ,_ebedg );_ffeea ._bbbbd [_ebedg ]=struct{}{};return true ;};return false ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aeaa *PdfAnnotation3D )ToPdfObject ()_cb .PdfObject {_aeaa .PdfAnnotation .ToPdfObject ();_fdg :=_aeaa ._efd ;_dgge :=_fdg .PdfObject .(*_cb .PdfObjectDictionary );_dgge .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0033\u0044"));_dgge .SetIfNotNil ("\u0033\u0044\u0044",_aeaa .T3DD );_dgge .SetIfNotNil ("\u0033\u0044\u0056",_aeaa .T3DV );_dgge .SetIfNotNil ("\u0033\u0044\u0041",_aeaa .T3DA );_dgge .SetIfNotNil ("\u0033\u0044\u0049",_aeaa .T3DI );_dgge .SetIfNotNil ("\u0033\u0044\u0042",_aeaa .T3DB );return _fdg ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_bbbg *PdfFilespec )GetContainingPdfObject ()_cb .PdfObject {return _bbbg ._fdfg };
|
||
|
||
// 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 (_cbca PdfColor )(PdfColor ,error );
|
||
|
||
// GetNumComponents returns the number of components in the PdfColorspace.
|
||
GetNumComponents ()int ;
|
||
|
||
// ToPdfObject returns a PdfObject representation of the PdfColorspace.
|
||
ToPdfObject ()_cb .PdfObject ;
|
||
|
||
// ColorFromPdfObjects returns a PdfColor in the given PdfColorspace from an array of PdfObject where each
|
||
// PdfObject represents a numeric value.
|
||
ColorFromPdfObjects (_dffd []_cb .PdfObject )(PdfColor ,error );
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components for a given PdfColorspace.
|
||
ColorFromFloats (_dgcca []float64 )(PdfColor ,error );
|
||
|
||
// DecodeArray returns the Decode array for the PdfColorSpace, i.e. the range of each component.
|
||
DecodeArray ()[]float64 ;};
|
||
|
||
// HasXObjectByName checks if an XObject with a specified keyName is defined.
|
||
func (_fedc *PdfPageResources )HasXObjectByName (keyName _cb .PdfObjectName )bool {_cdafad ,_ :=_fedc .GetXObjectByName (keyName );return _cdafad !=nil ;};
|
||
|
||
// ImageToRGB convert an indexed image to RGB.
|
||
func (_fbecc *PdfColorspaceSpecialIndexed )ImageToRGB (img Image )(Image ,error ){N :=_fbecc .Base .GetNumComponents ();if N < 1{return Image {},_c .Errorf ("\u0062\u0061d \u0062\u0061\u0073e\u0020\u0063\u006f\u006cors\u0070ac\u0065\u0020\u004e\u0075\u006d\u0043\u006fmp\u006f\u006e\u0065\u006e\u0074\u0073\u003d%\u0064",N );};_baaf :=_ac .NewImageBase (int (img .Width ),int (img .Height ),8,N ,nil ,img ._ddffb ,img ._cceeg );_dbgcf :=_cf .NewReader (img .getBase ());_cdea :=_cf .NewWriter (_baaf );var (_bebaa uint32 ;_cceeb int ;_ddefa error ;);for {_bebaa ,_ddefa =_dbgcf .ReadSample ();if _ddefa ==_bb .EOF {break ;}else if _ddefa !=nil {return img ,_ddefa ;};_cceeb =int (_bebaa );_dbe .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",_cceeb ,N ,len (_fbecc ._ecbc ));if (_cceeb +1)*N > len (_fbecc ._ecbc ){_cceeb =len (_fbecc ._ecbc )/N -1;_dbe .Log .Trace ("C\u006c\u0069\u0070\u0070in\u0067 \u0074\u006f\u0020\u0069\u006ed\u0065\u0078\u003a\u0020\u0025\u0064",_cceeb );if _cceeb < 0{_dbe .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 _cbgeg :=_cceeb *N ;_cbgeg < (_cceeb +1)*N ;_cbgeg ++{if _ddefa =_cdea .WriteSample (uint32 (_fbecc ._ecbc [_cbgeg ]));_ddefa !=nil {return img ,_ddefa ;};};};return _fbecc .Base .ImageToRGB (_ecdg (&_baaf ));};
|
||
|
||
// Items returns all children outline items.
|
||
func (_eeacg *Outline )Items ()[]*OutlineItem {return _eeacg .Entries };
|
||
|
||
// Initialize initializes the PdfSignature.
|
||
func (_gbdag *PdfSignature )Initialize ()error {if _gbdag .Handler ==nil {return _bc .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 _gbdag .Handler .InitSignature (_gbdag );};var ImageHandling ImageHandler =DefaultImageHandler {};
|
||
|
||
// ToPdfObject returns a PdfObject representation of PdfColorspaceDeviceNAttributes as a PdfObjectDictionary directly
|
||
// or indirectly within an indirect object container.
|
||
func (_ecae *PdfColorspaceDeviceNAttributes )ToPdfObject ()_cb .PdfObject {_bfcb :=_cb .MakeDict ();if _ecae .Subtype !=nil {_bfcb .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_ecae .Subtype );};_bfcb .SetIfNotNil ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s",_ecae .Colorants );_bfcb .SetIfNotNil ("\u0050r\u006f\u0063\u0065\u0073\u0073",_ecae .Process );_bfcb .SetIfNotNil ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073",_ecae .MixingHints );if _ecae ._afgb !=nil {_ecae ._afgb .PdfObject =_bfcb ;return _ecae ._afgb ;};return _bfcb ;};func (_ggefb *XObjectImage )getParamsDict ()*_cb .PdfObjectDictionary {_caba :=_cb .MakeDict ();_caba .Set ("\u0057\u0069\u0064t\u0068",_cb .MakeInteger (*_ggefb .Width ));_caba .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_cb .MakeInteger (*_ggefb .Height ));_caba .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_cb .MakeInteger (int64 (_ggefb .ColorSpace .GetNumComponents ())));_caba .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cb .MakeInteger (*_ggefb .BitsPerComponent ));return _caba ;};
|
||
|
||
// PdfAnnotationMarkup represents additional fields for mark-up annotations.
|
||
// (Section 12.5.6.2 p. 399).
|
||
type PdfAnnotationMarkup struct{T _cb .PdfObject ;Popup *PdfAnnotationPopup ;CA _cb .PdfObject ;RC _cb .PdfObject ;CreationDate _cb .PdfObject ;IRT _cb .PdfObject ;Subj _cb .PdfObject ;RT _cb .PdfObject ;IT _cb .PdfObject ;ExData _cb .PdfObject ;};
|
||
|
||
// AddFont adds a font dictionary to the Font resources.
|
||
func (_bdadbd *PdfPage )AddFont (name _cb .PdfObjectName ,font _cb .PdfObject )error {if _bdadbd .Resources ==nil {_bdadbd .Resources =NewPdfPageResources ();};if _bdadbd .Resources .Font ==nil {_bdadbd .Resources .Font =_cb .MakeDict ();};_cgea ,_acgb :=_cb .TraceToDirectObject (_bdadbd .Resources .Font ).(*_cb .PdfObjectDictionary );if !_acgb {_dbe .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",_cb .TraceToDirectObject (_bdadbd .Resources .Font ));return _bc .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_cgea .Set (name ,font );return nil ;};const (BorderEffectNoEffect BorderEffect =iota ;BorderEffectCloudy BorderEffect =iota ;);
|
||
|
||
// ColorToRGB converts a ICCBased color to an RGB color.
|
||
func (_efge *PdfColorspaceICCBased )ColorToRGB (color PdfColor )(PdfColor ,error ){if _efge .Alternate ==nil {_dbe .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 _efge .N ==1{_dbe .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");_bage :=NewPdfColorspaceDeviceGray ();return _bage .ColorToRGB (color );}else if _efge .N ==3{_dbe .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 _efge .N ==4{_dbe .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");_feee :=NewPdfColorspaceDeviceCMYK ();return _feee .ColorToRGB (color );}else {return nil ,_bc .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");};};_dbe .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",_efge );return _efge .Alternate .ColorToRGB (color );};var _ _cb .PdfObject =&pdfSignDictionary {};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gaac *PdfAnnotationFreeText )ToPdfObject ()_cb .PdfObject {_gaac .PdfAnnotation .ToPdfObject ();_bba :=_gaac ._efd ;_ebfaf :=_bba .PdfObject .(*_cb .PdfObjectDictionary );_gaac .PdfAnnotationMarkup .appendToPdfDictionary (_ebfaf );_ebfaf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074"));_ebfaf .SetIfNotNil ("\u0044\u0041",_gaac .DA );_ebfaf .SetIfNotNil ("\u0051",_gaac .Q );_ebfaf .SetIfNotNil ("\u0052\u0043",_gaac .RC );_ebfaf .SetIfNotNil ("\u0044\u0053",_gaac .DS );_ebfaf .SetIfNotNil ("\u0043\u004c",_gaac .CL );_ebfaf .SetIfNotNil ("\u0049\u0054",_gaac .IT );_ebfaf .SetIfNotNil ("\u0042\u0045",_gaac .BE );_ebfaf .SetIfNotNil ("\u0052\u0044",_gaac .RD );_ebfaf .SetIfNotNil ("\u0042\u0053",_gaac .BS );_ebfaf .SetIfNotNil ("\u004c\u0045",_gaac .LE );return _bba ;};func (_ccegaa *PdfFunctionType0 )processSamples ()error {_becb :=_cf .ResampleBytes (_ccegaa ._gfdce ,_ccegaa .BitsPerSample );_ccegaa ._fcdac =_becb ;return nil ;};
|
||
|
||
// UpdateObject marks `obj` as updated and to be included in the following revision.
|
||
func (_fff *PdfAppender )UpdateObject (obj _cb .PdfObject ){_fff .replaceObject (obj ,obj );if _ ,_fcece :=_fff ._gfb [obj ];!_fcece {_fff ._ceda =append (_fff ._ceda ,obj );_fff ._gfb [obj ]=struct{}{};};};
|
||
|
||
// ToPdfObject returns an indirect object containing the signature field dictionary.
|
||
func (_gdada *PdfFieldSignature )ToPdfObject ()_cb .PdfObject {if _gdada .PdfAnnotationWidget !=nil {_gdada .PdfAnnotationWidget .ToPdfObject ();};_gdada .PdfField .ToPdfObject ();_ccefe :=_gdada ._addef ;_ccfa :=_ccefe .PdfObject .(*_cb .PdfObjectDictionary );_ccfa .SetIfNotNil ("\u0046\u0054",_cb .MakeName ("\u0053\u0069\u0067"));_ccfa .SetIfNotNil ("\u004c\u006f\u0063\u006b",_gdada .Lock );_ccfa .SetIfNotNil ("\u0053\u0056",_gdada .SV );if _gdada .V !=nil {_ccfa .SetIfNotNil ("\u0056",_gdada .V .ToPdfObject ());};return _ccefe ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a CalGray device.
|
||
func (_cgda *PdfColorspaceCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// GetOutlines returns a high-level Outline object, based on the outline tree
|
||
// of the reader.
|
||
func (_dfbbd *PdfReader )GetOutlines ()(*Outline ,error ){if _dfbbd ==nil {return nil ,_bc .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");};_aaee :=_dfbbd .GetOutlineTree ();if _aaee ==nil {return nil ,_bc .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 _gdebf func (_addb *PdfOutlineTreeNode ,_bceg *[]*OutlineItem );_gdebf =func (_bfgab *PdfOutlineTreeNode ,_fbde *[]*OutlineItem ){if _bfgab ==nil {return ;};if _bfgab ._dfaeg ==nil {_dbe .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 _fbed *OutlineItem ;if _eedac ,_acec :=_bfgab ._dfaeg .(*PdfOutlineItem );_acec {_ebbda :=_eedac .Dest ;if (_ebbda ==nil ||_cb .IsNullObject (_ebbda ))&&_eedac .A !=nil {if _fbfe ,_geace :=_cb .GetDict (_eedac .A );_geace {_ebbda ,_ =_cb .GetArray (_fbfe .Get ("\u0044"));};};var _efbde OutlineDest ;if _ebbda !=nil &&!_cb .IsNullObject (_ebbda ){if _faegdc ,_egbcc :=_afdab (_ebbda ,_dfbbd );_egbcc ==nil {_efbde =*_faegdc ;}else {_dbe .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",_ebbda ,_egbcc );};};_fbed =NewOutlineItem (_eedac .Title .Decoded (),_efbde );*_fbde =append (*_fbde ,_fbed );if _eedac .Next !=nil {_gdebf (_eedac .Next ,_fbde );};};if _bfgab .First !=nil {if _fbed !=nil {_fbde =&_fbed .Entries ;};_gdebf (_bfgab .First ,_fbde );};};_dgea :=NewOutline ();_gdebf (_aaee ,&_dgea .Entries );return _dgea ,nil ;};
|
||
|
||
// ColorToRGB converts a DeviceN color to an RGB color.
|
||
func (_cdafg *PdfColorspaceDeviceN )ColorToRGB (color PdfColor )(PdfColor ,error ){if _cdafg .AlternateSpace ==nil {return nil ,_bc .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 _cdafg .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// GetContainingPdfObject returns the container of the outline (indirect object).
|
||
func (_fcbf *PdfOutline )GetContainingPdfObject ()_cb .PdfObject {return _fcbf ._ffbfg };
|
||
|
||
// PdfColor interface represents a generic color in PDF.
|
||
type PdfColor interface{};
|
||
|
||
// NewOutlineBookmark returns an initialized PdfOutlineItem for a given bookmark title and page.
|
||
func NewOutlineBookmark (title string ,page *_cb .PdfIndirectObject )*PdfOutlineItem {_gbda :=PdfOutlineItem {};_gbda ._dfaeg =&_gbda ;_gbda .Title =_cb .MakeString (title );_fbdcc :=_cb .MakeArray ();_fbdcc .Append (page );_fbdcc .Append (_cb .MakeName ("\u0046\u0069\u0074"));_gbda .Dest =_fbdcc ;return &_gbda ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on input color components. The input PdfObjects should
|
||
// be numeric.
|
||
func (_bfgg *PdfColorspaceDeviceN )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=_bfgg .GetNumComponents (){return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbcf ,_degbb :=_cb .GetNumbersAsFloat (objects );if _degbb !=nil {return nil ,_degbb ;};return _bfgg .ColorFromFloats (_bbcf );};func _babb (_bdabc *_cb .PdfObjectDictionary ,_agge *fontCommon ,_ffbc _ccb .TextEncoder )(*pdfFontSimple ,error ){_bdce :=_beeag (_agge );_bdce ._cecgb =_ffbc ;if _ffbc ==nil {_fcbec :=_bdabc .Get ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r");if _fcbec ==nil {_fcbec =_cb .MakeInteger (0);};_bdce .FirstChar =_fcbec ;_ffce ,_cbdb :=_cb .GetIntVal (_fcbec );if !_cbdb {_dbe .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",_fcbec );return nil ,_cb .ErrTypeError ;};_dfgcg :=_ccb .CharCode (_ffce );_fcbec =_bdabc .Get ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072");if _fcbec ==nil {_fcbec =_cb .MakeInteger (255);};_bdce .LastChar =_fcbec ;_ffce ,_cbdb =_cb .GetIntVal (_fcbec );if !_cbdb {_dbe .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",_fcbec );return nil ,_cb .ErrTypeError ;};_egfcg :=_ccb .CharCode (_ffce );_bdce ._cfgdd =make (map[_ccb .CharCode ]float64 );_fcbec =_bdabc .Get ("\u0057\u0069\u0064\u0074\u0068\u0073");if _fcbec !=nil {_bdce .Widths =_fcbec ;_cbdg ,_ffba :=_cb .GetArray (_fcbec );if !_ffba {_dbe .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",_fcbec );return nil ,_cb .ErrTypeError ;};_efcb ,_begg :=_cbdg .ToFloat64Array ();if _begg !=nil {_dbe .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 ,_begg ;};if len (_efcb )!=int (_egfcg -_dfgcg +1){_dbe .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",_egfcg -_dfgcg +1,len (_efcb ));return nil ,_cb .ErrRangeError ;};for _fbca ,_bfga :=range _efcb {_bdce ._cfgdd [_dfgcg +_ccb .CharCode (_fbca )]=_bfga ;};};};_bdce .Encoding =_cb .TraceToDirectObject (_bdabc .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));return _bdce ,nil ;};
|
||
|
||
// B returns the value of the blue component of the color.
|
||
func (_degb *PdfColorDeviceRGB )B ()float64 {return float64 (_degb [2])};
|
||
|
||
// PdfShadingType1 is a Function-based shading.
|
||
type PdfShadingType1 struct{*PdfShading ;Domain *_cb .PdfObjectArray ;Matrix *_cb .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// PdfAnnotationLink represents Link annotations.
|
||
// (Section 12.5.6.5 p. 403).
|
||
type PdfAnnotationLink struct{*PdfAnnotation ;A _cb .PdfObject ;Dest _cb .PdfObject ;H _cb .PdfObject ;PA _cb .PdfObject ;QuadPoints _cb .PdfObject ;BS _cb .PdfObject ;_afb *PdfAction ;_dfea *PdfReader ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
// Note: Call the sub-annotation's ToPdfObject to set both the generic and non-generic information.
|
||
func (_dead *PdfAnnotation )ToPdfObject ()_cb .PdfObject {_agd :=_dead ._efd ;_bfb :=_agd .PdfObject .(*_cb .PdfObjectDictionary );_bfb .Clear ();_bfb .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0041\u006e\u006eo\u0074"));_bfb .SetIfNotNil ("\u0052\u0065\u0063\u0074",_dead .Rect );_bfb .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_dead .Contents );_bfb .SetIfNotNil ("\u0050",_dead .P );_bfb .SetIfNotNil ("\u004e\u004d",_dead .NM );_bfb .SetIfNotNil ("\u004d",_dead .M );_bfb .SetIfNotNil ("\u0046",_dead .F );_bfb .SetIfNotNil ("\u0041\u0050",_dead .AP );_bfb .SetIfNotNil ("\u0041\u0053",_dead .AS );_bfb .SetIfNotNil ("\u0042\u006f\u0072\u0064\u0065\u0072",_dead .Border );_bfb .SetIfNotNil ("\u0043",_dead .C );_bfb .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_dead .StructParent );_bfb .SetIfNotNil ("\u004f\u0043",_dead .OC );return _agd ;};
|
||
|
||
// PdfShadingType5 is a Lattice-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType5 struct{*PdfShading ;BitsPerCoordinate *_cb .PdfObjectInteger ;BitsPerComponent *_cb .PdfObjectInteger ;VerticesPerRow *_cb .PdfObjectInteger ;Decode *_cb .PdfObjectArray ;Function []PdfFunction ;};func _cgce (_dcecf []rune ,_eefdg map[rune ]int ,_cfge map[rune ]_af .GID )*_cb .PdfObjectArray {_edfg :=&_cb .PdfObjectArray {};for _cdgb :=0;_cdgb < len (_dcecf );{_cbgc :=_eefdg [_dcecf [_cdgb ]];_fegbg :=_cdgb ;for _ebcf :=_cdgb +1;_ebcf < len (_dcecf );_ebcf ++{_cegb :=_eefdg [_dcecf [_ebcf ]];if _cbgc ==_cegb {_fegbg =_ebcf ;}else {break ;};};_fbbbd :=_cfge [_dcecf [_cdgb ]];_aeeea :=_cfge [_dcecf [_fegbg ]];_edfg .Append (_cb .MakeInteger (int64 (_fbbbd )));_edfg .Append (_cb .MakeInteger (int64 (_aeeea )));_edfg .Append (_cb .MakeInteger (int64 (_cbgc )));_cdgb =_fegbg +1;};return _edfg ;};func (_cbafg *PdfReader )loadOutlines ()(*PdfOutlineTreeNode ,error ){if _cbafg ._gfecg .GetCrypter ()!=nil &&!_cbafg ._gfecg .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_bggfb :=_cbafg ._fccgb ;_eaeg :=_bggfb .Get ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");if _eaeg ==nil {return nil ,nil ;};_dbe .Log .Trace ("\u002d\u0048\u0061\u0073\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");_beaad :=_cb .ResolveReference (_eaeg );_dbe .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0020\u0072\u006f\u006f\u0074\u003a\u0020\u0025\u0076",_beaad );if _cbgea :=_cb .IsNullObject (_beaad );_cbgea {_dbe .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 ;};_egbaea ,_dcccbe :=_beaad .(*_cb .PdfIndirectObject );if !_dcccbe {if _ ,_geeb :=_cb .GetDict (_beaad );!_geeb {_dbe .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 ;};_dbe .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");_egbaea =_cb .MakeIndirectObject (_beaad );};_fgacc ,_dcccbe :=_egbaea .PdfObject .(*_cb .PdfObjectDictionary );if !_dcccbe {return nil ,_bc .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");};_dbe .Log .Trace ("O\u0075\u0074\u006c\u0069ne\u0020r\u006f\u006f\u0074\u0020\u0064i\u0063\u0074\u003a\u0020\u0025\u0076",_fgacc );_gaega ,_ ,_dbag :=_cbafg .buildOutlineTree (_egbaea ,nil ,nil ,nil );if _dbag !=nil {return nil ,_dbag ;};_dbe .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",_gaega );return _gaega ,nil ;};
|
||
|
||
// GetContext returns the action context which contains the specific type-dependent context.
|
||
// The context represents the subaction.
|
||
func (_add *PdfAction )GetContext ()PdfModel {if _add ==nil {return nil ;};return _add ._ab ;};
|
||
|
||
// 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 _cb .PdfObject ;_ecbc []byte ;_fdbb *_cb .PdfIndirectObject ;};
|
||
|
||
// PdfActionGoTo represents a GoTo action.
|
||
type PdfActionGoTo struct{*PdfAction ;D _cb .PdfObject ;};
|
||
|
||
// GetPage returns the PdfPage model for the specified page number.
|
||
func (_cebef *PdfReader )GetPage (pageNumber int )(*PdfPage ,error ){if _cebef ._gfecg .GetCrypter ()!=nil &&!_cebef ._gfecg .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006c\u0065\u0020\u006e\u0065\u0065\u0064\u0073\u0020\u0074\u006f\u0020\u0062e\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};if len (_cebef ._dfcdb )< pageNumber {return nil ,_bc .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");};_aceg :=pageNumber -1;if _aceg < 0{return nil ,_c .Errorf ("\u0070\u0061\u0067\u0065\u0020\u006e\u0075\u006d\u0062\u0065r\u0069\u006e\u0067\u0020\u006d\u0075\u0073t\u0020\u0073\u0074\u0061\u0072\u0074\u0020\u0061\u0074\u0020\u0031");};_fgcbbf :=_cebef .PageList [_aceg ];return _fgcbbf ,nil ;};
|
||
|
||
// GetContentStreams returns the content stream as an array of strings.
|
||
func (_gcffb *PdfPage )GetContentStreams ()([]string ,error ){if _gcffb .Contents ==nil {return nil ,nil ;};_ccfc :=_cb .TraceToDirectObject (_gcffb .Contents );var _daefe []_cb .PdfObject ;if _agbde ,_ebab :=_ccfc .(*_cb .PdfObjectArray );_ebab {_daefe =_agbde .Elements ();}else {_daefe =[]_cb .PdfObject {_ccfc };};var _beffa []string ;for _ ,_cffe :=range _daefe {_gbegc ,_gdabg :=_addfb (_cffe );if _gdabg !=nil {return nil ,_gdabg ;};_beffa =append (_beffa ,_gbegc );};return _beffa ,nil ;};
|
||
|
||
// SetDecode sets the decode image float slice.
|
||
func (_ddcdd *Image )SetDecode (decode []float64 ){_ddcdd ._cceeg =decode };
|
||
|
||
// SetOCProperties sets the optional content properties.
|
||
func (_aedf *PdfWriter )SetOCProperties (ocProperties _cb .PdfObject )error {_gdebga :=_aedf ._fgfb ;if ocProperties !=nil {_dbe .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u004f\u0043\u0020\u0050\u0072o\u0070\u0065\u0072\u0074\u0069\u0065\u0073\u002e\u002e\u002e");_gdebga .Set ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",ocProperties );return _aedf .addObjects (ocProperties );};return nil ;};var (ErrRequiredAttributeMissing =_bc .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 =_bc .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");ErrTypeCheck =_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");_ccef =_bc .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");ErrEncrypted =_bc .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 =_bc .New ("\u0066\u006fn\u0074\u0020\u006eo\u0074\u0020\u0064\u0065\u0066\u0069\u006e\u0065\u0064");ErrFontNotSupported =_c .Errorf ("u\u006e\u0073\u0075\u0070po\u0072t\u0065\u0064\u0020\u0066\u006fn\u0074\u0020\u0028\u0025\u0076\u0029",_cb .ErrNotSupported );ErrType1CFontNotSupported =_c .Errorf ("\u0054y\u0070\u00651\u0043\u0020\u0066o\u006e\u0074\u0073\u0020\u0061\u0072\u0065 \u006e\u006f\u0074\u0020\u0063\u0075r\u0072\u0065\u006e\u0074\u006c\u0079\u0020\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020\u0028\u0025\u0076\u0029",_cb .ErrNotSupported );ErrType3FontNotSupported =_c .Errorf ("\u0054y\u0070\u00653\u0020\u0066\u006f\u006et\u0073\u0020\u0061r\u0065\u0020\u006e\u006f\u0074\u0020\u0063\u0075\u0072re\u006e\u0074\u006cy\u0020\u0073u\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0028%\u0076\u0029",_cb .ErrNotSupported );ErrTTCmapNotSupported =_c .Errorf ("\u0075\u006es\u0075\u0070\u0070\u006fr\u0074\u0065d\u0020\u0054\u0072\u0075\u0065\u0054\u0079\u0070e\u0020\u0063\u006d\u0061\u0070\u0020\u0066\u006f\u0072\u006d\u0061\u0074 \u0028\u0025\u0076\u0029",_cb .ErrNotSupported );ErrSignNotEnoughSpace =_c .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"););
|
||
|
||
// ToJBIG2Image converts current image to the core.JBIG2Image.
|
||
func (_dfagf *Image )ToJBIG2Image ()(*_cb .JBIG2Image ,error ){_aebf ,_ebgdg :=_dfagf .ToGoImage ();if _ebgdg !=nil {return nil ,_ebgdg ;};return _cb .GoImageToJBIG2 (_aebf ,_cb .JB2ImageAutoThreshold );};
|
||
|
||
// SetXObjectImageByName adds the provided XObjectImage to the page resources.
|
||
// The added XObjectImage is identified by the specified name.
|
||
func (_cegca *PdfPageResources )SetXObjectImageByName (keyName _cb .PdfObjectName ,ximg *XObjectImage )error {_agcgb :=ximg .ToPdfObject ().(*_cb .PdfObjectStream );_gdade :=_cegca .SetXObjectByName (keyName ,_agcgb );return _gdade ;};
|
||
|
||
// ImageToRGB converts CalRGB colorspace image to RGB and returns the result.
|
||
func (_accb *PdfColorspaceCalRGB )ImageToRGB (img Image )(Image ,error ){_adbda :=_cf .NewReader (img .getBase ());_dgddb :=_ac .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_cgfg :=_cf .NewWriter (_dgddb );_beac :=_ag .Pow (2,float64 (img .BitsPerComponent ))-1;_eeafb :=make ([]uint32 ,3);var (_ffd error ;_gbeb ,_ecgbf ,_cbcg ,_cbge ,_baecb ,_abda float64 ;);for {_ffd =_adbda .ReadSamples (_eeafb );if _ffd ==_bb .EOF {break ;}else if _ffd !=nil {return img ,_ffd ;};_gbeb =float64 (_eeafb [0])/_beac ;_ecgbf =float64 (_eeafb [1])/_beac ;_cbcg =float64 (_eeafb [2])/_beac ;_cbge =_accb .Matrix [0]*_ag .Pow (_gbeb ,_accb .Gamma [0])+_accb .Matrix [3]*_ag .Pow (_ecgbf ,_accb .Gamma [1])+_accb .Matrix [6]*_ag .Pow (_cbcg ,_accb .Gamma [2]);_baecb =_accb .Matrix [1]*_ag .Pow (_gbeb ,_accb .Gamma [0])+_accb .Matrix [4]*_ag .Pow (_ecgbf ,_accb .Gamma [1])+_accb .Matrix [7]*_ag .Pow (_cbcg ,_accb .Gamma [2]);_abda =_accb .Matrix [2]*_ag .Pow (_gbeb ,_accb .Gamma [0])+_accb .Matrix [5]*_ag .Pow (_ecgbf ,_accb .Gamma [1])+_accb .Matrix [8]*_ag .Pow (_cbcg ,_accb .Gamma [2]);_gbeb =3.240479*_cbge +-1.537150*_baecb +-0.498535*_abda ;_ecgbf =-0.969256*_cbge +1.875992*_baecb +0.041556*_abda ;_cbcg =0.055648*_cbge +-0.204043*_baecb +1.057311*_abda ;_gbeb =_ag .Min (_ag .Max (_gbeb ,0),1.0);_ecgbf =_ag .Min (_ag .Max (_ecgbf ,0),1.0);_cbcg =_ag .Min (_ag .Max (_cbcg ,0),1.0);_eeafb [0]=uint32 (_gbeb *_beac );_eeafb [1]=uint32 (_ecgbf *_beac );_eeafb [2]=uint32 (_cbcg *_beac );if _ffd =_cgfg .WriteSamples (_eeafb );_ffd !=nil {return img ,_ffd ;};};return _ecdg (&_dgddb ),nil ;};
|
||
|
||
// NewPdfFilespec returns an initialized generic PDF filespec model.
|
||
func NewPdfFilespec ()*PdfFilespec {_bgde :=&PdfFilespec {};_bgde ._fdfg =_cb .MakeIndirectObject (_cb .MakeDict ());return _bgde ;};
|
||
|
||
// 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 (_bebe *PdfAcroForm )FillWithAppearance (provider FieldValueProvider ,appGen FieldAppearanceGenerator )error {return _bebe .fill (provider ,appGen );};
|
||
|
||
// GetAction returns the PDF action for the annotation link.
|
||
func (_gbgdf *PdfAnnotationLink )GetAction ()(*PdfAction ,error ){if _gbgdf ._afb !=nil {return _gbgdf ._afb ,nil ;};if _gbgdf .A ==nil {return nil ,nil ;};if _gbgdf ._dfea ==nil {return nil ,nil ;};_cceb ,_caa :=_gbgdf ._dfea .loadAction (_gbgdf .A );if _caa !=nil {return nil ,_caa ;};_gbgdf ._afb =_cceb ;return _gbgdf ._afb ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cgdegac *PdfShadingType7 )ToPdfObject ()_cb .PdfObject {_cgdegac .PdfShading .ToPdfObject ();_abbee ,_ggcfbc :=_cgdegac .getShadingDict ();if _ggcfbc !=nil {_dbe .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 _cgdegac .BitsPerCoordinate !=nil {_abbee .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_cgdegac .BitsPerCoordinate );};if _cgdegac .BitsPerComponent !=nil {_abbee .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_cgdegac .BitsPerComponent );};if _cgdegac .BitsPerFlag !=nil {_abbee .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_cgdegac .BitsPerFlag );};if _cgdegac .Decode !=nil {_abbee .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_cgdegac .Decode );};if _cgdegac .Function !=nil {if len (_cgdegac .Function )==1{_abbee .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cgdegac .Function [0].ToPdfObject ());}else {_afge :=_cb .MakeArray ();for _ ,_bbda :=range _cgdegac .Function {_afge .Append (_bbda .ToPdfObject ());};_abbee .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_afge );};};return _cgdegac ._gfdg ;};
|
||
|
||
// NewPdfColorspaceDeviceCMYK returns a new CMYK32 colorspace object.
|
||
func NewPdfColorspaceDeviceCMYK ()*PdfColorspaceDeviceCMYK {return &PdfColorspaceDeviceCMYK {}};
|
||
|
||
// 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 ;_ddffb []byte ;_cceeg []float64 ;};
|
||
|
||
// SetPatternByName sets a pattern resource specified by keyName.
|
||
func (_fceaa *PdfPageResources )SetPatternByName (keyName _cb .PdfObjectName ,pattern _cb .PdfObject )error {if _fceaa .Pattern ==nil {_fceaa .Pattern =_cb .MakeDict ();};_gcagf ,_bffda :=_fceaa .Pattern .(*_cb .PdfObjectDictionary );if !_bffda {return _cb .ErrTypeError ;};_gcagf .Set (keyName ,pattern );return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the pattern.
|
||
func (_bcbae *PdfPattern )ToPdfObject ()_cb .PdfObject {_eaddb :=_bcbae .getDict ();_eaddb .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_eaddb .Set ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065",_cb .MakeInteger (_bcbae .PatternType ));return _bcbae ._gbdd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bab *PdfActionJavaScript )ToPdfObject ()_cb .PdfObject {_bab .PdfAction .ToPdfObject ();_faf :=_bab ._fc ;_bag :=_faf .PdfObject .(*_cb .PdfObjectDictionary );_bag .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeJavaScript )));_bag .SetIfNotNil ("\u004a\u0053",_bab .JS );return _faf ;};
|
||
|
||
// PdfActionSubmitForm represents a submitForm action.
|
||
type PdfActionSubmitForm struct{*PdfAction ;F *PdfFilespec ;Fields _cb .PdfObject ;Flags _cb .PdfObject ;};func (_fadbg *PdfReader )newPdfPageFromDict (_bggea *_cb .PdfObjectDictionary )(*PdfPage ,error ){_fcbdc :=NewPdfPage ();_fcbdc ._acaa =_bggea ;_eeggc :=*_bggea ;_faab ,_bffc :=_eeggc .Get ("\u0054\u0079\u0070\u0065").(*_cb .PdfObjectName );if !_bffc {return nil ,_bc .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 *_faab !="\u0050\u0061\u0067\u0065"{return nil ,_bc .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 _bbfde :=_eeggc .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_bbfde !=nil {_fcbdc .Parent =_bbfde ;};if _faabc :=_eeggc .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_faabc !=nil {_ceefbe ,_dcggec :=_cb .GetString (_faabc );if !_dcggec {return nil ,_bc .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");};_egddg ,_dced :=NewPdfDate (_ceefbe .Str ());if _dced !=nil {return nil ,_dced ;};_fcbdc .LastModified =&_egddg ;};if _affga :=_eeggc .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_affga !=nil &&!_cb .IsNullObject (_affga ){_aaad ,_gaacd :=_cb .GetDict (_affga );if !_gaacd {return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0073\u006f\u0075\u0072\u0063e\u0020d\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0028\u0025\u0054\u0029",_affga );};var _bdebf error ;_fcbdc .Resources ,_bdebf =NewPdfPageResourcesFromDict (_aaad );if _bdebf !=nil {return nil ,_bdebf ;};}else {_fdbfd ,_ddggg :=_fcbdc .getParentResources ();if _ddggg !=nil {return nil ,_ddggg ;};if _fdbfd ==nil {_fdbfd =NewPdfPageResources ();};_fcbdc .Resources =_fdbfd ;};if _eafe :=_eeggc .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_eafe !=nil {_daec ,_ebeb :=_cb .GetArray (_eafe );if !_ebeb {return nil ,_bc .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 _eade error ;_fcbdc .MediaBox ,_eade =NewPdfRectangle (*_daec );if _eade !=nil {return nil ,_eade ;};};if _dgedc :=_eeggc .Get ("\u0043r\u006f\u0070\u0042\u006f\u0078");_dgedc !=nil {_egdgd ,_dcebf :=_cb .GetArray (_dgedc );if !_dcebf {return nil ,_bc .New ("\u0070a\u0067\u0065\u0020\u0043r\u006f\u0070\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _adcc error ;_fcbdc .CropBox ,_adcc =NewPdfRectangle (*_egdgd );if _adcc !=nil {return nil ,_adcc ;};};if _dagec :=_eeggc .Get ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078");_dagec !=nil {_ccbg ,_gfab :=_cb .GetArray (_dagec );if !_gfab {return nil ,_bc .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 _dgbb error ;_fcbdc .BleedBox ,_dgbb =NewPdfRectangle (*_ccbg );if _dgbb !=nil {return nil ,_dgbb ;};};if _bdbfg :=_eeggc .Get ("\u0054r\u0069\u006d\u0042\u006f\u0078");_bdbfg !=nil {_aefge ,_afga :=_cb .GetArray (_bdbfg );if !_afga {return nil ,_bc .New ("\u0070a\u0067\u0065\u0020\u0054r\u0069\u006d\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _fbcg error ;_fcbdc .TrimBox ,_fbcg =NewPdfRectangle (*_aefge );if _fbcg !=nil {return nil ,_fbcg ;};};if _fdbdd :=_eeggc .Get ("\u0041\u0072\u0074\u0042\u006f\u0078");_fdbdd !=nil {_gcfed ,_eebc :=_cb .GetArray (_fdbdd );if !_eebc {return nil ,_bc .New ("\u0070a\u0067\u0065\u0020\u0041\u0072\u0074\u0042\u006f\u0078\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _cadega error ;_fcbdc .ArtBox ,_cadega =NewPdfRectangle (*_gcfed );if _cadega !=nil {return nil ,_cadega ;};};if _gcbeg :=_eeggc .Get ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f");_gcbeg !=nil {_fcbdc .BoxColorInfo =_gcbeg ;};if _dcee :=_eeggc .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_dcee !=nil {_fcbdc .Contents =_dcee ;};if _bggf :=_eeggc .Get ("\u0052\u006f\u0074\u0061\u0074\u0065");_bggf !=nil {_ffcce ,_fbcef :=_cb .GetInt (_bggf );if !_fbcef {return nil ,_bc .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");};_babee :=int64 (*_ffcce );_fcbdc .Rotate =&_babee ;};if _dgac :=_eeggc .Get ("\u0047\u0072\u006fu\u0070");_dgac !=nil {_fcbdc .Group =_dgac ;};if _gefg :=_eeggc .Get ("\u0054\u0068\u0075m\u0062");_gefg !=nil {_fcbdc .Thumb =_gefg ;};if _agfbcg :=_eeggc .Get ("\u0042");_agfbcg !=nil {_fcbdc .B =_agfbcg ;};if _gcbec :=_eeggc .Get ("\u0044\u0075\u0072");_gcbec !=nil {_fcbdc .Dur =_gcbec ;};if _fbfaf :=_eeggc .Get ("\u0054\u0072\u0061n\u0073");_fbfaf !=nil {_fcbdc .Trans =_fbfaf ;};if _fgcec :=_eeggc .Get ("\u0041\u0041");_fgcec !=nil {_fcbdc .AA =_fgcec ;};if _fgcdc :=_eeggc .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_fgcdc !=nil {_fcbdc .Metadata =_fgcdc ;};if _dcfd :=_eeggc .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_dcfd !=nil {_fcbdc .PieceInfo =_dcfd ;};if _fbabaa :=_eeggc .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_fbabaa !=nil {_fcbdc .StructParents =_fbabaa ;};if _bbbea :=_eeggc .Get ("\u0049\u0044");_bbbea !=nil {_fcbdc .ID =_bbbea ;};if _cdcdc :=_eeggc .Get ("\u0050\u005a");_cdcdc !=nil {_fcbdc .PZ =_cdcdc ;};if _efcdf :=_eeggc .Get ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f");_efcdf !=nil {_fcbdc .SeparationInfo =_efcdf ;};if _cdcad :=_eeggc .Get ("\u0054\u0061\u0062\u0073");_cdcad !=nil {_fcbdc .Tabs =_cdcad ;};if _gbabg :=_eeggc .Get ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064");_gbabg !=nil {_fcbdc .TemplateInstantiated =_gbabg ;};if _bgbfe :=_eeggc .Get ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s");_bgbfe !=nil {_fcbdc .PresSteps =_bgbfe ;};if _cfcbfd :=_eeggc .Get ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074");_cfcbfd !=nil {_fcbdc .UserUnit =_cfcbfd ;};if _bfbdec :=_eeggc .Get ("\u0056\u0050");_bfbdec !=nil {_fcbdc .VP =_bfbdec ;};if _cbgfe :=_eeggc .Get ("\u0041\u006e\u006e\u006f\u0074\u0073");_cbgfe !=nil {_fcbdc .Annots =_cbgfe ;};_fcbdc ._fffgc =_fadbg ;return _fcbdc ,nil ;};
|
||
|
||
// PdfAnnotationPopup represents Popup annotations.
|
||
// (Section 12.5.6.14).
|
||
type PdfAnnotationPopup struct{*PdfAnnotation ;Parent _cb .PdfObject ;Open _cb .PdfObject ;};
|
||
|
||
// NewPdfActionRendition returns a new "rendition" action.
|
||
func NewPdfActionRendition ()*PdfActionRendition {_edc :=NewPdfAction ();_agc :=&PdfActionRendition {};_agc .PdfAction =_edc ;_edc .SetContext (_agc );return _agc ;};
|
||
|
||
// ColorAt returns the color of the image pixel specified by the x and y coordinates.
|
||
func (_cfeba *Image )ColorAt (x ,y int )(_db .Color ,error ){_edcab :=_ac .BytesPerLine (int (_cfeba .Width ),int (_cfeba .BitsPerComponent ),_cfeba .ColorComponents );switch _cfeba .ColorComponents {case 1:return _ac .ColorAtGrayscale (x ,y ,int (_cfeba .BitsPerComponent ),_edcab ,_cfeba .Data ,_cfeba ._cceeg );case 3:return _ac .ColorAtNRGBA (x ,y ,int (_cfeba .Width ),_edcab ,int (_cfeba .BitsPerComponent ),_cfeba .Data ,_cfeba ._ddffb ,_cfeba ._cceeg );case 4:return _ac .ColorAtCMYK (x ,y ,int (_cfeba .Width ),_cfeba .Data ,_cfeba ._cceeg );};_dbe .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",_cfeba .ColorComponents ,_cfeba .BitsPerComponent );return nil ,_bc .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");};
|
||
|
||
// 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 _cb .StreamEncoder )(*XObjectImage ,error ){if encoder ==nil {encoder =_cb .NewRawEncoder ();};encoder .UpdateParams (img .GetParamsDict ());_cfcac ,_faagfd :=encoder .EncodeBytes (img .Data );if _faagfd !=nil {_dbe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_faagfd );return nil ,_faagfd ;};_bcfeg :=NewXObjectImage ();_eceag :=img .Width ;_bdfdg :=img .Height ;_bcfeg .Width =&_eceag ;_bcfeg .Height =&_bdfdg ;_gfbab :=img .BitsPerComponent ;_bcfeg .BitsPerComponent =&_gfbab ;_bcfeg .Filter =encoder ;_bcfeg .Stream =_cfcac ;if cs ==nil {if img .ColorComponents ==1{_bcfeg .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_bcfeg .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_bcfeg .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return nil ,_bc .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_bcfeg .ColorSpace =cs ;};if len (img ._ddffb )!=0{_gada :=NewXObjectImage ();_gada .Filter =encoder ;_eefaea ,_agef :=encoder .EncodeBytes (img ._ddffb );if _agef !=nil {_dbe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_agef );return nil ,_agef ;};_gada .Stream =_eefaea ;_gada .BitsPerComponent =_bcfeg .BitsPerComponent ;_gada .Width =&img .Width ;_gada .Height =&img .Height ;_gada .ColorSpace =NewPdfColorspaceDeviceGray ();_bcfeg .SMask =_gada .ToPdfObject ();}else {_bcfeg .SMask =xobjIn .SMask ;_bcfeg .ImageMask =xobjIn .ImageMask ;if _bcfeg .ColorSpace .GetNumComponents ()==1{_fefad (_bcfeg );};};return _bcfeg ,nil ;};
|
||
|
||
// PdfColorCalGray represents a CalGray colorspace.
|
||
type PdfColorCalGray float64 ;var _gded =_e .MustCompile ("\u005b\\\u006e\u005c\u0072\u005d\u002b");type crossReference struct{Type int ;
|
||
|
||
// Type 1
|
||
Offset int64 ;Generation int64 ;
|
||
|
||
// Type 2
|
||
ObjectNumber int ;Index int ;};
|
||
|
||
// NewPdfPage returns a new PDF page.
|
||
func NewPdfPage ()*PdfPage {_ecbe :=PdfPage {};_ecbe ._acaa =_cb .MakeDict ();_ecbe .Resources =NewPdfPageResources ();_fbaa :=_cb .PdfIndirectObject {};_fbaa .PdfObject =_ecbe ._acaa ;_ecbe ._adbf =&_fbaa ;return &_ecbe ;};
|
||
|
||
// NewPdfColorspaceDeviceRGB returns a new RGB colorspace object.
|
||
func NewPdfColorspaceDeviceRGB ()*PdfColorspaceDeviceRGB {return &PdfColorspaceDeviceRGB {}};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cebff *PdfAnnotationScreen )ToPdfObject ()_cb .PdfObject {_cebff .PdfAnnotation .ToPdfObject ();_aef :=_cebff ._efd ;_fecf :=_aef .PdfObject .(*_cb .PdfObjectDictionary );_fecf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053\u0063\u0072\u0065\u0065\u006e"));_fecf .SetIfNotNil ("\u0054",_cebff .T );_fecf .SetIfNotNil ("\u004d\u004b",_cebff .MK );_fecf .SetIfNotNil ("\u0041",_cebff .A );_fecf .SetIfNotNil ("\u0041\u0041",_cebff .AA );return _aef ;};
|
||
|
||
// C returns the value of the cyan component of the color.
|
||
func (_cced *PdfColorDeviceCMYK )C ()float64 {return float64 (_cced [0])};
|
||
|
||
// EncryptOptions represents encryption options for an output PDF.
|
||
type EncryptOptions struct{Permissions _gg .Permissions ;Algorithm EncryptionAlgorithm ;};func _fefad (_gcdab *XObjectImage )error {if _gcdab .SMask ==nil {return nil ;};_cgebb ,_ddgfc :=_gcdab .SMask .(*_cb .PdfObjectStream );if !_ddgfc {_dbe .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 _cb .ErrTypeError ;};_egfg :=_cgebb .PdfObjectDictionary ;_cbgbe :=_egfg .Get ("\u004d\u0061\u0074t\u0065");if _cbgbe ==nil {return nil ;};_gbfbb ,_acdcfcf :=_dgabd (_cbgbe .(*_cb .PdfObjectArray ));if _acdcfcf !=nil {return _acdcfcf ;};_dbeee :=_cb .MakeArrayFromFloats ([]float64 {_gbfbb });_egfg .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_dbeee );return nil ;};
|
||
|
||
// NewPdfColorspaceFromPdfObject loads a PdfColorspace from a PdfObject. Returns an error if there is
|
||
// a failure in loading.
|
||
func NewPdfColorspaceFromPdfObject (obj _cb .PdfObject )(PdfColorspace ,error ){var _dgfb *_cb .PdfIndirectObject ;var _edee *_cb .PdfObjectName ;var _babaa *_cb .PdfObjectArray ;if _afa ,_geag :=obj .(*_cb .PdfIndirectObject );_geag {_dgfb =_afa ;};obj =_cb .TraceToDirectObject (obj );switch _agcc :=obj .(type ){case *_cb .PdfObjectArray :_babaa =_agcc ;case *_cb .PdfObjectName :_edee =_agcc ;};if _edee !=nil {switch *_edee {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:_dbe .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",*_edee );return nil ,_ccef ;};};if _babaa !=nil &&_babaa .Len ()> 0{var _gbff _cb .PdfObject =_dgfb ;if _dgfb ==nil {_gbff =_babaa ;};if _adbc ,_ggc :=_cb .GetName (_babaa .Get (0));_ggc {switch _adbc .String (){case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":if _babaa .Len ()==1{return NewPdfColorspaceDeviceGray (),nil ;};case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":if _babaa .Len ()==1{return NewPdfColorspaceDeviceRGB (),nil ;};case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _babaa .Len ()==1{return NewPdfColorspaceDeviceCMYK (),nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079":return _fccb (_gbff );case "\u0043\u0061\u006c\u0052\u0047\u0042":return _egeda (_gbff );case "\u004c\u0061\u0062":return _caag (_gbff );case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064":return _aadc (_gbff );case "\u0050a\u0074\u0074\u0065\u0072\u006e":return _ccd (_gbff );case "\u0049n\u0064\u0065\u0078\u0065\u0064":return _fgaa (_gbff );case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e":return _fgfdf (_gbff );case "\u0044e\u0076\u0069\u0063\u0065\u004e":return _bgbfg (_gbff );default:_dbe .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",*_adbc );};};};_dbe .Log .Debug ("\u0050\u0044\u0046\u0020\u0046i\u006c\u0065\u0020\u0045\u0072\u0072\u006f\u0072\u003a\u0020\u0043\u006f\u006co\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",obj .String ());return nil ,ErrTypeCheck ;};func (_cgg *PdfReader )newPdfAnnotationProjectionFromDict (_fead *_cb .PdfObjectDictionary )(*PdfAnnotationProjection ,error ){_cbbb :=&PdfAnnotationProjection {};_caf ,_ccee :=_cgg .newPdfAnnotationMarkupFromDict (_fead );if _ccee !=nil {return nil ,_ccee ;};_cbbb .PdfAnnotationMarkup =_caf ;return _cbbb ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the shading object (indirect object).
|
||
func (_ggbc *PdfShading )GetContainingPdfObject ()_cb .PdfObject {return _ggbc ._gfdg };
|
||
|
||
// GetPrimitiveFromModel returns the primitive object corresponding to the input `model`.
|
||
func (_eaece *modelManager )GetPrimitiveFromModel (model PdfModel )_cb .PdfObject {_deecb ,_fcce :=_eaece ._geed [model ];if !_fcce {return nil ;};return _deecb ;};func (_fbgb *pdfFontType0 )subsetRegistered ()error {_fgggg ,_cagb :=_fbgb .DescendantFont ._cdfe .(*pdfCIDFontType2 );if !_cagb {_dbe .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",_fbgb .DescendantFont );return nil ;};if _fgggg ==nil {return nil ;};if _fgggg ._bgbb ==nil {_dbe .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 _fbgb ._ggdg ==nil {_dbe .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 ;};_cbdff ,_cagb :=_cb .GetStream (_fgggg ._bgbb .FontFile2 );if !_cagb {_dbe .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 _bc .New ("\u0066\u006f\u006e\u0074fi\u006c\u0065\u0032\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");};_edeg ,_gbbb :=_cb .DecodeStream (_cbdff );if _gbbb !=nil {_dbe .Log .Debug ("\u0044\u0065c\u006f\u0064\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_gbbb );return _gbbb ;};_cfdea ,_gbbb :=_ae .Parse (_bbb .NewReader (_edeg ));if _gbbb !=nil {_dbe .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 (_cbdff .Stream ));return _gbbb ;};var _bgcb []rune ;var _debf *_ae .Font ;switch _deea :=_fbgb ._ggdg .(type ){case *_ccb .TrueTypeFontEncoder :_bgcb =_deea .RegisteredRunes ();_debf ,_gbbb =_cfdea .SubsetKeepRunes (_bgcb );if _gbbb !=nil {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gbbb );return _gbbb ;};_deea .SubsetRegistered ();case *_ccb .IdentityEncoder :_bgcb =_deea .RegisteredRunes ();_fdged :=make ([]_ae .GlyphIndex ,len (_bgcb ));for _debc ,_dbee :=range _bgcb {_fdged [_debc ]=_ae .GlyphIndex (_dbee );};_debf ,_gbbb =_cfdea .SubsetKeepIndices (_fdged );if _gbbb !=nil {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gbbb );return _gbbb ;};case _ccb .SimpleEncoder :_dadbg :=_deea .Charcodes ();for _ ,_cfcc :=range _dadbg {_ecdd ,_agdad :=_deea .CharcodeToRune (_cfcc );if !_agdad {_dbe .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",_cfcc );continue ;};_bgcb =append (_bgcb ,_ecdd );};default:return _c .Errorf ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0065\u006e\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020s\u0075\u0062\u0073\u0065\u0074t\u0069\u006eg\u003a\u0020\u0025\u0054",_fbgb ._ggdg );};var _bbadf _bbb .Buffer ;_gbbb =_debf .Write (&_bbadf );if _gbbb !=nil {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gbbb );return _gbbb ;};if _fbgb ._agag !=nil {_gbcc :=make (map[_gb .CharCode ]rune ,len (_bgcb ));for _ ,_ddgb :=range _bgcb {_fddfd ,_gabf :=_fbgb ._ggdg .RuneToCharcode (_ddgb );if !_gabf {continue ;};_gbcc [_gb .CharCode (_fddfd )]=_ddgb ;};_fbgb ._agag =_gb .NewToUnicodeCMap (_gbcc );};_cbdff ,_gbbb =_cb .MakeStream (_bbadf .Bytes (),_cb .NewFlateEncoder ());if _gbbb !=nil {_dbe .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gbbb );return _gbbb ;};_cbdff .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_cb .MakeInteger (int64 (_bbadf .Len ())));if _caagd ,_egef :=_cb .GetStream (_fgggg ._bgbb .FontFile2 );_egef {*_caagd =*_cbdff ;}else {_fgggg ._bgbb .FontFile2 =_cbdff ;};_fggga :=_dbdfa ();if len (_fbgb ._babff )> 0{_fbgb ._babff =_gfdc (_fbgb ._babff ,_fggga );};if len (_fgggg ._babff )> 0{_fgggg ._babff =_gfdc (_fgggg ._babff ,_fggga );};if len (_fbgb ._ecaeb )> 0{_fbgb ._ecaeb =_gfdc (_fbgb ._ecaeb ,_fggga );};if _fgggg ._bgbb !=nil {_daabg ,_geaaa :=_cb .GetName (_fgggg ._bgbb .FontName );if _geaaa &&len (_daabg .String ())> 0{_baedd :=_gfdc (_daabg .String (),_fggga );_fgggg ._bgbb .FontName =_cb .MakeName (_baedd );};};return nil ;};
|
||
|
||
// SetPdfAuthor sets the Author attribute of the output PDF.
|
||
func SetPdfAuthor (author string ){_gbga =author };func (_fbbc *PdfReader )newPdfActionHideFromDict (_ffa *_cb .PdfObjectDictionary )(*PdfActionHide ,error ){return &PdfActionHide {T :_ffa .Get ("\u0054"),H :_ffa .Get ("\u0048")},nil ;};
|
||
|
||
// PdfAnnotation3D represents 3D annotations.
|
||
// (Section 13.6.2).
|
||
type PdfAnnotation3D struct{*PdfAnnotation ;T3DD _cb .PdfObject ;T3DV _cb .PdfObject ;T3DA _cb .PdfObject ;T3DI _cb .PdfObject ;T3DB _cb .PdfObject ;};func (_becaf *PdfAcroForm )signatureFields ()[]*PdfFieldSignature {var _cgab []*PdfFieldSignature ;for _ ,_ebda :=range _becaf .AllFields (){switch _fcdbe :=_ebda .GetContext ().(type ){case *PdfFieldSignature :_eaec :=_fcdbe ;_cgab =append (_cgab ,_eaec );};};return _cgab ;};
|
||
|
||
// PdfAnnotationStamp represents Stamp annotations.
|
||
// (Section 12.5.6.12).
|
||
type PdfAnnotationStamp struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Name _cb .PdfObject ;};
|
||
|
||
// PdfAcroForm represents the AcroForm dictionary used for representation of form data in PDF.
|
||
type PdfAcroForm struct{Fields *[]*PdfField ;NeedAppearances *_cb .PdfObjectBool ;SigFlags *_cb .PdfObjectInteger ;CO *_cb .PdfObjectArray ;DR *PdfPageResources ;DA *_cb .PdfObjectString ;Q *_cb .PdfObjectInteger ;XFA _cb .PdfObject ;_dfgeb *_cb .PdfIndirectObject ;};
|
||
|
||
// PdfAnnotationProjection represents Projection annotations.
|
||
type PdfAnnotationProjection struct{*PdfAnnotation ;*PdfAnnotationMarkup ;};
|
||
|
||
// PdfAnnotationFreeText represents FreeText annotations.
|
||
// (Section 12.5.6.6).
|
||
type PdfAnnotationFreeText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;DA _cb .PdfObject ;Q _cb .PdfObject ;RC _cb .PdfObject ;DS _cb .PdfObject ;CL _cb .PdfObject ;IT _cb .PdfObject ;BE _cb .PdfObject ;RD _cb .PdfObject ;BS _cb .PdfObject ;LE _cb .PdfObject ;};
|
||
|
||
// GetEncryptionMethod returns a descriptive information string about the encryption method used.
|
||
func (_afffb *PdfReader )GetEncryptionMethod ()string {_aegef :=_afffb ._gfecg .GetCrypter ();return _aegef .String ();};
|
||
|
||
// PdfFieldButton represents a button field which includes push buttons, checkboxes, and radio buttons.
|
||
type PdfFieldButton struct{*PdfField ;Opt *_cb .PdfObjectArray ;};
|
||
|
||
// GetXObjectByName gets XObject by name.
|
||
func (_cebb *PdfPage )GetXObjectByName (name _cb .PdfObjectName )(_cb .PdfObject ,bool ){_egab ,_abeee :=_cebb .Resources .XObject .(*_cb .PdfObjectDictionary );if !_abeee {return nil ,false ;};if _gaagb :=_egab .Get (name );_gaagb !=nil {return _gaagb ,true ;};return nil ,false ;};func _ccd (_cbda _cb .PdfObject )(*PdfColorspaceSpecialPattern ,error ){_dbe .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",_cbda .String (),_cbda );_gcab :=NewPdfColorspaceSpecialPattern ();if _dgaga ,_adbdg :=_cbda .(*_cb .PdfIndirectObject );_adbdg {_gcab ._beef =_dgaga ;};_cbda =_cb .TraceToDirectObject (_cbda );if _fedd ,_ffdb :=_cbda .(*_cb .PdfObjectName );_ffdb {if *_fedd !="\u0050a\u0074\u0074\u0065\u0072\u006e"{return nil ,_c .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};return _gcab ,nil ;};_fdgfg ,_fgcb :=_cbda .(*_cb .PdfObjectArray );if !_fgcb {_dbe .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",_cbda );return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0050\u0061\u0074\u0074e\u0072n\u0020C\u0053\u0020\u006f\u0062\u006a\u0065\u0063t");};if _fdgfg .Len ()!=1&&_fdgfg .Len ()!=2{_dbe .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",_fdgfg );return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065r\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079");};_cbda =_fdgfg .Get (0);if _bgge ,_gced :=_cbda .(*_cb .PdfObjectName );_gced {if *_bgge !="\u0050a\u0074\u0074\u0065\u0072\u006e"{_dbe .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",_bgge );return nil ,_c .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};};if _fdgfg .Len ()> 1{_cbda =_fdgfg .Get (1);_cbda =_cb .TraceToDirectObject (_cbda );_acb ,_dfgc :=NewPdfColorspaceFromPdfObject (_cbda );if _dfgc !=nil {return nil ,_dfgc ;};_gcab .UnderlyingCS =_acb ;};_dbe .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",_gcab .UnderlyingCS );return _gcab ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a Lab device.
|
||
func (_aafc *PdfColorspaceLab )GetNumComponents ()int {return 3};
|
||
|
||
// GetXObjectFormByName returns the XObjectForm with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_bbdce *PdfPageResources )GetXObjectFormByName (keyName _cb .PdfObjectName )(*XObjectForm ,error ){_egae ,_edfc :=_bbdce .GetXObjectByName (keyName );if _egae ==nil {return nil ,nil ;};if _edfc !=XObjectTypeForm {return nil ,_bc .New ("\u006e\u006f\u0074\u0020\u0061\u0020\u0066\u006f\u0072\u006d");};_cfce ,_aggcb :=NewXObjectFormFromStream (_egae );if _aggcb !=nil {return nil ,_aggcb ;};return _cfce ,nil ;};
|
||
|
||
// M returns the value of the magenta component of the color.
|
||
func (_cbag *PdfColorDeviceCMYK )M ()float64 {return float64 (_cbag [1])};
|
||
|
||
// NewPdfColorCalRGB returns a new CalRBG color.
|
||
func NewPdfColorCalRGB (a ,b ,c float64 )*PdfColorCalRGB {_fbff :=PdfColorCalRGB {a ,b ,c };return &_fbff ;};
|
||
|
||
// GetNumComponents returns the number of input color components, i.e. that are input to the tint transform.
|
||
func (_bgdd *PdfColorspaceDeviceN )GetNumComponents ()int {return _bgdd .ColorantNames .Len ()};
|
||
|
||
// PdfShadingType2 is an Axial shading.
|
||
type PdfShadingType2 struct{*PdfShading ;Coords *_cb .PdfObjectArray ;Domain *_cb .PdfObjectArray ;Function []PdfFunction ;Extend *_cb .PdfObjectArray ;};
|
||
|
||
// 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 (_fccd *PdfColorspaceCalRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_afceg :=vals [0];if _afceg < 0.0||_afceg > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cdcd :=vals [1];if _cdcd < 0.0||_cdcd > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gccc :=vals [2];if _gccc < 0.0||_gccc > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fbbbb :=NewPdfColorCalRGB (_afceg ,_cdcd ,_gccc );return _fbbbb ,nil ;};
|
||
|
||
// NewPdfAnnotationSound returns a new sound annotation.
|
||
func NewPdfAnnotationSound ()*PdfAnnotationSound {_fab :=NewPdfAnnotation ();_ege :=&PdfAnnotationSound {};_ege .PdfAnnotation =_fab ;_ege .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fab .SetContext (_ege );return _ege ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edb *PdfAnnotationWidget )ToPdfObject ()_cb .PdfObject {_edb .PdfAnnotation .ToPdfObject ();_cdaa :=_edb ._efd ;_afcea :=_cdaa .PdfObject .(*_cb .PdfObjectDictionary );if _edb ._dff {return _cdaa ;};_edb ._dff =true ;_afcea .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0057\u0069\u0064\u0067\u0065\u0074"));_afcea .SetIfNotNil ("\u0048",_edb .H );_afcea .SetIfNotNil ("\u004d\u004b",_edb .MK );_afcea .SetIfNotNil ("\u0041",_edb .A );_afcea .SetIfNotNil ("\u0041\u0041",_edb .AA );_afcea .SetIfNotNil ("\u0042\u0053",_edb .BS );_dgag :=_edb .Parent ;if _edb ._bdcc !=nil {if _edb ._bdcc ._addef ==_edb ._efd {_edb ._bdcc .ToPdfObject ();};_dgag =_edb ._bdcc .GetContainingPdfObject ();};if _dgag !=_cdaa {_afcea .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_dgag );};_edb ._dff =false ;return _cdaa ;};func (_eaae *fontFile )loadFromSegments (_dabec ,_cdda []byte )error {_dbe .Log .Trace ("\u006c\u006f\u0061dF\u0072\u006f\u006d\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u0020\u0025\u0064",len (_dabec ),len (_cdda ));_fcgg :=_eaae .parseASCIIPart (_dabec );if _fcgg !=nil {return _fcgg ;};_dbe .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_eaae );if len (_cdda )==0{return nil ;};_dbe .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_eaae );return nil ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_fdgede *PdfOutline )ToPdfObject ()_cb .PdfObject {_fcdaag :=_fdgede ._ffbfg ;_aafa :=_fcdaag .PdfObject .(*_cb .PdfObjectDictionary );_aafa .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"));if _fdgede .First !=nil {_aafa .Set ("\u0046\u0069\u0072s\u0074",_fdgede .First .ToPdfObject ());};if _fdgede .Last !=nil {_aafa .Set ("\u004c\u0061\u0073\u0074",_fdgede .Last .GetContext ().GetContainingPdfObject ());};if _fdgede .Parent !=nil {_aafa .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fdgede .Parent .GetContext ().GetContainingPdfObject ());};if _fdgede .Count !=nil {_aafa .Set ("\u0043\u006f\u0075n\u0074",_cb .MakeInteger (*_fdgede .Count ));};return _fcdaag ;};
|
||
|
||
// PdfAnnotationFileAttachment represents FileAttachment annotations.
|
||
// (Section 12.5.6.15).
|
||
type PdfAnnotationFileAttachment struct{*PdfAnnotation ;*PdfAnnotationMarkup ;FS _cb .PdfObject ;Name _cb .PdfObject ;};
|
||
|
||
// SetPdfCreator sets the Creator attribute of the output PDF.
|
||
func SetPdfCreator (creator string ){_adebc =creator };
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components.
|
||
func (_cfea *PdfColorspaceDeviceN )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=_cfea .GetNumComponents (){return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cabcd ,_egbfg :=_cfea .TintTransform .Evaluate (vals );if _egbfg !=nil {return nil ,_egbfg ;};_dacc ,_egbfg :=_cfea .AlternateSpace .ColorFromFloats (_cabcd );if _egbfg !=nil {return nil ,_egbfg ;};return _dacc ,nil ;};
|
||
|
||
// NewPdfColorDeviceRGB returns a new PdfColorDeviceRGB based on the r,g,b component values.
|
||
func NewPdfColorDeviceRGB (r ,g ,b float64 )*PdfColorDeviceRGB {_ccega :=PdfColorDeviceRGB {r ,g ,b };return &_ccega ;};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name stream]
|
||
func (_cdef *PdfColorspaceICCBased )ToPdfObject ()_cb .PdfObject {_efgb :=&_cb .PdfObjectArray {};_efgb .Append (_cb .MakeName ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"));var _afeb *_cb .PdfObjectStream ;if _cdef ._cfade !=nil {_afeb =_cdef ._cfade ;}else {_afeb =&_cb .PdfObjectStream {};};_dfdc :=_cb .MakeDict ();_dfdc .Set ("\u004e",_cb .MakeInteger (int64 (_cdef .N )));if _cdef .Alternate !=nil {_dfdc .Set ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e",_cdef .Alternate .ToPdfObject ());};if _cdef .Metadata !=nil {_dfdc .Set ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_cdef .Metadata );};if _cdef .Range !=nil {var _abba []_cb .PdfObject ;for _ ,_babgf :=range _cdef .Range {_abba =append (_abba ,_cb .MakeFloat (_babgf ));};_dfdc .Set ("\u0052\u0061\u006eg\u0065",_cb .MakeArray (_abba ...));};_dfdc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_cb .MakeInteger (int64 (len (_cdef .Data ))));_afeb .Stream =_cdef .Data ;_afeb .PdfObjectDictionary =_dfdc ;_efgb .Append (_afeb );if _cdef ._ebfab !=nil {_cdef ._ebfab .PdfObject =_efgb ;return _cdef ._ebfab ;};return _efgb ;};
|
||
|
||
// GetPatternByName gets the pattern specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_afcfe *PdfPageResources )GetPatternByName (keyName _cb .PdfObjectName )(*PdfPattern ,bool ){if _afcfe .Pattern ==nil {return nil ,false ;};_fcfda ,_ccggf :=_cb .TraceToDirectObject (_afcfe .Pattern ).(*_cb .PdfObjectDictionary );if !_ccggf {_dbe .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",_afcfe .Pattern );return nil ,false ;};if _gcecf :=_fcfda .Get (keyName );_gcecf !=nil {_ffgd ,_afagc :=_begbc (_gcecf );if _afagc !=nil {_dbe .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",_afagc );return nil ,false ;};return _ffgd ,true ;};return nil ,false ;};
|
||
|
||
// GetOCProperties returns the optional content properties PdfObject.
|
||
func (_cafd *PdfReader )GetOCProperties ()(_cb .PdfObject ,error ){_agdaa :=_cafd ._fccgb ;_gdadb :=_agdaa .Get ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_gdadb =_cb .ResolveReference (_gdadb );if !_cafd ._cbfab {_baac :=_cafd .traverseObjectData (_gdadb );if _baac !=nil {return nil ,_baac ;};};return _gdadb ,nil ;};func _eabf (_bfgbce string )(map[_ccb .CharCode ]_ccb .GlyphName ,error ){_daggf :=_fe .Split (_bfgbce ,"\u000a");_eggc :=make (map[_ccb .CharCode ]_ccb .GlyphName );for _ ,_edae :=range _daggf {_adcf :=_caca .FindStringSubmatch (_edae );if _adcf ==nil {continue ;};_fagb ,_abgd :=_adcf [1],_adcf [2];_abef ,_ebfabe :=_eb .Atoi (_fagb );if _ebfabe !=nil {_dbe .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",_edae );return nil ,_cb .ErrTypeError ;};_eggc [_ccb .CharCode (_abef )]=_ccb .GlyphName (_abgd );};_dbe .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",_eggc );return _eggc ,nil ;};func _ecdg (_ecddf *_ac .ImageBase )(_eeeeg Image ){_eeeeg .Width =int64 (_ecddf .Width );_eeeeg .Height =int64 (_ecddf .Height );_eeeeg .BitsPerComponent =int64 (_ecddf .BitsPerComponent );_eeeeg .ColorComponents =_ecddf .ColorComponents ;_eeeeg .Data =_ecddf .Data ;_eeeeg ._cceeg =_ecddf .Decode ;_eeeeg ._ddffb =_ecddf .Alpha ;return _eeeeg ;};
|
||
|
||
// PdfFont represents an underlying font structure which can be of type:
|
||
// - Type0
|
||
// - Type1
|
||
// - TrueType
|
||
// etc.
|
||
type PdfFont struct{_cdfe pdfFont };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gdd *PdfAnnotationRedact )ToPdfObject ()_cb .PdfObject {_gdd .PdfAnnotation .ToPdfObject ();_deac :=_gdd ._efd ;_gabb :=_deac .PdfObject .(*_cb .PdfObjectDictionary );_gdd .PdfAnnotationMarkup .appendToPdfDictionary (_gabb );_gabb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0052\u0065\u0064\u0061\u0063\u0074"));_gabb .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_gdd .QuadPoints );_gabb .SetIfNotNil ("\u0049\u0043",_gdd .IC );_gabb .SetIfNotNil ("\u0052\u004f",_gdd .RO );_gabb .SetIfNotNil ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074",_gdd .OverlayText );_gabb .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_gdd .Repeat );_gabb .SetIfNotNil ("\u0044\u0041",_gdd .DA );_gabb .SetIfNotNil ("\u0051",_gdd .Q );return _deac ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_cebdg *PdfColorspaceSpecialSeparation )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdf ,_bccac :=_cb .GetNumbersAsFloat (objects );if _bccac !=nil {return nil ,_bccac ;};return _cebdg .ColorFromFloats (_gdf );};
|
||
|
||
// 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 (_deadb *XObjectForm )SetContentStream (content []byte ,encoder _cb .StreamEncoder )error {_gaded :=content ;if encoder ==nil {if _deadb .Filter !=nil {encoder =_deadb .Filter ;}else {encoder =_cb .NewRawEncoder ();};};_eaga ,_fgcgb :=encoder .EncodeBytes (_gaded );if _fgcgb !=nil {return _fgcgb ;};_gaded =_eaga ;_deadb .Stream =_gaded ;_deadb .Filter =encoder ;return nil ;};
|
||
|
||
// NewPdfPageResources returns a new PdfPageResources object.
|
||
func NewPdfPageResources ()*PdfPageResources {_adcdb :=&PdfPageResources {};_adcdb ._eeeegd =_cb .MakeDict ();return _adcdb ;};func _agdccc (_cfbe *_cb .PdfObjectDictionary )(*PdfShadingType3 ,error ){_aabcc :=PdfShadingType3 {};_agdcfg :=_cfbe .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _agdcfg ==nil {_dbe .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 ;};_fgaeec ,_cadfd :=_agdcfg .(*_cb .PdfObjectArray );if !_cadfd {_dbe .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",_agdcfg );return nil ,_cb .ErrTypeError ;};if _fgaeec .Len ()!=6{_dbe .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",_fgaeec .Len ());return nil ,ErrInvalidAttribute ;};_aabcc .Coords =_fgaeec ;if _aacge :=_cfbe .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_aacge !=nil {_aacge =_cb .TraceToDirectObject (_aacge );_dffdf ,_dcagag :=_aacge .(*_cb .PdfObjectArray );if !_dcagag {_dbe .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",_aacge );return nil ,_cb .ErrTypeError ;};_aabcc .Domain =_dffdf ;};_agdcfg =_cfbe .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _agdcfg ==nil {_dbe .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 ;};_aabcc .Function =[]PdfFunction {};if _bgbc ,_begd :=_agdcfg .(*_cb .PdfObjectArray );_begd {for _ ,_egcfe :=range _bgbc .Elements (){_cbgdab ,_dacdb :=_abcgd (_egcfe );if _dacdb !=nil {_dbe .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",_dacdb );return nil ,_dacdb ;};_aabcc .Function =append (_aabcc .Function ,_cbgdab );};}else {_gbdc ,_acccfe :=_abcgd (_agdcfg );if _acccfe !=nil {_dbe .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",_acccfe );return nil ,_acccfe ;};_aabcc .Function =append (_aabcc .Function ,_gbdc );};if _bbccga :=_cfbe .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_bbccga !=nil {_bbccga =_cb .TraceToDirectObject (_bbccga );_cdabe ,_aegbf :=_bbccga .(*_cb .PdfObjectArray );if !_aegbf {_dbe .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",_bbccga );return nil ,_cb .ErrTypeError ;};if _cdabe .Len ()!=2{_dbe .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",_cdabe .Len ());return nil ,ErrInvalidAttribute ;};_aabcc .Extend =_cdabe ;};return &_aabcc ,nil ;};
|
||
|
||
// PdfFieldChoice represents a choice field which includes scrollable list boxes and combo boxes.
|
||
type PdfFieldChoice struct{*PdfField ;Opt *_cb .PdfObjectArray ;TI *_cb .PdfObjectInteger ;I *_cb .PdfObjectArray ;};func _caag (_becd _cb .PdfObject )(*PdfColorspaceLab ,error ){_ggde :=NewPdfColorspaceLab ();if _cbbg ,_gcgd :=_becd .(*_cb .PdfIndirectObject );_gcgd {_ggde ._ddee =_cbbg ;};_becd =_cb .TraceToDirectObject (_becd );_egfc ,_gdg :=_becd .(*_cb .PdfObjectArray );if !_gdg {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _egfc .Len ()!=2{return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_becd =_cb .TraceToDirectObject (_egfc .Get (0));_ccebc ,_gdg :=_becd .(*_cb .PdfObjectName );if !_gdg {return nil ,_c .Errorf ("\u006c\u0061\u0062\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006ft\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062j\u0065\u0063\u0074");};if *_ccebc !="\u004c\u0061\u0062"{return nil ,_c .Errorf ("n\u006ft\u0020\u0061\u0020\u004c\u0061\u0062\u0020\u0063o\u006c\u006f\u0072\u0073pa\u0063\u0065");};_becd =_cb .TraceToDirectObject (_egfc .Get (1));_befd ,_gdg :=_becd .(*_cb .PdfObjectDictionary );if !_gdg {return nil ,_c .Errorf ("c\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067\u0020or\u0020\u0069\u006ev\u0061l\u0069\u0064");};_becd =_befd .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_becd =_cb .TraceToDirectObject (_becd );_aafb ,_gdg :=_becd .(*_cb .PdfObjectArray );if !_gdg {return nil ,_c .Errorf ("\u004c\u0061\u0062\u0020In\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069n\u0074");};if _aafb .Len ()!=3{return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074\u0020\u0061rr\u0061\u0079");};_ddbbd ,_agaaa :=_aafb .GetAsFloat64Slice ();if _agaaa !=nil {return nil ,_agaaa ;};_ggde .WhitePoint =_ddbbd ;_becd =_befd .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _becd !=nil {_becd =_cb .TraceToDirectObject (_becd );_gbge ,_fadf :=_becd .(*_cb .PdfObjectArray );if !_fadf {return nil ,_c .Errorf ("\u004c\u0061\u0062: \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");};if _gbge .Len ()!=3{return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074\u0020\u0061rr\u0061\u0079");};_gedcb ,_afg :=_gbge .GetAsFloat64Slice ();if _afg !=nil {return nil ,_afg ;};_ggde .BlackPoint =_gedcb ;};_becd =_befd .Get ("\u0052\u0061\u006eg\u0065");if _becd !=nil {_becd =_cb .TraceToDirectObject (_becd );_cfbdd ,_aeceb :=_becd .(*_cb .PdfObjectArray );if !_aeceb {_dbe .Log .Error ("\u0052\u0061n\u0067\u0065\u0020t\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");return nil ,_c .Errorf ("\u004ca\u0062:\u0020\u0054\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cfbdd .Len ()!=4{_dbe .Log .Error ("\u0052\u0061\u006e\u0067\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020e\u0072\u0072\u006f\u0072");return nil ,_c .Errorf ("\u004c\u0061b\u003a\u0020\u0052a\u006e\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_ebfc ,_cgbg :=_cfbdd .GetAsFloat64Slice ();if _cgbg !=nil {return nil ,_cgbg ;};_ggde .Range =_ebfc ;};return _ggde ,nil ;};
|
||
|
||
// PdfAnnotationSound represents Sound annotations.
|
||
// (Section 12.5.6.16).
|
||
type PdfAnnotationSound struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Sound _cb .PdfObject ;Name _cb .PdfObject ;};func (_egbf *PdfReader )newPdfAnnotationPolygonFromDict (_ccfd *_cb .PdfObjectDictionary )(*PdfAnnotationPolygon ,error ){_deab :=PdfAnnotationPolygon {};_eef ,_fddf :=_egbf .newPdfAnnotationMarkupFromDict (_ccfd );if _fddf !=nil {return nil ,_fddf ;};_deab .PdfAnnotationMarkup =_eef ;_deab .Vertices =_ccfd .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_deab .LE =_ccfd .Get ("\u004c\u0045");_deab .BS =_ccfd .Get ("\u0042\u0053");_deab .IC =_ccfd .Get ("\u0049\u0043");_deab .BE =_ccfd .Get ("\u0042\u0045");_deab .IT =_ccfd .Get ("\u0049\u0054");_deab .Measure =_ccfd .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_deab ,nil ;};
|
||
|
||
// NewPdfAction returns an initialized generic PDF action model.
|
||
func NewPdfAction ()*PdfAction {_eg :=&PdfAction {};_eg ._fc =_cb .MakeIndirectObject (_cb .MakeDict ());return _eg ;};
|
||
|
||
// ToPdfOutlineItem returns a low level PdfOutlineItem object,
|
||
// based on the current instance.
|
||
func (_dbdcb *OutlineItem )ToPdfOutlineItem ()(*PdfOutlineItem ,int64 ){_bafg :=NewPdfOutlineItem ();_bafg .Title =_cb .MakeEncodedString (_dbdcb .Title ,true );_bafg .Dest =_dbdcb .Dest .ToPdfObject ();var _adad []*PdfOutlineItem ;var _ggfdc int64 ;var _gbcb *PdfOutlineItem ;for _ ,_gbged :=range _dbdcb .Entries {_ddfdb ,_fceb :=_gbged .ToPdfOutlineItem ();_ddfdb .Parent =&_bafg .PdfOutlineTreeNode ;if _gbcb !=nil {_gbcb .Next =&_ddfdb .PdfOutlineTreeNode ;_ddfdb .Prev =&_gbcb .PdfOutlineTreeNode ;};_adad =append (_adad ,_ddfdb );_ggfdc +=_fceb ;_gbcb =_ddfdb ;};_gcaeb :=len (_adad );_ggfdc +=int64 (_gcaeb );if _gcaeb > 0{_bafg .First =&_adad [0].PdfOutlineTreeNode ;_bafg .Last =&_adad [_gcaeb -1].PdfOutlineTreeNode ;_bafg .Count =&_ggfdc ;};return _bafg ,_ggfdc ;};
|
||
|
||
// PdfShadingType4 is a Free-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType4 struct{*PdfShading ;BitsPerCoordinate *_cb .PdfObjectInteger ;BitsPerComponent *_cb .PdfObjectInteger ;BitsPerFlag *_cb .PdfObjectInteger ;Decode *_cb .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// SetBorderWidth sets the style's border width.
|
||
func (_eage *PdfBorderStyle )SetBorderWidth (width float64 ){_eage .W =&width };
|
||
|
||
// NewPdfAnnotationFreeText returns a new free text annotation.
|
||
func NewPdfAnnotationFreeText ()*PdfAnnotationFreeText {_dfa :=NewPdfAnnotation ();_ffb :=&PdfAnnotationFreeText {};_ffb .PdfAnnotation =_dfa ;_ffb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dfa .SetContext (_ffb );return _ffb ;};
|
||
|
||
// Add appends a top level outline item to the outline.
|
||
func (_abge *Outline )Add (item *OutlineItem ){_abge .Entries =append (_abge .Entries ,item )};
|
||
|
||
// GetAllContentStreams gets all the content streams for a page as one string.
|
||
func (_ccdeg *PdfPage )GetAllContentStreams ()(string ,error ){_gagfg ,_bcfde :=_ccdeg .GetContentStreams ();if _bcfde !=nil {return "",_bcfde ;};return _fe .Join (_gagfg ,"\u0020"),nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_caec *PdfAnnotationPolyLine )ToPdfObject ()_cb .PdfObject {_caec .PdfAnnotation .ToPdfObject ();_aaggg :=_caec ._efd ;_bbfe :=_aaggg .PdfObject .(*_cb .PdfObjectDictionary );_caec .PdfAnnotationMarkup .appendToPdfDictionary (_bbfe );_bbfe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065"));_bbfe .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_caec .Vertices );_bbfe .SetIfNotNil ("\u004c\u0045",_caec .LE );_bbfe .SetIfNotNil ("\u0042\u0053",_caec .BS );_bbfe .SetIfNotNil ("\u0049\u0043",_caec .IC );_bbfe .SetIfNotNil ("\u0042\u0045",_caec .BE );_bbfe .SetIfNotNil ("\u0049\u0054",_caec .IT );_bbfe .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_caec .Measure );return _aaggg ;};func (_cccfd fontCommon )coreString ()string {_gbeba :="";if _cccfd ._bgbb !=nil {_gbeba =_cccfd ._bgbb .String ();};return _c .Sprintf ("\u0025#\u0071\u0020%\u0023\u0071\u0020%\u0071\u0020\u006f\u0062\u006a\u003d\u0025d\u0020\u0054\u006f\u0055\u006e\u0069c\u006f\u0064\u0065\u003d\u0025\u0074\u0020\u0066\u006c\u0061\u0067s\u003d\u0030\u0078\u0025\u0030\u0078\u0020\u0025\u0073",_cccfd ._fbefd ,_cccfd ._babff ,_cccfd ._ecaeb ,_cccfd ._cbgad ,_cccfd ._ccaac !=nil ,_cccfd .fontFlags (),_gbeba );};func (_geae *pdfCIDFontType0 )baseFields ()*fontCommon {return &_geae .fontCommon };
|
||
|
||
// ValidateSignatures validates digital signatures in the document.
|
||
func (_fecge *PdfReader )ValidateSignatures (handlers []SignatureHandler )([]SignatureValidationResult ,error ){if _fecge .AcroForm ==nil {return nil ,nil ;};if _fecge .AcroForm .Fields ==nil {return nil ,nil ;};type sigFieldPair struct{_gaae *PdfSignature ;_fggeb *PdfField ;_fdacc SignatureHandler ;};var _ebede []*sigFieldPair ;for _ ,_bdbg :=range _fecge .AcroForm .AllFields (){if _bdbg .V ==nil {continue ;};if _acff ,_dfegb :=_cb .GetDict (_bdbg .V );_dfegb {if _fffge ,_gefc :=_cb .GetNameVal (_acff .Get ("\u0054\u0079\u0070\u0065"));_gefc &&_fffge =="\u0053\u0069\u0067"{_ffbd ,_abde :=_cb .GetIndirect (_bdbg .V );if !_abde {_dbe .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 ;};_abgbd ,_ffgba :=_fecge .newPdfSignatureFromIndirect (_ffbd );if _ffgba !=nil {return nil ,_ffgba ;};var _eceb SignatureHandler ;for _ ,_acbd :=range handlers {if _acbd .IsApplicable (_abgbd ){_eceb =_acbd ;break ;};};_ebede =append (_ebede ,&sigFieldPair {_gaae :_abgbd ,_fggeb :_bdbg ,_fdacc :_eceb });};};};var _ffgdd []SignatureValidationResult ;for _ ,_baab :=range _ebede {_dffeb :=SignatureValidationResult {IsSigned :true ,Fields :[]*PdfField {_baab ._fggeb }};if _baab ._fdacc ==nil {_dffeb .Errors =append (_dffeb .Errors ,"\u0068a\u006ed\u006c\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0073\u0065\u0074");_ffgdd =append (_ffgdd ,_dffeb );continue ;};_efdf ,_bfeag :=_baab ._fdacc .NewDigest (_baab ._gaae );if _bfeag !=nil {_dffeb .Errors =append (_dffeb .Errors ,"\u0064\u0069\u0067e\u0073\u0074\u0020\u0065\u0072\u0072\u006f\u0072",_bfeag .Error ());_ffgdd =append (_ffgdd ,_dffeb );continue ;};_cafcc :=_baab ._gaae .ByteRange ;if _cafcc ==nil {_dffeb .Errors =append (_dffeb .Errors ,"\u0042\u0079\u0074\u0065\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");_ffgdd =append (_ffgdd ,_dffeb );continue ;};for _degfc :=0;_degfc < _cafcc .Len ();_degfc =_degfc +2{_abffbg ,_ :=_cb .GetNumberAsInt64 (_cafcc .Get (_degfc ));_caeec ,_ :=_cb .GetIntVal (_cafcc .Get (_degfc +1));if _ ,_bbcfa :=_fecge ._cgba .Seek (_abffbg ,_bb .SeekStart );_bbcfa !=nil {return nil ,_bbcfa ;};_afbaeb :=make ([]byte ,_caeec );if _ ,_eedag :=_fecge ._cgba .Read (_afbaeb );_eedag !=nil {return nil ,_eedag ;};_efdf .Write (_afbaeb );};_gcdga ,_bfeag :=_baab ._fdacc .Validate (_baab ._gaae ,_efdf );if _bfeag !=nil {return nil ,_bfeag ;};_gcdga .Name =_baab ._gaae .Name .Decoded ();_gcdga .Reason =_baab ._gaae .Reason .Decoded ();if _baab ._gaae .M !=nil {_eaebe ,_fdfgf :=NewPdfDate (_baab ._gaae .M .String ());if _fdfgf !=nil {_gcdga .Errors =append (_gcdga .Errors ,_fdfgf .Error ());continue ;};_gcdga .Date =_eaebe ;};_gcdga .ContactInfo =_baab ._gaae .ContactInfo .Decoded ();_gcdga .Location =_baab ._gaae .Location .Decoded ();_gcdga .Fields =_dffeb .Fields ;_ffgdd =append (_ffgdd ,_gcdga );};return _ffgdd ,nil ;};var _cebffbc ="";
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_effa *PdfAnnotationProjection )ToPdfObject ()_cb .PdfObject {_effa .PdfAnnotation .ToPdfObject ();_dbgag :=_effa ._efd ;_ddcb :=_dbgag .PdfObject .(*_cb .PdfObjectDictionary );_effa .PdfAnnotationMarkup .appendToPdfDictionary (_ddcb );return _dbgag ;};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";);
|
||
|
||
// PdfAnnotationSquiggly represents Squiggly annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationSquiggly struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _cb .PdfObject ;};func _egeda (_eced _cb .PdfObject )(*PdfColorspaceCalRGB ,error ){_ffab :=NewPdfColorspaceCalRGB ();if _abae ,_fegc :=_eced .(*_cb .PdfIndirectObject );_fegc {_ffab ._fedfe =_abae ;};_eced =_cb .TraceToDirectObject (_eced );_cacc ,_eeff :=_eced .(*_cb .PdfObjectArray );if !_eeff {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cacc .Len ()!=2{return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_eced =_cb .TraceToDirectObject (_cacc .Get (0));_baec ,_eeff :=_eced .(*_cb .PdfObjectName );if !_eeff {return nil ,_c .Errorf ("\u0043\u0061l\u0052\u0047\u0042\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062je\u0063\u0074");};if *_baec !="\u0043\u0061\u006c\u0052\u0047\u0042"{return nil ,_c .Errorf ("\u006e\u006f\u0074 a\u0020\u0043\u0061\u006c\u0052\u0047\u0042\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_eced =_cb .TraceToDirectObject (_cacc .Get (1));_egcd ,_eeff :=_eced .(*_cb .PdfObjectDictionary );if !_eeff {return nil ,_c .Errorf ("\u0043\u0061l\u0052\u0047\u0042\u0020\u006e\u0061\u006d\u0065\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062je\u0063\u0074");};_eced =_egcd .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_eced =_cb .TraceToDirectObject (_eced );_cggg ,_eeff :=_eced .(*_cb .PdfObjectArray );if !_eeff {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050o\u0069\u006e\u0074");};if _cggg .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u0057h\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074\u0020\u0061\u0072\u0072\u0061\u0079");};_fdbc ,_bdda :=_cggg .GetAsFloat64Slice ();if _bdda !=nil {return nil ,_bdda ;};_ffab .WhitePoint =_fdbc ;_eced =_egcd .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _eced !=nil {_eced =_cb .TraceToDirectObject (_eced );_gdac ,_ggcg :=_eced .(*_cb .PdfObjectArray );if !_ggcg {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076a\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050o\u0069\u006e\u0074");};if _gdac .Len ()!=3{return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052\u0047\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u0042l\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074\u0020\u0061\u0072\u0072\u0061\u0079");};_acgfe ,_aafd :=_gdac .GetAsFloat64Slice ();if _aafd !=nil {return nil ,_aafd ;};_ffab .BlackPoint =_acgfe ;};_eced =_egcd .Get ("\u0047\u0061\u006dm\u0061");if _eced !=nil {_eced =_cb .TraceToDirectObject (_eced );_cbga ,_cgca :=_eced .(*_cb .PdfObjectArray );if !_cgca {return nil ,_c .Errorf ("C\u0061\u006c\u0052\u0047B:\u0020I\u006e\u0076\u0061\u006c\u0069d\u0020\u0047\u0061\u006d\u006d\u0061");};if _cbga .Len ()!=3{return nil ,_c .Errorf ("C\u0061\u006c\u0052\u0047\u0042\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0047a\u006d\u006d\u0061 \u0061r\u0072\u0061\u0079");};_cade ,_egba :=_cbga .GetAsFloat64Slice ();if _egba !=nil {return nil ,_egba ;};_ffab .Gamma =_cade ;};_eced =_egcd .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");if _eced !=nil {_eced =_cb .TraceToDirectObject (_eced );_dbfd ,_abcb :=_eced .(*_cb .PdfObjectArray );if !_abcb {return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052GB\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004d\u0061\u0074\u0072i\u0078");};if _dbfd .Len ()!=9{_dbe .Log .Error ("\u004d\u0061t\u0072\u0069\u0078 \u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0073",_dbfd .String ());return nil ,_c .Errorf ("\u0043\u0061\u006c\u0052G\u0042\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064 \u004da\u0074\u0072\u0069\u0078\u0020\u0061\u0072r\u0061\u0079");};_eggg ,_ggaa :=_dbfd .GetAsFloat64Slice ();if _ggaa !=nil {return nil ,_ggaa ;};_ffab .Matrix =_eggg ;};return _ffab ,nil ;};func (_aebcg *PdfWriter )addObjects (_ecgfd _cb .PdfObject )error {_dbe .Log .Trace ("\u0041d\u0064i\u006e\u0067\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0073\u0021");if _gbebb ,_fdfe :=_ecgfd .(*_cb .PdfIndirectObject );_fdfe {_dbe .Log .Trace ("\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074");_dbe .Log .Trace ("\u002d \u0025\u0073\u0020\u0028\u0025\u0070)",_ecgfd ,_gbebb );_dbe .Log .Trace ("\u002d\u0020\u0025\u0073",_gbebb .PdfObject );if _aebcg .addObject (_gbebb ){_dfgg :=_aebcg .addObjects (_gbebb .PdfObject );if _dfgg !=nil {return _dfgg ;};};return nil ;};if _dbdg ,_ebgc :=_ecgfd .(*_cb .PdfObjectStream );_ebgc {_dbe .Log .Trace ("\u0053\u0074\u0072\u0065\u0061\u006d");_dbe .Log .Trace ("\u002d \u0025\u0073\u0020\u0025\u0070",_ecgfd ,_ecgfd );if _aebcg .addObject (_dbdg ){_eddbe :=_aebcg .addObjects (_dbdg .PdfObjectDictionary );if _eddbe !=nil {return _eddbe ;};};return nil ;};if _acgec ,_fbdda :=_ecgfd .(*_cb .PdfObjectDictionary );_fbdda {_dbe .Log .Trace ("\u0044\u0069\u0063\u0074");_dbe .Log .Trace ("\u002d\u0020\u0025\u0073",_ecgfd );for _ ,_cbcgff :=range _acgec .Keys (){_abdcc :=_acgec .Get (_cbcgff );if _dcbf ,_dgdcb :=_abdcc .(*_cb .PdfObjectReference );_dgdcb {_abdcc =_dcbf .Resolve ();_acgec .Set (_cbcgff ,_abdcc );};if _cbcgff !="\u0050\u0061\u0072\u0065\u006e\u0074"{if _cbdce :=_aebcg .addObjects (_abdcc );_cbdce !=nil {return _cbdce ;};}else {if _ ,_cacd :=_abdcc .(*_cb .PdfObjectNull );_cacd {continue ;};if _edcbfg :=_aebcg .hasObject (_abdcc );!_edcbfg {_dbe .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",_abdcc ,_abdcc ,_abdcc );_aebcg ._gbcba [_abdcc ]=append (_aebcg ._gbcba [_abdcc ],_acgec );};};};return nil ;};if _ebbec ,_cgaff :=_ecgfd .(*_cb .PdfObjectArray );_cgaff {_dbe .Log .Trace ("\u0041\u0072\u0072a\u0079");_dbe .Log .Trace ("\u002d\u0020\u0025\u0073",_ecgfd );if _ebbec ==nil {return _bc .New ("\u0061\u0072\u0072a\u0079\u0020\u0069\u0073\u0020\u006e\u0069\u006c");};for _gbdfb ,_cefa :=range _ebbec .Elements (){if _egbd ,_gaabdc :=_cefa .(*_cb .PdfObjectReference );_gaabdc {_cefa =_egbd .Resolve ();_ebbec .Set (_gbdfb ,_cefa );};if _edff :=_aebcg .addObjects (_cefa );_edff !=nil {return _edff ;};};return nil ;};if _ ,_babcb :=_ecgfd .(*_cb .PdfObjectReference );_babcb {_dbe .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",_ecgfd );return _bc .New ("r\u0065\u0066\u0065\u0072en\u0063e\u0020\u006e\u006f\u0074\u0020a\u006c\u006c\u006f\u0077\u0065\u0064");};return nil ;};func _abcgd (_bebc _cb .PdfObject )(PdfFunction ,error ){_bebc =_cb .ResolveReference (_bebc );if _daff ,_gcbg :=_bebc .(*_cb .PdfObjectStream );_gcbg {_cgbf :=_daff .PdfObjectDictionary ;_gfeb ,_eegab :=_cgbf .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_cb .PdfObjectInteger );if !_eegab {_dbe .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 ,_bc .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 *_gfeb ==0{return _defcb (_daff );}else if *_gfeb ==4{return _ffcfe (_daff );}else {return nil ,_bc .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _eeefcc ,_fcab :=_bebc .(*_cb .PdfIndirectObject );_fcab {_bdaed ,_cgbgg :=_eeefcc .PdfObject .(*_cb .PdfObjectDictionary );if !_cgbgg {_dbe .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 ,_bc .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");};_dagc ,_cgbgg :=_bdaed .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_cb .PdfObjectInteger );if !_cgbgg {_dbe .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 ,_bc .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 *_dagc ==2{return _ecdc (_eeefcc );}else if *_dagc ==3{return _bbffe (_eeefcc );}else {return nil ,_bc .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _gbbg ,_ffda :=_bebc .(*_cb .PdfObjectDictionary );_ffda {_dbcfd ,_cdbg :=_gbbg .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_cb .PdfObjectInteger );if !_cdbg {_dbe .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 ,_bc .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 *_dbcfd ==2{return _ecdc (_gbbg );}else if *_dbcfd ==3{return _bbffe (_gbbg );}else {return nil ,_bc .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else {_dbe .Log .Debug ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0054\u0079\u0070\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0023\u0076",_bebc );return nil ,_bc .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};};func (_gfef *pdfFontSimple )getFontDescriptor ()*PdfFontDescriptor {if _badc :=_gfef ._bgbb ;_badc !=nil {return _badc ;};return _gfef ._eggf ;};
|
||
|
||
// PdfColorspaceSpecialPattern is a Pattern colorspace.
|
||
// Can be defined either as /Pattern or with an underlying colorspace [/Pattern cs].
|
||
type PdfColorspaceSpecialPattern struct{UnderlyingCS PdfColorspace ;_beef *_cb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject converts rectangle to a PDF object.
|
||
func (_aefb *PdfRectangle )ToPdfObject ()_cb .PdfObject {return _cb .MakeArray (_cb .MakeFloat (_aefb .Llx ),_cb .MakeFloat (_aefb .Lly ),_cb .MakeFloat (_aefb .Urx ),_cb .MakeFloat (_aefb .Ury ));};
|
||
|
||
// GetSubFilter returns SubFilter value or empty string.
|
||
func (_cgdga *pdfSignDictionary )GetSubFilter ()string {_beec :=_cgdga .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r");if _beec ==nil {return "";};if _fadac ,_baded :=_cb .GetNameVal (_beec );_baded {return _fadac ;};return "";};
|
||
|
||
// PdfAnnotationTrapNet represents TrapNet annotations.
|
||
// (Section 12.5.6.21).
|
||
type PdfAnnotationTrapNet struct{*PdfAnnotation };
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_daed *PdfFunctionType0 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=_daed .NumInputs {_dbe .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 ,_bc .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");};if _daed ._fcdac ==nil {_dggea :=_daed .processSamples ();if _dggea !=nil {return nil ,_dggea ;};};_aabeda :=_daed .Encode ;if _aabeda ==nil {_aabeda =[]float64 {};for _bgebf :=0;_bgebf < len (_daed .Size );_bgebf ++{_aabeda =append (_aabeda ,0);_aabeda =append (_aabeda ,float64 (_daed .Size [_bgebf ]-1));};};_dgec :=_daed .Decode ;if _dgec ==nil {_dgec =_daed .Range ;};_gacce :=make ([]int ,len (x ));for _cfac :=0;_cfac < len (x );_cfac ++{_gccae :=x [_cfac ];_cafcd :=_ag .Min (_ag .Max (_gccae ,_daed .Domain [2*_cfac ]),_daed .Domain [2*_cfac +1]);_adbee :=_ac .LinearInterpolate (_cafcd ,_daed .Domain [2*_cfac ],_daed .Domain [2*_cfac +1],_aabeda [2*_cfac ],_aabeda [2*_cfac +1]);_gbcd :=_ag .Min (_ag .Max (_adbee ,0),float64 (_daed .Size [_cfac ]-1));_ccfda :=int (_ag .Floor (_gbcd +0.5));if _ccfda < 0{_ccfda =0;}else if _ccfda > _daed .Size [_cfac ]{_ccfda =_daed .Size [_cfac ]-1;};_gacce [_cfac ]=_ccfda ;};_fgdgb :=_gacce [0];for _adaca :=1;_adaca < _daed .NumInputs ;_adaca ++{_dgdc :=_gacce [_adaca ];for _eagf :=0;_eagf < _adaca ;_eagf ++{_dgdc *=_daed .Size [_eagf ];};_fgdgb +=_dgdc ;};_fgdgb *=_daed .NumOutputs ;var _eefdd []float64 ;for _cfcb :=0;_cfcb < _daed .NumOutputs ;_cfcb ++{_abeg :=_fgdgb +_cfcb ;if _abeg >=len (_daed ._fcdac ){_dbe .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 ;};_cacgg :=_daed ._fcdac [_abeg ];_dcfg :=_ac .LinearInterpolate (float64 (_cacgg ),0,_ag .Pow (2,float64 (_daed .BitsPerSample )),_dgec [2*_cfcb ],_dgec [2*_cfcb +1]);_eafg :=_ag .Min (_ag .Max (_dcfg ,_daed .Range [2*_cfcb ]),_daed .Range [2*_cfcb +1]);_eefdd =append (_eefdd ,_eafg );};return _eefdd ,nil ;};
|
||
|
||
// NewPdfAcroForm returns a new PdfAcroForm with an intialized container (indirect object).
|
||
func NewPdfAcroForm ()*PdfAcroForm {return &PdfAcroForm {Fields :&[]*PdfField {},_dfgeb :_cb .MakeIndirectObject (_cb .MakeDict ())};};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eacg *PdfColorDeviceGray )ToInteger (bits int )uint32 {_eaaag :=_ag .Pow (2,float64 (bits ))-1;return uint32 (_eaaag *_eacg .Val ());};func (_ggbgd *PdfReader )loadForms ()(*PdfAcroForm ,error ){if _ggbgd ._gfecg .GetCrypter ()!=nil &&!_ggbgd ._gfecg .IsAuthenticated (){return nil ,_c .Errorf ("\u0066\u0069\u006ce\u0020\u006e\u0065\u0065d\u0020\u0074\u006f\u0020\u0062\u0065\u0020d\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0020\u0066\u0069\u0072\u0073\u0074");};_ffffc :=_ggbgd ._fccgb ;_gfcae :=_ffffc .Get ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d");if _gfcae ==nil {return nil ,nil ;};_acfgf ,_ :=_cb .GetIndirect (_gfcae );_gfcae =_cb .TraceToDirectObject (_gfcae );if _cb .IsNullObject (_gfcae ){_dbe .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 ;};_eadb ,_fbad :=_cb .GetDict (_gfcae );if !_fbad {_dbe .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069d\u0020\u0041\u0063\u0072\u006fF\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_gfcae );_dbe .Log .Debug ("\u0044\u006f\u0065\u0073 n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0066\u006f\u0072\u006d\u0073");return nil ,_c .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0061\u0063\u0072\u006ff\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_gfcae );};_dbe .Log .Trace ("\u0048\u0061\u0073\u0020\u0041\u0063\u0072\u006f\u0020f\u006f\u0072\u006d\u0073");_dbe .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 !_ggbgd ._cbfab {_baffc :=_ggbgd .traverseObjectData (_eadb );if _baffc !=nil {_dbe .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",_baffc );return nil ,_baffc ;};};_efega ,_bedcf :=_ggbgd .newPdfAcroFormFromDict (_acfgf ,_eadb );if _bedcf !=nil {return nil ,_bedcf ;};return _efega ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// component PDF objects.
|
||
func (_cdfb *PdfColorspaceICCBased )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if _cdfb .Alternate ==nil {if _cdfb .N ==1{_dcac :=NewPdfColorspaceDeviceGray ();return _dcac .ColorFromPdfObjects (objects );}else if _cdfb .N ==3{_adbg :=NewPdfColorspaceDeviceRGB ();return _adbg .ColorFromPdfObjects (objects );}else if _cdfb .N ==4{_egaf :=NewPdfColorspaceDeviceCMYK ();return _egaf .ColorFromPdfObjects (objects );}else {return nil ,_bc .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 _cdfb .Alternate .ColorFromPdfObjects (objects );};func _abgda (_eabgf *_cb .PdfObjectDictionary )(*PdfShadingType4 ,error ){_edcac :=PdfShadingType4 {};_aged :=_eabgf .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _aged ==nil {_dbe .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 ;};_eceaa ,_ggcfb :=_aged .(*_cb .PdfObjectInteger );if !_ggcfb {_dbe .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",_aged );return nil ,_cb .ErrTypeError ;};_edcac .BitsPerCoordinate =_eceaa ;_aged =_eabgf .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _aged ==nil {_dbe .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 ;};_eceaa ,_ggcfb =_aged .(*_cb .PdfObjectInteger );if !_ggcfb {_dbe .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",_aged );return nil ,_cb .ErrTypeError ;};_edcac .BitsPerComponent =_eceaa ;_aged =_eabgf .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _aged ==nil {_dbe .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 ;};_eceaa ,_ggcfb =_aged .(*_cb .PdfObjectInteger );if !_ggcfb {_dbe .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",_aged );return nil ,_cb .ErrTypeError ;};_edcac .BitsPerComponent =_eceaa ;_aged =_eabgf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _aged ==nil {_dbe .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 ;};_ebfec ,_ggcfb :=_aged .(*_cb .PdfObjectArray );if !_ggcfb {_dbe .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",_aged );return nil ,_cb .ErrTypeError ;};_edcac .Decode =_ebfec ;_aged =_eabgf .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _aged ==nil {_dbe .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 ;};_edcac .Function =[]PdfFunction {};if _fgagb ,_bgeaa :=_aged .(*_cb .PdfObjectArray );_bgeaa {for _ ,_cggba :=range _fgagb .Elements (){_aaea ,_dgbed :=_abcgd (_cggba );if _dgbed !=nil {_dbe .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",_dgbed );return nil ,_dgbed ;};_edcac .Function =append (_edcac .Function ,_aaea );};}else {_ebgbg ,_ggcd :=_abcgd (_aged );if _ggcd !=nil {_dbe .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",_ggcd );return nil ,_ggcd ;};_edcac .Function =append (_edcac .Function ,_ebgbg );};return &_edcac ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ccae *PdfAnnotationSquare )ToPdfObject ()_cb .PdfObject {_ccae .PdfAnnotation .ToPdfObject ();_bcg :=_ccae ._efd ;_fac :=_bcg .PdfObject .(*_cb .PdfObjectDictionary );if _ccae .PdfAnnotationMarkup !=nil {_ccae .PdfAnnotationMarkup .appendToPdfDictionary (_fac );};_fac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053\u0071\u0075\u0061\u0072\u0065"));_fac .SetIfNotNil ("\u0042\u0053",_ccae .BS );_fac .SetIfNotNil ("\u0049\u0043",_ccae .IC );_fac .SetIfNotNil ("\u0042\u0045",_ccae .BE );_fac .SetIfNotNil ("\u0052\u0044",_ccae .RD );return _bcg ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_deeb *PdfColorspaceDeviceGray )ToPdfObject ()_cb .PdfObject {return _cb .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079");};func (_gbb *PdfReader )newPdfAnnotationInkFromDict (_ddgg *_cb .PdfObjectDictionary )(*PdfAnnotationInk ,error ){_ebd :=PdfAnnotationInk {};_bebg ,_gcdf :=_gbb .newPdfAnnotationMarkupFromDict (_ddgg );if _gcdf !=nil {return nil ,_gcdf ;};_ebd .PdfAnnotationMarkup =_bebg ;_ebd .InkList =_ddgg .Get ("\u0049n\u006b\u004c\u0069\u0073\u0074");_ebd .BS =_ddgg .Get ("\u0042\u0053");return &_ebd ,nil ;};
|
||
|
||
// NewPdfAnnotationLink returns a new link annotation.
|
||
func NewPdfAnnotationLink ()*PdfAnnotationLink {_abg :=NewPdfAnnotation ();_fcdc :=&PdfAnnotationLink {};_fcdc .PdfAnnotation =_abg ;_abg .SetContext (_fcdc );return _fcdc ;};
|
||
|
||
// DecodeArray returns the component range values for the Indexed colorspace.
|
||
func (_bggb *PdfColorspaceSpecialIndexed )DecodeArray ()[]float64 {return []float64 {0,float64 (_bggb .HiVal )};};
|
||
|
||
// GetAsShadingPattern returns a shading pattern. Check with IsShading() prior to using this.
|
||
func (_dcfb *PdfPattern )GetAsShadingPattern ()*PdfShadingPattern {return _dcfb ._eadd .(*PdfShadingPattern );};
|
||
|
||
// BorderStyle defines border type, typically used for annotations.
|
||
type BorderStyle int ;
|
||
|
||
// ToImage converts an object to an Image which can be transformed or saved out.
|
||
// The image data is decoded and the Image returned.
|
||
func (_ebbcbb *XObjectImage )ToImage ()(*Image ,error ){_gfcga :=&Image {};if _ebbcbb .Height ==nil {return nil ,_bc .New ("\u0068e\u0069\u0067\u0068\u0074\u0020\u0061\u0074\u0074\u0072\u0069\u0062u\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_gfcga .Height =*_ebbcbb .Height ;if _ebbcbb .Width ==nil {return nil ,_bc .New ("\u0077\u0069\u0064th\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_gfcga .Width =*_ebbcbb .Width ;if _ebbcbb .BitsPerComponent ==nil {return nil ,_bc .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");};_gfcga .BitsPerComponent =*_ebbcbb .BitsPerComponent ;_gfcga .ColorComponents =_ebbcbb .ColorSpace .GetNumComponents ();_ebbcbb ._egbff .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_cb .MakeInteger (int64 (_gfcga .ColorComponents )));_cacggf ,_dddc :=_cb .DecodeStream (_ebbcbb ._egbff );if _dddc !=nil {return nil ,_dddc ;};_gfcga .Data =_cacggf ;if _ebbcbb .Decode !=nil {_ecegf ,_bfdfgb :=_ebbcbb .Decode .(*_cb .PdfObjectArray );if !_bfdfgb {_dbe .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020D\u0065\u0063\u006f\u0064\u0065 \u006f\u0062\u006a\u0065\u0063\u0074");return nil ,_bc .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065");};_fddfg ,_bdbcd :=_ecegf .ToFloat64Array ();if _bdbcd !=nil {return nil ,_bdbcd ;};_gfcga ._cceeg =_fddfg ;};return _gfcga ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element between 0 and 1.
|
||
func (_fagad *PdfColorspaceCalGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_faff :=vals [0];if _faff < 0.0||_faff > 1.0{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cbdc :=NewPdfColorCalGray (_faff );return _cbdc ,nil ;};
|
||
|
||
// ToPdfObject returns a *PdfIndirectObject containing a *PdfObjectArray representation of the DeviceN colorspace.
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
func (_dbac *PdfColorspaceDeviceN )ToPdfObject ()_cb .PdfObject {_gbffc :=_cb .MakeArray (_cb .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u004e"));_gbffc .Append (_dbac .ColorantNames );_gbffc .Append (_dbac .AlternateSpace .ToPdfObject ());_gbffc .Append (_dbac .TintTransform .ToPdfObject ());if _dbac .Attributes !=nil {_gbffc .Append (_dbac .Attributes .ToPdfObject ());};if _dbac ._eggd !=nil {_dbac ._eggd .PdfObject =_gbffc ;return _dbac ._eggd ;};return _gbffc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bed *PdfAnnotationCaret )ToPdfObject ()_cb .PdfObject {_bed .PdfAnnotation .ToPdfObject ();_fcec :=_bed ._efd ;_cccg :=_fcec .PdfObject .(*_cb .PdfObjectDictionary );_bed .PdfAnnotationMarkup .appendToPdfDictionary (_cccg );_cccg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0043\u0061\u0072e\u0074"));_cccg .SetIfNotNil ("\u0052\u0044",_bed .RD );_cccg .SetIfNotNil ("\u0053\u0079",_bed .Sy );return _fcec ;};
|
||
|
||
// ToGoTime returns the date in time.Time format.
|
||
func (_cdccg PdfDate )ToGoTime ()_d .Time {_dgcec :=int (_cdccg ._bbee *60*60+_cdccg ._caccb *60);switch _cdccg ._bbbbg {case '-':_dgcec =-_dgcec ;case 'Z':_dgcec =0;};_adgb :=_c .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_cdccg ._bbbbg ,_cdccg ._bbee ,_cdccg ._caccb );_feeag :=_d .FixedZone (_adgb ,_dgcec );return _d .Date (int (_cdccg ._dbbc ),_d .Month (_cdccg ._cddf ),int (_cdccg ._ffdac ),int (_cdccg ._cfgca ),int (_cdccg ._fcgbe ),int (_cdccg ._aegfed ),0,_feeag );};
|
||
|
||
// IsTiling specifies if the pattern is a tiling pattern.
|
||
func (_afgc *PdfPattern )IsTiling ()bool {return _afgc .PatternType ==1};
|
||
|
||
// NewPdfColorspaceICCBased returns a new ICCBased colorspace object.
|
||
func NewPdfColorspaceICCBased (N int )(*PdfColorspaceICCBased ,error ){_dgeg :=&PdfColorspaceICCBased {};if N !=1&&N !=3&&N !=4{return nil ,_c .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u0031/\u0033\u002f\u0034\u0029");};_dgeg .N =N ;return _dgeg ,nil ;};func _adacd (_cfdcb _cb .PdfObject ){_dbe .Log .Debug ("\u006f\u0062\u006a\u003a\u0020\u0025\u0054\u0020\u0025\u0073",_cfdcb ,_cfdcb .String ());if _abbfd ,_egcde :=_cfdcb .(*_cb .PdfObjectStream );_egcde {_dacbe ,_bcgc :=_cb .DecodeStream (_abbfd );if _bcgc !=nil {_dbe .Log .Debug ("\u0045r\u0072\u006f\u0072\u003a\u0020\u0025v",_bcgc );return ;};_dbe .Log .Debug ("D\u0065\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0073",_dacbe );}else if _eefba ,_gfdff :=_cfdcb .(*_cb .PdfIndirectObject );_gfdff {_dbe .Log .Debug ("\u0025\u0054\u0020%\u0076",_eefba .PdfObject ,_eefba .PdfObject );_dbe .Log .Debug ("\u0025\u0073",_eefba .PdfObject .String ());};};
|
||
|
||
// ImageToRGB returns an error since an image cannot be defined in a pattern colorspace.
|
||
func (_abccg *PdfColorspaceSpecialPattern )ImageToRGB (img Image )(Image ,error ){_dbe .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 ,_bc .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");};
|
||
|
||
// 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 _cb .PdfObject )(_cb .PdfObjectName ,error ){var _gddf *_cb .PdfObjectName ;var _abgg *_cb .PdfObjectArray ;if _abac ,_gegb :=obj .(*_cb .PdfIndirectObject );_gegb {if _accc ,_agbg :=_abac .PdfObject .(*_cb .PdfObjectArray );_agbg {_abgg =_accc ;}else if _cecb ,_cabb :=_abac .PdfObject .(*_cb .PdfObjectName );_cabb {_gddf =_cecb ;};}else if _bfbc ,_ccag :=obj .(*_cb .PdfObjectArray );_ccag {_abgg =_bfbc ;}else if _eaceg ,_gabd :=obj .(*_cb .PdfObjectName );_gabd {_gddf =_eaceg ;};if _gddf !=nil {switch *_gddf {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 *_gddf ,nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return *_gddf ,nil ;};};if _abgg !=nil &&_abgg .Len ()> 0{if _facdb ,_facda :=_abgg .Get (0).(*_cb .PdfObjectName );_facda {switch *_facdb {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 _abgg .Len ()==1{return *_facdb ,nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079","\u0043\u0061\u006c\u0052\u0047\u0042","\u004c\u0061\u0062":return *_facdb ,nil ;case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064","\u0050a\u0074\u0074\u0065\u0072\u006e","\u0049n\u0064\u0065\u0078\u0065\u0064":return *_facdb ,nil ;case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e","\u0044e\u0076\u0069\u0063\u0065\u004e":return *_facdb ,nil ;};};};return "",nil ;};
|
||
|
||
// SetOptimizer sets the optimizer to optimize PDF before writing.
|
||
func (_adadee *PdfWriter )SetOptimizer (optimizer Optimizer ){_adadee ._agfcf =optimizer };
|
||
|
||
// SetPdfKeywords sets the Keywords attribute of the output PDF.
|
||
func SetPdfKeywords (keywords string ){_ffbde =keywords };
|
||
|
||
// NewPdfDateFromTime will create a PdfDate based on the given time
|
||
func NewPdfDateFromTime (timeObj _d .Time )(PdfDate ,error ){_adgbd :=timeObj .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_fgddb ,_ :=_eb .ParseInt (_adgbd [1:3],10,32);_feefd ,_ :=_eb .ParseInt (_adgbd [4:6],10,32);return PdfDate {_dbbc :int64 (timeObj .Year ()),_cddf :int64 (timeObj .Month ()),_ffdac :int64 (timeObj .Day ()),_cfgca :int64 (timeObj .Hour ()),_fcgbe :int64 (timeObj .Minute ()),_aegfed :int64 (timeObj .Second ()),_bbbbg :_adgbd [0],_bbee :_fgddb ,_caccb :_feefd },nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gegf *PdfColorspaceSpecialSeparation )ToPdfObject ()_cb .PdfObject {_dgbf :=_cb .MakeArray (_cb .MakeName ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"));_dgbf .Append (_gegf .ColorantName );_dgbf .Append (_gegf .AlternateSpace .ToPdfObject ());_dgbf .Append (_gegf .TintTransform .ToPdfObject ());if _gegf ._ccba !=nil {_gegf ._ccba .PdfObject =_dgbf ;return _gegf ._ccba ;};return _dgbf ;};
|
||
|
||
// 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 (_ebdf *Image )ConvertToBinary ()error {if _ebdf .ColorComponents ==1&&_ebdf .BitsPerComponent ==1{return nil ;};_beeaa ,_cdbdeb :=_ebdf .ToGoImage ();if _cdbdeb !=nil {return _cdbdeb ;};_cfeae ,_cdbdeb :=_ac .MonochromeConverter .Convert (_beeaa );if _cdbdeb !=nil {return _cdbdeb ;};_ebdf .BitsPerComponent =1;_ebdf .ColorComponents =1;_ebdf .Data =_cfeae .Base ().Data ;return nil ;};
|
||
|
||
// ToGray returns a PdfColorDeviceGray color based on the current RGB color.
|
||
func (_bbbad *PdfColorDeviceRGB )ToGray ()*PdfColorDeviceGray {_cbba :=0.3*_bbbad .R ()+0.59*_bbbad .G ()+0.11*_bbbad .B ();_cbba =_ag .Min (_ag .Max (_cbba ,0.0),1.0);return NewPdfColorDeviceGray (_cbba );};
|
||
|
||
// NewPdfAnnotationRichMedia returns a new rich media annotation.
|
||
func NewPdfAnnotationRichMedia ()*PdfAnnotationRichMedia {_eeb :=NewPdfAnnotation ();_baba :=&PdfAnnotationRichMedia {};_baba .PdfAnnotation =_eeb ;_eeb .SetContext (_baba );return _baba ;};
|
||
|
||
// 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 (_cfab *PdfOutlineTreeNode )GetContext ()PdfModel {if _aebbc ,_adade :=_cfab ._dfaeg .(*PdfOutline );_adade {return _aebbc ;};if _gggfg ,_bcge :=_cfab ._dfaeg .(*PdfOutlineItem );_bcge {return _gggfg ;};_dbe .Log .Debug ("\u0045\u0052RO\u0052\u0020\u0049n\u0076\u0061\u006c\u0069d o\u0075tl\u0069\u006e\u0065\u0020\u0074\u0072\u0065e \u006e\u006f\u0064\u0065\u0020\u0069\u0074e\u006d");return nil ;};func _cacg (_gabg *_cb .PdfObjectDictionary )(*PdfFieldChoice ,error ){_cdfa :=&PdfFieldChoice {};_cdfa .Opt ,_ =_cb .GetArray (_gabg .Get ("\u004f\u0070\u0074"));_cdfa .TI ,_ =_cb .GetInt (_gabg .Get ("\u0054\u0049"));_cdfa .I ,_ =_cb .GetArray (_gabg .Get ("\u0049"));return _cdfa ,nil ;};func (_fdaa *pdfFontSimple )baseFields ()*fontCommon {return &_fdaa .fontCommon };
|
||
|
||
// PdfActionThread represents a thread action.
|
||
type PdfActionThread struct{*PdfAction ;F *PdfFilespec ;D _cb .PdfObject ;B _cb .PdfObject ;};
|
||
|
||
// PdfActionRendition represents a Rendition action.
|
||
type PdfActionRendition struct{*PdfAction ;R _cb .PdfObject ;AN _cb .PdfObject ;OP _cb .PdfObject ;JS _cb .PdfObject ;};
|
||
|
||
// PdfPageResources is a Page resources model.
|
||
// Implements PdfModel.
|
||
type PdfPageResources struct{ExtGState _cb .PdfObject ;ColorSpace _cb .PdfObject ;Pattern _cb .PdfObject ;Shading _cb .PdfObject ;XObject _cb .PdfObject ;Font _cb .PdfObject ;ProcSet _cb .PdfObject ;Properties _cb .PdfObject ;_eeeegd *_cb .PdfObjectDictionary ;_ggaga *PdfPageResourcesColorspaces ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_bfcfd *PdfColorCalRGB )ToInteger (bits int )[3]uint32 {_ebee :=_ag .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_ebee *_bfcfd .A ()),uint32 (_ebee *_bfcfd .B ()),uint32 (_ebee *_bfcfd .C ())};};
|
||
|
||
// Read reads an image and loads into a new Image object with an RGB
|
||
// colormap and 8 bits per component.
|
||
func (_baffe DefaultImageHandler )Read (reader _bb .Reader )(*Image ,error ){_adaaa ,_ ,_dcgge :=_ca .Decode (reader );if _dcgge !=nil {_dbe .Log .Debug ("\u0045\u0072\u0072or\u0020\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0073",_dcgge );return nil ,_dcgge ;};return _baffe .NewImageFromGoImage (_adaaa );};
|
||
|
||
// NewPdfActionGoToR returns a new "go to remote" action.
|
||
func NewPdfActionGoToR ()*PdfActionGoToR {_de :=NewPdfAction ();_gd :=&PdfActionGoToR {};_gd .PdfAction =_de ;_de .SetContext (_gd );return _gd ;};
|
||
|
||
// SetContext sets the sub pattern (context). Either PdfTilingPattern or PdfShadingPattern.
|
||
func (_cdfcd *PdfPattern )SetContext (ctx PdfModel ){_cdfcd ._eadd =ctx };
|
||
|
||
// WriteString outputs the object as it is to be written to file.
|
||
func (_fbaaa *pdfSignDictionary )WriteString ()string {_fbaaa ._cabf =0;_fbaaa ._gfcab =0;_fbaaa ._bdfge =0;_fbaaa ._edbbe =0;_bfbga :=_bbb .NewBuffer (nil );_bfbga .WriteString ("\u003c\u003c");for _ ,_dfcbb :=range _fbaaa .Keys (){_afeea :=_fbaaa .Get (_dfcbb );switch _dfcbb {case "\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e":_bfbga .WriteString (_dfcbb .WriteString ());_bfbga .WriteString ("\u0020");_fbaaa ._bdfge =_bfbga .Len ();_bfbga .WriteString (_afeea .WriteString ());_bfbga .WriteString ("\u0020");_fbaaa ._edbbe =_bfbga .Len ()-1;case "\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073":_bfbga .WriteString (_dfcbb .WriteString ());_bfbga .WriteString ("\u0020");_fbaaa ._cabf =_bfbga .Len ();_bfbga .WriteString (_afeea .WriteString ());_bfbga .WriteString ("\u0020");_fbaaa ._gfcab =_bfbga .Len ()-1;default:_bfbga .WriteString (_dfcbb .WriteString ());_bfbga .WriteString ("\u0020");_bfbga .WriteString (_afeea .WriteString ());};};_bfbga .WriteString ("\u003e\u003e");return _bfbga .String ();};
|
||
|
||
// IsPush returns true if the button field represents a push button, false otherwise.
|
||
func (_cfed *PdfFieldButton )IsPush ()bool {return _cfed .GetType ()==ButtonTypePush };
|
||
|
||
// 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 ;
|
||
|
||
// AddOutlineTree adds outlines to a PDF file.
|
||
func (_gccb *PdfWriter )AddOutlineTree (outlineTree *PdfOutlineTreeNode ){_gccb ._eadf =outlineTree };func (_gdgaf *PdfFont )baseFields ()*fontCommon {if _gdgaf ._cdfe ==nil {_dbe .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 _gdgaf ._cdfe .baseFields ();};
|
||
|
||
// 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 (_beaf *Image )Resample (targetBitsPerComponent int64 ){if _beaf .BitsPerComponent ==targetBitsPerComponent {return ;};_bfbee :=_beaf .GetSamples ();if targetBitsPerComponent < _beaf .BitsPerComponent {_ecbae :=_beaf .BitsPerComponent -targetBitsPerComponent ;for _dddda :=range _bfbee {_bfbee [_dddda ]>>=uint (_ecbae );};}else if targetBitsPerComponent > _beaf .BitsPerComponent {_aegg :=targetBitsPerComponent -_beaf .BitsPerComponent ;for _ffadf :=range _bfbee {_bfbee [_ffadf ]<<=uint (_aegg );};};_beaf .BitsPerComponent =targetBitsPerComponent ;if _beaf .BitsPerComponent < 8{_beaf .resampleLowBits (_bfbee );return ;};_fcefb :=_ac .BytesPerLine (int (_beaf .Width ),int (_beaf .BitsPerComponent ),_beaf .ColorComponents );_bgebfa :=make ([]byte ,_fcefb *int (_beaf .Height ));var (_fbfc ,_fdag ,_ggga ,_bffdf int ;_gcdc uint32 ;);for _ggga =0;_ggga < int (_beaf .Height );_ggga ++{_fbfc =_ggga *_fcefb ;_fdag =(_ggga +1)*_fcefb -1;_fdfc :=_cf .ResampleUint32 (_bfbee [_fbfc :_fdag ],int (targetBitsPerComponent ),8);for _bffdf ,_gcdc =range _fdfc {_bgebfa [_bffdf +_fbfc ]=byte (_gcdc );};};_beaf .Data =_bgebfa ;};
|
||
|
||
// PdfActionSetOCGState represents a SetOCGState action.
|
||
type PdfActionSetOCGState struct{*PdfAction ;State _cb .PdfObject ;PreserveRB _cb .PdfObject ;};
|
||
|
||
// NewPdfActionResetForm returns a new "reset form" action.
|
||
func NewPdfActionResetForm ()*PdfActionResetForm {_abb :=NewPdfAction ();_dea :=&PdfActionResetForm {};_dea .PdfAction =_abb ;_abb .SetContext (_dea );return _dea ;};type fontCommon struct{_babff string ;_fbefd string ;_ecaeb string ;_ccaac _cb .PdfObject ;_agag *_gb .CMap ;_bgbb *PdfFontDescriptor ;_cbgad int64 ;};
|
||
|
||
// SetFilter sets compression filter. Decodes with current filter sets and
|
||
// encodes the data with the new filter.
|
||
func (_afdb *XObjectImage )SetFilter (encoder _cb .StreamEncoder )error {_gfgg :=_afdb .Stream ;_cebfg ,_edgg :=_afdb .Filter .DecodeBytes (_gfgg );if _edgg !=nil {return _edgg ;};_afdb .Filter =encoder ;encoder .UpdateParams (_afdb .getParamsDict ());_gfgg ,_edgg =encoder .EncodeBytes (_cebfg );if _edgg !=nil {return _edgg ;};_afdb .Stream =_gfgg ;return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the outline tree node.
|
||
func (_bfbde *PdfOutlineTreeNode )ToPdfObject ()_cb .PdfObject {return _bfbde .GetContext ().ToPdfObject ();};
|
||
|
||
// NewPdfOutlineTree returns an initialized PdfOutline tree.
|
||
func NewPdfOutlineTree ()*PdfOutline {_geca :=NewPdfOutline ();_geca ._dfaeg =&_geca ;return _geca };
|
||
|
||
// DecodeArray returns the component range values for the Separation colorspace.
|
||
func (_bcbgd *PdfColorspaceSpecialSeparation )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cbd *PdfAnnotationStrikeOut )ToPdfObject ()_cb .PdfObject {_cbd .PdfAnnotation .ToPdfObject ();_bcce :=_cbd ._efd ;_babg :=_bcce .PdfObject .(*_cb .PdfObjectDictionary );_cbd .PdfAnnotationMarkup .appendToPdfDictionary (_babg );_babg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t"));_babg .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_cbd .QuadPoints );return _bcce ;};func (_bgf *PdfColorspaceDeviceRGB )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B";};func (_aee *PdfReader )newPdfAnnotationTrapNetFromDict (_dce *_cb .PdfObjectDictionary )(*PdfAnnotationTrapNet ,error ){_cfde :=PdfAnnotationTrapNet {};return &_cfde ,nil ;};func (_aacf *Image )samplesAddPadding (_aaeff []uint32 )[]uint32 {_bacge :=_ac .BytesPerLine (int (_aacf .Width ),int (_aacf .BitsPerComponent ),_aacf .ColorComponents )*(8/int (_aacf .BitsPerComponent ));_gaedb :=_bacge *int (_aacf .Height );if len (_aaeff )==_gaedb {return _aaeff ;};_abbed :=make ([]uint32 ,_gaedb );_dgaf :=int (_aacf .Width )*_aacf .ColorComponents ;for _bagbb :=0;_bagbb < int (_aacf .Height );_bagbb ++{_adcaf :=_bagbb *int (_aacf .Width );_aead :=_bagbb *_bacge ;for _agfa :=0;_agfa < _dgaf ;_agfa ++{_abbed [_aead +_agfa ]=_aaeff [_adcaf +_agfa ];};};return _abbed ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the page resources.
|
||
func (_eebe *PdfPageResources )ToPdfObject ()_cb .PdfObject {_gdcab :=_eebe ._eeeegd ;_gdcab .SetIfNotNil ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_eebe .ExtGState );if _eebe ._ggaga !=nil {_eebe .ColorSpace =_eebe ._ggaga .ToPdfObject ();};_gdcab .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_eebe .ColorSpace );_gdcab .SetIfNotNil ("\u0050a\u0074\u0074\u0065\u0072\u006e",_eebe .Pattern );_gdcab .SetIfNotNil ("\u0053h\u0061\u0064\u0069\u006e\u0067",_eebe .Shading );_gdcab .SetIfNotNil ("\u0058O\u0062\u006a\u0065\u0063\u0074",_eebe .XObject );_gdcab .SetIfNotNil ("\u0046\u006f\u006e\u0074",_eebe .Font );_gdcab .SetIfNotNil ("\u0050r\u006f\u0063\u0053\u0065\u0074",_eebe .ProcSet );_gdcab .SetIfNotNil ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",_eebe .Properties );return _gdcab ;};func (_afbg *PdfColorspaceSpecialIndexed )String ()string {return "\u0049n\u0064\u0065\u0078\u0065\u0064";};
|
||
|
||
// PdfColorspaceCalGray represents CalGray color space.
|
||
type PdfColorspaceCalGray struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma float64 ;_beeg *_cb .PdfIndirectObject ;};func (_dabgf *Image )samplesTrimPadding (_bcggec []uint32 )[]uint32 {_fabfe :=_dabgf .ColorComponents *int (_dabgf .Width )*int (_dabgf .Height );if len (_bcggec )==_fabfe {return _bcggec ;};_feab :=make ([]uint32 ,_fabfe );_bfbf :=int (_dabgf .Width )*_dabgf .ColorComponents ;var _baafd ,_cggb ,_cdfef ,_bcbfb int ;_cdebg :=_ac .BytesPerLine (int (_dabgf .Width ),int (_dabgf .BitsPerComponent ),_dabgf .ColorComponents );for _baafd =0;_baafd < int (_dabgf .Height );_baafd ++{_cggb =_baafd *int (_dabgf .Width );_cdfef =_baafd *_cdebg ;for _bcbfb =0;_bcbfb < _bfbf ;_bcbfb ++{_feab [_cggb +_bcbfb ]=_bcggec [_cdfef +_bcbfb ];};};return _feab ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for Lab).
|
||
func (_dabe *PdfColorLab )GetNumComponents ()int {return 3};
|
||
|
||
// AddAnnotation appends `annot` to the list of page annotations.
|
||
func (_abdf *PdfPage )AddAnnotation (annot *PdfAnnotation ){if _abdf ._dcgde ==nil {_abdf .GetAnnotations ();};_abdf ._dcgde =append (_abdf ._dcgde ,annot );};
|
||
|
||
// PdfActionTrans represents a trans action.
|
||
type PdfActionTrans struct{*PdfAction ;Trans _cb .PdfObject ;};
|
||
|
||
// SetImageHandler sets the image handler used by the package.
|
||
func SetImageHandler (imgHandling ImageHandler ){ImageHandling =imgHandling };
|
||
|
||
// 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 *_cb .PdfObjectInteger ;ColorSpace PdfColorspace ;Background *_cb .PdfObjectArray ;BBox *PdfRectangle ;AntiAlias *_cb .PdfObjectBool ;_cdece PdfModel ;_gfdg _cb .PdfObject ;};func (_geff *PdfAppender )replaceObject (_eacd ,_bgcf _cb .PdfObject ){switch _bdgd :=_eacd .(type ){case *_cb .PdfIndirectObject :_geff ._bgbd [_bgcf ]=_bdgd .ObjectNumber ;case *_cb .PdfObjectStream :_geff ._bgbd [_bgcf ]=_bdgd .ObjectNumber ;};};func (_fgfdbc *PdfReader )loadAnnotations (_cgadf _cb .PdfObject )([]*PdfAnnotation ,error ){_cdedf ,_bbgfc :=_cb .GetArray (_cgadf );if !_bbgfc {return nil ,_c .Errorf ("\u0041\u006e\u006e\u006fts\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _ebdcc []*PdfAnnotation ;for _ ,_cadgg :=range _cdedf .Elements (){_cadgg =_cb .ResolveReference (_cadgg );if _ ,_bdcef :=_cadgg .(*_cb .PdfObjectNull );_bdcef {continue ;};_dcdff ,_aega :=_cadgg .(*_cb .PdfObjectDictionary );_ffbfa ,_ggeb :=_cadgg .(*_cb .PdfIndirectObject );if _aega {_ffbfa =&_cb .PdfIndirectObject {};_ffbfa .PdfObject =_dcdff ;}else {if !_ggeb {return nil ,_c .Errorf ("\u0061\u006eno\u0074\u0061\u0074i\u006f\u006e\u0020\u006eot \u0069n \u0061\u006e\u0020\u0069\u006e\u0064\u0069re\u0063\u0074\u0020\u006f\u0062\u006a\u0065c\u0074");};};_debfe ,_ddgf :=_fgfdbc .newPdfAnnotationFromIndirectObject (_ffbfa );if _ddgf !=nil {return nil ,_ddgf ;};switch _adbfa :=_debfe .GetContext ().(type ){case *PdfAnnotationWidget :for _ ,_bafa :=range _fgfdbc .AcroForm .AllFields (){if _bafa ._addef ==_adbfa .Parent {_adbfa ._bdcc =_bafa ;break ;};};};if _debfe !=nil {_ebdcc =append (_ebdcc ,_debfe );};};return _ebdcc ,nil ;};func (_dcd *PdfReader )newPdfAnnotationFromIndirectObject (_fbc *_cb .PdfIndirectObject )(*PdfAnnotation ,error ){_aga ,_ceef :=_fbc .PdfObject .(*_cb .PdfObjectDictionary );if !_ceef {return nil ,_c .Errorf ("\u0061\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u006e\u006ft\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0069\u006e\u0067\u0020a \u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};if model :=_dcd ._bffa .GetModelFromPrimitive (_aga );model !=nil {_acgf ,_dage :=model .(*PdfAnnotation );if !_dage {return nil ,_c .Errorf ("\u0063\u0061\u0063\u0068\u0065\u0064 \u006d\u006f\u0064\u0065\u006c\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0050D\u0046\u0020\u0061\u006e\u006e\u006f\u0074a\u0074\u0069\u006f\u006e");};return _acgf ,nil ;};_ceb :=&PdfAnnotation {};_ceb ._efd =_fbc ;_dcd ._bffa .Register (_aga ,_ceb );if _gfdf :=_aga .Get ("\u0054\u0079\u0070\u0065");_gfdf !=nil {_eae ,_cca :=_gfdf .(*_cb .PdfObjectName );if !_cca {_dbe .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",_gfdf );}else {if *_eae !="\u0041\u006e\u006eo\u0074"{_dbe .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",*_eae );};};};if _afe :=_aga .Get ("\u0052\u0065\u0063\u0074");_afe !=nil {_ceb .Rect =_afe ;};if _dgg :=_aga .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_dgg !=nil {_ceb .Contents =_dgg ;};if _afef :=_aga .Get ("\u0050");_afef !=nil {_ceb .P =_afef ;};if _fea :=_aga .Get ("\u004e\u004d");_fea !=nil {_ceb .NM =_fea ;};if _dcca :=_aga .Get ("\u004d");_dcca !=nil {_ceb .M =_dcca ;};if _fgg :=_aga .Get ("\u0046");_fgg !=nil {_ceb .F =_fgg ;};if _fdab :=_aga .Get ("\u0041\u0050");_fdab !=nil {_ceb .AP =_fdab ;};if _ccf :=_aga .Get ("\u0041\u0053");_ccf !=nil {_ceb .AS =_ccf ;};if _gba :=_aga .Get ("\u0042\u006f\u0072\u0064\u0065\u0072");_gba !=nil {_ceb .Border =_gba ;};if _bdd :=_aga .Get ("\u0043");_bdd !=nil {_ceb .C =_bdd ;};if _gacb :=_aga .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_gacb !=nil {_ceb .StructParent =_gacb ;};if _cdcce :=_aga .Get ("\u004f\u0043");_cdcce !=nil {_ceb .OC =_cdcce ;};_dgc :=_aga .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");if _dgc ==nil {_dbe .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");_ceb ._gea =nil ;return _ceb ,nil ;};_eeg ,_cebf :=_dgc .(*_cb .PdfObjectName );if !_cebf {_dbe .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",_dgc );return nil ,_c .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0053\u0075\u0062\u0074\u0079\u0070\u0065\u0020\u006f\u0062\u006ae\u0063\u0074\u0020\u0074\u0079\u0070\u0065\u0020\u0021\u003d n\u0061\u006d\u0065 \u0028%\u0054\u0029",_dgc );};switch *_eeg {case "\u0054\u0065\u0078\u0074":_cbe ,_aaf :=_dcd .newPdfAnnotationTextFromDict (_aga );if _aaf !=nil {return nil ,_aaf ;};_cbe .PdfAnnotation =_ceb ;_ceb ._gea =_cbe ;return _ceb ,nil ;case "\u004c\u0069\u006e\u006b":_edce ,_gacc :=_dcd .newPdfAnnotationLinkFromDict (_aga );if _gacc !=nil {return nil ,_gacc ;};_edce .PdfAnnotation =_ceb ;_ceb ._gea =_edce ;return _ceb ,nil ;case "\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074":_gag ,_afba :=_dcd .newPdfAnnotationFreeTextFromDict (_aga );if _afba !=nil {return nil ,_afba ;};_gag .PdfAnnotation =_ceb ;_ceb ._gea =_gag ;return _ceb ,nil ;case "\u004c\u0069\u006e\u0065":_fca ,_fef :=_dcd .newPdfAnnotationLineFromDict (_aga );if _fef !=nil {return nil ,_fef ;};_fca .PdfAnnotation =_ceb ;_ceb ._gea =_fca ;_dbe .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",_ceb ,_ceb );_dbe .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",_fca ,_fca );_dbe .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",_fca .PdfAnnotationMarkup ,_fca .PdfAnnotationMarkup );return _ceb ,nil ;case "\u0053\u0071\u0075\u0061\u0072\u0065":_bdg ,_gca :=_dcd .newPdfAnnotationSquareFromDict (_aga );if _gca !=nil {return nil ,_gca ;};_bdg .PdfAnnotation =_ceb ;_ceb ._gea =_bdg ;return _ceb ,nil ;case "\u0043\u0069\u0072\u0063\u006c\u0065":_dddb ,_bbbd :=_dcd .newPdfAnnotationCircleFromDict (_aga );if _bbbd !=nil {return nil ,_bbbd ;};_dddb .PdfAnnotation =_ceb ;_ceb ._gea =_dddb ;return _ceb ,nil ;case "\u0050o\u006c\u0079\u0067\u006f\u006e":_cef ,_ddfb :=_dcd .newPdfAnnotationPolygonFromDict (_aga );if _ddfb !=nil {return nil ,_ddfb ;};_cef .PdfAnnotation =_ceb ;_ceb ._gea =_cef ;return _ceb ,nil ;case "\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065":_ffc ,_bgdf :=_dcd .newPdfAnnotationPolyLineFromDict (_aga );if _bgdf !=nil {return nil ,_bgdf ;};_ffc .PdfAnnotation =_ceb ;_ceb ._gea =_ffc ;return _ceb ,nil ;case "\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t":_gbaf ,_ebb :=_dcd .newPdfAnnotationHighlightFromDict (_aga );if _ebb !=nil {return nil ,_ebb ;};_gbaf .PdfAnnotation =_ceb ;_ceb ._gea =_gbaf ;return _ceb ,nil ;case "\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee":_aabd ,_gbgc :=_dcd .newPdfAnnotationUnderlineFromDict (_aga );if _gbgc !=nil {return nil ,_gbgc ;};_aabd .PdfAnnotation =_ceb ;_ceb ._gea =_aabd ;return _ceb ,nil ;case "\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079":_fee ,_ccfb :=_dcd .newPdfAnnotationSquigglyFromDict (_aga );if _ccfb !=nil {return nil ,_ccfb ;};_fee .PdfAnnotation =_ceb ;_ceb ._gea =_fee ;return _ceb ,nil ;case "\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t":_ceed ,_gcf :=_dcd .newPdfAnnotationStrikeOut (_aga );if _gcf !=nil {return nil ,_gcf ;};_ceed .PdfAnnotation =_ceb ;_ceb ._gea =_ceed ;return _ceb ,nil ;case "\u0043\u0061\u0072e\u0074":_gede ,_beb :=_dcd .newPdfAnnotationCaretFromDict (_aga );if _beb !=nil {return nil ,_beb ;};_gede .PdfAnnotation =_ceb ;_ceb ._gea =_gede ;return _ceb ,nil ;case "\u0053\u0074\u0061m\u0070":_bbbb ,_bff :=_dcd .newPdfAnnotationStampFromDict (_aga );if _bff !=nil {return nil ,_bff ;};_bbbb .PdfAnnotation =_ceb ;_ceb ._gea =_bbbb ;return _ceb ,nil ;case "\u0049\u006e\u006b":_gedca ,_cbc :=_dcd .newPdfAnnotationInkFromDict (_aga );if _cbc !=nil {return nil ,_cbc ;};_gedca .PdfAnnotation =_ceb ;_ceb ._gea =_gedca ;return _ceb ,nil ;case "\u0050\u006f\u0070u\u0070":_agb ,_adbd :=_dcd .newPdfAnnotationPopupFromDict (_aga );if _adbd !=nil {return nil ,_adbd ;};_agb .PdfAnnotation =_ceb ;_ceb ._gea =_agb ;return _ceb ,nil ;case "\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074":_dfge ,_bbge :=_dcd .newPdfAnnotationFileAttachmentFromDict (_aga );if _bbge !=nil {return nil ,_bbge ;};_dfge .PdfAnnotation =_ceb ;_ceb ._gea =_dfge ;return _ceb ,nil ;case "\u0053\u006f\u0075n\u0064":_cgcf ,_gcfe :=_dcd .newPdfAnnotationSoundFromDict (_aga );if _gcfe !=nil {return nil ,_gcfe ;};_cgcf .PdfAnnotation =_ceb ;_ceb ._gea =_cgcf ;return _ceb ,nil ;case "\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a":_ceg ,_cega :=_dcd .newPdfAnnotationRichMediaFromDict (_aga );if _cega !=nil {return nil ,_cega ;};_ceg .PdfAnnotation =_ceb ;_ceb ._gea =_ceg ;return _ceb ,nil ;case "\u004d\u006f\u0076i\u0065":_ede ,_ccg :=_dcd .newPdfAnnotationMovieFromDict (_aga );if _ccg !=nil {return nil ,_ccg ;};_ede .PdfAnnotation =_ceb ;_ceb ._gea =_ede ;return _ceb ,nil ;case "\u0053\u0063\u0072\u0065\u0065\u006e":_beea ,_fdac :=_dcd .newPdfAnnotationScreenFromDict (_aga );if _fdac !=nil {return nil ,_fdac ;};_beea .PdfAnnotation =_ceb ;_ceb ._gea =_beea ;return _ceb ,nil ;case "\u0057\u0069\u0064\u0067\u0065\u0074":_gege ,_gbe :=_dcd .newPdfAnnotationWidgetFromDict (_aga );if _gbe !=nil {return nil ,_gbe ;};_gege .PdfAnnotation =_ceb ;_ceb ._gea =_gege ;return _ceb ,nil ;case "P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b":_ffe ,_egff :=_dcd .newPdfAnnotationPrinterMarkFromDict (_aga );if _egff !=nil {return nil ,_egff ;};_ffe .PdfAnnotation =_ceb ;_ceb ._gea =_ffe ;return _ceb ,nil ;case "\u0054r\u0061\u0070\u004e\u0065\u0074":_aggae ,_ccegf :=_dcd .newPdfAnnotationTrapNetFromDict (_aga );if _ccegf !=nil {return nil ,_ccegf ;};_aggae .PdfAnnotation =_ceb ;_ceb ._gea =_aggae ;return _ceb ,nil ;case "\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k":_bbd ,_dfd :=_dcd .newPdfAnnotationWatermarkFromDict (_aga );if _dfd !=nil {return nil ,_dfd ;};_bbd .PdfAnnotation =_ceb ;_ceb ._gea =_bbd ;return _ceb ,nil ;case "\u0033\u0044":_ceefb ,_efde :=_dcd .newPdfAnnotation3DFromDict (_aga );if _efde !=nil {return nil ,_efde ;};_ceefb .PdfAnnotation =_ceb ;_ceb ._gea =_ceefb ;return _ceb ,nil ;case "\u0050\u0072\u006f\u006a\u0065\u0063\u0074\u0069\u006f\u006e":_daf ,_fae :=_dcd .newPdfAnnotationProjectionFromDict (_aga );if _fae !=nil {return nil ,_fae ;};_daf .PdfAnnotation =_ceb ;_ceb ._gea =_daf ;return _ceb ,nil ;case "\u0052\u0065\u0064\u0061\u0063\u0074":_dcda ,_eddb :=_dcd .newPdfAnnotationRedactFromDict (_aga );if _eddb !=nil {return nil ,_eddb ;};_dcda .PdfAnnotation =_ceb ;_ceb ._gea =_dcda ;return _ceb ,nil ;};_dbe .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",*_eeg );return nil ,nil ;};
|
||
|
||
// Hasher is the interface that wraps the basic Write method.
|
||
type Hasher interface{Write (_bbefb []byte )(_eecb int ,_eccb error );};
|
||
|
||
// HasColorspaceByName checks if the colorspace with the specified name exists in the page resources.
|
||
func (_fefg *PdfPageResources )HasColorspaceByName (keyName _cb .PdfObjectName )bool {_gadfa ,_geedg :=_fefg .GetColorspaces ();if _geedg !=nil {_dbe .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",_geedg );return false ;};if _gadfa ==nil {return false ;};_ ,_adced :=_gadfa .Colorspaces [string (keyName )];return _adced ;};
|
||
|
||
// SetVersion sets the PDF version of the output file.
|
||
func (_gfbea *PdfWriter )SetVersion (majorVersion ,minorVersion int ){_gfbea ._ecaee =majorVersion ;_gfbea ._ccefeg =minorVersion ;};
|
||
|
||
// NewPdfColorspaceDeviceGray returns a new grayscale colorspace.
|
||
func NewPdfColorspaceDeviceGray ()*PdfColorspaceDeviceGray {return &PdfColorspaceDeviceGray {}};
|
||
|
||
// ReplaceAcroForm replaces the acrobat form. It appends a new form to the Pdf which
|
||
// replaces the original AcroForm.
|
||
func (_gcgf *PdfAppender )ReplaceAcroForm (acroForm *PdfAcroForm ){if acroForm !=nil {_gcgf .updateObjectsDeep (acroForm .ToPdfObject (),nil );};_gcgf ._abbe =acroForm ;};func _afdab (_afee _cb .PdfObject ,_gdbaa *PdfReader )(*OutlineDest ,error ){_ddab ,_edbgg :=_cb .GetArray (_afee );if !_edbgg {return nil ,_bc .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");};_efdcd :=_ddab .Len ();if _efdcd < 2{return nil ,_c .Errorf ("\u0069n\u0076\u0061l\u0069\u0064\u0020\u006fu\u0074\u006c\u0069n\u0065\u0020\u0064\u0065\u0073\u0074\u0069\u006e\u0061ti\u006f\u006e\u0020a\u0072\u0072a\u0079\u0020\u006c\u0065\u006e\u0067t\u0068\u003a \u0025\u0064",_efdcd );};_bbec :=&OutlineDest {Mode :"\u0046\u0069\u0074"};_abdba :=_ddab .Get (0);if _egdb ,_dddgc :=_cb .GetIndirect (_abdba );_dddgc {if _ ,_fecef ,_bfgbg :=_gdbaa .PageFromIndirectObject (_egdb );_bfgbg ==nil {_bbec .Page =int64 (_fecef -1);}else {_dbe .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",_egdb );};_bbec .PageObj =_egdb ;}else if _ddbbc ,_cddc :=_cb .GetIntVal (_abdba );_cddc {if _ddbbc >=0&&_ddbbc < len (_gdbaa .PageList ){_bbec .PageObj =_gdbaa .PageList [_ddbbc ].GetPageAsIndirectObject ();}else {_dbe .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",_ddbbc );};_bbec .Page =int64 (_ddbbc );}else {return nil ,_c .Errorf ("\u0069\u006eva\u006c\u0069\u0064 \u006f\u0075\u0074\u006cine\u0020de\u0073\u0074\u0069\u006e\u0061\u0074\u0069on\u0020\u0070\u0061\u0067\u0065\u003a\u0020%\u0054",_abdba );};_caaeb ,_edbgg :=_cb .GetNameVal (_ddab .Get (1));if !_edbgg {_dbe .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",_ddab .Get (1));return _bbec ,nil ;};switch _caaeb {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":if _efdcd > 2{_bbec .Y ,_ =_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_ddab .Get (2)));};case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":if _efdcd > 2{_bbec .X ,_ =_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_ddab .Get (2)));};case "\u0058\u0059\u005a":if _efdcd > 4{_bbec .X ,_ =_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_ddab .Get (2)));_bbec .Y ,_ =_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_ddab .Get (3)));_bbec .Zoom ,_ =_cb .GetNumberAsFloat (_cb .TraceToDirectObject (_ddab .Get (4)));};default:_caaeb ="\u0046\u0069\u0074";};_bbec .Mode =_caaeb ;return _bbec ,nil ;};
|
||
|
||
// SetPdfModifiedDate sets the ModDate attribute of the output PDF.
|
||
func SetPdfModifiedDate (modifiedDate _d .Time ){_dfbbdb =modifiedDate };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bccb *PdfActionTrans )ToPdfObject ()_cb .PdfObject {_bccb .PdfAction .ToPdfObject ();_bgb :=_bccb ._fc ;_ddd :=_bgb .PdfObject .(*_cb .PdfObjectDictionary );_ddd .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeTrans )));_ddd .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_bccb .Trans );return _bgb ;};func _dbaf ()string {if len (_adebc )> 0{return _adebc ;};return "\u0055n\u0069\u0044\u006f\u0063 \u002d\u0020\u0068\u0074\u0074p\u003a/\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069o";};func _aadc (_cgfc _cb .PdfObject )(*PdfColorspaceICCBased ,error ){_bbadb :=&PdfColorspaceICCBased {};if _cebe ,_agcg :=_cgfc .(*_cb .PdfIndirectObject );_agcg {_bbadb ._ebfab =_cebe ;};_cgfc =_cb .TraceToDirectObject (_cgfc );_faac ,_dfgd :=_cgfc .(*_cb .PdfObjectArray );if !_dfgd {return nil ,_c .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _faac .Len ()!=2{return nil ,_c .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020c\u006f\u006c\u006fr\u0073p\u0061\u0063\u0065");};_cgfc =_cb .TraceToDirectObject (_faac .Get (0));_ffcfd ,_dfgd :=_cgfc .(*_cb .PdfObjectName );if !_dfgd {return nil ,_c .Errorf ("\u0049\u0043\u0043B\u0061\u0073\u0065\u0064 \u006e\u0061\u006d\u0065\u0020\u006e\u006ft\u0020\u0061\u0020\u004e\u0061\u006d\u0065\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};if *_ffcfd !="\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"{return nil ,_c .Errorf ("\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0049\u0043\u0043\u0042a\u0073\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073p\u0061\u0063\u0065");};_cgfc =_faac .Get (1);_dgbef ,_dfgd :=_cb .GetStream (_cgfc );if !_dfgd {_dbe .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",_cgfc );return nil ,_c .Errorf ("\u0049\u0043\u0043Ba\u0073\u0065\u0064\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_bdgce :=_dgbef .PdfObjectDictionary ;_dgcda ,_dfgd :=_bdgce .Get ("\u004e").(*_cb .PdfObjectInteger );if !_dfgd {return nil ,_c .Errorf ("I\u0043\u0043\u0042\u0061\u0073\u0065d\u0020\u006d\u0069\u0073\u0073\u0069n\u0067\u0020\u004e\u0020\u0066\u0072\u006fm\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0064\u0069c\u0074");};if *_dgcda !=1&&*_dgcda !=3&&*_dgcda !=4{return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061s\u0065\u0064\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065 \u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u006e\u006f\u0074\u0020\u0031\u002c\u0033\u002c\u0034\u0029");};_bbadb .N =int (*_dgcda );if _gaed :=_bdgce .Get ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e");_gaed !=nil {_badg ,_aadb :=NewPdfColorspaceFromPdfObject (_gaed );if _aadb !=nil {return nil ,_aadb ;};_bbadb .Alternate =_badg ;};if _baeb :=_bdgce .Get ("\u0052\u0061\u006eg\u0065");_baeb !=nil {_baeb =_cb .TraceToDirectObject (_baeb );_egec ,_bbgaa :=_baeb .(*_cb .PdfObjectArray );if !_bbgaa {return nil ,_c .Errorf ("I\u0043\u0043\u0042\u0061\u0073\u0065d\u0020\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0061\u006e \u0061r\u0072\u0061\u0079");};if _egec .Len ()!=2*_bbadb .N {return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020\u0052\u0061\u006e\u0067e\u0020\u0077\u0072\u006f\u006e\u0067 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0065\u006c\u0065m\u0065\u006e\u0074\u0073");};_baee ,_fbbeg :=_egec .GetAsFloat64Slice ();if _fbbeg !=nil {return nil ,_fbbeg ;};_bbadb .Range =_baee ;}else {_bbadb .Range =make ([]float64 ,2*_bbadb .N );for _ffgf :=0;_ffgf < _bbadb .N ;_ffgf ++{_bbadb .Range [2*_ffgf ]=0.0;_bbadb .Range [2*_ffgf +1]=1.0;};};if _cbaa :=_bdgce .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_cbaa !=nil {_gcdb ,_aede :=_cbaa .(*_cb .PdfObjectStream );if !_aede {return nil ,_c .Errorf ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020\u004de\u0074\u0061\u0064\u0061\u0074\u0061\u0020n\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0065\u0061\u006d");};_bbadb .Metadata =_gcdb ;};_fgfdg ,_afeg :=_cb .DecodeStream (_dgbef );if _afeg !=nil {return nil ,_afeg ;};_bbadb .Data =_fgfdg ;_bbadb ._cfade =_dgbef ;return _bbadb ,nil ;};
|
||
|
||
// PdfAnnotationRichMedia represents Rich Media annotations.
|
||
type PdfAnnotationRichMedia struct{*PdfAnnotation ;RichMediaSettings _cb .PdfObject ;RichMediaContent _cb .PdfObject ;};func (_gcfdg *PdfWriter )writeString (_dadad string ){if _gcfdg ._dadaf !=nil {return ;};_cfcaea ,_deebe :=_gcfdg ._eabcf .WriteString (_dadad );_gcfdg ._ceead +=int64 (_cfcaea );_gcfdg ._dadaf =_deebe ;};
|
||
|
||
// ReplacePage replaces the original page to a new page.
|
||
func (_dfb *PdfAppender )ReplacePage (pageNum int ,page *PdfPage ){_cccf :=pageNum -1;for _dccf :=range _dfb ._dgce {if _dccf ==_cccf {_dbde :=page .Duplicate ();_eggaf (_dbde );_dfb ._dgce [_dccf ]=_dbde ;};};};
|
||
|
||
// 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 (_bbdd *PdfColorspaceLab )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dfbg ,_cadc :=_cb .GetNumbersAsFloat (objects );if _cadc !=nil {return nil ,_cadc ;};return _bbdd .ColorFromFloats (_dfbg );};
|
||
|
||
// Set applies flag fl to the flag's bitmask and returns the combined flag.
|
||
func (_dafd FieldFlag )Set (fl FieldFlag )FieldFlag {return FieldFlag (_dafd .Mask ()|fl .Mask ())};func _bgac (_ffcf *PdfPage )map[_cb .PdfObjectName ]_cb .PdfObject {_ggag :=make (map[_cb .PdfObjectName ]_cb .PdfObject );if _ffcf .Resources ==nil {return _ggag ;};if _ffcf .Resources .Font !=nil {if _ecgb ,_edcb :=_cb .GetDict (_ffcf .Resources .Font );_edcb {for _ ,_dac :=range _ecgb .Keys (){_ggag [_dac ]=_ecgb .Get (_dac );};};};if _ffcf .Resources .ExtGState !=nil {if _bcfd ,_bdgg :=_cb .GetDict (_ffcf .Resources .ExtGState );_bdgg {for _ ,_afbaf :=range _bcfd .Keys (){_ggag [_afbaf ]=_bcfd .Get (_afbaf );};};};if _ffcf .Resources .XObject !=nil {if _eda ,_cagd :=_cb .GetDict (_ffcf .Resources .XObject );_cagd {for _ ,_efec :=range _eda .Keys (){_ggag [_efec ]=_eda .Get (_efec );};};};if _ffcf .Resources .Pattern !=nil {if _daag ,_agdd :=_cb .GetDict (_ffcf .Resources .Pattern );_agdd {for _ ,_ddcbd :=range _daag .Keys (){_ggag [_ddcbd ]=_daag .Get (_ddcbd );};};};if _ffcf .Resources .Shading !=nil {if _fgcg ,_ebbe :=_cb .GetDict (_ffcf .Resources .Shading );_ebbe {for _ ,_cebd :=range _fgcg .Keys (){_ggag [_cebd ]=_fgcg .Get (_cebd );};};};if _ffcf .Resources .ProcSet !=nil {if _gcec ,_fgdg :=_cb .GetDict (_ffcf .Resources .ProcSet );_fgdg {for _ ,_cfdd :=range _gcec .Keys (){_ggag [_cfdd ]=_gcec .Get (_cfdd );};};};if _ffcf .Resources .Properties !=nil {if _geaa ,_cfgd :=_cb .GetDict (_ffcf .Resources .Properties );_cfgd {for _ ,_aedb :=range _geaa .Keys (){_ggag [_aedb ]=_geaa .Get (_aedb );};};};return _ggag ;};func (_efbbb *fontFile )parseASCIIPart (_fgaaa []byte )error {if len (_fgaaa )< 2||string (_fgaaa [:2])!="\u0025\u0021"{return _bc .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");};_cdbde ,_egefe ,_bdbfe :=_gbfb (_fgaaa );if _bdbfe !=nil {return _bdbfe ;};_efege :=_ggdab (_cdbde );_efbbb ._abcae =_efege ["\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065"];if _efbbb ._abcae ==""{_dbe .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 _egefe !=""{_gbcfg ,_ccefa :=_eabf (_egefe );if _ccefa !=nil {return _ccefa ;};_ceae ,_ccefa :=_ccb .NewCustomSimpleTextEncoder (_gbcfg ,nil );if _ccefa !=nil {_dbe .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",_ccefa );return nil ;};_efbbb ._fefc =_ceae ;};return nil ;};func _gfdc (_aeed ,_edbg string )string {if _fe .Contains (_aeed ,"\u002b"){_dfad :=_fe .Split (_aeed ,"\u002b");if len (_dfad )==2{_aeed =_dfad [1];};};return _edbg +"\u002b"+_aeed ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_baaa *PdfAnnotationTrapNet )ToPdfObject ()_cb .PdfObject {_baaa .PdfAnnotation .ToPdfObject ();_agcb :=_baaa ._efd ;_eeef :=_agcb .PdfObject .(*_cb .PdfObjectDictionary );_eeef .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0054r\u0061\u0070\u004e\u0065\u0074"));return _agcb ;};
|
||
|
||
// 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 _bb .ReadSeeker )(*PdfReader ,error ){_eaefc :=&PdfReader {_cgba :rs ,_fage :map[_cb .PdfObject ]struct{}{},_bffa :_ccdg (),_cbfab :true };_cadf ,_bfgc :=_cb .NewParser (rs );if _bfgc !=nil {return nil ,_bfgc ;};_eaefc ._gfecg =_cadf ;_afed ,_bfgc :=_eaefc .IsEncrypted ();if _bfgc !=nil {return nil ,_bfgc ;};if !_afed {_bfgc =_eaefc .loadStructure ();if _bfgc !=nil {return nil ,_bfgc ;};};return _eaefc ,nil ;};
|
||
|
||
// Val returns the value of the color.
|
||
func (_agcce *PdfColorCalGray )Val ()float64 {return float64 (*_agcce )};
|
||
|
||
// PdfColorspaceDeviceGray represents a grayscale colorspace.
|
||
type PdfColorspaceDeviceGray struct{};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bfaf *PdfAnnotationHighlight )ToPdfObject ()_cb .PdfObject {_bfaf .PdfAnnotation .ToPdfObject ();_abad :=_bfaf ._efd ;_degc :=_abad .PdfObject .(*_cb .PdfObjectDictionary );_bfaf .PdfAnnotationMarkup .appendToPdfDictionary (_degc );_degc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t"));_degc .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_bfaf .QuadPoints );return _abad ;};
|
||
|
||
// GetNumComponents returns the number of color components of the underlying
|
||
// colorspace device.
|
||
func (_efdb *PdfColorspaceSpecialPattern )GetNumComponents ()int {return _efdb .UnderlyingCS .GetNumComponents ();};
|
||
|
||
// ToGoImage converts the unidoc Image to a golang Image structure.
|
||
func (_dbda *Image )ToGoImage ()(_ca .Image ,error ){_dbe .Log .Trace ("\u0043\u006f\u006e\u0076er\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0067\u006f\u0020\u0069\u006d\u0061g\u0065");_gadgc ,_eecge :=_ac .NewImage (int (_dbda .Width ),int (_dbda .Height ),int (_dbda .BitsPerComponent ),_dbda .ColorComponents ,_dbda .Data ,_dbda ._ddffb ,_dbda ._cceeg );if _eecge !=nil {return nil ,_eecge ;};return _gadgc ,nil ;};
|
||
|
||
// DefaultImageHandler is the default implementation of the ImageHandler using the standard go library.
|
||
type DefaultImageHandler struct{};
|
||
|
||
// ToPdfObject converts the pdfFontSimple to its PDF representation for outputting.
|
||
func (_feeb *pdfFontSimple )ToPdfObject ()_cb .PdfObject {if _feeb ._bdadb ==nil {_feeb ._bdadb =&_cb .PdfIndirectObject {};};_dedc :=_feeb .baseFields ().asPdfObjectDictionary ("");_feeb ._bdadb .PdfObject =_dedc ;if _feeb .FirstChar !=nil {_dedc .Set ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r",_feeb .FirstChar );};if _feeb .LastChar !=nil {_dedc .Set ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072",_feeb .LastChar );};if _feeb .Widths !=nil {_dedc .Set ("\u0057\u0069\u0064\u0074\u0068\u0073",_feeb .Widths );};if _feeb .Encoding !=nil {_dedc .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_feeb .Encoding );}else if _feeb ._egffg !=nil {_aafbg :=_feeb ._egffg .ToPdfObject ();if _aafbg !=nil {_dedc .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_aafbg );};};return _feeb ._bdadb ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a grayscale device.
|
||
func (_fcgdcc *PdfColorspaceDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// PdfAnnotationPolyLine represents PolyLine annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolyLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _cb .PdfObject ;LE _cb .PdfObject ;BS _cb .PdfObject ;IC _cb .PdfObject ;BE _cb .PdfObject ;IT _cb .PdfObject ;Measure _cb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fgb *PdfActionMovie )ToPdfObject ()_cb .PdfObject {_fgb .PdfAction .ToPdfObject ();_fcgf :=_fgb ._fc ;_daa :=_fcgf .PdfObject .(*_cb .PdfObjectDictionary );_daa .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeMovie )));_daa .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e",_fgb .Annotation );_daa .SetIfNotNil ("\u0054",_fgb .T );_daa .SetIfNotNil ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn",_fgb .Operation );return _fcgf ;};
|
||
|
||
// SetAnnotations sets the annotations list.
|
||
func (_fbcc *PdfPage )SetAnnotations (annotations []*PdfAnnotation ){_fbcc ._dcgde =annotations };
|
||
|
||
// DecodeArray returns the range of color component values in CalRGB colorspace.
|
||
func (_cgfa *PdfColorspaceCalRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// 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 (_gecd *PdfColorspaceCalRGB )ColorFromPdfObjects (objects []_cb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fabc ,_fgcaf :=_cb .GetNumbersAsFloat (objects );if _fgcaf !=nil {return nil ,_fgcaf ;};return _gecd .ColorFromFloats (_fabc );};
|
||
|
||
// IsRadio returns true if the button field represents a radio button, false otherwise.
|
||
func (_ceefe *PdfFieldButton )IsRadio ()bool {return _ceefe .GetType ()==ButtonTypeRadio };
|
||
|
||
// 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 (_gacf *PdfFont )SubsetRegistered ()error {switch _fgea :=_gacf ._cdfe .(type ){case *pdfFontType0 :_bbgc :=_fgea .subsetRegistered ();if _bbgc !=nil {_dbe .Log .Debug ("\u0053\u0075b\u0073\u0065\u0074 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_bbgc );return _bbgc ;};if _fgea ._ggbe !=nil {if _fgea ._ggdg !=nil {_fgea ._ggdg .ToPdfObject ();};_fgea .ToPdfObject ();};default:_dbe .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",_fgea );};return nil ;};func (_fcad *PdfReader )newPdfAnnotationStampFromDict (_eecg *_cb .PdfObjectDictionary )(*PdfAnnotationStamp ,error ){_gfee :=PdfAnnotationStamp {};_baeg ,_ceec :=_fcad .newPdfAnnotationMarkupFromDict (_eecg );if _ceec !=nil {return nil ,_ceec ;};_gfee .PdfAnnotationMarkup =_baeg ;_gfee .Name =_eecg .Get ("\u004e\u0061\u006d\u0065");return &_gfee ,nil ;};
|
||
|
||
// GetContentStreamWithEncoder returns the pattern cell's content stream and its encoder
|
||
func (_fdgec *PdfTilingPattern )GetContentStreamWithEncoder ()([]byte ,_cb .StreamEncoder ,error ){_fdabf ,_bgbgc :=_fdgec ._gbdd .(*_cb .PdfObjectStream );if !_bgbgc {_dbe .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",_fdgec ._gbdd );return nil ,nil ,_cb .ErrTypeError ;};_fccba ,_aaccc :=_cb .DecodeStream (_fdabf );if _aaccc !=nil {_dbe .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",_aaccc );return nil ,nil ,_aaccc ;};_fcaa ,_aaccc :=_cb .NewEncoderFromStream (_fdabf );if _aaccc !=nil {_dbe .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",_aaccc );return nil ,nil ,_aaccc ;};return _fccba ,_fcaa ,nil ;};
|
||
|
||
// Register registers (caches) a model to primitive object relationship.
|
||
func (_efdg *modelManager )Register (primitive _cb .PdfObject ,model PdfModel ){_efdg ._geed [model ]=primitive ;_efdg ._dcff [primitive ]=model ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bdcb *PdfAnnotationLink )ToPdfObject ()_cb .PdfObject {_bdcb .PdfAnnotation .ToPdfObject ();_bebgf :=_bdcb ._efd ;_geece :=_bebgf .PdfObject .(*_cb .PdfObjectDictionary );_geece .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u004c\u0069\u006e\u006b"));if _bdcb ._afb !=nil &&_bdcb ._afb ._ab !=nil {_geece .Set ("\u0041",_bdcb ._afb ._ab .ToPdfObject ());}else if _bdcb .A !=nil {_geece .Set ("\u0041",_bdcb .A );};_geece .SetIfNotNil ("\u0044\u0065\u0073\u0074",_bdcb .Dest );_geece .SetIfNotNil ("\u0048",_bdcb .H );_geece .SetIfNotNil ("\u0050\u0041",_bdcb .PA );_geece .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_bdcb .QuadPoints );_geece .SetIfNotNil ("\u0042\u0053",_bdcb .BS );return _bebgf ;};
|
||
|
||
// PdfShadingType6 is a Coons patch mesh.
|
||
type PdfShadingType6 struct{*PdfShading ;BitsPerCoordinate *_cb .PdfObjectInteger ;BitsPerComponent *_cb .PdfObjectInteger ;BitsPerFlag *_cb .PdfObjectInteger ;Decode *_cb .PdfObjectArray ;Function []PdfFunction ;};const (BorderStyleSolid BorderStyle =iota ;BorderStyleDashed BorderStyle =iota ;BorderStyleBeveled BorderStyle =iota ;BorderStyleInset BorderStyle =iota ;BorderStyleUnderline BorderStyle =iota ;);var _ebcd =_e .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");
|
||
|
||
// ImageToRGB returns the passed in image. Method exists in order to satisfy
|
||
// the PdfColorspace interface.
|
||
func (_fdbe *PdfColorspaceDeviceRGB )ImageToRGB (img Image )(Image ,error ){return img ,nil };
|
||
|
||
// MergePageWith appends page content to source Pdf file page content.
|
||
func (_gfdd *PdfAppender )MergePageWith (pageNum int ,page *PdfPage )error {_fdge :=pageNum -1;var _aeffb *PdfPage ;for _bbdf ,_fbge :=range _gfdd ._dgce {if _bbdf ==_fdge {_aeffb =_fbge ;};};if _aeffb ==nil {return _c .Errorf ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0050\u0061\u0067\u0065\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064\u0020\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0073o\u0075\u0072\u0063\u0065\u0020\u0064o\u0063\u0075\u006de\u006e\u0074",pageNum );};if _aeffb ._adbf !=nil &&_aeffb ._adbf .GetParser ()==_gfdd ._acgg ._gfecg {_aeffb =_aeffb .Duplicate ();_gfdd ._dgce [_fdge ]=_aeffb ;};page =page .Duplicate ();_eggaf (page );_eeea :=_bgac (_aeffb );_ceagb :=_bgac (page );_adg :=make (map[_cb .PdfObjectName ]_cb .PdfObjectName );for _baf :=range _ceagb {if _ ,_bbga :=_eeea [_baf ];_bbga {for _faa :=1;true ;_faa ++{_efegb :=_cb .PdfObjectName (string (_baf )+_eb .Itoa (_faa ));if _ ,_fcfe :=_eeea [_efegb ];!_fcfe {_adg [_baf ]=_efegb ;break ;};};};};_gaad ,_agec :=page .GetContentStreams ();if _agec !=nil {return _agec ;};_cfbg ,_agec :=_aeffb .GetContentStreams ();if _agec !=nil {return _agec ;};for _dbdc ,_cfdb :=range _gaad {for _geaf ,_aac :=range _adg {_cfdb =_fe .Replace (_cfdb ,"\u002f"+string (_geaf ),"\u002f"+string (_aac ),-1);};_gaad [_dbdc ]=_cfdb ;};_cfbg =append (_cfbg ,_gaad ...);if _febg :=_aeffb .SetContentStreams (_cfbg ,_cb .NewFlateEncoder ());_febg !=nil {return _febg ;};for _ ,_geafd :=range page ._dcgde {_aeffb ._dcgde =append (_aeffb ._dcgde ,_geafd );};if _aeffb .Resources ==nil {_aeffb .Resources =NewPdfPageResources ();};if page .Resources !=nil {_aeffb .Resources .Font =_gfdd .mergeResources (_aeffb .Resources .Font ,page .Resources .Font ,_adg );_aeffb .Resources .XObject =_gfdd .mergeResources (_aeffb .Resources .XObject ,page .Resources .XObject ,_adg );_aeffb .Resources .Properties =_gfdd .mergeResources (_aeffb .Resources .Properties ,page .Resources .Properties ,_adg );if _aeffb .Resources .ProcSet ==nil {_aeffb .Resources .ProcSet =page .Resources .ProcSet ;};_aeffb .Resources .Shading =_gfdd .mergeResources (_aeffb .Resources .Shading ,page .Resources .Shading ,_adg );_aeffb .Resources .ExtGState =_gfdd .mergeResources (_aeffb .Resources .ExtGState ,page .Resources .ExtGState ,_adg );};_gdca ,_agec :=_aeffb .GetMediaBox ();if _agec !=nil {return _agec ;};_bffe ,_agec :=page .GetMediaBox ();if _agec !=nil {return _agec ;};var _cccd bool ;if _gdca .Llx > _bffe .Llx {_gdca .Llx =_bffe .Llx ;_cccd =true ;};if _gdca .Lly > _bffe .Lly {_gdca .Lly =_bffe .Lly ;_cccd =true ;};if _gdca .Urx < _bffe .Urx {_gdca .Urx =_bffe .Urx ;_cccd =true ;};if _gdca .Ury < _bffe .Ury {_gdca .Ury =_bffe .Ury ;_cccd =true ;};if _cccd {_aeffb .MediaBox =_gdca ;};return nil ;};
|
||
|
||
// NewPdfAnnotationWidget returns an initialized annotation widget.
|
||
func NewPdfAnnotationWidget ()*PdfAnnotationWidget {_cfaa :=NewPdfAnnotation ();_dae :=&PdfAnnotationWidget {};_dae .PdfAnnotation =_cfaa ;_cfaa .SetContext (_dae );return _dae ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_baa *PdfActionGoTo )ToPdfObject ()_cb .PdfObject {_baa .PdfAction .ToPdfObject ();_gc :=_baa ._fc ;_ea :=_gc .PdfObject .(*_cb .PdfObjectDictionary );_ea .SetIfNotNil ("\u0053",_cb .MakeName (string (ActionTypeGoTo )));_ea .SetIfNotNil ("\u0044",_baa .D );return _gc ;};
|
||
|
||
// 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 *_cb .PdfObjectName ;Colorants _cb .PdfObject ;Process _cb .PdfObject ;MixingHints _cb .PdfObject ;_afgb *_cb .PdfIndirectObject ;};func (_begb *PdfReader )newPdfAnnotationUnderlineFromDict (_eed *_cb .PdfObjectDictionary )(*PdfAnnotationUnderline ,error ){_fced :=PdfAnnotationUnderline {};_dgga ,_bfff :=_begb .newPdfAnnotationMarkupFromDict (_eed );if _bfff !=nil {return nil ,_bfff ;};_fced .PdfAnnotationMarkup =_dgga ;_fced .QuadPoints =_eed .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_fced ,nil ;};
|
||
|
||
// SetDate sets the `M` field of the signature.
|
||
func (_eeeae *PdfSignature )SetDate (date _d .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";};_eeeae .M =_cb .MakeString (date .Format (format ));};
|
||
|
||
// Fill populates `form` with values provided by `provider`.
|
||
func (_gedbb *PdfAcroForm )Fill (provider FieldValueProvider )error {return _gedbb .fill (provider ,nil )};func (_fdddg PdfFont )actualFont ()pdfFont {if _fdddg ._cdfe ==nil {_dbe .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",_fdddg );};return _fdddg ._cdfe ;};
|
||
|
||
// 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 (_fbfa *pdfFontSimple )SetEncoder (encoder _ccb .TextEncoder ){_fbfa ._egffg =encoder };
|
||
|
||
// GetIndirectObjectByNumber retrieves and returns a specific PdfObject by object number.
|
||
func (_egdfe *PdfReader )GetIndirectObjectByNumber (number int )(_cb .PdfObject ,error ){_abeec ,_gbdf :=_egdfe ._gfecg .LookupByNumber (number );return _abeec ,_gbdf ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ec *PdfAction )ToPdfObject ()_cb .PdfObject {_dg :=_ec ._fc ;_ada :=_dg .PdfObject .(*_cb .PdfObjectDictionary );_ada .Clear ();_ada .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0041\u0063\u0074\u0069\u006f\u006e"));_ada .SetIfNotNil ("\u0053",_ec .S );_ada .SetIfNotNil ("\u004e\u0065\u0078\u0074",_ec .Next );return _dg ;};
|
||
|
||
// NewPdfAnnotationText returns a new text annotation.
|
||
func NewPdfAnnotationText ()*PdfAnnotationText {_fafe :=NewPdfAnnotation ();_adag :=&PdfAnnotationText {};_adag .PdfAnnotation =_fafe ;_adag .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_fafe .SetContext (_adag );return _adag ;};
|
||
|
||
// GetColorspaceByName returns the colorspace with the specified name from the page resources.
|
||
func (_cefc *PdfPageResources )GetColorspaceByName (keyName _cb .PdfObjectName )(PdfColorspace ,bool ){_eeafc ,_dgecb :=_cefc .GetColorspaces ();if _dgecb !=nil {_dbe .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",_dgecb );return nil ,false ;};if _eeafc ==nil {return nil ,false ;};_fgcfa ,_adcaa :=_eeafc .Colorspaces [string (keyName )];if !_adcaa {return nil ,false ;};return _fgcfa ,true ;};func _dgcf (_eaade *[]*PdfField ,_eaggc FieldFilterFunc ,_gdeef bool )[]*PdfField {if _eaade ==nil {return nil ;};_gecge :=*_eaade ;if len (*_eaade )==0{return nil ;};_dcccbd :=_gecge [:0];if _eaggc ==nil {_eaggc =func (*PdfField )bool {return true };};var _gbeg []*PdfField ;for _ ,_fbce :=range _gecge {_aefebb :=_eaggc (_fbce );if _aefebb {_gbeg =append (_gbeg ,_fbce );if len (_fbce .Kids )> 0{_gbeg =append (_gbeg ,_dgcf (&_fbce .Kids ,_eaggc ,_gdeef )...);};};if !_gdeef ||!_aefebb ||len (_fbce .Kids )> 0{_dcccbd =append (_dcccbd ,_fbce );};};*_eaade =_dcccbd ;return _gbeg ;};
|
||
|
||
// GetCapHeight returns the CapHeight of the font `descriptor`.
|
||
func (_fbebe *PdfFontDescriptor )GetCapHeight ()(float64 ,error ){return _cb .GetNumberAsFloat (_fbebe .CapHeight );};func _fdeba (_bbff *PdfField )[]*PdfField {_fbdce :=[]*PdfField {_bbff };for _ ,_bgfg :=range _bbff .Kids {_fbdce =append (_fbdce ,_fdeba (_bgfg )...);};return _fbdce ;};func (_bbba *PdfReader )newPdfActionURIFromDict (_bfag *_cb .PdfObjectDictionary )(*PdfActionURI ,error ){return &PdfActionURI {URI :_bfag .Get ("\u0055\u0052\u0049"),IsMap :_bfag .Get ("\u0049\u0073\u004da\u0070")},nil ;};
|
||
|
||
// CharMetrics represents width and height metrics of a glyph.
|
||
type CharMetrics =_af .CharMetrics ;
|
||
|
||
// ButtonType represents the subtype of a button field, can be one of:
|
||
// - Checkbox (ButtonTypeCheckbox)
|
||
// - PushButton (ButtonTypePushButton)
|
||
// - RadioButton (ButtonTypeRadioButton)
|
||
type ButtonType int ;
|
||
|
||
// PdfColorspaceLab is a L*, a*, b* 3 component colorspace.
|
||
type PdfColorspaceLab struct{WhitePoint []float64 ;BlackPoint []float64 ;Range []float64 ;_ddee *_cb .PdfIndirectObject ;};
|
||
|
||
// Write writes out the PDF.
|
||
func (_bcebf *PdfWriter )Write (writer _bb .Writer )error {_dbe .Log .Trace ("\u0057r\u0069\u0074\u0065\u0028\u0029");_deefd :=_da .GetLicenseKey ();if (_deefd ==nil ||!_deefd .IsLicensed ())&&!_fgfg {_c .Printf ("\u0055\u006e\u006c\u0069\u0063\u0065\u006e\u0073\u0065\u0064\u0020c\u006f\u0070\u0079\u0020\u006f\u0066\u0020\u0055\u006e\u0069P\u0044\u0046\u000a");_c .Println ("-\u0020\u0047\u0065\u0074\u0020\u0061\u0020\u0066\u0072e\u0065\u0020\u0074\u0072\u0069\u0061\u006c l\u0069\u0063\u0065\u006es\u0065\u0020\u006f\u006e\u0020\u0068\u0074\u0074\u0070s:\u002f\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069\u006f");return _bc .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 _bcebf ._eadf !=nil {_dbe .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0054\u0072\u0065\u0065\u003a\u0020\u0025\u002b\u0076",_bcebf ._eadf );_eabbc :=_bcebf ._eadf .ToPdfObject ();_dbe .Log .Trace ("\u004fu\u0074\u006c\u0069\u006e\u0065\u0073\u003a\u0020\u0025\u002b\u0076 \u0028\u0025\u0054\u002c\u0020\u0070\u003a\u0025\u0070\u0029",_eabbc ,_eabbc ,_eabbc );_bcebf ._fgfb .Set ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073",_eabbc );_feddc :=_bcebf .addObjects (_eabbc );if _feddc !=nil {return _feddc ;};};if _bcebf ._aeegd !=nil {_dbe .Log .Trace ("\u0057r\u0069t\u0069\u006e\u0067\u0020\u0061c\u0072\u006f \u0066\u006f\u0072\u006d\u0073");_badfec :=_bcebf ._aeegd .ToPdfObject ();_dbe .Log .Trace ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_badfec );_bcebf ._fgfb .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_badfec );_aabee :=_bcebf .addObjects (_badfec );if _aabee !=nil {return _aabee ;};};for _ccggc ,_acaec :=range _bcebf ._gbcba {if !_bcebf .hasObject (_ccggc ){_dbe .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",_ccggc ,_ccggc ,_ccggc );for _ ,_ebegc :=range _acaec {for _ ,_abacg :=range _ebegc .Keys (){_ggbcf :=_ebegc .Get (_abacg );if _ggbcf ==_ccggc {_dbe .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");_ebegc .Set (_abacg ,_cb .MakeNull ());break ;};};};};};_bcebf ._fgfb .Set ("\u0056e\u0072\u0073\u0069\u006f\u006e",_cb .MakeName (_c .Sprintf ("\u0025\u0064\u002e%\u0064",_bcebf ._ecaee ,_bcebf ._ccefeg )));_bcebf .copyObjects ();if _bcebf ._agfcf !=nil {var _ccgee error ;_bcebf ._bgega ,_ccgee =_bcebf ._agfcf .Optimize (_bcebf ._bgega );if _ccgee !=nil {return _ccgee ;};_dbcbg :=make (map[_cb .PdfObject ]struct{},len (_bcebf ._bgega ));for _ ,_gddfa :=range _bcebf ._bgega {_dbcbg [_gddfa ]=struct{}{};};_bcebf ._bbbbd =_dbcbg ;};_bcebf ._ceead =_bcebf ._aedbee ;_bcebf ._eabcf =_f .NewWriter (writer );_bgade :=_bcebf ._ecaee > 1||(_bcebf ._ecaee ==1&&_bcebf ._ccefeg > 4);if _bcebf ._ddfdba !=nil {_bgade =*_bcebf ._ddfdba ;};_eccaf :=make (map[_cb .PdfObject ]bool );for _ ,_ffeb :=range _bcebf ._bgega {if _dabdb ,_cdefd :=_ffeb .(*_cb .PdfObjectStreams );_cdefd {_bgade =true ;for _ ,_ccaea :=range _dabdb .Elements (){_eccaf [_ccaea ]=true ;if _efeab ,_acac :=_ccaea .(*_cb .PdfIndirectObject );_acac {_eccaf [_efeab .PdfObject ]=true ;};};};};if _bgade &&_bcebf ._ecaee ==1&&_bcebf ._ccefeg < 5{_bcebf ._ccefeg =5;};if _bcebf ._gedaa {_bcebf .writeString ("\u000a");}else {_bcebf .writeString (_c .Sprintf ("\u0025\u0025\u0050D\u0046\u002d\u0025\u0064\u002e\u0025\u0064\u000a",_bcebf ._ecaee ,_bcebf ._ccefeg ));_bcebf .writeString ("\u0025\u00e2\u00e3\u00cf\u00d3\u000a");};_bcebf .updateObjectNumbers ();_dbe .Log .Trace ("\u0057\u0072\u0069\u0074\u0069\u006e\u0067\u0020\u0025d\u0020\u006f\u0062\u006a",len (_bcebf ._bgega ));_bcebf ._gebf =make (map[int ]crossReference );_bcebf ._gebf [0]=crossReference {Type :0,ObjectNumber :0,Generation :0xFFFF};if _bcebf ._afefg .ObjectMap !=nil {for _dcbee ,_edcg :=range _bcebf ._afefg .ObjectMap {if _dcbee ==0{continue ;};if _edcg .XType ==_cb .XrefTypeObjectStream {_gabcf :=crossReference {Type :2,ObjectNumber :_edcg .OsObjNumber ,Index :_edcg .OsObjIndex };_bcebf ._gebf [_dcbee ]=_gabcf ;};if _edcg .XType ==_cb .XrefTypeTableEntry {_gbafe :=crossReference {Type :1,ObjectNumber :_edcg .ObjectNumber ,Offset :_edcg .Offset };_bcebf ._gebf [_dcbee ]=_gbafe ;};};};for _ ,_dggc :=range _bcebf ._bgega {if _edbcdd :=_eccaf [_dggc ];_edbcdd {continue ;};_fgbd :=int64 (0);switch _dadea :=_dggc .(type ){case *_cb .PdfIndirectObject :_fgbd =_dadea .ObjectNumber ;case *_cb .PdfObjectStream :_fgbd =_dadea .ObjectNumber ;case *_cb .PdfObjectStreams :_fgbd =_dadea .ObjectNumber ;default:_dbe .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",_dggc );return ErrTypeCheck ;};if _bcebf ._ccaec !=nil &&_dggc !=_bcebf ._fggd {_cfgef :=_bcebf ._ccaec .Encrypt (_dggc ,int64 (_fgbd ),0);if _cfgef !=nil {_dbe .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",_cfgef );return _cfgef ;};};_bcebf .writeObject (int (_fgbd ),_dggc );};_fdebgg :=_bcebf ._ceead ;var _afedg int ;for _ccfgf :=range _bcebf ._gebf {if _ccfgf > _afedg {_afedg =_ccfgf ;};};if _bgade {_aaaed :=_afedg +1;_bcebf ._gebf [_aaaed ]=crossReference {Type :1,ObjectNumber :_aaaed ,Offset :_fdebgg };_agddd :=_bbb .NewBuffer (nil );_fgacg :=_cb .MakeArray ();for _ccfdc :=0;_ccfdc <=_afedg ;{for ;_ccfdc <=_afedg ;_ccfdc ++{_gbcdb ,_bacb :=_bcebf ._gebf [_ccfdc ];if _bacb &&(!_bcebf ._gedaa ||_bcebf ._gedaa &&(_gbcdb .Type ==1&&_gbcdb .Offset >=_bcebf ._dbbcc ||_gbcdb .Type ==0)){break ;};};var _bdbge int ;for _bdbge =_ccfdc +1;_bdbge <=_afedg ;_bdbge ++{_bdcfa ,_cgeed :=_bcebf ._gebf [_bdbge ];if _cgeed &&(!_bcebf ._gedaa ||_bcebf ._gedaa &&(_bdcfa .Type ==1&&_bdcfa .Offset > _bcebf ._dbbcc )){continue ;};break ;};_fgacg .Append (_cb .MakeInteger (int64 (_ccfdc )),_cb .MakeInteger (int64 (_bdbge -_ccfdc )));for _abcag :=_ccfdc ;_abcag < _bdbge ;_abcag ++{_ccecg :=_bcebf ._gebf [_abcag ];switch _ccecg .Type {case 0:_aa .Write (_agddd ,_aa .BigEndian ,byte (0));_aa .Write (_agddd ,_aa .BigEndian ,uint32 (0));_aa .Write (_agddd ,_aa .BigEndian ,uint16 (0xFFFF));case 1:_aa .Write (_agddd ,_aa .BigEndian ,byte (1));_aa .Write (_agddd ,_aa .BigEndian ,uint32 (_ccecg .Offset ));_aa .Write (_agddd ,_aa .BigEndian ,uint16 (_ccecg .Generation ));case 2:_aa .Write (_agddd ,_aa .BigEndian ,byte (2));_aa .Write (_agddd ,_aa .BigEndian ,uint32 (_ccecg .ObjectNumber ));_aa .Write (_agddd ,_aa .BigEndian ,uint16 (_ccecg .Index ));};};_ccfdc =_bdbge +1;};_gcgfa ,_cbde :=_cb .MakeStream (_agddd .Bytes (),_cb .NewFlateEncoder ());if _cbde !=nil {return _cbde ;};_gcgfa .ObjectNumber =int64 (_aaaed );_gcgfa .PdfObjectDictionary .Set ("\u0054\u0079\u0070\u0065",_cb .MakeName ("\u0058\u0052\u0065\u0066"));_gcgfa .PdfObjectDictionary .Set ("\u0057",_cb .MakeArray (_cb .MakeInteger (1),_cb .MakeInteger (4),_cb .MakeInteger (2)));_gcgfa .PdfObjectDictionary .Set ("\u0049\u006e\u0064e\u0078",_fgacg );_gcgfa .PdfObjectDictionary .Set ("\u0053\u0069\u007a\u0065",_cb .MakeInteger (int64 (_aaaed +1)));_gcgfa .PdfObjectDictionary .Set ("\u0049\u006e\u0066\u006f",_bcebf ._ggdd );_gcgfa .PdfObjectDictionary .Set ("\u0052\u006f\u006f\u0074",_bcebf ._becda );if _bcebf ._gedaa &&_bcebf ._adfgd > 0{_gcgfa .PdfObjectDictionary .Set ("\u0050\u0072\u0065\u0076",_cb .MakeInteger (_bcebf ._adfgd ));};if _bcebf ._ccaec !=nil {_gcgfa .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_bcebf ._fggd );_gcgfa .Set ("\u0049\u0044",_bcebf ._efab );_dbe .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_bcebf ._efab );};_bcebf .writeObject (int (_gcgfa .ObjectNumber ),_gcgfa );}else {_bcebf .writeString ("\u0078\u0072\u0065\u0066\u000d\u000a");for _dbefc :=0;_dbefc <=_afedg ;{for ;_dbefc <=_afedg ;_dbefc ++{_efeaa ,_ceaaa :=_bcebf ._gebf [_dbefc ];if _ceaaa &&(!_bcebf ._gedaa ||_bcebf ._gedaa &&(_efeaa .Type ==1&&_efeaa .Offset >=_bcebf ._dbbcc ||_efeaa .Type ==0)){break ;};};var _ecaag int ;for _ecaag =_dbefc +1;_ecaag <=_afedg ;_ecaag ++{_abbfdc ,_ggggc :=_bcebf ._gebf [_ecaag ];if _ggggc &&(!_bcebf ._gedaa ||_bcebf ._gedaa &&(_abbfdc .Type ==1&&_abbfdc .Offset > _bcebf ._dbbcc )){continue ;};break ;};_egege :=_c .Sprintf ("\u0025d\u0020\u0025\u0064\u000d\u000a",_dbefc ,_ecaag -_dbefc );_bcebf .writeString (_egege );for _eegb :=_dbefc ;_eegb < _ecaag ;_eegb ++{_caeea :=_bcebf ._gebf [_eegb ];switch _caeea .Type {case 0:_egege =_c .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u0066\u000d\u000a",0,65535);_bcebf .writeString (_egege );case 1:_egege =_c .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u006e\u000d\u000a",_caeea .Offset ,0);_bcebf .writeString (_egege );};};_dbefc =_ecaag +1;};_aeeb :=_cb .MakeDict ();_aeeb .Set ("\u0049\u006e\u0066\u006f",_bcebf ._ggdd );_aeeb .Set ("\u0052\u006f\u006f\u0074",_bcebf ._becda );_aeeb .Set ("\u0053\u0069\u007a\u0065",_cb .MakeInteger (int64 (_afedg +1)));if _bcebf ._gedaa &&_bcebf ._adfgd > 0{_aeeb .Set ("\u0050\u0072\u0065\u0076",_cb .MakeInteger (_bcebf ._adfgd ));};if _bcebf ._ccaec !=nil {_aeeb .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_bcebf ._fggd );_aeeb .Set ("\u0049\u0044",_bcebf ._efab );_dbe .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_bcebf ._efab );};_bcebf .writeString ("\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u000a");_bcebf .writeString (_aeeb .WriteString ());_bcebf .writeString ("\u000a");};_agfca :=_c .Sprintf ("\u0073\u0074\u0061\u0072\u0074\u0078\u0072\u0065\u0066\u000a\u0025\u0064\u000a",_fdebgg );_bcebf .writeString (_agfca );_bcebf .writeString ("\u0025\u0025\u0045\u004f\u0046\u000a");if _bcebf ._dadaf ==nil {_bcebf ._dadaf =_bcebf ._eabcf .Flush ();};return _bcebf ._dadaf ;};func _gddb ()string {return _cebffbc };
|
||
|
||
// NewPdfAnnotationPolyLine returns a new polyline annotation.
|
||
func NewPdfAnnotationPolyLine ()*PdfAnnotationPolyLine {_bcdc :=NewPdfAnnotation ();_fgc :=&PdfAnnotationPolyLine {};_fgc .PdfAnnotation =_bcdc ;_fgc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bcdc .SetContext (_fgc );return _fgc ;};
|
||
|
||
// PdfAnnotationInk represents Ink annotations.
|
||
// (Section 12.5.6.13).
|
||
type PdfAnnotationInk struct{*PdfAnnotation ;*PdfAnnotationMarkup ;InkList _cb .PdfObject ;BS _cb .PdfObject ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_ecgge *PdfFunctionType2 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_dbe .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_bc .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ffae :=[]float64 {0.0};if _ecgge .C0 !=nil {_ffae =_ecgge .C0 ;};_eedfd :=[]float64 {1.0};if _ecgge .C1 !=nil {_eedfd =_ecgge .C1 ;};var _fcbae []float64 ;for _dade :=0;_dade < len (_ffae );_dade ++{_eccef :=_ffae [_dade ]+_ag .Pow (x [0],_ecgge .N )*(_eedfd [_dade ]-_ffae [_dade ]);_fcbae =append (_fcbae ,_eccef );};return _fcbae ,nil ;};func (_gga *PdfReader )newPdfAnnotationSquigglyFromDict (_gcfa *_cb .PdfObjectDictionary )(*PdfAnnotationSquiggly ,error ){_dgfg :=PdfAnnotationSquiggly {};_geac ,_edg :=_gga .newPdfAnnotationMarkupFromDict (_gcfa );if _edg !=nil {return nil ,_edg ;};_dgfg .PdfAnnotationMarkup =_geac ;_dgfg .QuadPoints =_gcfa .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_dgfg ,nil ;};
|
||
|
||
// String returns a string representation of what flags are set.
|
||
func (_aaeg FieldFlag )String ()string {_fdebg :="";if _aaeg ==FieldFlagClear {_fdebg ="\u0043\u006c\u0065a\u0072";return _fdebg ;};if _aaeg &FieldFlagReadOnly > 0{_fdebg +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _aaeg &FieldFlagRequired > 0{_fdebg +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _aaeg &FieldFlagNoExport > 0{_fdebg +="\u007cN\u006f\u0045\u0078\u0070\u006f\u0072t";};if _aaeg &FieldFlagNoToggleToOff > 0{_fdebg +="\u007c\u004e\u006f\u0054\u006f\u0067\u0067\u006c\u0065T\u006f\u004f\u0066\u0066";};if _aaeg &FieldFlagRadio > 0{_fdebg +="\u007c\u0052\u0061\u0064\u0069\u006f";};if _aaeg &FieldFlagPushbutton > 0{_fdebg +="|\u0050\u0075\u0073\u0068\u0062\u0075\u0074\u0074\u006f\u006e";};if _aaeg &FieldFlagRadiosInUnision > 0{_fdebg +="\u007c\u0052a\u0064\u0069\u006fs\u0049\u006e\u0055\u006e\u0069\u0073\u0069\u006f\u006e";};if _aaeg &FieldFlagMultiline > 0{_fdebg +="\u007c\u004d\u0075\u006c\u0074\u0069\u006c\u0069\u006e\u0065";};if _aaeg &FieldFlagPassword > 0{_fdebg +="\u007cP\u0061\u0073\u0073\u0077\u006f\u0072d";};if _aaeg &FieldFlagFileSelect > 0{_fdebg +="|\u0046\u0069\u006c\u0065\u0053\u0065\u006c\u0065\u0063\u0074";};if _aaeg &FieldFlagDoNotScroll > 0{_fdebg +="\u007c\u0044\u006fN\u006f\u0074\u0053\u0063\u0072\u006f\u006c\u006c";};if _aaeg &FieldFlagComb > 0{_fdebg +="\u007c\u0043\u006fm\u0062";};if _aaeg &FieldFlagRichText > 0{_fdebg +="\u007cR\u0069\u0063\u0068\u0054\u0065\u0078t";};if _aaeg &FieldFlagDoNotSpellCheck > 0{_fdebg +="\u007c\u0044o\u004e\u006f\u0074S\u0070\u0065\u006c\u006c\u0043\u0068\u0065\u0063\u006b";};if _aaeg &FieldFlagCombo > 0{_fdebg +="\u007c\u0043\u006f\u006d\u0062\u006f";};if _aaeg &FieldFlagEdit > 0{_fdebg +="\u007c\u0045\u0064i\u0074";};if _aaeg &FieldFlagSort > 0{_fdebg +="\u007c\u0053\u006fr\u0074";};if _aaeg &FieldFlagMultiSelect > 0{_fdebg +="\u007c\u004d\u0075l\u0074\u0069\u0053\u0065\u006c\u0065\u0063\u0074";};if _aaeg &FieldFlagCommitOnSelChange > 0{_fdebg +="\u007cC\u006fm\u006d\u0069\u0074\u004f\u006eS\u0065\u006cC\u0068\u0061\u006e\u0067\u0065";};return _fe .Trim (_fdebg ,"\u007c");};
|
||
|
||
// PdfVersion returns version of the PDF file.
|
||
func (_bfcbe *PdfReader )PdfVersion ()_cb .Version {return _bfcbe ._gfecg .PdfVersion ()};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bbdg *PdfAnnotationText )ToPdfObject ()_cb .PdfObject {_bbdg .PdfAnnotation .ToPdfObject ();_cdaf :=_bbdg ._efd ;_gbf :=_cdaf .PdfObject .(*_cb .PdfObjectDictionary );if _bbdg .PdfAnnotationMarkup !=nil {_bbdg .PdfAnnotationMarkup .appendToPdfDictionary (_gbf );};_gbf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_cb .MakeName ("\u0054\u0065\u0078\u0074"));_gbf .SetIfNotNil ("\u004f\u0070\u0065\u006e",_bbdg .Open );_gbf .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bbdg .Name );_gbf .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_bbdg .State );_gbf .SetIfNotNil ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c",_bbdg .StateModel );return _cdaf ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_fafd *PdfColorLab )A ()float64 {return float64 (_fafd [1])}; |