mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-29 13:48:54 +08:00
2763 lines
668 KiB
Go
2763 lines
668 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 (_ff "bufio";_ede "bytes";_gb "crypto/sha1";_ffg "crypto/x509";_g "encoding/binary";_c "encoding/hex";_ae "errors";_e "fmt";_ce "github.com/unidoc/pkcs7";_cga "github.com/unidoc/unipdf/v3/common";_dd "github.com/unidoc/unipdf/v3/common/license";_bcb "github.com/unidoc/unipdf/v3/core";_aec "github.com/unidoc/unipdf/v3/core/security";_fg "github.com/unidoc/unipdf/v3/core/security/crypt";_dc "github.com/unidoc/unipdf/v3/internal/cmap";_fgd "github.com/unidoc/unipdf/v3/internal/imageutil";_cgb "github.com/unidoc/unipdf/v3/internal/sampling";_ddd "github.com/unidoc/unipdf/v3/internal/textencoding";_acc "github.com/unidoc/unipdf/v3/model/internal/fonts";_ddg "github.com/unidoc/unipdf/v3/model/sigutil";_fc "github.com/unidoc/unipdf/v3/ps";_bd "github.com/unidoc/unitype";_bdd "golang.org/x/xerrors";_ac "image";_b "image/color";_ "image/gif";_ "image/png";_fb "io";_fd "io/ioutil";_edb "math";_ad "math/rand";_ecd "os";_ec "regexp";_ed "sort";_ea "strconv";_gc "strings";_a "sync";_d "time";_gbb "unicode";_cg "unicode/utf8";);
|
||
|
||
// GetNumComponents returns the number of input color components, i.e. that are input to the tint transform.
|
||
func (_edbgg *PdfColorspaceDeviceN )GetNumComponents ()int {return _edbgg .ColorantNames .Len ()};
|
||
|
||
// 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 _fb .ReadSeeker )(*PdfReader ,error ){_fbdcf :=&PdfReader {_bcffa :rs ,_egfef :map[_bcb .PdfObject ]struct{}{},_dafbg :_ebgca (),_abdcg :false };_cfeba ,_bbaec :=_bcb .NewParser (rs );if _bbaec !=nil {return nil ,_bbaec ;};_fbdcf ._ecage =_cfeba ;_dgaea ,_bbaec :=_fbdcf .IsEncrypted ();if _bbaec !=nil {return nil ,_bbaec ;};if !_dgaea {_bbaec =_fbdcf .loadStructure ();if _bbaec !=nil {return nil ,_bbaec ;};};return _fbdcf ,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 ,_ddd .SimpleEncoder ,error ){_bfcc ,_defe :=_edebg (basefont );if _defe !=nil {return nil ,nil ,_defe ;};_cdacf ,_afccf :=_bfcc .Encoder ().(_ddd .SimpleEncoder );if !_afccf {return nil ,nil ,_e .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",_bfcc .Encoder ());};_edcg :=make (map[rune ]_ddd .GlyphName );for _dgbde :=range alphabet {if _ ,_fefd :=_cdacf .RuneToCharcode (_dgbde );!_fefd {_ ,_bfcb :=_bfcc ._gbggc [_dgbde ];if !_bfcb {_cga .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",_dgbde ,_dgbde );continue ;};_gebf ,_bfcb :=_ddd .RuneToGlyph (_dgbde );if !_bfcb {_cga .Log .Debug ("\u006eo\u0020\u0067\u006c\u0079\u0070\u0068\u0020\u0066\u006f\u0072\u0020r\u0075\u006e\u0065\u0020\u0025\u0023\u0078\u003d\u0025\u0071",_dgbde ,_dgbde );continue ;};if len (_edcg )>=255{return nil ,nil ,_ae .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");};_edcg [_dgbde ]=_gebf ;};};var (_dacec []_ddd .CharCode ;_dceea []_ddd .CharCode ;);for _bddga :=_ddd .CharCode (1);_bddga <=0xff;_bddga ++{_adcf ,_dbbf :=_cdacf .CharcodeToRune (_bddga );if !_dbbf {_dacec =append (_dacec ,_bddga );continue ;};if _ ,_dbbf =alphabet [_adcf ];!_dbbf {_dceea =append (_dceea ,_bddga );};};_cffcfg :=append (_dacec ,_dceea ...);if len (_cffcfg )< len (_edcg ){return nil ,nil ,_e .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 (_edcg ),len (_cffcfg ));};_dedf :=make ([]rune ,0,len (_edcg ));for _gadb :=range _edcg {_dedf =append (_dedf ,_gadb );};_ed .Slice (_dedf ,func (_dbgbf ,_bced int )bool {return _dedf [_dbgbf ]< _dedf [_bced ]});_gggd :=make (map[_ddd .CharCode ]_ddd .GlyphName ,len (_dedf ));for _ ,_fafab :=range _dedf {_abafd :=_cffcfg [0];_cffcfg =_cffcfg [1:];_gggd [_abafd ]=_edcg [_fafab ];};_cdacf =_ddd .ApplyDifferences (_cdacf ,_gggd );_bfcc .SetEncoder (_cdacf );return &PdfFont {_fgge :&_bfcc },_cdacf ,nil ;};
|
||
|
||
// 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 ;
|
||
|
||
// ContentStreamWrapper wraps the Page's contentstream into q ... Q blocks.
|
||
type ContentStreamWrapper interface{WrapContentStream (_faac *PdfPage )error ;};
|
||
|
||
// 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 (_daeg *PdfReader )CheckAccessRights (password []byte )(bool ,_aec .Permissions ,error ){return _daeg ._ecage .CheckAccessRights (password );};func (_ddcf *PdfReader )resolveReference (_dacdd *_bcb .PdfObjectReference )(_bcb .PdfObject ,bool ,error ){_dbfcfd ,_abff :=_ddcf ._ecage .ObjCache [int (_dacdd .ObjectNumber )];if !_abff {_cga .Log .Trace ("R\u0065\u0061\u0064\u0065r \u004co\u006f\u006b\u0075\u0070\u0020r\u0065\u0066\u003a\u0020\u0025\u0073",_dacdd );_fbec ,_fafb :=_ddcf ._ecage .LookupByReference (*_dacdd );if _fafb !=nil {return nil ,false ,_fafb ;};_ddcf ._ecage .ObjCache [int (_dacdd .ObjectNumber )]=_fbec ;return _fbec ,false ,nil ;};return _dbfcfd ,true ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a CalRGB device.
|
||
func (_bdce *PdfColorspaceCalRGB )GetNumComponents ()int {return 3};func _cadgg (_ddfec *XObjectImage )error {if _ddfec .SMask ==nil {return nil ;};_gbfaf ,_dgdb :=_ddfec .SMask .(*_bcb .PdfObjectStream );if !_dgdb {_cga .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 _bcb .ErrTypeError ;};_ecgbde :=_gbfaf .PdfObjectDictionary ;_dccg :=_ecgbde .Get ("\u004d\u0061\u0074t\u0065");if _dccg ==nil {return nil ;};_eaged ,_faade :=_dddd (_dccg .(*_bcb .PdfObjectArray ));if _faade !=nil {return _faade ;};_ccdbd :=_bcb .MakeArrayFromFloats ([]float64 {_eaged });_ecgbde .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_ccdbd );return nil ;};
|
||
|
||
// NewPdfPage returns a new PDF page.
|
||
func NewPdfPage ()*PdfPage {_fgdd :=PdfPage {};_fgdd ._fagg =_bcb .MakeDict ();_fgdd .Resources =NewPdfPageResources ();_ecddg :=_bcb .PdfIndirectObject {};_ecddg .PdfObject =_fgdd ._fagg ;_fgdd ._cfabg =&_ecddg ;return &_fgdd ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_bef *PdfColorDeviceGray )ToInteger (bits int )uint32 {_dcad :=_edb .Pow (2,float64 (bits ))-1;return uint32 (_dcad *_bef .Val ());};
|
||
|
||
// NewPdfAnnotationPopup returns a new popup annotation.
|
||
func NewPdfAnnotationPopup ()*PdfAnnotationPopup {_beee :=NewPdfAnnotation ();_afe :=&PdfAnnotationPopup {};_afe .PdfAnnotation =_beee ;_beee .SetContext (_afe );return _afe ;};
|
||
|
||
// GetXObjectFormByName returns the XObjectForm with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_bfcaf *PdfPageResources )GetXObjectFormByName (keyName _bcb .PdfObjectName )(*XObjectForm ,error ){_feeag ,_geedf :=_bfcaf .GetXObjectByName (keyName );if _feeag ==nil {return nil ,nil ;};if _geedf !=XObjectTypeForm {return nil ,_ae .New ("\u006e\u006f\u0074\u0020\u0061\u0020\u0066\u006f\u0072\u006d");};_daabf ,_gegef :=NewXObjectFormFromStream (_feeag );if _gegef !=nil {return nil ,_gegef ;};return _daabf ,nil ;};
|
||
|
||
// WriteString outputs the object as it is to be written to file.
|
||
func (_bdabc *pdfSignDictionary )WriteString ()string {_bdabc ._adgcec =0;_bdabc ._gdbcc =0;_bdabc ._bbdgaf =0;_bdabc ._debba =0;_bfcga :=_ede .NewBuffer (nil );_bfcga .WriteString ("\u003c\u003c");for _ ,_aefcg :=range _bdabc .Keys (){_gcggb :=_bdabc .Get (_aefcg );switch _aefcg {case "\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e":_bfcga .WriteString (_aefcg .WriteString ());_bfcga .WriteString ("\u0020");_bdabc ._bbdgaf =_bfcga .Len ();_bfcga .WriteString (_gcggb .WriteString ());_bfcga .WriteString ("\u0020");_bdabc ._debba =_bfcga .Len ()-1;case "\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073":_bfcga .WriteString (_aefcg .WriteString ());_bfcga .WriteString ("\u0020");_bdabc ._adgcec =_bfcga .Len ();_bfcga .WriteString (_gcggb .WriteString ());_bfcga .WriteString ("\u0020");_bdabc ._gdbcc =_bfcga .Len ()-1;default:_bfcga .WriteString (_aefcg .WriteString ());_bfcga .WriteString ("\u0020");_bfcga .WriteString (_gcggb .WriteString ());};};_bfcga .WriteString ("\u003e\u003e");return _bfcga .String ();};
|
||
|
||
// 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 (_gaddb *PdfAcroForm )FillWithAppearance (provider FieldValueProvider ,appGen FieldAppearanceGenerator )error {return _gaddb .fill (provider ,appGen );};
|
||
|
||
// ReplaceAcroForm replaces the acrobat form. It appends a new form to the Pdf which
|
||
// replaces the original AcroForm.
|
||
func (_dbab *PdfAppender )ReplaceAcroForm (acroForm *PdfAcroForm ){if acroForm !=nil {_dbab .updateObjectsDeep (acroForm .ToPdfObject (),nil );};_dbab ._acdf =acroForm ;};
|
||
|
||
// BorderStyle defines border type, typically used for annotations.
|
||
type BorderStyle int ;
|
||
|
||
// Evaluate runs the function. Input is [x1 x2 x3].
|
||
func (_ceba *PdfFunctionType4 )Evaluate (xVec []float64 )([]float64 ,error ){if _ceba ._fbcd ==nil {_ceba ._fbcd =_fc .NewPSExecutor (_ceba .Program );};var _bggef []_fc .PSObject ;for _ ,_fcbef :=range xVec {_bggef =append (_bggef ,_fc .MakeReal (_fcbef ));};_cddb ,_begeb :=_ceba ._fbcd .Execute (_bggef );if _begeb !=nil {return nil ,_begeb ;};_ecgggb ,_begeb :=_fc .PSObjectArrayToFloat64Array (_cddb );if _begeb !=nil {return nil ,_begeb ;};return _ecgggb ,nil ;};func _egdf (_gdde _bcb .PdfObject )(*PdfColorspaceDeviceNAttributes ,error ){_aaab :=&PdfColorspaceDeviceNAttributes {};var _fbdfe *_bcb .PdfObjectDictionary ;if _ecb ,_gedee :=_gdde .(*_bcb .PdfIndirectObject );_gedee {_aaab ._dbgdg =_ecb ;var _bcee bool ;_fbdfe ,_bcee =_ecb .PdfObject .(*_bcb .PdfObjectDictionary );if !_bcee {_cga .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 ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};}else if _eadb ,_fbdcg :=_gdde .(*_bcb .PdfObjectDictionary );_fbdcg {_fbdfe =_eadb ;}else {_cga .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 ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _dgbdc :=_fbdfe .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_dgbdc !=nil {_debfa ,_daea :=_bcb .TraceToDirectObject (_dgbdc ).(*_bcb .PdfObjectName );if !_daea {_cga .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 ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_aaab .Subtype =_debfa ;};if _bcec :=_fbdfe .Get ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s");_bcec !=nil {_aaab .Colorants =_bcec ;};if _aggae :=_fbdfe .Get ("\u0050r\u006f\u0063\u0065\u0073\u0073");_aggae !=nil {_aaab .Process =_aggae ;};if _afeg :=_fbdfe .Get ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073");_afeg !=nil {_aaab .MixingHints =_afeg ;};return _aaab ,nil ;};func (_cgfe *PdfColorspaceDeviceRGB )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B";};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););var _ pdfFont =(*pdfFontSimple )(nil );
|
||
|
||
// SetAction sets the PDF action for the annotation link.
|
||
func (_gfd *PdfAnnotationLink )SetAction (action *PdfAction ){_gfd ._bda =action ;if action ==nil {_gfd .A =nil ;};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eff *PdfAnnotationText )ToPdfObject ()_bcb .PdfObject {_eff .PdfAnnotation .ToPdfObject ();_aaf :=_eff ._daa ;_fbgc :=_aaf .PdfObject .(*_bcb .PdfObjectDictionary );if _eff .PdfAnnotationMarkup !=nil {_eff .PdfAnnotationMarkup .appendToPdfDictionary (_fbgc );};_fbgc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0054\u0065\u0078\u0074"));_fbgc .SetIfNotNil ("\u004f\u0070\u0065\u006e",_eff .Open );_fbgc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_eff .Name );_fbgc .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_eff .State );_fbgc .SetIfNotNil ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c",_eff .StateModel );return _aaf ;};
|
||
|
||
// SetColorSpace sets `r` colorspace object to `colorspace`.
|
||
func (_cdda *PdfPageResources )SetColorSpace (colorspace *PdfPageResourcesColorspaces ){_cdda ._dcga =colorspace ;};func (_fceae *pdfFontSimple )getFontEncoding ()(_ggdag string ,_bbbb map[_ddd .CharCode ]_ddd .GlyphName ,_ffag error ){_ggdag ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";if _ebgba ,_fegc :=_cgcc [_fceae ._daeb ];_fegc {_ggdag =_ebgba ;}else if _fceae .fontFlags ()&_cedf !=0{for _cdacc ,_dgeg :=range _cgcc {if _gc .Contains (_fceae ._daeb ,_cdacc ){_ggdag =_dgeg ;break ;};};};if _fceae .Encoding ==nil {return _ggdag ,nil ,nil ;};switch _bggbd :=_fceae .Encoding .(type ){case *_bcb .PdfObjectName :return string (*_bggbd ),nil ,nil ;case *_bcb .PdfObjectDictionary :_baae ,_dedfb :=_bcb .GetName (_bggbd .Get ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _dedfb {_ggdag =_baae .String ();};if _efggc :=_bggbd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073");_efggc !=nil {_ccdeb ,_babd :=_bcb .GetArray (_efggc );if !_babd {_cga .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",_bggbd ,_bggbd .Get ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073"));return "",nil ,_bcb .ErrTypeError ;};_bbbb ,_ffag =_ddd .FromFontDifferences (_ccdeb );};return _ggdag ,_bbbb ,_ffag ;default:_cga .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",_fceae .Encoding ,_fceae .Encoding );return "",nil ,_bcb .ErrTypeError ;};};
|
||
|
||
// PdfAnnotationTrapNet represents TrapNet annotations.
|
||
// (Section 12.5.6.21).
|
||
type PdfAnnotationTrapNet struct{*PdfAnnotation };
|
||
|
||
// NewPdfColorspaceDeviceCMYK returns a new CMYK32 colorspace object.
|
||
func NewPdfColorspaceDeviceCMYK ()*PdfColorspaceDeviceCMYK {return &PdfColorspaceDeviceCMYK {}};
|
||
|
||
// NewPdfAnnotationText returns a new text annotation.
|
||
func NewPdfAnnotationText ()*PdfAnnotationText {_gbc :=NewPdfAnnotation ();_cfgb :=&PdfAnnotationText {};_cfgb .PdfAnnotation =_gbc ;_cfgb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gbc .SetContext (_cfgb );return _cfgb ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading pattern.
|
||
func (_eeaff *PdfShadingPattern )ToPdfObject ()_bcb .PdfObject {_eeaff .PdfPattern .ToPdfObject ();_gfbcd :=_eeaff .getDict ();if _eeaff .Shading !=nil {_gfbcd .Set ("\u0053h\u0061\u0064\u0069\u006e\u0067",_eeaff .Shading .ToPdfObject ());};if _eeaff .Matrix !=nil {_gfbcd .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_eeaff .Matrix );};if _eeaff .ExtGState !=nil {_gfbcd .Set ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_eeaff .ExtGState );};return _eeaff ._becda ;};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_ggde *PdfColorCalRGB )B ()float64 {return _ggde [1]};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfcd *PdfAnnotationSquare )ToPdfObject ()_bcb .PdfObject {_cfcd .PdfAnnotation .ToPdfObject ();_deeb :=_cfcd ._daa ;_ggeb :=_deeb .PdfObject .(*_bcb .PdfObjectDictionary );if _cfcd .PdfAnnotationMarkup !=nil {_cfcd .PdfAnnotationMarkup .appendToPdfDictionary (_ggeb );};_ggeb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053\u0071\u0075\u0061\u0072\u0065"));_ggeb .SetIfNotNil ("\u0042\u0053",_cfcd .BS );_ggeb .SetIfNotNil ("\u0049\u0043",_cfcd .IC );_ggeb .SetIfNotNil ("\u0042\u0045",_cfcd .BE );_ggeb .SetIfNotNil ("\u0052\u0044",_cfcd .RD );return _deeb ;};func _fbgd ()_d .Time {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _afad };func (_bbcde *PdfColorspaceSpecialIndexed )String ()string {return "\u0049n\u0064\u0065\u0078\u0065\u0064";};
|
||
|
||
// PdfAnnotationLine represents Line annotations.
|
||
// (Section 12.5.6.7).
|
||
type PdfAnnotationLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;L _bcb .PdfObject ;BS _bcb .PdfObject ;LE _bcb .PdfObject ;IC _bcb .PdfObject ;LL _bcb .PdfObject ;LLE _bcb .PdfObject ;Cap _bcb .PdfObject ;IT _bcb .PdfObject ;LLO _bcb .PdfObject ;CP _bcb .PdfObject ;Measure _bcb .PdfObject ;CO _bcb .PdfObject ;};func (_fecce *PdfColorspaceCalGray )String ()string {return "\u0043a\u006c\u0047\u0072\u0061\u0079"};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfa *PdfActionGoTo )ToPdfObject ()_bcb .PdfObject {_cfa .PdfAction .ToPdfObject ();_cfe :=_cfa ._dce ;_bg :=_cfe .PdfObject .(*_bcb .PdfObjectDictionary );_bg .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeGoTo )));_bg .SetIfNotNil ("\u0044",_cfa .D );return _cfe ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gd *PdfActionURI )ToPdfObject ()_bcb .PdfObject {_gd .PdfAction .ToPdfObject ();_ba :=_gd ._dce ;_baa :=_ba .PdfObject .(*_bcb .PdfObjectDictionary );_baa .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeURI )));_baa .SetIfNotNil ("\u0055\u0052\u0049",_gd .URI );_baa .SetIfNotNil ("\u0049\u0073\u004da\u0070",_gd .IsMap );return _ba ;};func (_cged *PdfReader )newPdfAnnotationCircleFromDict (_bgcb *_bcb .PdfObjectDictionary )(*PdfAnnotationCircle ,error ){_cfd :=PdfAnnotationCircle {};_bbcc ,_fcdb :=_cged .newPdfAnnotationMarkupFromDict (_bgcb );if _fcdb !=nil {return nil ,_fcdb ;};_cfd .PdfAnnotationMarkup =_bbcc ;_cfd .BS =_bgcb .Get ("\u0042\u0053");_cfd .IC =_bgcb .Get ("\u0049\u0043");_cfd .BE =_bgcb .Get ("\u0042\u0045");_cfd .RD =_bgcb .Get ("\u0052\u0044");return &_cfd ,nil ;};func _geg (_dcaf _bcb .PdfObject )(*PdfFilespec ,error ){if _dcaf ==nil {return nil ,nil ;};return NewPdfFilespecFromObj (_dcaf );};
|
||
|
||
// PdfWriter handles outputing PDF content.
|
||
type PdfWriter struct{_edecd *_bcb .PdfIndirectObject ;_gbff *_bcb .PdfIndirectObject ;_ddcfa map[_bcb .PdfObject ]struct{};_adbc []_bcb .PdfObject ;_affdb map[_bcb .PdfObject ]struct{};_cffgg []*_bcb .PdfIndirectObject ;_eefac *PdfOutlineTreeNode ;_ggfec *_bcb .PdfObjectDictionary ;_aaac []_bcb .PdfObject ;_gbfff *_bcb .PdfIndirectObject ;_aefcaa *_ff .Writer ;_cdgbg int64 ;_gaacd error ;_bggda *_bcb .PdfCrypt ;_adaeb *_bcb .PdfObjectDictionary ;_gbaeda *_bcb .PdfIndirectObject ;_ccbeb *_bcb .PdfObjectArray ;_fcebf int ;_cacaf int ;_bgeec *bool ;_aabce map[_bcb .PdfObject ][]*_bcb .PdfObjectDictionary ;_gbbc *PdfAcroForm ;_bgefd Optimizer ;_cddbc map[int ]crossReference ;_ddac int64 ;ObjNumOffset int ;_addfe bool ;_dbacc _bcb .XrefTable ;_ecded int64 ;_acaeg int64 ;_bceg map[_bcb .PdfObject ]int64 ;_fddc map[_bcb .PdfObject ]struct{};};
|
||
|
||
// NewPdfAnnotationStamp returns a new stamp annotation.
|
||
func NewPdfAnnotationStamp ()*PdfAnnotationStamp {_dba :=NewPdfAnnotation ();_ddad :=&PdfAnnotationStamp {};_ddad .PdfAnnotation =_dba ;_ddad .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dba .SetContext (_ddad );return _ddad ;};
|
||
|
||
// ToPdfObject returns the text field dictionary within an indirect object (container).
|
||
func (_bdcc *PdfFieldText )ToPdfObject ()_bcb .PdfObject {_bdcc .PdfField .ToPdfObject ();_effee :=_bdcc ._gggf ;_affc :=_effee .PdfObject .(*_bcb .PdfObjectDictionary );_affc .Set ("\u0046\u0054",_bcb .MakeName ("\u0054\u0078"));if _bdcc .DA !=nil {_affc .Set ("\u0044\u0041",_bdcc .DA );};if _bdcc .Q !=nil {_affc .Set ("\u0051",_bdcc .Q );};if _bdcc .DS !=nil {_affc .Set ("\u0044\u0053",_bdcc .DS );};if _bdcc .RV !=nil {_affc .Set ("\u0052\u0056",_bdcc .RV );};if _bdcc .MaxLen !=nil {_affc .Set ("\u004d\u0061\u0078\u004c\u0065\u006e",_bdcc .MaxLen );};return _effee ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a grayscale device.
|
||
func (_bbba *PdfColorspaceDeviceGray )GetNumComponents ()int {return 1};type pdfCIDFontType0 struct{fontCommon ;_gfafa *_bcb .PdfIndirectObject ;_dbceg _ddd .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// (Required) Dictionary that defines the character collection of the CIDFont.
|
||
// See Table 116.
|
||
CIDSystemInfo *_bcb .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _bcb .PdfObject ;W _bcb .PdfObject ;DW2 _bcb .PdfObject ;W2 _bcb .PdfObject ;_gdbd map[_ddd .CharCode ]float64 ;_becg float64 ;};
|
||
|
||
// GetNumComponents returns the number of color components.
|
||
func (_ddadc *PdfColorspaceICCBased )GetNumComponents ()int {return _ddadc .N };
|
||
|
||
// GetCapHeight returns the CapHeight of the font `descriptor`.
|
||
func (_bdee *PdfFontDescriptor )GetCapHeight ()(float64 ,error ){return _bcb .GetNumberAsFloat (_bdee .CapHeight );};func _ddada (_gbada *fontCommon )*pdfFontSimple {return &pdfFontSimple {fontCommon :*_gbada }};func (_daae *PdfWriter )updateObjectNumbers (){_eecge :=_daae .ObjNumOffset ;_adcca :=0;for _ ,_cgggf :=range _daae ._adbc {_acbeb :=int64 (_adcca +1+_eecge );_ebcce :=true ;if _daae ._addfe {if _dgcaa ,_acefc :=_daae ._bceg [_cgggf ];_acefc {_acbeb =_dgcaa ;_ebcce =false ;};};switch _afdcg :=_cgggf .(type ){case *_bcb .PdfIndirectObject :_afdcg .ObjectNumber =_acbeb ;_afdcg .GenerationNumber =0;case *_bcb .PdfObjectStream :_afdcg .ObjectNumber =_acbeb ;_afdcg .GenerationNumber =0;case *_bcb .PdfObjectStreams :_afdcg .ObjectNumber =_acbeb ;_afdcg .GenerationNumber =0;default:_cga .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",_afdcg );continue ;};if _ebcce {_adcca ++;};};_agdgf :=func (_egfba _bcb .PdfObject )int64 {switch _gbegd :=_egfba .(type ){case *_bcb .PdfIndirectObject :return _gbegd .ObjectNumber ;case *_bcb .PdfObjectStream :return _gbegd .ObjectNumber ;case *_bcb .PdfObjectStreams :return _gbegd .ObjectNumber ;};return 0;};_ed .SliceStable (_daae ._adbc ,func (_gcaff ,_fadcd int )bool {return _agdgf (_daae ._adbc [_gcaff ])< _agdgf (_daae ._adbc [_fadcd ])});};
|
||
|
||
// NewPdfFieldSignature returns an initialized signature field.
|
||
func NewPdfFieldSignature (signature *PdfSignature )*PdfFieldSignature {_ebbd :=&PdfFieldSignature {};_ebbd .PdfField =NewPdfField ();_ebbd .PdfField .SetContext (_ebbd );_ebbd .PdfAnnotationWidget =NewPdfAnnotationWidget ();_ebbd .PdfAnnotationWidget .SetContext (_ebbd );_ebbd .PdfAnnotationWidget ._daa =_ebbd .PdfField ._gggf ;_ebbd .T =_bcb .MakeString ("");_ebbd .F =_bcb .MakeInteger (132);_ebbd .V =signature ;return _ebbd ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eab *PdfActionTrans )ToPdfObject ()_bcb .PdfObject {_eab .PdfAction .ToPdfObject ();_cca :=_eab ._dce ;_aea :=_cca .PdfObject .(*_bcb .PdfObjectDictionary );_aea .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeTrans )));_aea .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_eab .Trans );return _cca ;};func (_cdadb *PdfReader )flattenFieldsWithOpts (_aegb bool ,_ebea FieldAppearanceGenerator ,_egcc *FieldFlattenOpts )error {if _egcc ==nil {_egcc =&FieldFlattenOpts {};};var _egdd bool ;_dfefc :=map[*PdfAnnotation ]bool {};{var _aaaf []*PdfField ;_faee :=_cdadb .AcroForm ;if _faee !=nil {if _egcc .FilterFunc !=nil {_aaaf =_faee .filteredFields (_egcc .FilterFunc ,true );_egdd =_faee .Fields !=nil &&len (*_faee .Fields )> 0;}else {_aaaf =_faee .AllFields ();};};for _ ,_ggdda :=range _aaaf {for _ ,_egbb :=range _ggdda .Annotations {_dfefc [_egbb .PdfAnnotation ]=_ggdda .V !=nil ;if _ebea !=nil {_cgca ,_gedb :=_ebea .GenerateAppearanceDict (_faee ,_ggdda ,_egbb );if _gedb !=nil {return _gedb ;};_egbb .AP =_cgca ;};};};};if _aegb {for _ ,_egef :=range _cdadb .PageList {_ecgga ,_gfab :=_egef .GetAnnotations ();if _gfab !=nil {return _gfab ;};for _ ,_gedbg :=range _ecgga {_dfefc [_gedbg ]=true ;};};};for _ ,_fgbf :=range _cdadb .PageList {var _gaceee []*PdfAnnotation ;if _ebea !=nil {if _ebgfd :=_ebea .WrapContentStream (_fgbf );_ebgfd !=nil {return _ebgfd ;};};_befa ,_bdagcd :=_fgbf .GetAnnotations ();if _bdagcd !=nil {return _bdagcd ;};for _ ,_cfda :=range _befa {_gdcc ,_fcfd :=_dfefc [_cfda ];if !_fcfd {_gaceee =append (_gaceee ,_cfda );continue ;};switch _cfda .GetContext ().(type ){case *PdfAnnotationPopup :continue ;case *PdfAnnotationLink :continue ;case *PdfAnnotationProjection :continue ;};_feba ,_efee ,_efbdfe :=_gcee (_cfda );if _efbdfe !=nil {if !_gdcc {_cga .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 ;};_cga .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",_efbdfe );continue ;};if _feba ==nil {continue ;};_ffbcc :=_fgbf .Resources .GenerateXObjectName ();_fgbf .Resources .SetXObjectFormByName (_ffbcc ,_feba );_cbda :=_edb .Min (_efee .Llx ,_efee .Urx );_gebg :=_edb .Min (_efee .Lly ,_efee .Ury );var _gffea []string ;_gffea =append (_gffea ,"\u0071");_gffea =append (_gffea ,_e .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,_cbda ,_gebg ));_gffea =append (_gffea ,_e .Sprintf ("\u002f\u0025\u0073\u0020\u0044\u006f",_ffbcc .String ()));_gffea =append (_gffea ,"\u0051");_faff :=_gc .Join (_gffea ,"\u000a");_efbdfe =_fgbf .AppendContentStream (_faff );if _efbdfe !=nil {return _efbdfe ;};if _feba .Resources !=nil {_bfdc ,_gffbf :=_bcb .GetDict (_feba .Resources .Font );if _gffbf {for _ ,_cdfd :=range _bfdc .Keys (){if !_fgbf .Resources .HasFontByName (_cdfd ){_fgbf .Resources .SetFontByName (_cdfd ,_bfdc .Get (_cdfd ));};};};};};if len (_gaceee )> 0{_fgbf ._adgce =_gaceee ;}else {_fgbf ._adgce =[]*PdfAnnotation {};};};if !_egdd {_cdadb .AcroForm =nil ;};return nil ;};var (_dgagfb _a .Mutex ;_bafad ="";_afad _d .Time ;_aacca ="";_eaggce ="";_egegc _d .Time ;_ggdgb ="";_gedgd ="";_eafae ="";);
|
||
|
||
// NewPdfActionImportData returns a new "import data" action.
|
||
func NewPdfActionImportData ()*PdfActionImportData {_da :=NewPdfAction ();_bfe :=&PdfActionImportData {};_bfe .PdfAction =_da ;_da .SetContext (_bfe );return _bfe ;};func _fcbgc (_bddgac *fontCommon )*pdfFontType0 {return &pdfFontType0 {fontCommon :*_bddgac }};
|
||
|
||
// NewPdfActionSubmitForm returns a new "submit form" action.
|
||
func NewPdfActionSubmitForm ()*PdfActionSubmitForm {_gg :=NewPdfAction ();_cf :=&PdfActionSubmitForm {};_cf .PdfAction =_gg ;_gg .SetContext (_cf );return _cf ;};
|
||
|
||
// Add appends a top level outline item to the outline.
|
||
func (_gbcfg *Outline )Add (item *OutlineItem ){_gbcfg .Entries =append (_gbcfg .Entries ,item )};func (_cdbd *PdfColorspaceSpecialPattern )String ()string {return "\u0050a\u0074\u0074\u0065\u0072\u006e";};func (_feae *PdfAppender )addNewObject (_ebcc _bcb .PdfObject ){if _ ,_cdbf :=_feae ._bfbb [_ebcc ];!_cdbf {_feae ._eebb =append (_feae ._eebb ,_ebcc );_feae ._bfbb [_ebcc ]=struct{}{};};};
|
||
|
||
// NewPdfAnnotationSquare returns a new square annotation.
|
||
func NewPdfAnnotationSquare ()*PdfAnnotationSquare {_dcd :=NewPdfAnnotation ();_agb :=&PdfAnnotationSquare {};_agb .PdfAnnotation =_dcd ;_agb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dcd .SetContext (_agb );return _agb ;};
|
||
|
||
// SetDSS sets the DSS dictionary (ETSI TS 102 778-4 V1.1.1) of the current
|
||
// document revision.
|
||
func (_baga *PdfAppender )SetDSS (dss *DSS ){if dss !=nil {_baga .updateObjectsDeep (dss .ToPdfObject (),nil );};_baga ._fbb =dss ;};
|
||
|
||
// 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 ;_gfbgg *_bcb .PdfIndirectObject ;};
|
||
|
||
// GetAscent returns the Ascent of the font `descriptor`.
|
||
func (_dcecf *PdfFontDescriptor )GetAscent ()(float64 ,error ){return _bcb .GetNumberAsFloat (_dcecf .Ascent );};func _adgcee (_bebfc *_bcb .PdfObjectDictionary )(*PdfShadingType4 ,error ){_bacd :=PdfShadingType4 {};_geeg :=_bebfc .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _geeg ==nil {_cga .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 ;};_cdbff ,_ccfaf :=_geeg .(*_bcb .PdfObjectInteger );if !_ccfaf {_cga .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",_geeg );return nil ,_bcb .ErrTypeError ;};_bacd .BitsPerCoordinate =_cdbff ;_geeg =_bebfc .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _geeg ==nil {_cga .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 ;};_cdbff ,_ccfaf =_geeg .(*_bcb .PdfObjectInteger );if !_ccfaf {_cga .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",_geeg );return nil ,_bcb .ErrTypeError ;};_bacd .BitsPerComponent =_cdbff ;_geeg =_bebfc .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _geeg ==nil {_cga .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 ;};_cdbff ,_ccfaf =_geeg .(*_bcb .PdfObjectInteger );if !_ccfaf {_cga .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",_geeg );return nil ,_bcb .ErrTypeError ;};_bacd .BitsPerComponent =_cdbff ;_geeg =_bebfc .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _geeg ==nil {_cga .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 ;};_afged ,_ccfaf :=_geeg .(*_bcb .PdfObjectArray );if !_ccfaf {_cga .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",_geeg );return nil ,_bcb .ErrTypeError ;};_bacd .Decode =_afged ;_geeg =_bebfc .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _geeg ==nil {_cga .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 ;};_bacd .Function =[]PdfFunction {};if _adfaf ,_fdcec :=_geeg .(*_bcb .PdfObjectArray );_fdcec {for _ ,_fcbf :=range _adfaf .Elements (){_babb ,_bdeab :=_acdfd (_fcbf );if _bdeab !=nil {_cga .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",_bdeab );return nil ,_bdeab ;};_bacd .Function =append (_bacd .Function ,_babb );};}else {_fafade ,_baadg :=_acdfd (_geeg );if _baadg !=nil {_cga .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",_baadg );return nil ,_baadg ;};_bacd .Function =append (_bacd .Function ,_fafade );};return &_bacd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gcaa *PdfAnnotationPolyLine )ToPdfObject ()_bcb .PdfObject {_gcaa .PdfAnnotation .ToPdfObject ();_ccce :=_gcaa ._daa ;_fgbe :=_ccce .PdfObject .(*_bcb .PdfObjectDictionary );_gcaa .PdfAnnotationMarkup .appendToPdfDictionary (_fgbe );_fgbe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065"));_fgbe .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_gcaa .Vertices );_fgbe .SetIfNotNil ("\u004c\u0045",_gcaa .LE );_fgbe .SetIfNotNil ("\u0042\u0053",_gcaa .BS );_fgbe .SetIfNotNil ("\u0049\u0043",_gcaa .IC );_fgbe .SetIfNotNil ("\u0042\u0045",_gcaa .BE );_fgbe .SetIfNotNil ("\u0049\u0054",_gcaa .IT );_fgbe .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_gcaa .Measure );return _ccce ;};
|
||
|
||
// SetNamedDestinations sets the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_cefgf *PdfWriter )SetNamedDestinations (names _bcb .PdfObject )error {if names ==nil {return nil ;};_cga .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006co\u0067\u0020\u004e\u0061\u006d\u0065\u0073\u002e\u002e\u002e");_cefgf ._ggfec .Set ("\u004e\u0061\u006de\u0073",names );return _cefgf .addObjects (names );};
|
||
|
||
// 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 (_eaagd *Image )SetSamples (samples []uint32 ){if _eaagd .BitsPerComponent < 8{samples =_eaagd .samplesAddPadding (samples );};_cfbf :=_cgb .ResampleUint32 (samples ,int (_eaagd .BitsPerComponent ),8);_fcdba :=make ([]byte ,len (_cfbf ));for _faeg ,_cagbb :=range _cfbf {_fcdba [_faeg ]=byte (_cagbb );};_eaagd .Data =_fcdba ;};
|
||
|
||
// ColorToRGB converts a CalGray color to an RGB color.
|
||
func (_dbdbc *PdfColorspaceCalGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_gbafd ,_cdab :=color .(*PdfColorCalGray );if !_cdab {_cga .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 ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};ANorm :=_gbafd .Val ();X :=_dbdbc .WhitePoint [0]*_edb .Pow (ANorm ,_dbdbc .Gamma );Y :=_dbdbc .WhitePoint [1]*_edb .Pow (ANorm ,_dbdbc .Gamma );Z :=_dbdbc .WhitePoint [2]*_edb .Pow (ANorm ,_dbdbc .Gamma );_afccd :=3.240479*X +-1.537150*Y +-0.498535*Z ;_bebgg :=-0.969256*X +1.875992*Y +0.041556*Z ;_bdbd :=0.055648*X +-0.204043*Y +1.057311*Z ;_afccd =_edb .Min (_edb .Max (_afccd ,0),1.0);_bebgg =_edb .Min (_edb .Max (_bebgg ,0),1.0);_bdbd =_edb .Min (_edb .Max (_bdbd ,0),1.0);return NewPdfColorDeviceRGB (_afccd ,_bebgg ,_bdbd ),nil ;};
|
||
|
||
// NewPdfAnnotationStrikeOut returns a new text strikeout annotation.
|
||
func NewPdfAnnotationStrikeOut ()*PdfAnnotationStrikeOut {_abab :=NewPdfAnnotation ();_ebb :=&PdfAnnotationStrikeOut {};_ebb .PdfAnnotation =_abab ;_ebb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_abab .SetContext (_ebb );return _ebb ;};
|
||
|
||
// SetXObjectImageByName adds the provided XObjectImage to the page resources.
|
||
// The added XObjectImage is identified by the specified name.
|
||
func (_ffddd *PdfPageResources )SetXObjectImageByName (keyName _bcb .PdfObjectName ,ximg *XObjectImage )error {_effc :=ximg .ToPdfObject ().(*_bcb .PdfObjectStream );_dcaca :=_ffddd .SetXObjectByName (keyName ,_effc );return _dcaca ;};func _fbfe (_eccc *_bcb .PdfObjectDictionary )(*PdfShadingType6 ,error ){_afeab :=PdfShadingType6 {};_fgdca :=_eccc .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fgdca ==nil {_cga .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 ;};_dedcd ,_cacfa :=_fgdca .(*_bcb .PdfObjectInteger );if !_cacfa {_cga .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",_fgdca );return nil ,_bcb .ErrTypeError ;};_afeab .BitsPerCoordinate =_dedcd ;_fgdca =_eccc .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fgdca ==nil {_cga .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 ;};_dedcd ,_cacfa =_fgdca .(*_bcb .PdfObjectInteger );if !_cacfa {_cga .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",_fgdca );return nil ,_bcb .ErrTypeError ;};_afeab .BitsPerComponent =_dedcd ;_fgdca =_eccc .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fgdca ==nil {_cga .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 ;};_dedcd ,_cacfa =_fgdca .(*_bcb .PdfObjectInteger );if !_cacfa {_cga .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",_fgdca );return nil ,_bcb .ErrTypeError ;};_afeab .BitsPerComponent =_dedcd ;_fgdca =_eccc .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fgdca ==nil {_cga .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 ;};_aebeg ,_cacfa :=_fgdca .(*_bcb .PdfObjectArray );if !_cacfa {_cga .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",_fgdca );return nil ,_bcb .ErrTypeError ;};_afeab .Decode =_aebeg ;if _aacab :=_eccc .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_aacab !=nil {_afeab .Function =[]PdfFunction {};if _egcgbc ,_gffc :=_aacab .(*_bcb .PdfObjectArray );_gffc {for _ ,_deedb :=range _egcgbc .Elements (){_ffac ,_cgcba :=_acdfd (_deedb );if _cgcba !=nil {_cga .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",_cgcba );return nil ,_cgcba ;};_afeab .Function =append (_afeab .Function ,_ffac );};}else {_ggbcd ,_bfef :=_acdfd (_aacab );if _bfef !=nil {_cga .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",_bfef );return nil ,_bfef ;};_afeab .Function =append (_afeab .Function ,_ggbcd );};};return &_afeab ,nil ;};func _adbe (_acae []byte )[]byte {const _deba =52845;const _dbcag =22719;_bbada :=55665;for _ ,_ebgc :=range _acae [:4]{_bbada =(int (_ebgc )+_bbada )*_deba +_dbcag ;};_eeafe :=make ([]byte ,len (_acae )-4);for _dcab ,_gaegg :=range _acae [4:]{_eeafe [_dcab ]=byte (int (_gaegg )^_bbada >>8);_bbada =(int (_gaegg )+_bbada )*_deba +_dbcag ;};return _eeafe ;};
|
||
|
||
// Enable LTV enables the specified signature. The signing certificate
|
||
// chain is extracted from the signature dictionary. Optionally, additional
|
||
// certificates can be specified through the `extraCerts` parameter.
|
||
// The LTV client attempts to build the certificate chain up to a trusted root
|
||
// by downloading any missing certificates.
|
||
func (_gdge *LTV )Enable (sig *PdfSignature ,extraCerts []*_ffg .Certificate )error {if _abeff :=_gdge .validateSig (sig );_abeff !=nil {return _abeff ;};_cbffg ,_gcfee :=_gdge .generateVRIKey (sig );if _gcfee !=nil {return _gcfee ;};if _ ,_ebfbe :=_gdge ._gddf .VRI [_cbffg ];_ebfbe &&_gdge .SkipExisting {return nil ;};_dacb ,_gcfee :=sig .GetCerts ();if _gcfee !=nil {return _gcfee ;};return _gdge .enable (_dacb ,extraCerts ,_cbffg );};func (_geed *PdfReader )newPdfFieldSignatureFromDict (_cabdg *_bcb .PdfObjectDictionary )(*PdfFieldSignature ,error ){_ccdcg :=&PdfFieldSignature {};_fgbc ,_edgbf :=_bcb .GetIndirect (_cabdg .Get ("\u0056"));if _edgbf {var _aacg error ;_ccdcg .V ,_aacg =_geed .newPdfSignatureFromIndirect (_fgbc );if _aacg !=nil {return nil ,_aacg ;};};_ccdcg .Lock ,_ =_bcb .GetIndirect (_cabdg .Get ("\u004c\u006f\u0063\u006b"));_ccdcg .SV ,_ =_bcb .GetIndirect (_cabdg .Get ("\u0053\u0056"));return _ccdcg ,nil ;};
|
||
|
||
// PdfColorspaceSpecialSeparation is a Separation colorspace.
|
||
// At the moment the colour space is set to a Separation space, the conforming reader shall determine whether the
|
||
// device has an available colorant (e.g. dye) corresponding to the name of the requested space. If so, the conforming
|
||
// reader shall ignore the alternateSpace and tintTransform parameters; subsequent painting operations within the
|
||
// space shall apply the designated colorant directly, according to the tint values supplied.
|
||
//
|
||
// Format: [/Separation name alternateSpace tintTransform]
|
||
type PdfColorspaceSpecialSeparation struct{ColorantName *_bcb .PdfObjectName ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;_caa *_bcb .PdfIndirectObject ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_aefca *OutlineItem )Items ()[]*OutlineItem {return _aefca .Entries };
|
||
|
||
// ToUnicode returns the name of the font's "ToUnicode" field if there is one, or "" if there isn't.
|
||
func (_acbgf *PdfFont )ToUnicode ()string {if _acbgf .baseFields ()._ecbe ==nil {return "";};return _acbgf .baseFields ()._ecbe .Name ();};
|
||
|
||
// PartialName returns the partial name of the field.
|
||
func (_accfb *PdfField )PartialName ()string {_feaae :="";if _accfb .T !=nil {_feaae =_accfb .T .Decoded ();}else {_cga .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 _feaae ;};
|
||
|
||
// K returns the value of the key component of the color.
|
||
func (_cfcg *PdfColorDeviceCMYK )K ()float64 {return _cfcg [3]};func (_gdccb *PdfReader )newPdfPageFromDict (_bcadca *_bcb .PdfObjectDictionary )(*PdfPage ,error ){_dfbg :=NewPdfPage ();_dfbg ._fagg =_bcadca ;_dbag :=*_bcadca ;_bdaee ,_dddca :=_dbag .Get ("\u0054\u0079\u0070\u0065").(*_bcb .PdfObjectName );if !_dddca {return nil ,_ae .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 *_bdaee !="\u0050\u0061\u0067\u0065"{return nil ,_ae .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 _bcbec :=_dbag .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_bcbec !=nil {_dfbg .Parent =_bcbec ;};if _caaf :=_dbag .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_caaf !=nil {_abefb ,_dcdfd :=_bcb .GetString (_caaf );if !_dcdfd {return nil ,_ae .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");};_gdbgg ,_fdfb :=NewPdfDate (_abefb .Str ());if _fdfb !=nil {return nil ,_fdfb ;};_dfbg .LastModified =&_gdbgg ;};if _bgabd :=_dbag .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_bgabd !=nil &&!_bcb .IsNullObject (_bgabd ){_gbcea ,_cgdc :=_bcb .GetDict (_bgabd );if !_cgdc {return nil ,_e .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",_bgabd );};var _bdef error ;_dfbg .Resources ,_bdef =NewPdfPageResourcesFromDict (_gbcea );if _bdef !=nil {return nil ,_bdef ;};}else {_dgce ,_fced :=_dfbg .getParentResources ();if _fced !=nil {return nil ,_fced ;};if _dgce ==nil {_dgce =NewPdfPageResources ();};_dfbg .Resources =_dgce ;};if _beece :=_dbag .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_beece !=nil {_deead ,_dgcee :=_bcb .GetArray (_beece );if !_dgcee {return nil ,_ae .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 _fdfec error ;_dfbg .MediaBox ,_fdfec =NewPdfRectangle (*_deead );if _fdfec !=nil {return nil ,_fdfec ;};};if _ggeff :=_dbag .Get ("\u0043r\u006f\u0070\u0042\u006f\u0078");_ggeff !=nil {_caab ,_bgegd :=_bcb .GetArray (_ggeff );if !_bgegd {return nil ,_ae .New ("\u0070a\u0067\u0065\u0020\u0043r\u006f\u0070\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _edcb error ;_dfbg .CropBox ,_edcb =NewPdfRectangle (*_caab );if _edcb !=nil {return nil ,_edcb ;};};if _gbeefd :=_dbag .Get ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078");_gbeefd !=nil {_ecec ,_fbcfd :=_bcb .GetArray (_gbeefd );if !_fbcfd {return nil ,_ae .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 _ggacg error ;_dfbg .BleedBox ,_ggacg =NewPdfRectangle (*_ecec );if _ggacg !=nil {return nil ,_ggacg ;};};if _deabf :=_dbag .Get ("\u0054r\u0069\u006d\u0042\u006f\u0078");_deabf !=nil {_fbddf ,_gcfed :=_bcb .GetArray (_deabf );if !_gcfed {return nil ,_ae .New ("\u0070a\u0067\u0065\u0020\u0054r\u0069\u006d\u0042\u006f\u0078 \u006eo\u0074 \u0061\u006e\u0020\u0061\u0072\u0072\u0061y");};var _fafdd error ;_dfbg .TrimBox ,_fafdd =NewPdfRectangle (*_fbddf );if _fafdd !=nil {return nil ,_fafdd ;};};if _eaede :=_dbag .Get ("\u0041\u0072\u0074\u0042\u006f\u0078");_eaede !=nil {_dbbb ,_aadag :=_bcb .GetArray (_eaede );if !_aadag {return nil ,_ae .New ("\u0070a\u0067\u0065\u0020\u0041\u0072\u0074\u0042\u006f\u0078\u0020\u006eo\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _cdaad error ;_dfbg .ArtBox ,_cdaad =NewPdfRectangle (*_dbbb );if _cdaad !=nil {return nil ,_cdaad ;};};if _beaeb :=_dbag .Get ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f");_beaeb !=nil {_dfbg .BoxColorInfo =_beaeb ;};if _agbcb :=_dbag .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_agbcb !=nil {_dfbg .Contents =_agbcb ;};if _efdff :=_dbag .Get ("\u0052\u006f\u0074\u0061\u0074\u0065");_efdff !=nil {_bcgda ,_dcgfa :=_bcb .GetInt (_efdff );if !_dcgfa {return nil ,_ae .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");};_faadd :=int64 (*_bcgda );_dfbg .Rotate =&_faadd ;};if _addg :=_dbag .Get ("\u0047\u0072\u006fu\u0070");_addg !=nil {_dfbg .Group =_addg ;};if _fcage :=_dbag .Get ("\u0054\u0068\u0075m\u0062");_fcage !=nil {_dfbg .Thumb =_fcage ;};if _efede :=_dbag .Get ("\u0042");_efede !=nil {_dfbg .B =_efede ;};if _fcabd :=_dbag .Get ("\u0044\u0075\u0072");_fcabd !=nil {_dfbg .Dur =_fcabd ;};if _dgee :=_dbag .Get ("\u0054\u0072\u0061n\u0073");_dgee !=nil {_dfbg .Trans =_dgee ;};if _efadaf :=_dbag .Get ("\u0041\u0041");_efadaf !=nil {_dfbg .AA =_efadaf ;};if _efda :=_dbag .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_efda !=nil {_dfbg .Metadata =_efda ;};if _fgceg :=_dbag .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_fgceg !=nil {_dfbg .PieceInfo =_fgceg ;};if _gagfa :=_dbag .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_gagfa !=nil {_dfbg .StructParents =_gagfa ;};if _dbcega :=_dbag .Get ("\u0049\u0044");_dbcega !=nil {_dfbg .ID =_dbcega ;};if _ccaag :=_dbag .Get ("\u0050\u005a");_ccaag !=nil {_dfbg .PZ =_ccaag ;};if _aeede :=_dbag .Get ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f");_aeede !=nil {_dfbg .SeparationInfo =_aeede ;};if _fdgcg :=_dbag .Get ("\u0054\u0061\u0062\u0073");_fdgcg !=nil {_dfbg .Tabs =_fdgcg ;};if _cfga :=_dbag .Get ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064");_cfga !=nil {_dfbg .TemplateInstantiated =_cfga ;};if _cefed :=_dbag .Get ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s");_cefed !=nil {_dfbg .PresSteps =_cefed ;};if _dbagg :=_dbag .Get ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074");_dbagg !=nil {_dfbg .UserUnit =_dbagg ;};if _ffdb :=_dbag .Get ("\u0056\u0050");_ffdb !=nil {_dfbg .VP =_ffdb ;};if _gedgf :=_dbag .Get ("\u0041\u006e\u006e\u006f\u0074\u0073");_gedgf !=nil {_dfbg .Annots =_gedgf ;};_dfbg ._eeeba =_gdccb ;return _dfbg ,nil ;};
|
||
|
||
// NewPdfActionResetForm returns a new "reset form" action.
|
||
func NewPdfActionResetForm ()*PdfActionResetForm {_bcd :=NewPdfAction ();_bcc :=&PdfActionResetForm {};_bcc .PdfAction =_bcd ;_bcd .SetContext (_bcc );return _bcc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dabf *PdfAnnotationTrapNet )ToPdfObject ()_bcb .PdfObject {_dabf .PdfAnnotation .ToPdfObject ();_aede :=_dabf ._daa ;_ccec :=_aede .PdfObject .(*_bcb .PdfObjectDictionary );_ccec .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0054r\u0061\u0070\u004e\u0065\u0074"));return _aede ;};func (_ffeeb *PdfWriter )hasObject (_baebeb _bcb .PdfObject )bool {_ ,_gadece :=_ffeeb ._affdb [_baebeb ];return _gadece ;};
|
||
|
||
// NewPdfActionHide returns a new "hide" action.
|
||
func NewPdfActionHide ()*PdfActionHide {_fgdc :=NewPdfAction ();_age :=&PdfActionHide {};_age .PdfAction =_fgdc ;_fgdc .SetContext (_age );return _age ;};
|
||
|
||
// 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 (_bbcgb *pdfFontSimple )SetEncoder (encoder _ddd .TextEncoder ){_bbcgb ._fdebc =encoder };var _bgaca =_ec .MustCompile ("\u005c\u0073\u002a\u0044\u005c\u0073\u002a:\u005c\u0073\u002a\u0028\u005c\u0064\u007b\u0034\u007d\u0029\u0028\u005c\u0064\u007b2\u007d)\u0028\u005c\u0064\u007b\u0032\u007d)\u0028\u005c\u0064\u007b\u0032\u007d\u0029(\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005b\u002b\u002d\u005a\u005d\u0029\u003f\u0028\u005cd\u007b\u0032\u007d\u0029\u003f\u0027\u003f\u0028\u005c\u0064\u007b\u0032\u007d)\u003f");func _bgdd (_fbae _bcb .PdfObject )(*PdfColorspaceLab ,error ){_bebd :=NewPdfColorspaceLab ();if _decag ,_bage :=_fbae .(*_bcb .PdfIndirectObject );_bage {_bebd ._fbdc =_decag ;};_fbae =_bcb .TraceToDirectObject (_fbae );_bgda ,_bfeg :=_fbae .(*_bcb .PdfObjectArray );if !_bfeg {return nil ,_e .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bgda .Len ()!=2{return nil ,_e .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_fbae =_bcb .TraceToDirectObject (_bgda .Get (0));_gbgg ,_bfeg :=_fbae .(*_bcb .PdfObjectName );if !_bfeg {return nil ,_e .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 *_gbgg !="\u004c\u0061\u0062"{return nil ,_e .Errorf ("n\u006ft\u0020\u0061\u0020\u004c\u0061\u0062\u0020\u0063o\u006c\u006f\u0072\u0073pa\u0063\u0065");};_fbae =_bcb .TraceToDirectObject (_bgda .Get (1));_cfab ,_bfeg :=_fbae .(*_bcb .PdfObjectDictionary );if !_bfeg {return nil ,_e .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");};_fbae =_cfab .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_fbae =_bcb .TraceToDirectObject (_fbae );_dgge ,_bfeg :=_fbae .(*_bcb .PdfObjectArray );if !_bfeg {return nil ,_e .Errorf ("\u004c\u0061\u0062\u0020In\u0076\u0061\u006c\u0069\u0064\u0020\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069n\u0074");};if _dgge .Len ()!=3{return nil ,_e .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");};_fgee ,_acdb :=_dgge .GetAsFloat64Slice ();if _acdb !=nil {return nil ,_acdb ;};_bebd .WhitePoint =_fgee ;_fbae =_cfab .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _fbae !=nil {_fbae =_bcb .TraceToDirectObject (_fbae );_efaeg ,_dddc :=_fbae .(*_bcb .PdfObjectArray );if !_dddc {return nil ,_e .Errorf ("\u004c\u0061\u0062: \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");};if _efaeg .Len ()!=3{return nil ,_e .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");};_ebba ,_cada :=_efaeg .GetAsFloat64Slice ();if _cada !=nil {return nil ,_cada ;};_bebd .BlackPoint =_ebba ;};_fbae =_cfab .Get ("\u0052\u0061\u006eg\u0065");if _fbae !=nil {_fbae =_bcb .TraceToDirectObject (_fbae );_dfbf ,_afea :=_fbae .(*_bcb .PdfObjectArray );if !_afea {_cga .Log .Error ("\u0052\u0061n\u0067\u0065\u0020t\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");return nil ,_e .Errorf ("\u004ca\u0062:\u0020\u0054\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _dfbf .Len ()!=4{_cga .Log .Error ("\u0052\u0061\u006e\u0067\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020e\u0072\u0072\u006f\u0072");return nil ,_e .Errorf ("\u004c\u0061b\u003a\u0020\u0052a\u006e\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_bdcd ,_geac :=_dfbf .GetAsFloat64Slice ();if _geac !=nil {return nil ,_geac ;};_bebd .Range =_bdcd ;};return _bebd ,nil ;};
|
||
|
||
// PdfActionHide represents a hide action.
|
||
type PdfActionHide struct{*PdfAction ;T _bcb .PdfObject ;H _bcb .PdfObject ;};func (_ggdc *PdfReader )newPdfActionURIFromDict (_abf *_bcb .PdfObjectDictionary )(*PdfActionURI ,error ){return &PdfActionURI {URI :_abf .Get ("\u0055\u0052\u0049"),IsMap :_abf .Get ("\u0049\u0073\u004da\u0070")},nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_fcggc *PdfShadingType2 )ToPdfObject ()_bcb .PdfObject {_fcggc .PdfShading .ToPdfObject ();_eedgf ,_gecaf :=_fcggc .getShadingDict ();if _gecaf !=nil {_cga .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 _eedgf ==nil {_cga .Log .Error ("\u0053\u0068\u0061\u0064in\u0067\u0020\u0064\u0069\u0063\u0074\u0020\u0069\u0073\u0020\u006e\u0069\u006c");return nil ;};if _fcggc .Coords !=nil {_eedgf .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_fcggc .Coords );};if _fcggc .Domain !=nil {_eedgf .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_fcggc .Domain );};if _fcggc .Function !=nil {if len (_fcggc .Function )==1{_eedgf .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fcggc .Function [0].ToPdfObject ());}else {_fggd :=_bcb .MakeArray ();for _ ,_gdddc :=range _fcggc .Function {_fggd .Append (_gdddc .ToPdfObject ());};_eedgf .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fggd );};};if _fcggc .Extend !=nil {_eedgf .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_fcggc .Extend );};return _fcggc ._eced ;};
|
||
|
||
// 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 (_abfdb *PdfReader )AcroFormNeedsRepair ()(bool ,error ){var _gfbcdd []*PdfField ;if _abfdb .AcroForm !=nil {_gfbcdd =_abfdb .AcroForm .AllFields ();};_faca :=make (map[*PdfField ]struct{},len (_gfbcdd ));for _ ,_eeae :=range _gfbcdd {_faca [_eeae ]=struct{}{};};for _ ,_dbbd :=range _abfdb .PageList {_dbbfe ,_cebdg :=_dbbd .GetAnnotations ();if _cebdg !=nil {return false ,_cebdg ;};for _ ,_bgga :=range _dbbfe {_cgdfg ,_ffbff :=_bgga .GetContext ().(*PdfAnnotationWidget );if !_ffbff {continue ;};_gcaae :=_cgdfg .Field ();if _gcaae ==nil {return true ,nil ;};if _ ,_egegf :=_faca [_gcaae ];!_egegf {return true ,nil ;};};};return false ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bbee *PdfAnnotationPolygon )ToPdfObject ()_bcb .PdfObject {_bbee .PdfAnnotation .ToPdfObject ();_dcgd :=_bbee ._daa ;_fea :=_dcgd .PdfObject .(*_bcb .PdfObjectDictionary );_bbee .PdfAnnotationMarkup .appendToPdfDictionary (_fea );_fea .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0050o\u006c\u0079\u0067\u006f\u006e"));_fea .SetIfNotNil ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073",_bbee .Vertices );_fea .SetIfNotNil ("\u004c\u0045",_bbee .LE );_fea .SetIfNotNil ("\u0042\u0053",_bbee .BS );_fea .SetIfNotNil ("\u0049\u0043",_bbee .IC );_fea .SetIfNotNil ("\u0042\u0045",_bbee .BE );_fea .SetIfNotNil ("\u0049\u0054",_bbee .IT );_fea .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_bbee .Measure );return _dcgd ;};
|
||
|
||
// 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 (_cece _fb .Reader )(*Image ,error );
|
||
|
||
// NewImageFromGoImage loads a NRGBA32 unidoc Image from a standard Go image structure.
|
||
NewImageFromGoImage (_bbece _ac .Image )(*Image ,error );
|
||
|
||
// NewGrayImageFromGoImage loads a grayscale unidoc Image from a standard Go image structure.
|
||
NewGrayImageFromGoImage (_ceeab _ac .Image )(*Image ,error );
|
||
|
||
// Compress an image.
|
||
Compress (_egdda *Image ,_ggcda int64 )(*Image ,error );};func _edgg (_gdfeg *_bcb .PdfIndirectObject ,_aacbf *_bcb .PdfObjectDictionary )(*DSS ,error ){if _gdfeg ==nil {_gdfeg =_bcb .MakeIndirectObject (nil );};_gdfeg .PdfObject =_bcb .MakeDict ();_bdbbc :=map[string ]*VRI {};if _abbg ,_deagb :=_bcb .GetDict (_aacbf .Get ("\u0056\u0052\u0049"));_deagb {for _ ,_ceecg :=range _abbg .Keys (){if _geae ,_dcba :=_bcb .GetDict (_abbg .Get (_ceecg ));_dcba {_bdbbc [_gc .ToUpper (_ceecg .String ())]=_agad (_geae );};};};return &DSS {Certs :_cfcbg (_aacbf .Get ("\u0043\u0065\u0072t\u0073")),OCSPs :_cfcbg (_aacbf .Get ("\u004f\u0043\u0053P\u0073")),CRLs :_cfcbg (_aacbf .Get ("\u0043\u0052\u004c\u0073")),VRI :_bdbbc ,_bdac :_gdfeg },nil ;};
|
||
|
||
// PdfAnnotationRedact represents Redact annotations.
|
||
// (Section 12.5.6.23).
|
||
type PdfAnnotationRedact struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _bcb .PdfObject ;IC _bcb .PdfObject ;RO _bcb .PdfObject ;OverlayText _bcb .PdfObject ;Repeat _bcb .PdfObject ;DA _bcb .PdfObject ;Q _bcb .PdfObject ;};
|
||
|
||
// WatermarkImageOptions contains options for configuring the watermark process.
|
||
type WatermarkImageOptions struct{Alpha float64 ;FitToWidth bool ;PreserveAspectRatio bool ;};
|
||
|
||
// Duplicate creates a duplicate page based on the current one and returns it.
|
||
func (_babcb *PdfPage )Duplicate ()*PdfPage {_daafb :=*_babcb ;_daafb ._fagg =_bcb .MakeDict ();_daafb ._cfabg =_bcb .MakeIndirectObject (_daafb ._fagg );return &_daafb ;};
|
||
|
||
// String returns the name of the colorspace (DeviceN).
|
||
func (_efaba *PdfColorspaceDeviceN )String ()string {return "\u0044e\u0076\u0069\u0063\u0065\u004e"};
|
||
|
||
// NewPdfAnnotationPolygon returns a new polygon annotation.
|
||
func NewPdfAnnotationPolygon ()*PdfAnnotationPolygon {_ddbd :=NewPdfAnnotation ();_dbg :=&PdfAnnotationPolygon {};_dbg .PdfAnnotation =_ddbd ;_dbg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ddbd .SetContext (_dbg );return _dbg ;};
|
||
|
||
// HasFontByName checks whether a font is defined by the specified keyName.
|
||
func (_cdfae *PdfPageResources )HasFontByName (keyName _bcb .PdfObjectName )bool {_ ,_aggf :=_cdfae .GetFontByName (keyName );return _aggf ;};
|
||
|
||
// PdfAnnotationWidget represents Widget annotations.
|
||
// Note: Widget annotations are used to display form fields.
|
||
// (Section 12.5.6.19).
|
||
type PdfAnnotationWidget struct{*PdfAnnotation ;H _bcb .PdfObject ;MK _bcb .PdfObject ;A _bcb .PdfObject ;AA _bcb .PdfObject ;BS _bcb .PdfObject ;Parent _bcb .PdfObject ;_cbgd *PdfField ;_eaa bool ;};
|
||
|
||
// GetExtGState gets the ExtGState specified by keyName. Returns a bool
|
||
// indicating whether it was found or not.
|
||
func (_ffdfc *PdfPageResources )GetExtGState (keyName _bcb .PdfObjectName )(_bcb .PdfObject ,bool ){if _ffdfc .ExtGState ==nil {return nil ,false ;};_gdecc ,_dcecd :=_bcb .TraceToDirectObject (_ffdfc .ExtGState ).(*_bcb .PdfObjectDictionary );if !_dcecd {_cga .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",_ffdfc .ExtGState );return nil ,false ;};if _fbcfa :=_gdecc .Get (keyName );_fbcfa !=nil {return _fbcfa ,true ;};return nil ,false ;};
|
||
|
||
// PdfOutline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
type PdfOutline struct{PdfOutlineTreeNode ;Parent *PdfOutlineTreeNode ;Count *int64 ;_cdec *_bcb .PdfIndirectObject ;};
|
||
|
||
// NewPdfAnnotationLine returns a new line annotation.
|
||
func NewPdfAnnotationLine ()*PdfAnnotationLine {_geaf :=NewPdfAnnotation ();_cde :=&PdfAnnotationLine {};_cde .PdfAnnotation =_geaf ;_cde .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_geaf .SetContext (_cde );return _cde ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// component PDF objects.
|
||
func (_fbac *PdfColorspaceICCBased )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if _fbac .Alternate ==nil {if _fbac .N ==1{_beecf :=NewPdfColorspaceDeviceGray ();return _beecf .ColorFromPdfObjects (objects );}else if _fbac .N ==3{_ebfdc :=NewPdfColorspaceDeviceRGB ();return _ebfdc .ColorFromPdfObjects (objects );}else if _fbac .N ==4{_gfefd :=NewPdfColorspaceDeviceCMYK ();return _gfefd .ColorFromPdfObjects (objects );}else {return nil ,_ae .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 _fbac .Alternate .ColorFromPdfObjects (objects );};func (_ecbee *pdfCIDFontType0 )getFontDescriptor ()*PdfFontDescriptor {return _ecbee ._ecaed };
|
||
|
||
// PdfActionGoToR represents a GoToR action.
|
||
type PdfActionGoToR struct{*PdfAction ;F *PdfFilespec ;D _bcb .PdfObject ;NewWindow _bcb .PdfObject ;};
|
||
|
||
// UpdatePage updates the `page` in the new revision if it has changed.
|
||
func (_fcec *PdfAppender )UpdatePage (page *PdfPage ){_fcec .updateObjectsDeep (page .ToPdfObject (),nil )};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_ebac *PdfAnnotation )GetContainingPdfObject ()_bcb .PdfObject {return _ebac ._daa };
|
||
|
||
// Y returns the value of the yellow component of the color.
|
||
func (_ceb *PdfColorDeviceCMYK )Y ()float64 {return _ceb [2]};
|
||
|
||
// ToPdfObject sets the common field elements.
|
||
// Note: Call the more field context's ToPdfObject to set both the generic and
|
||
// non-generic information.
|
||
func (_fcab *PdfField )ToPdfObject ()_bcb .PdfObject {_aaee :=_fcab ._gggf ;_gfdb :=_aaee .PdfObject .(*_bcb .PdfObjectDictionary );_cabga :=_bcb .MakeArray ();for _ ,_aeda :=range _fcab .Kids {_cabga .Append (_aeda .ToPdfObject ());};for _ ,_gged :=range _fcab .Annotations {if _gged ._daa !=_fcab ._gggf {_cabga .Append (_gged .GetContext ().ToPdfObject ());};};if _fcab .Parent !=nil {_gfdb .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_fcab .Parent .GetContainingPdfObject ());};if _cabga .Len ()> 0{_gfdb .Set ("\u004b\u0069\u0064\u0073",_cabga );};_gfdb .SetIfNotNil ("\u0046\u0054",_fcab .FT );_gfdb .SetIfNotNil ("\u0054",_fcab .T );_gfdb .SetIfNotNil ("\u0054\u0055",_fcab .TU );_gfdb .SetIfNotNil ("\u0054\u004d",_fcab .TM );_gfdb .SetIfNotNil ("\u0046\u0066",_fcab .Ff );_gfdb .SetIfNotNil ("\u0056",_fcab .V );_gfdb .SetIfNotNil ("\u0044\u0056",_fcab .DV );_gfdb .SetIfNotNil ("\u0041\u0041",_fcab .AA );return _aaee ;};
|
||
|
||
// 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 (_eccb *PdfColorspaceCalGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_caee :=vals [0];if _caee < 0.0||_caee > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdbcb :=NewPdfColorCalGray (_caee );return _bdbcb ,nil ;};func (_fef *PdfReader )newPdfActionMovieFromDict (_dceg *_bcb .PdfObjectDictionary )(*PdfActionMovie ,error ){return &PdfActionMovie {Annotation :_dceg .Get ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e"),T :_dceg .Get ("\u0054"),Operation :_dceg .Get ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn")},nil ;};
|
||
|
||
// GetType returns the button field type which returns one of the following
|
||
// - PdfFieldButtonPush for push button fields
|
||
// - PdfFieldButtonCheckbox for checkbox fields
|
||
// - PdfFieldButtonRadio for radio button fields
|
||
func (_edaa *PdfFieldButton )GetType ()ButtonType {_cbgfc :=ButtonTypeCheckbox ;if _edaa .Ff !=nil {if (uint32 (*_edaa .Ff )&FieldFlagPushbutton .Mask ())> 0{_cbgfc =ButtonTypePush ;}else if (uint32 (*_edaa .Ff )&FieldFlagRadio .Mask ())> 0{_cbgfc =ButtonTypeRadio ;};};return _cbgfc ;};
|
||
|
||
// NewPdfAnnotationFileAttachment returns a new file attachment annotation.
|
||
func NewPdfAnnotationFileAttachment ()*PdfAnnotationFileAttachment {_gfef :=NewPdfAnnotation ();_fec :=&PdfAnnotationFileAttachment {};_fec .PdfAnnotation =_gfef ;_fec .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gfef .SetContext (_fec );return _fec ;};type fontFile struct{_cfgbe string ;_cecc string ;_ecge _ddd .SimpleEncoder ;};func (_dfgf *PdfWriter )seekByName (_bcgfg _bcb .PdfObject ,_cebad []string ,_acgca string )([]_bcb .PdfObject ,error ){_cga .Log .Trace ("\u0053\u0065\u0065\u006b\u0020\u0062\u0079\u0020\u006e\u0061\u006d\u0065.\u002e\u0020\u0025\u0054",_bcgfg );var _bdbdg []_bcb .PdfObject ;if _aaagg ,_befe :=_bcgfg .(*_bcb .PdfIndirectObject );_befe {return _dfgf .seekByName (_aaagg .PdfObject ,_cebad ,_acgca );};if _eacc ,_agdab :=_bcgfg .(*_bcb .PdfObjectStream );_agdab {return _dfgf .seekByName (_eacc .PdfObjectDictionary ,_cebad ,_acgca );};if _cccgb ,_dgadd :=_bcgfg .(*_bcb .PdfObjectDictionary );_dgadd {_cga .Log .Trace ("\u0044\u0069\u0063\u0074");for _ ,_fcfg :=range _cccgb .Keys (){_dfccf :=_cccgb .Get (_fcfg );if string (_fcfg )==_acgca {_bdbdg =append (_bdbdg ,_dfccf );};for _ ,_fcdgdc :=range _cebad {if string (_fcfg )==_fcdgdc {_cga .Log .Trace ("\u0046\u006f\u006c\u006c\u006f\u0077\u0020\u006b\u0065\u0079\u0020\u0025\u0073",_fcdgdc );_baaaa ,_deebff :=_dfgf .seekByName (_dfccf ,_cebad ,_acgca );if _deebff !=nil {return _bdbdg ,_deebff ;};_bdbdg =append (_bdbdg ,_baaaa ...);break ;};};};return _bdbdg ,nil ;};return _bdbdg ,nil ;};
|
||
|
||
// PdfAnnotationPolyLine represents PolyLine annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolyLine struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _bcb .PdfObject ;LE _bcb .PdfObject ;BS _bcb .PdfObject ;IC _bcb .PdfObject ;BE _bcb .PdfObject ;IT _bcb .PdfObject ;Measure _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_daf *PdfAnnotationProjection )ToPdfObject ()_bcb .PdfObject {_daf .PdfAnnotation .ToPdfObject ();_bafb :=_daf ._daa ;_gegb :=_bafb .PdfObject .(*_bcb .PdfObjectDictionary );_daf .PdfAnnotationMarkup .appendToPdfDictionary (_gegb );return _bafb ;};
|
||
|
||
// PdfActionImportData represents a importData action.
|
||
type PdfActionImportData struct{*PdfAction ;F *PdfFilespec ;};
|
||
|
||
// NewPdfAnnotationPolyLine returns a new polyline annotation.
|
||
func NewPdfAnnotationPolyLine ()*PdfAnnotationPolyLine {_bbc :=NewPdfAnnotation ();_bfgf :=&PdfAnnotationPolyLine {};_bfgf .PdfAnnotation =_bbc ;_bfgf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bbc .SetContext (_bfgf );return _bfgf ;};func (_bgg *PdfReader )newPdfAnnotationStrikeOut (_eaab *_bcb .PdfObjectDictionary )(*PdfAnnotationStrikeOut ,error ){_dga :=PdfAnnotationStrikeOut {};_febe ,_acce :=_bgg .newPdfAnnotationMarkupFromDict (_eaab );if _acce !=nil {return nil ,_acce ;};_dga .PdfAnnotationMarkup =_febe ;_dga .QuadPoints =_eaab .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_dga ,nil ;};
|
||
|
||
// ColorToRGB converts an Indexed color to an RGB color.
|
||
func (_ebdac *PdfColorspaceSpecialIndexed )ColorToRGB (color PdfColor )(PdfColor ,error ){if _ebdac .Base ==nil {return nil ,_ae .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 _ebdac .Base .ColorToRGB (color );};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_aafc *PdfColorspaceCalRGB )ToPdfObject ()_bcb .PdfObject {_fgdb :=&_bcb .PdfObjectArray {};_fgdb .Append (_bcb .MakeName ("\u0043\u0061\u006c\u0052\u0047\u0042"));_geafg :=_bcb .MakeDict ();if _aafc .WhitePoint !=nil {_efac :=_bcb .MakeArray (_bcb .MakeFloat (_aafc .WhitePoint [0]),_bcb .MakeFloat (_aafc .WhitePoint [1]),_bcb .MakeFloat (_aafc .WhitePoint [2]));_geafg .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_efac );}else {_cga .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 _aafc .BlackPoint !=nil {_gadef :=_bcb .MakeArray (_bcb .MakeFloat (_aafc .BlackPoint [0]),_bcb .MakeFloat (_aafc .BlackPoint [1]),_bcb .MakeFloat (_aafc .BlackPoint [2]));_geafg .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_gadef );};if _aafc .Gamma !=nil {_aacf :=_bcb .MakeArray (_bcb .MakeFloat (_aafc .Gamma [0]),_bcb .MakeFloat (_aafc .Gamma [1]),_bcb .MakeFloat (_aafc .Gamma [2]));_geafg .Set ("\u0047\u0061\u006dm\u0061",_aacf );};if _aafc .Matrix !=nil {_cafbg :=_bcb .MakeArray (_bcb .MakeFloat (_aafc .Matrix [0]),_bcb .MakeFloat (_aafc .Matrix [1]),_bcb .MakeFloat (_aafc .Matrix [2]),_bcb .MakeFloat (_aafc .Matrix [3]),_bcb .MakeFloat (_aafc .Matrix [4]),_bcb .MakeFloat (_aafc .Matrix [5]),_bcb .MakeFloat (_aafc .Matrix [6]),_bcb .MakeFloat (_aafc .Matrix [7]),_bcb .MakeFloat (_aafc .Matrix [8]));_geafg .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_cafbg );};_fgdb .Append (_geafg );if _aafc ._fabd !=nil {_aafc ._fabd .PdfObject =_fgdb ;return _aafc ._fabd ;};return _fgdb ;};
|
||
|
||
// NewPdfColorDeviceRGB returns a new PdfColorDeviceRGB based on the r,g,b component values.
|
||
func NewPdfColorDeviceRGB (r ,g ,b float64 )*PdfColorDeviceRGB {_cbgb :=PdfColorDeviceRGB {r ,g ,b };return &_cbgb ;};
|
||
|
||
// GetContext returns a reference to the subshading entry as represented by PdfShadingType1-7.
|
||
func (_gfegb *PdfShading )GetContext ()PdfModel {return _gfegb ._gcbd };
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name dictionary]
|
||
func (_ebff *PdfColorspaceLab )ToPdfObject ()_bcb .PdfObject {_fdac :=_bcb .MakeArray ();_fdac .Append (_bcb .MakeName ("\u004c\u0061\u0062"));_acdac :=_bcb .MakeDict ();if _ebff .WhitePoint !=nil {_gbee :=_bcb .MakeArray (_bcb .MakeFloat (_ebff .WhitePoint [0]),_bcb .MakeFloat (_ebff .WhitePoint [1]),_bcb .MakeFloat (_ebff .WhitePoint [2]));_acdac .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_gbee );}else {_cga .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 _ebff .BlackPoint !=nil {_decc :=_bcb .MakeArray (_bcb .MakeFloat (_ebff .BlackPoint [0]),_bcb .MakeFloat (_ebff .BlackPoint [1]),_bcb .MakeFloat (_ebff .BlackPoint [2]));_acdac .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_decc );};if _ebff .Range !=nil {_ggff :=_bcb .MakeArray (_bcb .MakeFloat (_ebff .Range [0]),_bcb .MakeFloat (_ebff .Range [1]),_bcb .MakeFloat (_ebff .Range [2]),_bcb .MakeFloat (_ebff .Range [3]));_acdac .Set ("\u0052\u0061\u006eg\u0065",_ggff );};_fdac .Append (_acdac );if _ebff ._fbdc !=nil {_ebff ._fbdc .PdfObject =_fdac ;return _ebff ._fbdc ;};return _fdac ;};
|
||
|
||
// PdfAnnotationSquare represents Square annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationSquare struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _bcb .PdfObject ;IC _bcb .PdfObject ;BE _bcb .PdfObject ;RD _bcb .PdfObject ;};
|
||
|
||
// NewPdfAnnotationHighlight returns a new text highlight annotation.
|
||
func NewPdfAnnotationHighlight ()*PdfAnnotationHighlight {_cbe :=NewPdfAnnotation ();_cgc :=&PdfAnnotationHighlight {};_cgc .PdfAnnotation =_cbe ;_cgc .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cbe .SetContext (_cgc );return _cgc ;};
|
||
|
||
// 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 (_cgfff *Image )Resample (targetBitsPerComponent int64 ){if _cgfff .BitsPerComponent ==targetBitsPerComponent {return ;};_egecc :=_cgfff .GetSamples ();if targetBitsPerComponent < _cgfff .BitsPerComponent {_bafbb :=_cgfff .BitsPerComponent -targetBitsPerComponent ;for _baff :=range _egecc {_egecc [_baff ]>>=uint (_bafbb );};}else if targetBitsPerComponent > _cgfff .BitsPerComponent {_gggce :=targetBitsPerComponent -_cgfff .BitsPerComponent ;for _bafbbe :=range _egecc {_egecc [_bafbbe ]<<=uint (_gggce );};};_cgfff .BitsPerComponent =targetBitsPerComponent ;if _cgfff .BitsPerComponent < 8{_cgfff .resampleLowBits (_egecc );return ;};_ggab :=_fgd .BytesPerLine (int (_cgfff .Width ),int (_cgfff .BitsPerComponent ),_cgfff .ColorComponents );_dgdg :=make ([]byte ,_ggab *int (_cgfff .Height ));var (_gegea ,_adceb ,_ggbc ,_bbccc int ;_deef uint32 ;);for _ggbc =0;_ggbc < int (_cgfff .Height );_ggbc ++{_gegea =_ggbc *_ggab ;_adceb =(_ggbc +1)*_ggab -1;_gdga :=_cgb .ResampleUint32 (_egecc [_gegea :_adceb ],int (targetBitsPerComponent ),8);for _bbccc ,_deef =range _gdga {_dgdg [_bbccc +_gegea ]=byte (_deef );};};_cgfff .Data =_dgdg ;};
|
||
|
||
// PdfColorspaceSpecialPattern is a Pattern colorspace.
|
||
// Can be defined either as /Pattern or with an underlying colorspace [/Pattern cs].
|
||
type PdfColorspaceSpecialPattern struct{UnderlyingCS PdfColorspace ;_ebgf *_bcb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_fbcfdd *PdfShadingType4 )ToPdfObject ()_bcb .PdfObject {_fbcfdd .PdfShading .ToPdfObject ();_degfd ,_afdad :=_fbcfdd .getShadingDict ();if _afdad !=nil {_cga .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 _fbcfdd .BitsPerCoordinate !=nil {_degfd .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_fbcfdd .BitsPerCoordinate );};if _fbcfdd .BitsPerComponent !=nil {_degfd .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_fbcfdd .BitsPerComponent );};if _fbcfdd .BitsPerFlag !=nil {_degfd .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_fbcfdd .BitsPerFlag );};if _fbcfdd .Decode !=nil {_degfd .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_fbcfdd .Decode );};if _fbcfdd .Function !=nil {if len (_fbcfdd .Function )==1{_degfd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fbcfdd .Function [0].ToPdfObject ());}else {_geegb :=_bcb .MakeArray ();for _ ,_badca :=range _fbcfdd .Function {_geegb .Append (_badca .ToPdfObject ());};_degfd .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_geegb );};};return _fbcfdd ._eced ;};
|
||
|
||
// NewPdfActionTrans returns a new "trans" action.
|
||
func NewPdfActionTrans ()*PdfActionTrans {_adf :=NewPdfAction ();_agea :=&PdfActionTrans {};_agea .PdfAction =_adf ;_adf .SetContext (_agea );return _agea ;};
|
||
|
||
// PdfAppender appends new PDF content to an existing PDF document via incremental updates.
|
||
type PdfAppender struct{_baeab _fb .ReadSeeker ;_bbdf *_bcb .PdfParser ;_adcc *PdfReader ;Reader *PdfReader ;_cgcg []*PdfPage ;_acdf *PdfAcroForm ;_fbb *DSS ;_bcf _bcb .XrefTable ;_edga int64 ;_ebga int ;_eebb []_bcb .PdfObject ;_bfbb map[_bcb .PdfObject ]struct{};_cfff map[_bcb .PdfObject ]int64 ;_feea map[_bcb .PdfObject ]struct{};_ebca map[_bcb .PdfObject ]struct{};_def int64 ;_dgfdf bool ;};var _ pdfFont =(*pdfCIDFontType0 )(nil );func (_cccbf *PdfPattern )getDict ()*_bcb .PdfObjectDictionary {if _facc ,_dcbg :=_cccbf ._becda .(*_bcb .PdfIndirectObject );_dcbg {_dfegfa ,_fbdfb :=_facc .PdfObject .(*_bcb .PdfObjectDictionary );if !_fbdfb {return nil ;};return _dfegfa ;}else if _ggcdb ,_cfegc :=_cccbf ._becda .(*_bcb .PdfObjectStream );_cfegc {return _ggcdb .PdfObjectDictionary ;}else {_cga .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",_cccbf ._becda );return nil ;};};
|
||
|
||
// PdfFunctionType4 is a Postscript calculator functions.
|
||
type PdfFunctionType4 struct{Domain []float64 ;Range []float64 ;Program *_fc .PSProgram ;_fbcd *_fc .PSExecutor ;_gfdef []byte ;_bbffg *_bcb .PdfObjectStream ;};
|
||
|
||
// GetNumComponents returns the number of color components of the underlying
|
||
// colorspace device.
|
||
func (_bcff *PdfColorspaceSpecialPattern )GetNumComponents ()int {return _bcff .UnderlyingCS .GetNumComponents ();};
|
||
|
||
// PdfPageResources is a Page resources model.
|
||
// Implements PdfModel.
|
||
type PdfPageResources struct{ExtGState _bcb .PdfObject ;ColorSpace _bcb .PdfObject ;Pattern _bcb .PdfObject ;Shading _bcb .PdfObject ;XObject _bcb .PdfObject ;Font _bcb .PdfObject ;ProcSet _bcb .PdfObject ;Properties _bcb .PdfObject ;_daggd *_bcb .PdfObjectDictionary ;_dcga *PdfPageResourcesColorspaces ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_deda *PdfFunctionType3 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_cga .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return nil ,_ae .New ("\u006e\u006f\u0074\u0020im\u0070\u006c\u0065\u006d\u0065\u006e\u0074\u0065\u0064\u0020\u0079\u0065\u0074");};
|
||
|
||
// AddPages adds pages to be appended to the end of the source PDF.
|
||
func (_ddggd *PdfAppender )AddPages (pages ...*PdfPage ){for _ ,_ded :=range pages {_ded =_ded .Duplicate ();_bdba (_ded );_ddggd ._cgcg =append (_ddggd ._cgcg ,_ded );};};type pdfFontSimple struct{fontCommon ;_cdadc *_bcb .PdfIndirectObject ;_dgdfc map[_ddd .CharCode ]float64 ;_fdebc _ddd .TextEncoder ;_bcdf _ddd .TextEncoder ;_ddee *PdfFontDescriptor ;
|
||
|
||
// Encoding is subject to limitations that are described in 9.6.6, "Character Encoding".
|
||
// BaseFont is derived differently.
|
||
FirstChar _bcb .PdfObject ;LastChar _bcb .PdfObject ;Widths _bcb .PdfObject ;Encoding _bcb .PdfObject ;_gbggc map[rune ]_acc .CharMetrics ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline tree node (indirect object).
|
||
func (_gefaa *PdfOutlineTreeNode )GetContainingPdfObject ()_bcb .PdfObject {return _gefaa .GetContext ().GetContainingPdfObject ();};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for a Lab device.
|
||
func (_gacee *PdfColorspaceLab )GetNumComponents ()int {return 3};func (_cdbce *PdfReader )newPdfAcroFormFromDict (_abbc *_bcb .PdfIndirectObject ,_cgcde *_bcb .PdfObjectDictionary )(*PdfAcroForm ,error ){_dgbab :=NewPdfAcroForm ();if _abbc !=nil {_dgbab ._gacgf =_abbc ;_abbc .PdfObject =_bcb .MakeDict ();};if _fedg :=_cgcde .Get ("\u0046\u0069\u0065\u006c\u0064\u0073");_fedg !=nil {_caggc ,_bded :=_bcb .GetArray (_fedg );if !_bded {return nil ,_e .Errorf ("\u0066i\u0065\u006c\u0064\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006e \u0061\u0072\u0072\u0061\u0079\u0020\u0028\u0025\u0054\u0029",_fedg );};var _faefgg []*PdfField ;for _ ,_gdfc :=range _caggc .Elements (){_gagg ,_dbfgg :=_bcb .GetIndirect (_gdfc );if !_dbfgg {if _ ,_gdddb :=_gdfc .(*_bcb .PdfObjectNull );_gdddb {_cga .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 ;};_cga .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",_gdfc );return nil ,_e .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");};_ccfe ,_gaccb :=_cdbce .newPdfFieldFromIndirectObject (_gagg ,nil );if _gaccb !=nil {return nil ,_gaccb ;};_cga .Log .Trace ("\u0041\u0063\u0072\u006fFo\u0072\u006d\u0020\u0046\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u002b\u0076",*_ccfe );_faefgg =append (_faefgg ,_ccfe );};_dgbab .Fields =&_faefgg ;};if _aecda :=_cgcde .Get ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073");_aecda !=nil {_ddaffg ,_ggggg :=_bcb .GetBool (_aecda );if _ggggg {_dgbab .NeedAppearances =_ddaffg ;}else {_cga .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",_aecda );};};if _abac :=_cgcde .Get ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073");_abac !=nil {_fbfd ,_bcef :=_bcb .GetInt (_abac );if _bcef {_dgbab .SigFlags =_fbfd ;}else {_cga .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",_abac );};};if _gafcf :=_cgcde .Get ("\u0043\u004f");_gafcf !=nil {_gfcgg ,_deffa :=_bcb .GetArray (_gafcf );if _deffa {_dgbab .CO =_gfcgg ;}else {_cga .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",_gafcf );};};if _fdaaf :=_cgcde .Get ("\u0044\u0052");_fdaaf !=nil {if _gaeaa ,_cgefg :=_bcb .GetDict (_fdaaf );_cgefg {_adfbe ,_cfaea :=NewPdfPageResourcesFromDict (_gaeaa );if _cfaea !=nil {_cga .Log .Error ("\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0044R\u003a\u0020\u0025\u0076",_cfaea );return nil ,_cfaea ;};_dgbab .DR =_adfbe ;}else {_cga .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",_fdaaf );};};if _ffcc :=_cgcde .Get ("\u0044\u0041");_ffcc !=nil {_efcbb ,_bedb :=_bcb .GetString (_ffcc );if _bedb {_dgbab .DA =_efcbb ;}else {_cga .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",_ffcc );};};if _gabg :=_cgcde .Get ("\u0051");_gabg !=nil {_acgec ,_eaaag :=_bcb .GetInt (_gabg );if _eaaag {_dgbab .Q =_acgec ;}else {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0051\u0020\u0069\u006e\u0076a\u006ci\u0064 \u0028\u0067\u006f\u0074\u0020\u0025\u0054)",_gabg );};};if _fafd :=_cgcde .Get ("\u0058\u0046\u0041");_fafd !=nil {_dgbab .XFA =_fafd ;};return _dgbab ,nil ;};
|
||
|
||
// 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 ;_fggf *_bcb .PdfIndirectObject ;};func _egdb (_fgfca _acc .StdFont )pdfFontSimple {_cdgdg :=_fgfca .Descriptor ();return pdfFontSimple {fontCommon :fontCommon {_abgg :"\u0054\u0079\u0070e\u0031",_daeb :_fgfca .Name ()},_gbggc :_fgfca .GetMetricsTable (),_ddee :&PdfFontDescriptor {FontName :_bcb .MakeName (string (_cdgdg .Name )),FontFamily :_bcb .MakeName (_cdgdg .Family ),FontWeight :_bcb .MakeFloat (float64 (_cdgdg .Weight )),Flags :_bcb .MakeInteger (int64 (_cdgdg .Flags )),FontBBox :_bcb .MakeArrayFromFloats (_cdgdg .BBox [:]),ItalicAngle :_bcb .MakeFloat (_cdgdg .ItalicAngle ),Ascent :_bcb .MakeFloat (_cdgdg .Ascent ),Descent :_bcb .MakeFloat (_cdgdg .Descent ),CapHeight :_bcb .MakeFloat (_cdgdg .CapHeight ),XHeight :_bcb .MakeFloat (_cdgdg .XHeight ),StemV :_bcb .MakeFloat (_cdgdg .StemV ),StemH :_bcb .MakeFloat (_cdgdg .StemH )},_bcdf :_fgfca .Encoder ()};};func (_ffcca *PdfSignature )extractChainFromCert ()([]*_ffg .Certificate ,error ){var _bcfe *_bcb .PdfObjectArray ;switch _cacce :=_ffcca .Cert .(type ){case *_bcb .PdfObjectString :_bcfe =_bcb .MakeArray (_cacce );case *_bcb .PdfObjectArray :_bcfe =_cacce ;default:return nil ,_e .Errorf ("\u0069n\u0076\u0061l\u0069\u0064\u0020s\u0069\u0067\u006e\u0061\u0074\u0075\u0072e\u0020\u0063\u0065\u0072\u0074\u0069f\u0069\u0063\u0061\u0074\u0065\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_cacce );};var _ffegc _ede .Buffer ;for _ ,_ggeg :=range _bcfe .Elements (){_afeee ,_cfccb :=_bcb .GetString (_ggeg );if !_cfccb {return nil ,_e .Errorf ("\u0069\u006ev\u0061\u006c\u0069\u0064\u0020\u0063\u0065\u0072\u0074\u0069\u0066\u0069\u0063\u0061\u0074\u0065\u0020\u006f\u0062j\u0065\u0063\u0074\u0020\u0074\u0079p\u0065\u0020\u0069\u006e\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065 \u0063\u0065r\u0074\u0069\u0066\u0069c\u0061\u0074\u0065\u0020\u0063h\u0061\u0069\u006e\u003a\u0020\u0025\u0054",_ggeg );};if _ ,_efabb :=_ffegc .Write (_afeee .Bytes ());_efabb !=nil {return nil ,_efabb ;};};return _ffg .ParseCertificates (_ffegc .Bytes ());};
|
||
|
||
// SetImage updates XObject Image with new image data.
|
||
func (_bbggb *XObjectImage )SetImage (img *Image ,cs PdfColorspace )error {_bbggb .Filter .UpdateParams (img .GetParamsDict ());_bedbd ,_efcfa :=_bbggb .Filter .EncodeBytes (img .Data );if _efcfa !=nil {return _efcfa ;};_bbggb .Stream =_bedbd ;_affg :=img .Width ;_bbggb .Width =&_affg ;_cffce :=img .Height ;_bbggb .Height =&_cffce ;_aecba :=img .BitsPerComponent ;_bbggb .BitsPerComponent =&_aecba ;if cs ==nil {if img .ColorComponents ==1{_bbggb .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_bbggb .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_bbggb .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return _ae .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_bbggb .ColorSpace =cs ;};return nil ;};
|
||
|
||
// GetContext returns the context of the outline tree node, which is either a
|
||
// *PdfOutline or a *PdfOutlineItem. The method returns nil for uninitialized
|
||
// tree nodes.
|
||
func (_ebccg *PdfOutlineTreeNode )GetContext ()PdfModel {if _cbdgf ,_caffc :=_ebccg ._bfagd .(*PdfOutline );_caffc {return _cbdgf ;};if _dgdac ,_ddafc :=_ebccg ._bfagd .(*PdfOutlineItem );_ddafc {return _dgdac ;};_cga .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 ;};
|
||
|
||
// NewPdfActionNamed returns a new "named" action.
|
||
func NewPdfActionNamed ()*PdfActionNamed {_feg :=NewPdfAction ();_aca :=&PdfActionNamed {};_aca .PdfAction =_feg ;_feg .SetContext (_aca );return _aca ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dcbd *PdfAnnotationCircle )ToPdfObject ()_bcb .PdfObject {_dcbd .PdfAnnotation .ToPdfObject ();_cdb :=_dcbd ._daa ;_aeeg :=_cdb .PdfObject .(*_bcb .PdfObjectDictionary );_dcbd .PdfAnnotationMarkup .appendToPdfDictionary (_aeeg );_aeeg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0043\u0069\u0072\u0063\u006c\u0065"));_aeeg .SetIfNotNil ("\u0042\u0053",_dcbd .BS );_aeeg .SetIfNotNil ("\u0049\u0043",_dcbd .IC );_aeeg .SetIfNotNil ("\u0042\u0045",_dcbd .BE );_aeeg .SetIfNotNil ("\u0052\u0044",_dcbd .RD );return _cdb ;};
|
||
|
||
// PageFromIndirectObject returns the PdfPage and page number for a given indirect object.
|
||
func (_fegda *PdfReader )PageFromIndirectObject (ind *_bcb .PdfIndirectObject )(*PdfPage ,int ,error ){if len (_fegda .PageList )!=len (_fegda ._fcff ){return nil ,0,_ae .New ("\u0070\u0061\u0067\u0065\u0020\u006c\u0069\u0073\u0074\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");};for _egeda ,_fcdddc :=range _fegda ._fcff {if _fcdddc ==ind {return _fegda .PageList [_egeda ],_egeda +1,nil ;};};return nil ,0,_ae .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline destination.
|
||
func (_dfecc OutlineDest )ToPdfObject ()_bcb .PdfObject {if (_dfecc .PageObj ==nil &&_dfecc .Page < 0)||_dfecc .Mode ==""{return _bcb .MakeNull ();};_aafa :=_bcb .MakeArray ();if _dfecc .PageObj !=nil {_aafa .Append (_dfecc .PageObj );}else {_aafa .Append (_bcb .MakeInteger (_dfecc .Page ));};_aafa .Append (_bcb .MakeName (_dfecc .Mode ));switch _dfecc .Mode {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":_aafa .Append (_bcb .MakeFloat (_dfecc .Y ));case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":_aafa .Append (_bcb .MakeFloat (_dfecc .X ));case "\u0058\u0059\u005a":_aafa .Append (_bcb .MakeFloat (_dfecc .X ));_aafa .Append (_bcb .MakeFloat (_dfecc .Y ));_aafa .Append (_bcb .MakeFloat (_dfecc .Zoom ));default:_aafa .Set (1,_bcb .MakeName ("\u0046\u0069\u0074"));};return _aafa ;};func _cbgcg (_abafe []*_bcb .PdfObjectStream )*_bcb .PdfObjectArray {if len (_abafe )==0{return nil ;};_feee :=make ([]_bcb .PdfObject ,0,len (_abafe ));for _ ,_bccf :=range _abafe {_feee =append (_feee ,_bccf );};return _bcb .MakeArray (_feee ...);};
|
||
|
||
// PdfAnnotationSquiggly represents Squiggly annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationSquiggly struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_begc *PdfAnnotationUnderline )ToPdfObject ()_bcb .PdfObject {_begc .PdfAnnotation .ToPdfObject ();_deed :=_begc ._daa ;_gcbf :=_deed .PdfObject .(*_bcb .PdfObjectDictionary );_begc .PdfAnnotationMarkup .appendToPdfDictionary (_gcbf );_gcbf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee"));_gcbf .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_begc .QuadPoints );return _deed ;};
|
||
|
||
// PdfActionSound represents a sound action.
|
||
type PdfActionSound struct{*PdfAction ;Sound _bcb .PdfObject ;Volume _bcb .PdfObject ;Synchronous _bcb .PdfObject ;Repeat _bcb .PdfObject ;Mix _bcb .PdfObject ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_dcacb *PdfColorDeviceCMYK )ToInteger (bits int )[4]uint32 {_dcegb :=_edb .Pow (2,float64 (bits ))-1;return [4]uint32 {uint32 (_dcegb *_dcacb .C ()),uint32 (_dcegb *_dcacb .M ()),uint32 (_dcegb *_dcacb .Y ()),uint32 (_dcegb *_dcacb .K ())};};func (_cacf *PdfReader )newPdfAnnotationRedactFromDict (_cdgg *_bcb .PdfObjectDictionary )(*PdfAnnotationRedact ,error ){_eaba :=PdfAnnotationRedact {};_abef ,_gdfe :=_cacf .newPdfAnnotationMarkupFromDict (_cdgg );if _gdfe !=nil {return nil ,_gdfe ;};_eaba .PdfAnnotationMarkup =_abef ;_eaba .QuadPoints =_cdgg .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_eaba .IC =_cdgg .Get ("\u0049\u0043");_eaba .RO =_cdgg .Get ("\u0052\u004f");_eaba .OverlayText =_cdgg .Get ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074");_eaba .Repeat =_cdgg .Get ("\u0052\u0065\u0070\u0065\u0061\u0074");_eaba .DA =_cdgg .Get ("\u0044\u0041");_eaba .Q =_cdgg .Get ("\u0051");return &_eaba ,nil ;};
|
||
|
||
// PdfAction represents an action in PDF (section 12.6 p. 412).
|
||
type PdfAction struct{_dda PdfModel ;Type _bcb .PdfObject ;S _bcb .PdfObject ;Next _bcb .PdfObject ;_dce *_bcb .PdfIndirectObject ;};
|
||
|
||
// 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 (_bgcbe *PdfColorspaceSpecialPattern )ColorToRGB (color PdfColor )(PdfColor ,error ){_bgba ,_agdb :=color .(*PdfColorPattern );if !_agdb {_cga .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 _bgba .Color ==nil {return color ,nil ;};if _bgcbe .UnderlyingCS ==nil {return nil ,_ae .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};return _bgcbe .UnderlyingCS .ColorToRGB (_bgba .Color );};
|
||
|
||
// 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 (_degf *PdfColorspaceDeviceGray )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gabf ,_bgac :=_bcb .GetNumbersAsFloat (objects );if _bgac !=nil {return nil ,_bgac ;};return _degf .ColorFromFloats (_gabf );};
|
||
|
||
// SetXObjectByName adds the XObject from the passed in stream to the page resources.
|
||
// The added XObject is identified by the specified name.
|
||
func (_fgeed *PdfPageResources )SetXObjectByName (keyName _bcb .PdfObjectName ,stream *_bcb .PdfObjectStream )error {if _fgeed .XObject ==nil {_fgeed .XObject =_bcb .MakeDict ();};_fgcgd :=_bcb .TraceToDirectObject (_fgeed .XObject );_gegdf ,_cefdg :=_fgcgd .(*_bcb .PdfObjectDictionary );if !_cefdg {_cga .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",_fgeed .XObject ,_fgcgd );return _ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gegdf .Set (keyName ,stream );return nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Indexed).
|
||
func (_gcfc *PdfColorspaceSpecialIndexed )GetNumComponents ()int {return 1};
|
||
|
||
// PdfColorspaceDeviceGray represents a grayscale colorspace.
|
||
type PdfColorspaceDeviceGray struct{};
|
||
|
||
// 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 (_gecfb PdfColor )(PdfColor ,error );
|
||
|
||
// GetNumComponents returns the number of components in the PdfColorspace.
|
||
GetNumComponents ()int ;
|
||
|
||
// ToPdfObject returns a PdfObject representation of the PdfColorspace.
|
||
ToPdfObject ()_bcb .PdfObject ;
|
||
|
||
// ColorFromPdfObjects returns a PdfColor in the given PdfColorspace from an array of PdfObject where each
|
||
// PdfObject represents a numeric value.
|
||
ColorFromPdfObjects (_debe []_bcb .PdfObject )(PdfColor ,error );
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components for a given PdfColorspace.
|
||
ColorFromFloats (_ecdc []float64 )(PdfColor ,error );
|
||
|
||
// DecodeArray returns the Decode array for the PdfColorSpace, i.e. the range of each component.
|
||
DecodeArray ()[]float64 ;};func (_egedf *PdfColorspaceSpecialSeparation )String ()string {return "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e";};
|
||
|
||
// 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 (_gbd *PdfAnnotationWidget )Field ()*PdfField {return _gbd ._cbgd };
|
||
|
||
// EnableChain adds the specified certificate chain and validation data (OCSP
|
||
// and CRL information) for it to the global scope of the document DSS. The
|
||
// added data is used for validating any of the signatures present in the
|
||
// document. The LTV client attempts to build the certificate chain up to a
|
||
// trusted root by downloading any missing certificates.
|
||
func (_bcacb *LTV )EnableChain (chain []*_ffg .Certificate )error {return _bcacb .enable (nil ,chain ,"")};
|
||
|
||
// PdfAnnotationSound represents Sound annotations.
|
||
// (Section 12.5.6.16).
|
||
type PdfAnnotationSound struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Sound _bcb .PdfObject ;Name _bcb .PdfObject ;};var _ pdfFont =(*pdfFontType0 )(nil );
|
||
|
||
// PdfActionNamed represents a named action.
|
||
type PdfActionNamed struct{*PdfAction ;N _bcb .PdfObject ;};func (_bcga *PdfReader )newPdfAnnotationFileAttachmentFromDict (_bce *_bcb .PdfObjectDictionary )(*PdfAnnotationFileAttachment ,error ){_adad :=PdfAnnotationFileAttachment {};_eefg ,_fgg :=_bcga .newPdfAnnotationMarkupFromDict (_bce );if _fgg !=nil {return nil ,_fgg ;};_adad .PdfAnnotationMarkup =_eefg ;_adad .FS =_bce .Get ("\u0046\u0053");_adad .Name =_bce .Get ("\u004e\u0061\u006d\u0065");return &_adad ,nil ;};func (_bbgcd *pdfFontType0 )bytesToCharcodes (_gfabc []byte )([]_ddd .CharCode ,bool ){if _bbgcd ._abeeb ==nil {return nil ,false ;};_acfd ,_gfefa :=_bbgcd ._abeeb .BytesToCharcodes (_gfabc );if !_gfefa {return nil ,false ;};_dcgga :=make ([]_ddd .CharCode ,len (_acfd ));for _gege ,_dbaf :=range _acfd {_dcgga [_gege ]=_ddd .CharCode (_dbaf );};return _dcgga ,true ;};func _acdfd (_ebbe _bcb .PdfObject )(PdfFunction ,error ){_ebbe =_bcb .ResolveReference (_ebbe );if _gfeg ,_cgfd :=_ebbe .(*_bcb .PdfObjectStream );_cgfd {_gegee :=_gfeg .PdfObjectDictionary ;_dfcb ,_cadg :=_gegee .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_bcb .PdfObjectInteger );if !_cadg {_cga .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 ,_ae .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 *_dfcb ==0{return _ebdb (_gfeg );}else if *_dfcb ==4{return _edfca (_gfeg );}else {return nil ,_ae .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _abge ,_edfg :=_ebbe .(*_bcb .PdfIndirectObject );_edfg {_fcgad ,_fbdge :=_abge .PdfObject .(*_bcb .PdfObjectDictionary );if !_fbdge {_cga .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 ,_ae .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");};_dedec ,_fbdge :=_fcgad .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_bcb .PdfObjectInteger );if !_fbdge {_cga .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 ,_ae .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 *_dedec ==2{return _cafcg (_abge );}else if *_dedec ==3{return _ecgbd (_abge );}else {return nil ,_ae .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else if _gfgc ,_aebdg :=_ebbe .(*_bcb .PdfObjectDictionary );_aebdg {_cegg ,_ddbee :=_gfgc .Get ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065").(*_bcb .PdfObjectInteger );if !_ddbee {_cga .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 ,_ae .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 *_cegg ==2{return _cafcg (_gfgc );}else if *_cegg ==3{return _ecgbd (_gfgc );}else {return nil ,_ae .New ("i\u006e\u0076\u0061\u006cid\u0020f\u0075\u006e\u0063\u0074\u0069o\u006e\u0020\u0074\u0079\u0070\u0065");};}else {_cga .Log .Debug ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0054\u0079\u0070\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0023\u0076",_ebbe );return nil ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};};func _ecgbd (_bdfda _bcb .PdfObject )(*PdfFunctionType3 ,error ){_gdbga :=&PdfFunctionType3 {};var _bbecb *_bcb .PdfObjectDictionary ;if _bbaa ,_dgcgd :=_bdfda .(*_bcb .PdfIndirectObject );_dgcgd {_fgfbc ,_ddfac :=_bbaa .PdfObject .(*_bcb .PdfObjectDictionary );if !_ddfac {return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_gdbga ._gfbgg =_bbaa ;_bbecb =_fgfbc ;}else if _baccc ,_egacd :=_bdfda .(*_bcb .PdfObjectDictionary );_egacd {_bbecb =_baccc ;}else {return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_aeaff ,_bffd :=_bcb .TraceToDirectObject (_bbecb .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_bcb .PdfObjectArray );if !_bffd {_cga .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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 _aeaff .Len ()!=2{_cga .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_ae .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_cefe ,_cdcg :=_aeaff .ToFloat64Array ();if _cdcg !=nil {return nil ,_cdcg ;};_gdbga .Domain =_cefe ;_aeaff ,_bffd =_bcb .TraceToDirectObject (_bbecb .Get ("\u0052\u0061\u006eg\u0065")).(*_bcb .PdfObjectArray );if _bffd {if _aeaff .Len ()< 0||_aeaff .Len ()%2!=0{return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_gagc ,_gada :=_aeaff .ToFloat64Array ();if _gada !=nil {return nil ,_gada ;};_gdbga .Range =_gagc ;};_aeaff ,_bffd =_bcb .TraceToDirectObject (_bbecb .Get ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es")).(*_bcb .PdfObjectArray );if !_bffd {_cga .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 ,_ae .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");};_gdbga .Functions =[]PdfFunction {};for _ ,_bgdae :=range _aeaff .Elements (){_cbbc ,_fcgd :=_acdfd (_bgdae );if _fcgd !=nil {return nil ,_fcgd ;};_gdbga .Functions =append (_gdbga .Functions ,_cbbc );};_aeaff ,_bffd =_bcb .TraceToDirectObject (_bbecb .Get ("\u0042\u006f\u0075\u006e\u0064\u0073")).(*_bcb .PdfObjectArray );if !_bffd {_cga .Log .Error ("B\u006fu\u006e\u0064\u0073\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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");};_dddf ,_cdcg :=_aeaff .ToFloat64Array ();if _cdcg !=nil {return nil ,_cdcg ;};_gdbga .Bounds =_dddf ;if len (_gdbga .Bounds )!=len (_gdbga .Functions )-1{_cga .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 (_gdbga .Bounds ),len (_gdbga .Functions ));return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aeaff ,_bffd =_bcb .TraceToDirectObject (_bbecb .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_bcb .PdfObjectArray );if !_bffd {_cga .Log .Error ("E\u006ec\u006f\u0064\u0065\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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");};_cdgbc ,_cdcg :=_aeaff .ToFloat64Array ();if _cdcg !=nil {return nil ,_cdcg ;};_gdbga .Encode =_cdgbc ;if len (_gdbga .Encode )!=2*len (_gdbga .Functions ){_cga .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 (_gdbga .Encode ),len (_gdbga .Functions ));return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};return _gdbga ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cda *PdfAnnotationCaret )ToPdfObject ()_bcb .PdfObject {_cda .PdfAnnotation .ToPdfObject ();_gfgb :=_cda ._daa ;_cdad :=_gfgb .PdfObject .(*_bcb .PdfObjectDictionary );_cda .PdfAnnotationMarkup .appendToPdfDictionary (_cdad );_cdad .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0043\u0061\u0072e\u0074"));_cdad .SetIfNotNil ("\u0052\u0044",_cda .RD );_cdad .SetIfNotNil ("\u0053\u0079",_cda .Sy );return _gfgb ;};
|
||
|
||
// 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 ;_cdeb []byte ;_fdggf []float64 ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gacgg *PdfColorspaceDeviceCMYK )ToPdfObject ()_bcb .PdfObject {return _bcb .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b");};
|
||
|
||
// ToPdfObject converts the font to a PDF representation.
|
||
func (_egad *pdfFontType0 )ToPdfObject ()_bcb .PdfObject {if _egad ._bfaeg ==nil {_egad ._bfaeg =&_bcb .PdfIndirectObject {};};_bbfgf :=_egad .baseFields ().asPdfObjectDictionary ("\u0054\u0079\u0070e\u0030");_egad ._bfaeg .PdfObject =_bbfgf ;if _egad .Encoding !=nil {_bbfgf .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_egad .Encoding );}else if _egad ._cfaee !=nil {_bbfgf .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_egad ._cfaee .ToPdfObject ());};if _egad .DescendantFont !=nil {_bbfgf .Set ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073",_bcb .MakeArray (_egad .DescendantFont .ToPdfObject ()));};return _egad ._bfaeg ;};
|
||
|
||
// HasExtGState checks if ExtGState name is available.
|
||
func (_agggea *PdfPage )HasExtGState (name _bcb .PdfObjectName )bool {if _agggea .Resources ==nil {return false ;};if _agggea .Resources .ExtGState ==nil {return false ;};_caegf ,_gdgag :=_bcb .TraceToDirectObject (_agggea .Resources .ExtGState ).(*_bcb .PdfObjectDictionary );if !_gdgag {_cga .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",_bcb .TraceToDirectObject (_agggea .Resources .ExtGState ));return false ;};_ebge :=_caegf .Get (name );_bbgab :=_ebge !=nil ;return _bbgab ;};
|
||
|
||
// FullName returns the full name of the field as in rootname.parentname.partialname.
|
||
func (_gaea *PdfField )FullName ()(string ,error ){var _gcce _ede .Buffer ;_dage :=[]string {};if _gaea .T !=nil {_dage =append (_dage ,_gaea .T .Decoded ());};_edaf :=map[*PdfField ]bool {};_edaf [_gaea ]=true ;_eabac :=_gaea .Parent ;for _eabac !=nil {if _ ,_bbdd :=_edaf [_eabac ];_bbdd {return _gcce .String (),_ae .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};if _eabac .T ==nil {return _gcce .String (),_ae .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");};_dage =append (_dage ,_eabac .T .Decoded ());_edaf [_eabac ]=true ;_eabac =_eabac .Parent ;};for _cbcdd :=len (_dage )-1;_cbcdd >=0;_cbcdd --{_gcce .WriteString (_dage [_cbcdd ]);if _cbcdd > 0{_gcce .WriteString ("\u002e");};};return _gcce .String (),nil ;};
|
||
|
||
// NewPdfFilespec returns an initialized generic PDF filespec model.
|
||
func NewPdfFilespec ()*PdfFilespec {_debgb :=&PdfFilespec {};_debgb ._dcgf =_bcb .MakeIndirectObject (_bcb .MakeDict ());return _debgb ;};
|
||
|
||
// 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 (_ffcb *PdfColorspaceCalRGB )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_afbg ,_aedg :=_bcb .GetNumbersAsFloat (objects );if _aedg !=nil {return nil ,_aedg ;};return _ffcb .ColorFromFloats (_afbg );};
|
||
|
||
// NewPdfColorCalRGB returns a new CalRBG color.
|
||
func NewPdfColorCalRGB (a ,b ,c float64 )*PdfColorCalRGB {_afcf :=PdfColorCalRGB {a ,b ,c };return &_afcf ;};func (_cbgdb *PdfColorspaceDeviceCMYK )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b";};
|
||
|
||
// SetOCProperties sets the optional content properties.
|
||
func (_aeddg *PdfWriter )SetOCProperties (ocProperties _bcb .PdfObject )error {_dadbag :=_aeddg ._ggfec ;if ocProperties !=nil {_cga .Log .Trace ("\u0053e\u0074\u0074\u0069\u006e\u0067\u0020\u004f\u0043\u0020\u0050\u0072o\u0070\u0065\u0072\u0074\u0069\u0065\u0073\u002e\u002e\u002e");_dadbag .Set ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",ocProperties );return _aeddg .addObjects (ocProperties );};return nil ;};
|
||
|
||
// NewPdfColorDeviceGray returns a new grayscale color based on an input grayscale float value in range [0-1].
|
||
func NewPdfColorDeviceGray (grayVal float64 )*PdfColorDeviceGray {_efba :=PdfColorDeviceGray (grayVal );return &_efba ;};
|
||
|
||
// NewPdfActionRendition returns a new "rendition" action.
|
||
func NewPdfActionRendition ()*PdfActionRendition {_dcg :=NewPdfAction ();_af :=&PdfActionRendition {};_af .PdfAction =_dcg ;_dcg .SetContext (_af );return _af ;};const (BorderEffectNoEffect BorderEffect =iota ;BorderEffectCloudy BorderEffect =iota ;);
|
||
|
||
// GetNumComponents returns the number of color components (3 for CalRGB).
|
||
func (_aggg *PdfColorCalRGB )GetNumComponents ()int {return 3};
|
||
|
||
// GetPdfName returns the PDF name used to indicate the border style.
|
||
// (Table 166 p. 395).
|
||
func (_gcda *BorderStyle )GetPdfName ()string {switch *_gcda {case BorderStyleSolid :return "\u0053";case BorderStyleDashed :return "\u0044";case BorderStyleBeveled :return "\u0042";case BorderStyleInset :return "\u0049";case BorderStyleUnderline :return "\u0055";};return "";};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_egec *PdfFunctionType2 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=1{_cga .Log .Error ("\u004f\u006e\u006c\u0079 o\u006e\u0065\u0020\u0069\u006e\u0070\u0075\u0074\u0020\u0061\u006c\u006c\u006f\u0077e\u0064");return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdacad :=[]float64 {0.0};if _egec .C0 !=nil {_gdacad =_egec .C0 ;};_fbcec :=[]float64 {1.0};if _egec .C1 !=nil {_fbcec =_egec .C1 ;};var _dgbcf []float64 ;for _eddbb :=0;_eddbb < len (_gdacad );_eddbb ++{_cbcef :=_gdacad [_eddbb ]+_edb .Pow (x [0],_egec .N )*(_fbcec [_eddbb ]-_gdacad [_eddbb ]);_dgbcf =append (_dgbcf ,_cbcef );};return _dgbcf ,nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 3 for an RGB device.
|
||
func (_acad *PdfColorspaceDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// MergePageWith appends page content to source Pdf file page content.
|
||
func (_gcebe *PdfAppender )MergePageWith (pageNum int ,page *PdfPage )error {_gddb :=pageNum -1;var _adcd *PdfPage ;for _dcbc ,_cadc :=range _gcebe ._cgcg {if _dcbc ==_gddb {_adcd =_cadc ;};};if _adcd ==nil {return _e .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 _adcd ._cfabg !=nil &&_adcd ._cfabg .GetParser ()==_gcebe ._adcc ._ecage {_adcd =_adcd .Duplicate ();_gcebe ._cgcg [_gddb ]=_adcd ;};page =page .Duplicate ();_bdba (page );_dafa :=_dbe (_adcd );_baafg :=_dbe (page );_bcad :=make (map[_bcb .PdfObjectName ]_bcb .PdfObjectName );for _bgaa :=range _baafg {if _ ,_gcdad :=_dafa [_bgaa ];_gcdad {for _aada :=1;true ;_aada ++{_bdag :=_bcb .PdfObjectName (string (_bgaa )+_ea .Itoa (_aada ));if _ ,_bgdf :=_dafa [_bdag ];!_bgdf {_bcad [_bgaa ]=_bdag ;break ;};};};};_cabd ,_bad :=page .GetContentStreams ();if _bad !=nil {return _bad ;};_afaa ,_bad :=_adcd .GetContentStreams ();if _bad !=nil {return _bad ;};for _dabdc ,_abga :=range _cabd {for _cbc ,_ffec :=range _bcad {_abga =_gc .Replace (_abga ,"\u002f"+string (_cbc ),"\u002f"+string (_ffec ),-1);};_cabd [_dabdc ]=_abga ;};_afaa =append (_afaa ,_cabd ...);if _ddef :=_adcd .SetContentStreams (_afaa ,_bcb .NewFlateEncoder ());_ddef !=nil {return _ddef ;};_adcd ._adgce =append (_adcd ._adgce ,page ._adgce ...);if _adcd .Resources ==nil {_adcd .Resources =NewPdfPageResources ();};if page .Resources !=nil {_adcd .Resources .Font =_gcebe .mergeResources (_adcd .Resources .Font ,page .Resources .Font ,_bcad );_adcd .Resources .XObject =_gcebe .mergeResources (_adcd .Resources .XObject ,page .Resources .XObject ,_bcad );_adcd .Resources .Properties =_gcebe .mergeResources (_adcd .Resources .Properties ,page .Resources .Properties ,_bcad );if _adcd .Resources .ProcSet ==nil {_adcd .Resources .ProcSet =page .Resources .ProcSet ;};_adcd .Resources .Shading =_gcebe .mergeResources (_adcd .Resources .Shading ,page .Resources .Shading ,_bcad );_adcd .Resources .ExtGState =_gcebe .mergeResources (_adcd .Resources .ExtGState ,page .Resources .ExtGState ,_bcad );};_bcbd ,_bad :=_adcd .GetMediaBox ();if _bad !=nil {return _bad ;};_fac ,_bad :=page .GetMediaBox ();if _bad !=nil {return _bad ;};var _cbca bool ;if _bcbd .Llx > _fac .Llx {_bcbd .Llx =_fac .Llx ;_cbca =true ;};if _bcbd .Lly > _fac .Lly {_bcbd .Lly =_fac .Lly ;_cbca =true ;};if _bcbd .Urx < _fac .Urx {_bcbd .Urx =_fac .Urx ;_cbca =true ;};if _bcbd .Ury < _fac .Ury {_bcbd .Ury =_fac .Ury ;_cbca =true ;};if _cbca {_adcd .MediaBox =_bcbd ;};return nil ;};
|
||
|
||
// GetBorderWidth returns the border style's width.
|
||
func (_fda *PdfBorderStyle )GetBorderWidth ()float64 {if _fda .W ==nil {return 1;};return *_fda .W ;};
|
||
|
||
// PdfRectangle is a definition of a rectangle.
|
||
type PdfRectangle struct{Llx float64 ;Lly float64 ;Urx float64 ;Ury float64 ;};type fontCommon struct{_daeb string ;_abgg string ;_gbfc string ;_ebfc _bcb .PdfObject ;_ecbe *_dc .CMap ;_ecaed *PdfFontDescriptor ;_dgbe int64 ;};
|
||
|
||
// ToPdfObject returns the choice field dictionary within an indirect object (container).
|
||
func (_bacfg *PdfFieldChoice )ToPdfObject ()_bcb .PdfObject {_bacfg .PdfField .ToPdfObject ();_ced :=_bacfg ._gggf ;_cdfc :=_ced .PdfObject .(*_bcb .PdfObjectDictionary );_cdfc .Set ("\u0046\u0054",_bcb .MakeName ("\u0043\u0068"));if _bacfg .Opt !=nil {_cdfc .Set ("\u004f\u0070\u0074",_bacfg .Opt );};if _bacfg .TI !=nil {_cdfc .Set ("\u0054\u0049",_bacfg .TI );};if _bacfg .I !=nil {_cdfc .Set ("\u0049",_bacfg .I );};return _ced ;};
|
||
|
||
// PdfAnnotationMarkup represents additional fields for mark-up annotations.
|
||
// (Section 12.5.6.2 p. 399).
|
||
type PdfAnnotationMarkup struct{T _bcb .PdfObject ;Popup *PdfAnnotationPopup ;CA _bcb .PdfObject ;RC _bcb .PdfObject ;CreationDate _bcb .PdfObject ;IRT _bcb .PdfObject ;Subj _bcb .PdfObject ;RT _bcb .PdfObject ;IT _bcb .PdfObject ;ExData _bcb .PdfObject ;};func (_bcaa *PdfReader )newPdfAnnotationSquareFromDict (_bdec *_bcb .PdfObjectDictionary )(*PdfAnnotationSquare ,error ){_dbbg :=PdfAnnotationSquare {};_dfba ,_gff :=_bcaa .newPdfAnnotationMarkupFromDict (_bdec );if _gff !=nil {return nil ,_gff ;};_dbbg .PdfAnnotationMarkup =_dfba ;_dbbg .BS =_bdec .Get ("\u0042\u0053");_dbbg .IC =_bdec .Get ("\u0049\u0043");_dbbg .BE =_bdec .Get ("\u0042\u0045");_dbbg .RD =_bdec .Get ("\u0052\u0044");return &_dbbg ,nil ;};
|
||
|
||
// PdfFieldChoice represents a choice field which includes scrollable list boxes and combo boxes.
|
||
type PdfFieldChoice struct{*PdfField ;Opt *_bcb .PdfObjectArray ;TI *_bcb .PdfObjectInteger ;I *_bcb .PdfObjectArray ;};func (_cefaf SignatureValidationResult )String ()string {var _dbbfb _ede .Buffer ;_dbbfb .WriteString (_e .Sprintf ("\u004ea\u006d\u0065\u003a\u0020\u0025\u0073\n",_cefaf .Name ));if _cefaf .Date ._ffcaf > 0{_dbbfb .WriteString (_e .Sprintf ("\u0044a\u0074\u0065\u003a\u0020\u0025\u0073\n",_cefaf .Date .ToGoTime ().String ()));}else {_dbbfb .WriteString ("\u0044\u0061\u0074\u0065 n\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_cefaf .Reason )> 0{_dbbfb .WriteString (_e .Sprintf ("R\u0065\u0061\u0073\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_cefaf .Reason ));}else {_dbbfb .WriteString ("N\u006f \u0072\u0065\u0061\u0073\u006f\u006e\u0020\u0073p\u0065\u0063\u0069\u0066ie\u0064\u000a");};if len (_cefaf .Location )> 0{_dbbfb .WriteString (_e .Sprintf ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0073\u000a",_cefaf .Location ));}else {_dbbfb .WriteString ("\u004c\u006f\u0063at\u0069\u006f\u006e\u0020\u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064\u000a");};if len (_cefaf .ContactInfo )> 0{_dbbfb .WriteString (_e .Sprintf ("\u0043\u006f\u006e\u0074\u0061\u0063\u0074\u0020\u0049\u006e\u0066\u006f:\u0020\u0025\u0073\u000a",_cefaf .ContactInfo ));}else {_dbbfb .WriteString ("C\u006f\u006e\u0074\u0061\u0063\u0074 \u0069\u006e\u0066\u006f\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063i\u0066i\u0065\u0064\u000a");};_dbbfb .WriteString (_e .Sprintf ("F\u0069\u0065\u006c\u0064\u0073\u003a\u0020\u0025\u0064\u000a",len (_cefaf .Fields )));if _cefaf .IsSigned {_dbbfb .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 {_dbbfb .WriteString ("\u0053\u0069\u0067\u006eed\u003a\u0020\u004e\u006f\u0074\u0020\u0073\u0069\u0067\u006e\u0065\u0064\u000a");};if _cefaf .IsVerified {_dbbfb .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 {_dbbfb .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 _cefaf .IsTrusted {_dbbfb .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 {_dbbfb .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 !_cefaf .GeneralizedTime .IsZero (){_dbbfb .WriteString (_e .Sprintf ("G\u0065n\u0065\u0072\u0061\u006c\u0069\u007a\u0065\u0064T\u0069\u006d\u0065\u003a %\u0073\u000a",_cefaf .GeneralizedTime .String ()));};return _dbbfb .String ();};
|
||
|
||
// String returns a string that describes `base`.
|
||
func (_agfgd fontCommon )String ()string {return _e .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0073\u007d",_agfgd .coreString ());};
|
||
|
||
// DecodeArray returns the component range values for the DeviceN colorspace.
|
||
// [0 1.0 0 1.0 ...] for each color component.
|
||
func (_eeab *PdfColorspaceDeviceN )DecodeArray ()[]float64 {var _beda []float64 ;for _dbdbe :=0;_dbdbe < _eeab .GetNumComponents ();_dbdbe ++{_beda =append (_beda ,0.0,1.0);};return _beda ;};
|
||
|
||
// 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 (_abbb *PdfFont )GetRuneMetrics (r rune )(CharMetrics ,bool ){_ccca :=_abbb .actualFont ();if _ccca ==nil {_cga .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",_abbb ._fgge );return _acc .CharMetrics {},false ;};if _aabf ,_dfgb :=_ccca .GetRuneMetrics (r );_dfgb {return _aabf ,true ;};if _feccf ,_dbce :=_abbb .GetFontDescriptor ();_dbce ==nil &&_feccf !=nil {return _acc .CharMetrics {Wx :_feccf ._adfb },true ;};_cga .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",_abbb );return _acc .CharMetrics {},false ;};const (ButtonTypeCheckbox ButtonType =iota ;ButtonTypePush ButtonType =iota ;ButtonTypeRadio ButtonType =iota ;);
|
||
|
||
// NewPdfColorspaceCalGray returns a new CalGray colorspace object.
|
||
func NewPdfColorspaceCalGray ()*PdfColorspaceCalGray {_defgc :=&PdfColorspaceCalGray {};_defgc .BlackPoint =[]float64 {0.0,0.0,0.0};_defgc .Gamma =1;return _defgc ;};func (_cag *PdfReader )newPdfActionGotoFromDict (_aba *_bcb .PdfObjectDictionary )(*PdfActionGoTo ,error ){return &PdfActionGoTo {D :_aba .Get ("\u0044")},nil ;};func (_bgab *PdfPage )setContainer (_bgaab *_bcb .PdfIndirectObject ){_bgaab .PdfObject =_bgab ._fagg ;_bgab ._cfabg =_bgaab ;};
|
||
|
||
// 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 (_cfcfd *PdfFont )GetCharMetrics (code _ddd .CharCode )(CharMetrics ,bool ){var _gabbd _acc .CharMetrics ;switch _eadc :=_cfcfd ._fgge .(type ){case *pdfFontSimple :if _dbaca ,_cacff :=_eadc .GetCharMetrics (code );_cacff {return _dbaca ,_cacff ;};case *pdfFontType0 :if _dedff ,_ecag :=_eadc .GetCharMetrics (code );_ecag {return _dedff ,_ecag ;};case *pdfCIDFontType0 :if _ebcaa ,_gggb :=_eadc .GetCharMetrics (code );_gggb {return _ebcaa ,_gggb ;};case *pdfCIDFontType2 :if _begf ,_gaddc :=_eadc .GetCharMetrics (code );_gaddc {return _begf ,_gaddc ;};default:_cga .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",_cfcfd ._fgge );return _gabbd ,false ;};if _ccdff ,_beagf :=_cfcfd .GetFontDescriptor ();_beagf ==nil &&_ccdff !=nil {return _acc .CharMetrics {Wx :_ccdff ._adfb },true ;};_cga .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",_cfcfd );return _gabbd ,false ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dfae *PdfAnnotationScreen )ToPdfObject ()_bcb .PdfObject {_dfae .PdfAnnotation .ToPdfObject ();_bfgc :=_dfae ._daa ;_cfada :=_bfgc .PdfObject .(*_bcb .PdfObjectDictionary );_cfada .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053\u0063\u0072\u0065\u0065\u006e"));_cfada .SetIfNotNil ("\u0054",_dfae .T );_cfada .SetIfNotNil ("\u004d\u004b",_dfae .MK );_cfada .SetIfNotNil ("\u0041",_dfae .A );_cfada .SetIfNotNil ("\u0041\u0041",_dfae .AA );return _bfgc ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_dgage pdfCIDFontType0 )GetCharMetrics (code _ddd .CharCode )(_acc .CharMetrics ,bool ){_cgfeg :=_dgage ._becg ;if _aeaf ,_cgfae :=_dgage ._gdbd [code ];_cgfae {_cgfeg =_aeaf ;};return _acc .CharMetrics {Wx :_cgfeg },true ;};
|
||
|
||
// NewPdfColorspaceDeviceN returns an initialized PdfColorspaceDeviceN.
|
||
func NewPdfColorspaceDeviceN ()*PdfColorspaceDeviceN {_afacg :=&PdfColorspaceDeviceN {};return _afacg ;};
|
||
|
||
// 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 (_cbgdc *PdfColorspaceCalGray )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_dfcc ,_eecg :=_bcb .GetNumbersAsFloat (objects );if _eecg !=nil {return nil ,_eecg ;};return _cbgdc .ColorFromFloats (_dfcc );};
|
||
|
||
// GetAsTilingPattern returns a tiling pattern. Check with IsTiling() prior to using this.
|
||
func (_cbcf *PdfPattern )GetAsTilingPattern ()*PdfTilingPattern {return _cbcf ._adccc .(*PdfTilingPattern );};func (_egf *PdfReader )newPdfAnnotationPrinterMarkFromDict (_ddfb *_bcb .PdfObjectDictionary )(*PdfAnnotationPrinterMark ,error ){_gbce :=PdfAnnotationPrinterMark {};_gbce .MN =_ddfb .Get ("\u004d\u004e");return &_gbce ,nil ;};
|
||
|
||
// GetAnnotations returns the list of page annotations for `page`. If not loaded attempts to load the
|
||
// annotations, otherwise returns the loaded list.
|
||
func (_cgdcd *PdfPage )GetAnnotations ()([]*PdfAnnotation ,error ){if _cgdcd ._adgce !=nil {return _cgdcd ._adgce ,nil ;};if _cgdcd .Annots ==nil {_cgdcd ._adgce =[]*PdfAnnotation {};return nil ,nil ;};if _cgdcd ._eeeba ==nil {_cgdcd ._adgce =[]*PdfAnnotation {};return nil ,nil ;};_ccgc ,_edfge :=_cgdcd ._eeeba .loadAnnotations (_cgdcd .Annots );if _edfge !=nil {return nil ,_edfge ;};if _ccgc ==nil {_cgdcd ._adgce =[]*PdfAnnotation {};};_cgdcd ._adgce =_ccgc ;return _cgdcd ._adgce ,nil ;};
|
||
|
||
// ColorToRGB converts a CalRGB color to an RGB color.
|
||
func (_fbce *PdfColorspaceCalRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_ccccd ,_gdef :=color .(*PdfColorCalRGB );if !_gdef {_cga .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 ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_dcefe :=_ccccd .A ();_cgeag :=_ccccd .B ();_gaca :=_ccccd .C ();X :=_fbce .Matrix [0]*_edb .Pow (_dcefe ,_fbce .Gamma [0])+_fbce .Matrix [3]*_edb .Pow (_cgeag ,_fbce .Gamma [1])+_fbce .Matrix [6]*_edb .Pow (_gaca ,_fbce .Gamma [2]);Y :=_fbce .Matrix [1]*_edb .Pow (_dcefe ,_fbce .Gamma [0])+_fbce .Matrix [4]*_edb .Pow (_cgeag ,_fbce .Gamma [1])+_fbce .Matrix [7]*_edb .Pow (_gaca ,_fbce .Gamma [2]);Z :=_fbce .Matrix [2]*_edb .Pow (_dcefe ,_fbce .Gamma [0])+_fbce .Matrix [5]*_edb .Pow (_cgeag ,_fbce .Gamma [1])+_fbce .Matrix [8]*_edb .Pow (_gaca ,_fbce .Gamma [2]);_cbff :=3.240479*X +-1.537150*Y +-0.498535*Z ;_fegf :=-0.969256*X +1.875992*Y +0.041556*Z ;_cabg :=0.055648*X +-0.204043*Y +1.057311*Z ;_cbff =_edb .Min (_edb .Max (_cbff ,0),1.0);_fegf =_edb .Min (_edb .Max (_fegf ,0),1.0);_cabg =_edb .Min (_edb .Max (_cabg ,0),1.0);return NewPdfColorDeviceRGB (_cbff ,_fegf ,_cabg ),nil ;};func (_efbc *PdfReader )newPdfAnnotationCaretFromDict (_bdc *_bcb .PdfObjectDictionary )(*PdfAnnotationCaret ,error ){_deaf :=PdfAnnotationCaret {};_adg ,_bec :=_efbc .newPdfAnnotationMarkupFromDict (_bdc );if _bec !=nil {return nil ,_bec ;};_deaf .PdfAnnotationMarkup =_adg ;_deaf .RD =_bdc .Get ("\u0052\u0044");_deaf .Sy =_bdc .Get ("\u0053\u0079");return &_deaf ,nil ;};
|
||
|
||
// NewOutline returns a new outline instance.
|
||
func NewOutline ()*Outline {return &Outline {}};
|
||
|
||
// ToPdfObject converts the pdfFontSimple to its PDF representation for outputting.
|
||
func (_egded *pdfFontSimple )ToPdfObject ()_bcb .PdfObject {if _egded ._cdadc ==nil {_egded ._cdadc =&_bcb .PdfIndirectObject {};};_beed :=_egded .baseFields ().asPdfObjectDictionary ("");_egded ._cdadc .PdfObject =_beed ;if _egded .FirstChar !=nil {_beed .Set ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r",_egded .FirstChar );};if _egded .LastChar !=nil {_beed .Set ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072",_egded .LastChar );};if _egded .Widths !=nil {_beed .Set ("\u0057\u0069\u0064\u0074\u0068\u0073",_egded .Widths );};if _egded .Encoding !=nil {_beed .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_egded .Encoding );}else if _egded ._fdebc !=nil {_adcee :=_egded ._fdebc .ToPdfObject ();if _adcee !=nil {_beed .Set ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_adcee );};};return _egded ._cdadc ;};
|
||
|
||
// NewPdfColorLab returns a new Lab color.
|
||
func NewPdfColorLab (l ,a ,b float64 )*PdfColorLab {_cdgc :=PdfColorLab {l ,a ,b };return &_cdgc };
|
||
|
||
// HasXObjectByName checks if an XObject with a specified keyName is defined.
|
||
func (_cgfdc *PdfPageResources )HasXObjectByName (keyName _bcb .PdfObjectName )bool {_fagb ,_ :=_cgfdc .GetXObjectByName (keyName );return _fagb !=nil ;};
|
||
|
||
// 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 ;_adccc PdfModel ;_becda _bcb .PdfObject ;};func (_aggge *LTV )getOCSPs (_acaeb []*_ffg .Certificate ,_adff map[string ]*_ffg .Certificate )([][]byte ,error ){_cgffg :=make ([][]byte ,0,len (_acaeb ));for _ ,_bggd :=range _acaeb {for _ ,_dcbf :=range _bggd .OCSPServer {if _aggge .CertClient .IsCA (_bggd ){continue ;};_gebge ,_gbefd :=_adff [_bggd .Issuer .CommonName ];if !_gbefd {_cga .Log .Debug ("\u0057\u0041\u0052\u004e:\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067 \u004f\u0043\u0053\u0050\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u003a\u0020\u0069\u0073\u0073\u0075e\u0072\u0020\u0063\u0065\u0072t\u0069\u0066\u0069\u0063\u0061\u0074\u0065\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");continue ;};_ ,_aacbd ,_cefaa :=_aggge .OCSPClient .MakeRequest (_dcbf ,_bggd ,_gebge );if _cefaa !=nil {_cga .Log .Debug ("\u0057\u0041\u0052\u004e:\u0020\u004f\u0043\u0053\u0050\u0020\u0072\u0065\u0071\u0075e\u0073t\u0020\u0065\u0072\u0072\u006f\u0072\u003a \u0025\u0076",_cefaa );continue ;};_cgffg =append (_cgffg ,_aacbd );};};return _cgffg ,nil ;};
|
||
|
||
// NewLTV returns a new LTV client.
|
||
func NewLTV (appender *PdfAppender )(*LTV ,error ){_addb :=appender .Reader .DSS ;if _addb ==nil {_addb =NewDSS ();};if _aegbe :=_addb .generateHashMaps ();_aegbe !=nil {return nil ,_aegbe ;};return <V {CertClient :_ddg .NewCertClient (),OCSPClient :_ddg .NewOCSPClient (),CRLClient :_ddg .NewCRLClient (),SkipExisting :true ,_dfegg :appender ,_gddf :_addb },nil ;};func (_dacc *PdfColorspaceLab )String ()string {return "\u004c\u0061\u0062"};
|
||
|
||
// NewPdfAnnotationProjection returns a new projection annotation.
|
||
func NewPdfAnnotationProjection ()*PdfAnnotationProjection {_ccc :=NewPdfAnnotation ();_baf :=&PdfAnnotationProjection {};_baf .PdfAnnotation =_ccc ;_baf .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_ccc .SetContext (_baf );return _baf ;};func _ebeed (_cfege []byte )([]byte ,error ){_babfg :=_gb .New ();if _ ,_agab :=_fb .Copy (_babfg ,_ede .NewReader (_cfege ));_agab !=nil {return nil ,_agab ;};return _babfg .Sum (nil ),nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ge *PdfAction )ToPdfObject ()_bcb .PdfObject {_fcb :=_ge ._dce ;_gea :=_fcb .PdfObject .(*_bcb .PdfObjectDictionary );_gea .Clear ();_gea .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0041\u0063\u0074\u0069\u006f\u006e"));_gea .SetIfNotNil ("\u0053",_ge .S );_gea .SetIfNotNil ("\u004e\u0065\u0078\u0074",_ge .Next );return _fcb ;};
|
||
|
||
// AddImageResource adds an image to the XObject resources.
|
||
func (_ccgb *PdfPage )AddImageResource (name _bcb .PdfObjectName ,ximg *XObjectImage )error {var _cbaa *_bcb .PdfObjectDictionary ;if _ccgb .Resources .XObject ==nil {_cbaa =_bcb .MakeDict ();_ccgb .Resources .XObject =_cbaa ;}else {var _gbacc bool ;_cbaa ,_gbacc =(_ccgb .Resources .XObject ).(*_bcb .PdfObjectDictionary );if !_gbacc {return _ae .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u0078\u0072\u0065\u0073\u0020\u0064\u0069\u0063\u0074\u0020\u0074\u0079p\u0065");};};_cbaa .Set (name ,ximg .ToPdfObject ());return nil ;};
|
||
|
||
// IsRadio returns true if the button field represents a radio button, false otherwise.
|
||
func (_aeade *PdfFieldButton )IsRadio ()bool {return _aeade .GetType ()==ButtonTypeRadio };
|
||
|
||
// GetContainingPdfObject returns the XObject Form's containing object (indirect object).
|
||
func (_aaace *XObjectForm )GetContainingPdfObject ()_bcb .PdfObject {return _aaace ._egcgbg };func _bcfbf ()string {return _cga .Version };type crossReference struct{Type int ;
|
||
|
||
// Type 1
|
||
Offset int64 ;Generation int64 ;
|
||
|
||
// Type 2
|
||
ObjectNumber int ;Index int ;};
|
||
|
||
// PdfActionMovie represents a movie action.
|
||
type PdfActionMovie struct{*PdfAction ;Annotation _bcb .PdfObject ;T _bcb .PdfObject ;Operation _bcb .PdfObject ;};
|
||
|
||
// GetOptimizer returns current PDF optimizer.
|
||
func (_ggadee *PdfWriter )GetOptimizer ()Optimizer {return _ggadee ._bgefd };
|
||
|
||
// R returns the value of the red component of the color.
|
||
func (_bedg *PdfColorDeviceRGB )R ()float64 {return _bedg [0]};
|
||
|
||
// PdfColor interface represents a generic color in PDF.
|
||
type PdfColor interface{};
|
||
|
||
// NewPdfAnnotationTrapNet returns a new trapnet annotation.
|
||
func NewPdfAnnotationTrapNet ()*PdfAnnotationTrapNet {_bcbg :=NewPdfAnnotation ();_edac :=&PdfAnnotationTrapNet {};_edac .PdfAnnotation =_bcbg ;_bcbg .SetContext (_edac );return _edac ;};
|
||
|
||
// 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 (_eebbe *PdfPageResources )GetFontByName (keyName _bcb .PdfObjectName )(_bcb .PdfObject ,bool ){if _eebbe .Font ==nil {return nil ,false ;};_dceef ,_efbf :=_bcb .TraceToDirectObject (_eebbe .Font ).(*_bcb .PdfObjectDictionary );if !_efbf {_cga .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",_bcb .TraceToDirectObject (_eebbe .Font ));return nil ,false ;};if _dgaee :=_dceef .Get (keyName );_dgaee !=nil {return _dgaee ,true ;};return nil ,false ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the tiling pattern.
|
||
func (_bebc *PdfTilingPattern )ToPdfObject ()_bcb .PdfObject {_bebc .PdfPattern .ToPdfObject ();_daef :=_bebc .getDict ();if _bebc .PaintType !=nil {_daef .Set ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e",_bebc .PaintType );};if _bebc .TilingType !=nil {_daef .Set ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_bebc .TilingType );};if _bebc .BBox !=nil {_daef .Set ("\u0042\u0042\u006f\u0078",_bebc .BBox .ToPdfObject ());};if _bebc .XStep !=nil {_daef .Set ("\u0058\u0053\u0074e\u0070",_bebc .XStep );};if _bebc .YStep !=nil {_daef .Set ("\u0059\u0053\u0074e\u0070",_bebc .YStep );};if _bebc .Resources !=nil {_daef .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_bebc .Resources .ToPdfObject ());};if _bebc .Matrix !=nil {_daef .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_bebc .Matrix );};return _bebc ._becda ;};
|
||
|
||
// NewPdfColorspaceDeviceRGB returns a new RGB colorspace object.
|
||
func NewPdfColorspaceDeviceRGB ()*PdfColorspaceDeviceRGB {return &PdfColorspaceDeviceRGB {}};
|
||
|
||
// PdfAnnotationLink represents Link annotations.
|
||
// (Section 12.5.6.5 p. 403).
|
||
type PdfAnnotationLink struct{*PdfAnnotation ;A _bcb .PdfObject ;Dest _bcb .PdfObject ;H _bcb .PdfObject ;PA _bcb .PdfObject ;QuadPoints _bcb .PdfObject ;BS _bcb .PdfObject ;_bda *PdfAction ;_gca *PdfReader ;};
|
||
|
||
// GetPageLabels returns the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_daagd *PdfReader )GetPageLabels ()(_bcb .PdfObject ,error ){_eabdbc :=_bcb .ResolveReference (_daagd ._fccd .Get ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073"));if _eabdbc ==nil {return nil ,nil ;};if !_daagd ._abdcg {_eaad :=_daagd .traverseObjectData (_eabdbc );if _eaad !=nil {return nil ,_eaad ;};};return _eabdbc ,nil ;};
|
||
|
||
// Inspect inspects the object types, subtypes and content in the PDF file returning a map of
|
||
// object type to number of instances of each.
|
||
func (_gggea *PdfReader )Inspect ()(map[string ]int ,error ){return _gggea ._ecage .Inspect ()};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ead *PdfActionImportData )ToPdfObject ()_bcb .PdfObject {_ead .PdfAction .ToPdfObject ();_de :=_ead ._dce ;_fba :=_de .PdfObject .(*_bcb .PdfObjectDictionary );_fba .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeImportData )));if _ead .F !=nil {_fba .Set ("\u0046",_ead .F .ToPdfObject ());};return _de ;};
|
||
|
||
// 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{_fegde PdfModel ;_gggf *_bcb .PdfIndirectObject ;Parent *PdfField ;Annotations []*PdfAnnotationWidget ;Kids []*PdfField ;FT *_bcb .PdfObjectName ;T *_bcb .PdfObjectString ;TU *_bcb .PdfObjectString ;TM *_bcb .PdfObjectString ;Ff *_bcb .PdfObjectInteger ;V _bcb .PdfObject ;DV _bcb .PdfObject ;AA _bcb .PdfObject ;};
|
||
|
||
// PdfShadingType1 is a Function-based shading.
|
||
type PdfShadingType1 struct{*PdfShading ;Domain *_bcb .PdfObjectArray ;Matrix *_bcb .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// SetAnnotations sets the annotations list.
|
||
func (_dacecg *PdfPage )SetAnnotations (annotations []*PdfAnnotation ){_dacecg ._adgce =annotations };func _fdcgg ()_d .Time {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _egegc };
|
||
|
||
// PdfAnnotationFileAttachment represents FileAttachment annotations.
|
||
// (Section 12.5.6.15).
|
||
type PdfAnnotationFileAttachment struct{*PdfAnnotation ;*PdfAnnotationMarkup ;FS _bcb .PdfObject ;Name _bcb .PdfObject ;};
|
||
|
||
// PdfDate represents a date, which is a PDF string of the form:
|
||
// (D:YYYYMMDDHHmmSSOHH'mm)
|
||
type PdfDate struct{_ffcaf int64 ;_caegfa int64 ;_egaf int64 ;_dagbf int64 ;_dgdge int64 ;_adbfb int64 ;_ddadb byte ;_cdaaf int64 ;_afde int64 ;};func (_dg *PdfReader )newPdfActionNamedFromDict (_fbcg *_bcb .PdfObjectDictionary )(*PdfActionNamed ,error ){return &PdfActionNamed {N :_fbcg .Get ("\u004e")},nil ;};func (_bcea *PdfReader )newPdfAnnotationWatermarkFromDict (_adee *_bcb .PdfObjectDictionary )(*PdfAnnotationWatermark ,error ){_edbg :=PdfAnnotationWatermark {};_edbg .FixedPrint =_adee .Get ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074");return &_edbg ,nil ;};func (_fgaa *LTV )buildCertChain (_dgdfb ,_ecbec []*_ffg .Certificate )([]*_ffg .Certificate ,map[string ]*_ffg .Certificate ,error ){_gbaca :=map[string ]*_ffg .Certificate {};for _ ,_geedb :=range _dgdfb {_gbaca [_geedb .Subject .CommonName ]=_geedb ;};_eedd :=_dgdfb ;for _ ,_aefa :=range _ecbec {_efacf :=_aefa .Subject .CommonName ;if _ ,_ccfeb :=_gbaca [_efacf ];_ccfeb {continue ;};_gbaca [_efacf ]=_aefa ;_eedd =append (_eedd ,_aefa );};if len (_eedd )==0{return nil ,nil ,ErrSignNoCertificates ;};var _dcbca error ;for _bbdbg :=_eedd [0];_bbdbg !=nil &&!_fgaa .CertClient .IsCA (_bbdbg );{_dbgbd ,_gdcca :=_gbaca [_bbdbg .Issuer .CommonName ];if !_gdcca {if _dbgbd ,_dcbca =_fgaa .CertClient .GetIssuer (_bbdbg );_dcbca !=nil {_cga .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0043\u006f\u0075\u006cd\u0020\u006e\u006f\u0074\u0020\u0072\u0065tr\u0069\u0065\u0076\u0065 \u0063\u0065\u0072\u0074\u0069\u0066\u0069\u0063\u0061te\u0020\u0069s\u0073\u0075\u0065\u0072\u003a\u0020\u0025\u0076",_dcbca );break ;};_gbaca [_bbdbg .Issuer .CommonName ]=_dbgbd ;_eedd =append (_eedd ,_dbgbd );};_bbdbg =_dbgbd ;};return _eedd ,_gbaca ,nil ;};
|
||
|
||
// Clear clears flag fl from the flag and returns the resulting flag.
|
||
func (_ggba FieldFlag )Clear (fl FieldFlag )FieldFlag {return FieldFlag (_ggba .Mask ()&^fl .Mask ())};func (_bbfd *PdfReader )newPdfAnnotationTextFromDict (_afgg *_bcb .PdfObjectDictionary )(*PdfAnnotationText ,error ){_afac :=PdfAnnotationText {};_bbd ,_dfb :=_bbfd .newPdfAnnotationMarkupFromDict (_afgg );if _dfb !=nil {return nil ,_dfb ;};_afac .PdfAnnotationMarkup =_bbd ;_afac .Open =_afgg .Get ("\u004f\u0070\u0065\u006e");_afac .Name =_afgg .Get ("\u004e\u0061\u006d\u0065");_afac .State =_afgg .Get ("\u0053\u0074\u0061t\u0065");_afac .StateModel =_afgg .Get ("\u0053\u0074\u0061\u0074\u0065\u004d\u006f\u0064\u0065\u006c");return &_afac ,nil ;};
|
||
|
||
// GetCustomInfo returns a custom info value for the specified name.
|
||
func (_dffa *PdfInfo )GetCustomInfo (name string )*_bcb .PdfObjectString {var _ffda *_bcb .PdfObjectString ;if _dffa ._affda ==nil {return _ffda ;};if _gffe ,_eafg :=_dffa ._affda .Get (*_bcb .MakeName (name )).(*_bcb .PdfObjectString );_eafg {_ffda =_gffe ;};return _ffda ;};
|
||
|
||
// PdfOutlineItem represents an outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type PdfOutlineItem struct{PdfOutlineTreeNode ;Title *_bcb .PdfObjectString ;Parent *PdfOutlineTreeNode ;Prev *PdfOutlineTreeNode ;Next *PdfOutlineTreeNode ;Count *int64 ;Dest _bcb .PdfObject ;A _bcb .PdfObject ;SE _bcb .PdfObject ;C _bcb .PdfObject ;F _bcb .PdfObject ;_afff *_bcb .PdfIndirectObject ;};
|
||
|
||
// PdfAnnotation represents an annotation in PDF (section 12.5 p. 389).
|
||
type PdfAnnotation struct{_feb PdfModel ;Rect _bcb .PdfObject ;Contents _bcb .PdfObject ;P _bcb .PdfObject ;NM _bcb .PdfObject ;M _bcb .PdfObject ;F _bcb .PdfObject ;AP _bcb .PdfObject ;AS _bcb .PdfObject ;Border _bcb .PdfObject ;C _bcb .PdfObject ;StructParent _bcb .PdfObject ;OC _bcb .PdfObject ;_daa *_bcb .PdfIndirectObject ;};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_eged *PdfColorCalGray )ToInteger (bits int )uint32 {_defd :=_edb .Pow (2,float64 (bits ))-1;return uint32 (_defd *_eged .Val ());};
|
||
|
||
// B returns the value of the blue component of the color.
|
||
func (_ddgf *PdfColorDeviceRGB )B ()float64 {return _ddgf [2]};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gaae *PdfAnnotationPopup )ToPdfObject ()_bcb .PdfObject {_gaae .PdfAnnotation .ToPdfObject ();_ebfe :=_gaae ._daa ;_cba :=_ebfe .PdfObject .(*_bcb .PdfObjectDictionary );_cba .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0050\u006f\u0070u\u0070"));_cba .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_gaae .Parent );_cba .SetIfNotNil ("\u004f\u0070\u0065\u006e",_gaae .Open );return _ebfe ;};type pdfCIDFontType2 struct{fontCommon ;_egegg *_bcb .PdfIndirectObject ;_acgdf _ddd .TextEncoder ;
|
||
|
||
// Table 117 – Entries in a CIDFont dictionary (page 269)
|
||
// Dictionary that defines the character collection of the CIDFont (required).
|
||
// See Table 116.
|
||
CIDSystemInfo *_bcb .PdfObjectDictionary ;
|
||
|
||
// Glyph metrics fields (optional).
|
||
DW _bcb .PdfObject ;W _bcb .PdfObject ;DW2 _bcb .PdfObject ;W2 _bcb .PdfObject ;
|
||
|
||
// CIDs to glyph indices mapping (optional).
|
||
CIDToGIDMap _bcb .PdfObject ;_ggfgf map[_ddd .CharCode ]float64 ;_adcad float64 ;_gggbf map[rune ]int ;};
|
||
|
||
// NewPdfAnnotationMovie returns a new movie annotation.
|
||
func NewPdfAnnotationMovie ()*PdfAnnotationMovie {_gfcg :=NewPdfAnnotation ();_ada :=&PdfAnnotationMovie {};_ada .PdfAnnotation =_gfcg ;_gfcg .SetContext (_ada );return _ada ;};func (_gaead *PdfFunctionType0 )processSamples ()error {_dccfa :=_cgb .ResampleBytes (_gaead ._cdcfa ,_gaead .BitsPerSample );_gaead ._agdbe =_dccfa ;return nil ;};
|
||
|
||
// ToPdfObject convert PdfInfo to pdf object.
|
||
func (_eege *PdfInfo )ToPdfObject ()_bcb .PdfObject {_cdedf :=_bcb .MakeDict ();_cdedf .SetIfNotNil ("\u0054\u0069\u0074l\u0065",_eege .Title );_cdedf .SetIfNotNil ("\u0041\u0075\u0074\u0068\u006f\u0072",_eege .Author );_cdedf .SetIfNotNil ("\u0053u\u0062\u006a\u0065\u0063\u0074",_eege .Subject );_cdedf .SetIfNotNil ("\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_eege .Keywords );_cdedf .SetIfNotNil ("\u0043r\u0065\u0061\u0074\u006f\u0072",_eege .Creator );_cdedf .SetIfNotNil ("\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_eege .Producer );_cdedf .SetIfNotNil ("\u0054r\u0061\u0070\u0070\u0065\u0064",_eege .Trapped );if _eege .CreationDate !=nil {_cdedf .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_eege .CreationDate .ToPdfObject ());};if _eege .ModifiedDate !=nil {_cdedf .SetIfNotNil ("\u004do\u0064\u0044\u0061\u0074\u0065",_eege .ModifiedDate .ToPdfObject ());};for _ ,_dedb :=range _eege ._affda .Keys (){_cdedf .SetIfNotNil (_dedb ,_eege ._affda .Get (_dedb ));};return _cdedf ;};func _gdgfe (_gffg []byte )bool {if len (_gffg )< 4{return true ;};for _dbbgg :=range _gffg [:4]{_cede :=rune (_dbbgg );if !_gbb .Is (_gbb .ASCII_Hex_Digit ,_cede )&&!_gbb .IsSpace (_cede ){return true ;};};return false ;};
|
||
|
||
// AppendContentBytes creates a PDF stream from `cs` and appends it to the
|
||
// array of streams specified by the pages's Contents entry.
|
||
// If `wrapContents` is true, the content stream of the page is wrapped using
|
||
// a `q/Q` operator pair, so that its state does not affect the appended
|
||
// content stream.
|
||
func (_bcacbd *PdfPage )AppendContentBytes (cs []byte ,wrapContents bool )error {_cabb :=_bcacbd .GetContentStreamObjs ();wrapContents =wrapContents &&len (_cabb )> 0;_fegac :=_bcb .NewFlateEncoder ();_dacg :=_bcb .MakeArray ();if wrapContents {_egcgc ,_aaabd :=_bcb .MakeStream ([]byte ("\u0071\u000a"),_fegac );if _aaabd !=nil {return _aaabd ;};_dacg .Append (_egcgc );};_dacg .Append (_cabb ...);if wrapContents {_edgfd ,_gfbd :=_bcb .MakeStream ([]byte ("\u000a\u0051\u000a"),_fegac );if _gfbd !=nil {return _gfbd ;};_dacg .Append (_edgfd );};_agdcgb ,_ecdef :=_bcb .MakeStream (cs ,_fegac );if _ecdef !=nil {return _ecdef ;};_dacg .Append (_agdcgb );_bcacbd .Contents =_dacg ;return nil ;};
|
||
|
||
// L returns the value of the L component of the color.
|
||
func (_cbgg *PdfColorLab )L ()float64 {return _cbgg [0]};func _cccfe (_dgfgg _bcb .PdfObject )(*PdfColorspaceCalGray ,error ){_egc :=NewPdfColorspaceCalGray ();if _feab ,_bbdg :=_dgfgg .(*_bcb .PdfIndirectObject );_bbdg {_egc ._ecgg =_feab ;};_dgfgg =_bcb .TraceToDirectObject (_dgfgg );_fbbdf ,_dfcda :=_dgfgg .(*_bcb .PdfObjectArray );if !_dfcda {return nil ,_e .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _fbbdf .Len ()!=2{return nil ,_e .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");};_dgfgg =_bcb .TraceToDirectObject (_fbbdf .Get (0));_cded ,_dfcda :=_dgfgg .(*_bcb .PdfObjectName );if !_dfcda {return nil ,_e .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 *_cded !="\u0043a\u006c\u0047\u0072\u0061\u0079"{return nil ,_e .Errorf ("\u006eo\u0074\u0020\u0061\u0020\u0043\u0061\u006c\u0047\u0072\u0061\u0079 \u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_dgfgg =_bcb .TraceToDirectObject (_fbbdf .Get (1));_ccdda ,_dfcda :=_dgfgg .(*_bcb .PdfObjectDictionary );if !_dfcda {return nil ,_e .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");};_dgfgg =_ccdda .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_dgfgg =_bcb .TraceToDirectObject (_dgfgg );_gefa ,_dfcda :=_dgfgg .(*_bcb .PdfObjectArray );if !_dfcda {return nil ,_e .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 _gefa .Len ()!=3{return nil ,_e .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");};_bfgcf ,_gdbbe :=_gefa .GetAsFloat64Slice ();if _gdbbe !=nil {return nil ,_gdbbe ;};_egc .WhitePoint =_bfgcf ;_dgfgg =_ccdda .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _dgfgg !=nil {_dgfgg =_bcb .TraceToDirectObject (_dgfgg );_dded ,_dcee :=_dgfgg .(*_bcb .PdfObjectArray );if !_dcee {return nil ,_e .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 _dded .Len ()!=3{return nil ,_e .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");};_faaa ,_aab :=_dded .GetAsFloat64Slice ();if _aab !=nil {return nil ,_aab ;};_egc .BlackPoint =_faaa ;};_dgfgg =_ccdda .Get ("\u0047\u0061\u006dm\u0061");if _dgfgg !=nil {_dgfgg =_bcb .TraceToDirectObject (_dgfgg );_efec ,_bdagc :=_bcb .GetNumberAsFloat (_dgfgg );if _bdagc !=nil {return nil ,_e .Errorf ("C\u0061\u006c\u0047\u0072\u0061\u0079:\u0020\u0067\u0061\u006d\u006d\u0061\u0020\u006e\u006ft\u0020\u0061\u0020n\u0075m\u0062\u0065\u0072");};_egc .Gamma =_efec ;};return _egc ,nil ;};
|
||
|
||
// HasXObjectByName checks if has XObject resource by name.
|
||
func (_gafg *PdfPage )HasXObjectByName (name _bcb .PdfObjectName )bool {_ffgd ,_edffa :=_gafg .Resources .XObject .(*_bcb .PdfObjectDictionary );if !_edffa {return false ;};if _gdgg :=_ffgd .Get (name );_gdgg !=nil {return true ;};return false ;};
|
||
|
||
// Set applies flag fl to the flag's bitmask and returns the combined flag.
|
||
func (_cdd FieldFlag )Set (fl FieldFlag )FieldFlag {return FieldFlag (_cdd .Mask ()|fl .Mask ())};const (TrappedUnknown PdfInfoTrapped ="\u0055n\u006b\u006e\u006f\u0077\u006e";TrappedTrue PdfInfoTrapped ="\u0054\u0072\u0075\u0065";TrappedFalse PdfInfoTrapped ="\u0046\u0061\u006cs\u0065";);
|
||
|
||
// PdfActionGoToE represents a GoToE action.
|
||
type PdfActionGoToE struct{*PdfAction ;F *PdfFilespec ;D _bcb .PdfObject ;NewWindow _bcb .PdfObject ;T _bcb .PdfObject ;};
|
||
|
||
// 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 _fb .ReadSeeker )(*PdfReader ,error ){_gffdf :=&PdfReader {_bcffa :rs ,_egfef :map[_bcb .PdfObject ]struct{}{},_dafbg :_ebgca (),_abdcg :true };_edbd ,_eedgg :=_bcb .NewParser (rs );if _eedgg !=nil {return nil ,_eedgg ;};_gffdf ._ecage =_edbd ;_bbfee ,_eedgg :=_gffdf .IsEncrypted ();if _eedgg !=nil {return nil ,_eedgg ;};if !_bbfee {_eedgg =_gffdf .loadStructure ();if _eedgg !=nil {return nil ,_eedgg ;};};return _gffdf ,nil ;};
|
||
|
||
// C returns the value of the C component of the color.
|
||
func (_fcddc *PdfColorCalRGB )C ()float64 {return _fcddc [2]};func _fgab (_ddfd *_bcb .PdfObjectDictionary ,_eeag *fontCommon )(*pdfCIDFontType2 ,error ){if _eeag ._abgg !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_cga .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",_eeag );return nil ,_bcb .ErrRangeError ;};_fggaf :=_daad (_eeag );_eggf ,_fdeg :=_bcb .GetDict (_ddfd .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_fdeg {_cga .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",_eeag );return nil ,ErrRequiredAttributeMissing ;};_fggaf .CIDSystemInfo =_eggf ;_fggaf .DW =_ddfd .Get ("\u0044\u0057");_fggaf .W =_ddfd .Get ("\u0057");_fggaf .DW2 =_ddfd .Get ("\u0044\u0057\u0032");_fggaf .W2 =_ddfd .Get ("\u0057\u0032");_fggaf .CIDToGIDMap =_ddfd .Get ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070");_fggaf ._adcad =1000.0;if _egfa ,_fddf :=_bcb .GetNumberAsFloat (_fggaf .DW );_fddf ==nil {_fggaf ._adcad =_egfa ;};_bccgf ,_bedfb :=_bcfc (_fggaf .W );if _bedfb !=nil {return nil ,_bedfb ;};if _bccgf ==nil {_bccgf =map[_ddd .CharCode ]float64 {};};_fggaf ._ggfgf =_bccgf ;return _fggaf ,nil ;};
|
||
|
||
// SetDocInfo set document info.
|
||
// This will overwrite any globally declared document info.
|
||
func (_ecabd *PdfWriter )SetDocInfo (info *PdfInfo ){if _ecabd .hasObject (_ecabd ._gbfff ){delete (_ecabd ._affdb ,_ecabd ._gbfff );delete (_ecabd ._fddc ,_ecabd ._gbfff );for _dbggf ,_fffga :=range _ecabd ._adbc {if _fffga ==_ecabd ._gbfff {copy (_ecabd ._adbc [_dbggf :],_ecabd ._adbc [_dbggf +1:]);_ecabd ._adbc [len (_ecabd ._adbc )-1]=nil ;_ecabd ._adbc =_ecabd ._adbc [:len (_ecabd ._adbc )-1];break ;};};};_bgff :=_bcb .PdfIndirectObject {};_bgff .PdfObject =info .ToPdfObject ();_ecabd ._gbfff =&_bgff ;_ecabd .addObject (&_bgff );};
|
||
|
||
// PdfColorspaceCalRGB stores A, B, C components
|
||
type PdfColorspaceCalRGB struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma []float64 ;Matrix []float64 ;_acbd *_bcb .PdfObjectDictionary ;_fabd *_bcb .PdfIndirectObject ;};
|
||
|
||
// ToPdfObject returns a *PdfIndirectObject containing a *PdfObjectArray representation of the DeviceN colorspace.
|
||
// Format: [/DeviceN names alternateSpace tintTransform]
|
||
// or: [/DeviceN names alternateSpace tintTransform attributes]
|
||
func (_eddf *PdfColorspaceDeviceN )ToPdfObject ()_bcb .PdfObject {_efbcf :=_bcb .MakeArray (_bcb .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u004e"));_efbcf .Append (_eddf .ColorantNames );_efbcf .Append (_eddf .AlternateSpace .ToPdfObject ());_efbcf .Append (_eddf .TintTransform .ToPdfObject ());if _eddf .Attributes !=nil {_efbcf .Append (_eddf .Attributes .ToPdfObject ());};if _eddf ._dcfed !=nil {_eddf ._dcfed .PdfObject =_efbcf ;return _eddf ._dcfed ;};return _efbcf ;};func _fabga (_dcadd *PdfField ,_gbge _bcb .PdfObject ){for _ ,_fdcee :=range _dcadd .Annotations {_fdcee .AS =_gbge ;_fdcee .ToPdfObject ();};};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_gffb *PdfColorCalRGB )A ()float64 {return _gffb [0]};func (_bca *PdfReader )newPdfAnnotationMarkupFromDict (_abgd *_bcb .PdfObjectDictionary )(*PdfAnnotationMarkup ,error ){_afb :=&PdfAnnotationMarkup {};if _gde :=_abgd .Get ("\u0054");_gde !=nil {_afb .T =_gde ;};if _dfg :=_abgd .Get ("\u0050\u006f\u0070u\u0070");_dfg !=nil {_aee ,_cffc :=_dfg .(*_bcb .PdfIndirectObject );if !_cffc {if _ ,_ceaa :=_dfg .(*_bcb .PdfObjectNull );!_ceaa {return nil ,_ae .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 {_ecgf ,_egee :=_bca .newPdfAnnotationFromIndirectObject (_aee );if _egee !=nil {return nil ,_egee ;};if _ecgf !=nil {_acda ,_dgfg :=_ecgf ._feb .(*PdfAnnotationPopup );if !_dgfg {return nil ,_ae .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");};_afb .Popup =_acda ;};};};if _ccb :=_abgd .Get ("\u0043\u0041");_ccb !=nil {_afb .CA =_ccb ;};if _bfee :=_abgd .Get ("\u0052\u0043");_bfee !=nil {_afb .RC =_bfee ;};if _agbc :=_abgd .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065");_agbc !=nil {_afb .CreationDate =_agbc ;};if _faed :=_abgd .Get ("\u0049\u0052\u0054");_faed !=nil {_afb .IRT =_faed ;};if _debc :=_abgd .Get ("\u0053\u0075\u0062\u006a");_debc !=nil {_afb .Subj =_debc ;};if _gabc :=_abgd .Get ("\u0052\u0054");_gabc !=nil {_afb .RT =_gabc ;};if _gdbg :=_abgd .Get ("\u0049\u0054");_gdbg !=nil {_afb .IT =_gdbg ;};if _aagb :=_abgd .Get ("\u0045\u0078\u0044\u0061\u0074\u0061");_aagb !=nil {_afb .ExData =_aagb ;};return _afb ,nil ;};
|
||
|
||
// SetXObjectFormByName adds the provided XObjectForm to the page resources.
|
||
// The added XObjectForm is identified by the specified name.
|
||
func (_aebcc *PdfPageResources )SetXObjectFormByName (keyName _bcb .PdfObjectName ,xform *XObjectForm )error {_ebef :=xform .ToPdfObject ().(*_bcb .PdfObjectStream );_fcedbf :=_aebcc .SetXObjectByName (keyName ,_ebef );return _fcedbf ;};
|
||
|
||
// String returns a string that describes `font`.
|
||
func (_cffa *PdfFont )String ()string {_ccbbd :="";if _cffa ._fgge .Encoder ()!=nil {_ccbbd =_cffa ._fgge .Encoder ().String ();};return _e .Sprintf ("\u0046\u004f\u004e\u0054\u007b\u0025\u0054\u0020\u0025s\u0020\u0025\u0073\u007d",_cffa ._fgge ,_cffa .baseFields ().coreString (),_ccbbd );};
|
||
|
||
// IsTiling specifies if the pattern is a tiling pattern.
|
||
func (_ddfdd *PdfPattern )IsTiling ()bool {return _ddfdd .PatternType ==1};func (_edef *PdfReader )newPdfActionTransFromDict (_bgb *_bcb .PdfObjectDictionary )(*PdfActionTrans ,error ){return &PdfActionTrans {Trans :_bgb .Get ("\u0054\u0072\u0061n\u0073")},nil ;};
|
||
|
||
// Optimizer is the interface that performs optimization of PDF object structure for output writing.
|
||
//
|
||
// Optimize receives a slice of input `objects`, performs optimization, including removing, replacing objects and
|
||
// output the optimized slice of objects.
|
||
type Optimizer interface{Optimize (_eedc []_bcb .PdfObject )([]_bcb .PdfObject ,error );};func (_geade *pdfFontSimple )baseFields ()*fontCommon {return &_geade .fontCommon };
|
||
|
||
// String returns a string representation of the field.
|
||
func (_dfbb *PdfField )String ()string {if _dfbd ,_beca :=_dfbb .ToPdfObject ().(*_bcb .PdfIndirectObject );_beca {return _e .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_dfbb ._fegde ,_dfbd .PdfObject .String ());};return "";};
|
||
|
||
// FlattenFields flattens the form fields and annotations for the PDF loaded in `pdf` and makes
|
||
// non-editable.
|
||
// Looks up all widget annotations corresponding to form fields and flattens them by drawing the content
|
||
// through the content stream rather than annotations.
|
||
// References to flattened annotations will be removed from Page Annots array. For fields the AcroForm entry
|
||
// will be emptied.
|
||
// When `allannots` is true, all annotations will be flattened. Keep false if want to keep non-form related
|
||
// annotations intact.
|
||
// When `appgen` is not nil, it will be used to generate appearance streams for the field annotations.
|
||
func (_dffce *PdfReader )FlattenFields (allannots bool ,appgen FieldAppearanceGenerator )error {return _dffce .flattenFieldsWithOpts (allannots ,appgen ,nil );};func (_bafa *PdfReader )loadForms ()(*PdfAcroForm ,error ){if _bafa ._ecage .GetCrypter ()!=nil &&!_bafa ._ecage .IsAuthenticated (){return nil ,_e .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");};_fdgec :=_bafa ._fccd ;_bbaff :=_fdgec .Get ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d");if _bbaff ==nil {return nil ,nil ;};_eafac ,_ :=_bcb .GetIndirect (_bbaff );_bbaff =_bcb .TraceToDirectObject (_bbaff );if _bcb .IsNullObject (_bbaff ){_cga .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 ;};_gfad ,_egbed :=_bcb .GetDict (_bbaff );if !_egbed {_cga .Log .Debug ("\u0049n\u0076\u0061\u006c\u0069d\u0020\u0041\u0063\u0072\u006fF\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_bbaff );_cga .Log .Debug ("\u0044\u006f\u0065\u0073 n\u006f\u0074\u0020\u0068\u0061\u0076\u0065\u0020\u0066\u006f\u0072\u006d\u0073");return nil ,_e .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0061\u0063\u0072\u006ff\u006fr\u006d \u0065\u006e\u0074\u0072\u0079\u0020\u0025T",_bbaff );};_cga .Log .Trace ("\u0048\u0061\u0073\u0020\u0041\u0063\u0072\u006f\u0020f\u006f\u0072\u006d\u0073");_cga .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 !_bafa ._abdcg {_gfagc :=_bafa .traverseObjectData (_gfad );if _gfagc !=nil {_cga .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",_gfagc );return nil ,_gfagc ;};};_afcba ,_fecaf :=_bafa .newPdfAcroFormFromDict (_eafac ,_gfad );if _fecaf !=nil {return nil ,_fecaf ;};return _afcba ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the outline (indirect object).
|
||
func (_gegd *PdfOutline )GetContainingPdfObject ()_bcb .PdfObject {return _gegd ._cdec };
|
||
|
||
// AlphaMap performs mapping of alpha data for transformations. Allows custom filtering of alpha data etc.
|
||
func (_dcgfb *Image )AlphaMap (mapFunc AlphaMapFunc ){for _bgebc ,_bcgbb :=range _dcgfb ._cdeb {_dcgfb ._cdeb [_bgebc ]=mapFunc (_bcgbb );};};
|
||
|
||
// NewPdfAnnotationCircle returns a new circle annotation.
|
||
func NewPdfAnnotationCircle ()*PdfAnnotationCircle {_edfd :=NewPdfAnnotation ();_cfec :=&PdfAnnotationCircle {};_cfec .PdfAnnotation =_edfd ;_cfec .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_edfd .SetContext (_cfec );return _cfec ;};func _cafcg (_fffgga _bcb .PdfObject )(*PdfFunctionType2 ,error ){_cgcag :=&PdfFunctionType2 {};var _cbgga *_bcb .PdfObjectDictionary ;if _aadc ,_egcca :=_fffgga .(*_bcb .PdfIndirectObject );_egcca {_ceea ,_ffcfa :=_aadc .PdfObject .(*_bcb .PdfObjectDictionary );if !_ffcfa {return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_cgcag ._cdfdg =_aadc ;_cbgga =_ceea ;}else if _bafcc ,_deea :=_fffgga .(*_bcb .PdfObjectDictionary );_deea {_cbgga =_bafcc ;}else {return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_cga .Log .Trace ("\u0046U\u004e\u0043\u0032\u003a\u0020\u0025s",_cbgga .String ());_ddecd ,_gfgg :=_bcb .TraceToDirectObject (_cbgga .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_bcb .PdfObjectArray );if !_gfgg {_cga .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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 _ddecd .Len ()< 0||_ddecd .Len ()%2!=0{_cga .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u0072\u0061\u006e\u0067e\u0020\u0069\u006e\u0076al\u0069\u0064");return nil ,_ae .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_gebe ,_egacf :=_ddecd .ToFloat64Array ();if _egacf !=nil {return nil ,_egacf ;};_cgcag .Domain =_gebe ;_ddecd ,_gfgg =_bcb .TraceToDirectObject (_cbgga .Get ("\u0052\u0061\u006eg\u0065")).(*_bcb .PdfObjectArray );if _gfgg {if _ddecd .Len ()< 0||_ddecd .Len ()%2!=0{return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_eaaaga ,_egcgg :=_ddecd .ToFloat64Array ();if _egcgg !=nil {return nil ,_egcgg ;};_cgcag .Range =_eaaaga ;};_ddecd ,_gfgg =_bcb .TraceToDirectObject (_cbgga .Get ("\u0043\u0030")).(*_bcb .PdfObjectArray );if _gfgg {_fbgac ,_ebgdg :=_ddecd .ToFloat64Array ();if _ebgdg !=nil {return nil ,_ebgdg ;};_cgcag .C0 =_fbgac ;};_ddecd ,_gfgg =_bcb .TraceToDirectObject (_cbgga .Get ("\u0043\u0031")).(*_bcb .PdfObjectArray );if _gfgg {_bdadd ,_afgb :=_ddecd .ToFloat64Array ();if _afgb !=nil {return nil ,_afgb ;};_cgcag .C1 =_bdadd ;};if len (_cgcag .C0 )!=len (_cgcag .C1 ){_cga .Log .Error ("\u0043\u0030\u0020\u0061nd\u0020\u0043\u0031\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0069n\u0067");return nil ,_bcb .ErrRangeError ;};N ,_egacf :=_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_cbgga .Get ("\u004e")));if _egacf !=nil {_cga .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",_cbgga .String ());return nil ,_egacf ;};_cgcag .N =N ;return _cgcag ,nil ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_badga *XObjectImage )ToPdfObject ()_bcb .PdfObject {_gefgf :=_badga ._gddag ;_cdbbf :=_gefgf .PdfObjectDictionary ;if _badga .Filter !=nil {_cdbbf =_badga .Filter .MakeStreamDict ();_gefgf .PdfObjectDictionary =_cdbbf ;};_cdbbf .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_cdbbf .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0049\u006d\u0061g\u0065"));_cdbbf .Set ("\u0057\u0069\u0064t\u0068",_bcb .MakeInteger (*(_badga .Width )));_cdbbf .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_bcb .MakeInteger (*(_badga .Height )));if _badga .BitsPerComponent !=nil {_cdbbf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_bcb .MakeInteger (*(_badga .BitsPerComponent )));};if _badga .ColorSpace !=nil {_cdbbf .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_badga .ColorSpace .ToPdfObject ());};_cdbbf .SetIfNotNil ("\u0049\u006e\u0074\u0065\u006e\u0074",_badga .Intent );_cdbbf .SetIfNotNil ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k",_badga .ImageMask );_cdbbf .SetIfNotNil ("\u004d\u0061\u0073\u006b",_badga .Mask );_cdbbf .SetIfNotNil ("\u0044\u0065\u0063\u006f\u0064\u0065",_badga .Decode );_cdbbf .SetIfNotNil ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065",_badga .Interpolate );_cdbbf .SetIfNotNil ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073",_badga .Alternatives );_cdbbf .SetIfNotNil ("\u0053\u004d\u0061s\u006b",_badga .SMask );_cdbbf .SetIfNotNil ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061",_badga .SMaskInData );_cdbbf .SetIfNotNil ("\u004d\u0061\u0074t\u0065",_badga .Matte );_cdbbf .SetIfNotNil ("\u004e\u0061\u006d\u0065",_badga .Name );_cdbbf .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_badga .StructParent );_cdbbf .SetIfNotNil ("\u0049\u0044",_badga .ID );_cdbbf .SetIfNotNil ("\u004f\u0050\u0049",_badga .OPI );_cdbbf .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_badga .Metadata );_cdbbf .SetIfNotNil ("\u004f\u0043",_badga .OC );_cdbbf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_badga .Stream ))));_gefgf .Stream =_badga .Stream ;return _gefgf ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_cdgd *PdfColorspaceICCBased )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _cdgd .Alternate ==nil {if _cdgd .N ==1{_agdc :=NewPdfColorspaceDeviceGray ();return _agdc .ColorFromFloats (vals );}else if _cdgd .N ==3{_cbggc :=NewPdfColorspaceDeviceRGB ();return _cbggc .ColorFromFloats (vals );}else if _cdgd .N ==4{_ccbd :=NewPdfColorspaceDeviceCMYK ();return _ccbd .ColorFromFloats (vals );}else {return nil ,_ae .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 _cdgd .Alternate .ColorFromFloats (vals );};
|
||
|
||
// NewPdfAnnotationSquiggly returns a new text squiggly annotation.
|
||
func NewPdfAnnotationSquiggly ()*PdfAnnotationSquiggly {_dceb :=NewPdfAnnotation ();_efgg :=&PdfAnnotationSquiggly {};_efgg .PdfAnnotation =_dceb ;_efgg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_dceb .SetContext (_efgg );return _efgg ;};func _bdba (_cbadg *PdfPage ){_eegba :=_dd .GetLicenseKey ();if _eegba !=nil &&_eegba .IsLicensed (){return ;};_aecdac :=_bcb .PdfObjectName ("\u0055\u0046\u0031");if !_cbadg .Resources .HasFontByName (_aecdac ){_cbadg .Resources .SetFontByName (_aecdac ,DefaultFont ().ToPdfObject ());};var _fecf []string ;_fecf =append (_fecf ,"\u0071");_fecf =append (_fecf ,"\u0042\u0054");_fecf =append (_fecf ,_e .Sprintf ("\u002f%\u0073\u0020\u0031\u0034\u0020\u0054f",_aecdac .String ()));_fecf =append (_fecf ,"\u0031\u0020\u0030\u0020\u0030\u0020\u0072\u0067");_fecf =append (_fecf ,"\u0031\u0030\u0020\u0031\u0030\u0020\u0054\u0064");_eageb :="\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";_fecf =append (_fecf ,_e .Sprintf ("\u0028%\u0073\u0029\u0020\u0054\u006a",_eageb ));_fecf =append (_fecf ,"\u0045\u0054");_fecf =append (_fecf ,"\u0051");_ebeede :=_gc .Join (_fecf ,"\u000a");_cbadg .AddContentStreamByString (_ebeede );_cbadg .ToPdfObject ();};
|
||
|
||
// EnableAll LTV enables all signatures in the PDF document.
|
||
// The signing certificate chain is extracted from each signature dictionary.
|
||
// Optionally, additional certificates can be specified through the
|
||
// `extraCerts` parameter. The LTV client attempts to build the certificate
|
||
// chain up to a trusted root by downloading any missing certificates.
|
||
func (_aaaeb *LTV )EnableAll (extraCerts []*_ffg .Certificate )error {_gafe :=_aaaeb ._dfegg ._adcc .AcroForm ;for _ ,_gdffc :=range _gafe .AllFields (){_eddc ,_ :=_gdffc .GetContext ().(*PdfFieldSignature );if _eddc ==nil {continue ;};_bcbf :=_eddc .V ;if _bgdc :=_aaaeb .validateSig (_bcbf );_bgdc !=nil {_cga .Log .Debug ("\u0057\u0041\u0052N\u003a\u0020\u0053\u006b\u0069\u0070\u0070\u0069\u006e\u0067\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020f\u0069\u0065\u006c\u0064\u003a\u0020\u0025\u0076",_bgdc );};if _eecad :=_aaaeb .Enable (_bcbf ,extraCerts );_eecad !=nil {return _eecad ;};};return nil ;};
|
||
|
||
// ColorToRGB converts a DeviceN color to an RGB color.
|
||
func (_efegg *PdfColorspaceDeviceN )ColorToRGB (color PdfColor )(PdfColor ,error ){if _efegg .AlternateSpace ==nil {return nil ,_ae .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 _efegg .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// PdfAnnotationCircle represents Circle annotations.
|
||
// (Section 12.5.6.8).
|
||
type PdfAnnotationCircle struct{*PdfAnnotation ;*PdfAnnotationMarkup ;BS _bcb .PdfObject ;IC _bcb .PdfObject ;BE _bcb .PdfObject ;RD _bcb .PdfObject ;};
|
||
|
||
// PdfActionGoTo represents a GoTo action.
|
||
type PdfActionGoTo struct{*PdfAction ;D _bcb .PdfObject ;};
|
||
|
||
// ImageToRGB returns an error since an image cannot be defined in a pattern colorspace.
|
||
func (_aege *PdfColorspaceSpecialPattern )ImageToRGB (img Image )(Image ,error ){_cga .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 ,_ae .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");};
|
||
|
||
// AddWatermarkImage adds a watermark to the page.
|
||
func (_dddgd *PdfPage )AddWatermarkImage (ximg *XObjectImage ,opt WatermarkImageOptions )error {_bdaa ,_ccbda :=_dddgd .GetMediaBox ();if _ccbda !=nil {return _ccbda ;};_dfbbc :=_bdaa .Urx -_bdaa .Llx ;_fgecc :=_bdaa .Ury -_bdaa .Lly ;_aabc :=float64 (*ximg .Width );_bfedc :=(_dfbbc -_aabc )/2;if opt .FitToWidth {_aabc =_dfbbc ;_bfedc =0;};_dcebb :=_fgecc ;_deec :=float64 (0);if opt .PreserveAspectRatio {_dcebb =_aabc *float64 (*ximg .Height )/float64 (*ximg .Width );_deec =(_fgecc -_dcebb )/2;};if _dddgd .Resources ==nil {_dddgd .Resources =NewPdfPageResources ();};_abfba :=0;_dbcaf :=_bcb .PdfObjectName (_e .Sprintf ("\u0049\u006d\u0077%\u0064",_abfba ));for _dddgd .Resources .HasXObjectByName (_dbcaf ){_abfba ++;_dbcaf =_bcb .PdfObjectName (_e .Sprintf ("\u0049\u006d\u0077%\u0064",_abfba ));};_ccbda =_dddgd .AddImageResource (_dbcaf ,ximg );if _ccbda !=nil {return _ccbda ;};_abfba =0;_bbdfe :=_bcb .PdfObjectName (_e .Sprintf ("\u0047\u0053\u0025\u0064",_abfba ));for _dddgd .HasExtGState (_bbdfe ){_abfba ++;_bbdfe =_bcb .PdfObjectName (_e .Sprintf ("\u0047\u0053\u0025\u0064",_abfba ));};_dcce :=_bcb .MakeDict ();_dcce .Set ("\u0042\u004d",_bcb .MakeName ("\u004e\u006f\u0072\u006d\u0061\u006c"));_dcce .Set ("\u0043\u0041",_bcb .MakeFloat (opt .Alpha ));_dcce .Set ("\u0063\u0061",_bcb .MakeFloat (opt .Alpha ));_ccbda =_dddgd .AddExtGState (_bbdfe ,_dcce );if _ccbda !=nil {return _ccbda ;};_dbeb :=_e .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",_bbdfe ,_aabc ,_dcebb ,_bfedc ,_deec ,_dbcaf );_dddgd .AddContentStreamByString (_dbeb );return nil ;};func _bgege (_ebgd *_bcb .PdfObjectDictionary ,_bcce *fontCommon )(*pdfCIDFontType0 ,error ){if _bcce ._abgg !="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"{_cga .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",_bcce );return nil ,_bcb .ErrRangeError ;};_beea :=_abgda (_bcce );_cfdc ,_fdef :=_bcb .GetDict (_ebgd .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if !_fdef {_cga .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",_bcce );return nil ,ErrRequiredAttributeMissing ;};_beea .CIDSystemInfo =_cfdc ;_beea .DW =_ebgd .Get ("\u0044\u0057");_beea .W =_ebgd .Get ("\u0057");_beea .DW2 =_ebgd .Get ("\u0044\u0057\u0032");_beea .W2 =_ebgd .Get ("\u0057\u0032");_beea ._becg =1000.0;if _caac ,_dbfa :=_bcb .GetNumberAsFloat (_beea .DW );_dbfa ==nil {_beea ._becg =_caac ;};_gggbg ,_gcfe :=_bcfc (_beea .W );if _gcfe !=nil {return nil ,_gcfe ;};if _gggbg ==nil {_gggbg =map[_ddd .CharCode ]float64 {};};_beea ._gdbd =_gggbg ;return _beea ,nil ;};
|
||
|
||
// RunesToCharcodeBytes maps the provided runes to charcode bytes and it
|
||
// returns the resulting slice of bytes, along with the number of runes which
|
||
// could not be converted. If the number of misses is 0, all runes were
|
||
// successfully converted.
|
||
func (_ccaa *PdfFont )RunesToCharcodeBytes (data []rune )([]byte ,int ){var _cfgef []_ddd .TextEncoder ;if _ffbg :=_ccaa .baseFields ()._ecbe ;_ffbg !=nil {_cfgef =append (_cfgef ,_ddd .NewCMapEncoder ("",nil ,_ffbg ));};if _dbdf :=_ccaa .Encoder ();_dbdf !=nil {_cfgef =append (_cfgef ,_dbdf );};var _dfce _ede .Buffer ;var _bgddd int ;for _ ,_eebbf :=range data {var _dadcfe bool ;for _ ,_gdffd :=range _cfgef {if _adaf :=_gdffd .Encode (string (_eebbf ));len (_adaf )> 0{_dfce .Write (_adaf );_dadcfe =true ;break ;};};if !_dadcfe {_cga .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",_eebbf );_bgddd ++;};};if _bgddd !=0{_cga .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 ),_bgddd ,_ccaa ,_cfgef );};return _dfce .Bytes (),_bgddd ;};
|
||
|
||
// ImageToRGB convert an indexed image to RGB.
|
||
func (_bdff *PdfColorspaceSpecialIndexed )ImageToRGB (img Image )(Image ,error ){N :=_bdff .Base .GetNumComponents ();if N < 1{return Image {},_e .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 );};_fade :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),8,N ,nil ,img ._cdeb ,img ._fdggf );_cced :=_cgb .NewReader (img .getBase ());_fgcd :=_cgb .NewWriter (_fade );var (_gddba uint32 ;_fcda int ;_gcdc error ;);for {_gddba ,_gcdc =_cced .ReadSample ();if _gcdc ==_fb .EOF {break ;}else if _gcdc !=nil {return img ,_gcdc ;};_fcda =int (_gddba );_cga .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",_fcda ,N ,len (_bdff ._ddcb ));if (_fcda +1)*N > len (_bdff ._ddcb ){_fcda =len (_bdff ._ddcb )/N -1;_cga .Log .Trace ("C\u006c\u0069\u0070\u0070in\u0067 \u0074\u006f\u0020\u0069\u006ed\u0065\u0078\u003a\u0020\u0025\u0064",_fcda );if _fcda < 0{_cga .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 _bgaf :=_fcda *N ;_bgaf < (_fcda +1)*N ;_bgaf ++{if _gcdc =_fgcd .WriteSample (uint32 (_bdff ._ddcb [_bgaf ]));_gcdc !=nil {return img ,_gcdc ;};};};return _bdff .Base .ImageToRGB (_gagca (&_fade ));};
|
||
|
||
// SetContext set the sub annotation (context).
|
||
func (_agacc *PdfShading )SetContext (ctx PdfModel ){_agacc ._gcbd =ctx };
|
||
|
||
// SetImageHandler sets the image handler used by the package.
|
||
func SetImageHandler (imgHandling ImageHandler ){ImageHandling =imgHandling };
|
||
|
||
// NewPdfOutlineTree returns an initialized PdfOutline tree.
|
||
func NewPdfOutlineTree ()*PdfOutline {_bbdga :=NewPdfOutline ();_bbdga ._bfagd =&_bbdga ;return _bbdga ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_ggbca *PdfShadingType5 )ToPdfObject ()_bcb .PdfObject {_ggbca .PdfShading .ToPdfObject ();_gcfeg ,_ccbf :=_ggbca .getShadingDict ();if _ccbf !=nil {_cga .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 _ggbca .BitsPerCoordinate !=nil {_gcfeg .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_ggbca .BitsPerCoordinate );};if _ggbca .BitsPerComponent !=nil {_gcfeg .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_ggbca .BitsPerComponent );};if _ggbca .VerticesPerRow !=nil {_gcfeg .Set ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077",_ggbca .VerticesPerRow );};if _ggbca .Decode !=nil {_gcfeg .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_ggbca .Decode );};if _ggbca .Function !=nil {if len (_ggbca .Function )==1{_gcfeg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_ggbca .Function [0].ToPdfObject ());}else {_feeda :=_bcb .MakeArray ();for _ ,_adebe :=range _ggbca .Function {_feeda .Append (_adebe .ToPdfObject ());};_gcfeg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_feeda );};};return _ggbca ._eced ;};
|
||
|
||
// NewImageFromGoImage creates a new NRGBA32 unidoc Image from a golang Image.
|
||
// If `goimg` is grayscale (*goimage.Gray8) then calls NewGrayImageFromGoImage instead.
|
||
func (_agcdg DefaultImageHandler )NewImageFromGoImage (goimg _ac .Image )(*Image ,error ){_cage ,_agcag :=_fgd .FromGoImage (goimg );if _agcag !=nil {return nil ,_agcag ;};_bffee :=_gagca (_cage .Base ());return &_bffee ,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 (_geacf pdfCIDFontType2 )GetRuneMetrics (r rune )(_acc .CharMetrics ,bool ){_dffe ,_aefb :=_geacf ._gggbf [r ];if !_aefb {_cgbc ,_eead :=_bcb .GetInt (_geacf .DW );if !_eead {return _acc .CharMetrics {},false ;};_dffe =int (*_cgbc );};return _acc .CharMetrics {Wx :float64 (_dffe )},true ;};func (_gbgc *PdfField )inherit (_febg func (*PdfField )bool )(bool ,error ){_dface :=map[*PdfField ]bool {};_ebafd :=false ;_ggce :=_gbgc ;for _ggce !=nil {if _ ,_eaff :=_dface [_ggce ];_eaff {return false ,_ae .New ("\u0072\u0065\u0063\u0075rs\u0069\u0076\u0065\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c");};_bcead :=_febg (_ggce );if _bcead {_ebafd =true ;break ;};_dface [_ggce ]=true ;_ggce =_ggce .Parent ;};return _ebafd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddgg *PdfBorderStyle )ToPdfObject ()_bcb .PdfObject {_acac :=_bcb .MakeDict ();if _ddgg ._cec !=nil {if _faec ,_effe :=_ddgg ._cec .(*_bcb .PdfIndirectObject );_effe {_faec .PdfObject =_acac ;};};_acac .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0042\u006f\u0072\u0064\u0065\u0072"));if _ddgg .W !=nil {_acac .Set ("\u0057",_bcb .MakeFloat (*_ddgg .W ));};if _ddgg .S !=nil {_acac .Set ("\u0053",_bcb .MakeName (_ddgg .S .GetPdfName ()));};if _ddgg .D !=nil {_acac .Set ("\u0044",_bcb .MakeArrayFromIntegers (*_ddgg .D ));};if _ddgg ._cec !=nil {return _ddgg ._cec ;};return _acac ;};func (_dab *PdfReader )newPdfActionSoundFromDict (_eec *_bcb .PdfObjectDictionary )(*PdfActionSound ,error ){return &PdfActionSound {Sound :_eec .Get ("\u0053\u006f\u0075n\u0064"),Volume :_eec .Get ("\u0056\u006f\u006c\u0075\u006d\u0065"),Synchronous :_eec .Get ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073"),Repeat :_eec .Get ("\u0052\u0065\u0070\u0065\u0061\u0074"),Mix :_eec .Get ("\u004d\u0069\u0078")},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 (_cdcb *PdfFont )CharcodeBytesToUnicode (data []byte )(string ,int ,int ){_ffef ,_ ,_dfcg :=_cdcb .CharcodesToUnicodeWithStats (_cdcb .BytesToCharcodes (data ));_affa :=_ddd .ExpandLigatures (_ffef );return _affa ,_cg .RuneCountInString (_affa ),_dfcg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eda *PdfActionHide )ToPdfObject ()_bcb .PdfObject {_eda .PdfAction .ToPdfObject ();_fcdd :=_eda ._dce ;_bcgd :=_fcdd .PdfObject .(*_bcb .PdfObjectDictionary );_bcgd .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeHide )));_bcgd .SetIfNotNil ("\u0054",_eda .T );_bcgd .SetIfNotNil ("\u0048",_eda .H );return _fcdd ;};
|
||
|
||
// 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 (_bdagcg *PdfFont )CharcodesToStrings (charcodes []_ddd .CharCode )([]string ,int ,int ){_ddaa :=_bdagcg .baseFields ();_cgga :=make ([]string ,0,len (charcodes ));_aaabge :=0;for _ ,_bace :=range charcodes {if _ddaa ._ecbe !=nil {if _bbage ,_efeag :=_ddaa ._ecbe .CharcodeToUnicode (_dc .CharCode (_bace ));_efeag {_cgga =append (_cgga ,_bbage );continue ;};};_fcge :=_bdagcg .Encoder ();if _fcge !=nil {if _bbgb ,_bcacd :=_fcge .CharcodeToRune (_bace );_bcacd {_cgga =append (_cgga ,string (_bbgb ));continue ;};};_cga .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",_bace ,charcodes ,_ddaa .isCIDFont (),_bdagcg ,_fcge );_aaabge ++;_cgga =append (_cgga ,_dc .MissingCodeString );};if _aaabge !=0{_cga .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 ),_aaabge ,_bdagcg );};return _cgga ,len (_cgga ),_aaabge ;};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceCMYK colorspace.
|
||
func (_ccdd *PdfColorspaceDeviceCMYK )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};};func (_fddfa *PdfAcroForm )filteredFields (_cafef FieldFilterFunc ,_ceega bool )[]*PdfField {if _fddfa ==nil {return nil ;};return _dcde (_fddfa .Fields ,_cafef ,_ceega );};func _abae (_dabe _bcb .PdfObject )(*PdfColorspaceSpecialPattern ,error ){_cga .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",_dabe .String (),_dabe );_gccg :=NewPdfColorspaceSpecialPattern ();if _adeea ,_cdae :=_dabe .(*_bcb .PdfIndirectObject );_cdae {_gccg ._ebgf =_adeea ;};_dabe =_bcb .TraceToDirectObject (_dabe );if _cbbg ,_bbdb :=_dabe .(*_bcb .PdfObjectName );_bbdb {if *_cbbg !="\u0050a\u0074\u0074\u0065\u0072\u006e"{return nil ,_e .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};return _gccg ,nil ;};_efabf ,_dcadg :=_dabe .(*_bcb .PdfObjectArray );if !_dcadg {_cga .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",_dabe );return nil ,_e .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0050\u0061\u0074\u0074e\u0072n\u0020C\u0053\u0020\u006f\u0062\u006a\u0065\u0063t");};if _efabf .Len ()!=1&&_efabf .Len ()!=2{_cga .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",_efabf );return nil ,_e .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0050\u0061\u0074\u0074\u0065r\u006e\u0020\u0043\u0053\u0020\u0061\u0072\u0072\u0061\u0079");};_dabe =_efabf .Get (0);if _ecga ,_daac :=_dabe .(*_bcb .PdfObjectName );_daac {if *_ecga !="\u0050a\u0074\u0074\u0065\u0072\u006e"{_cga .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",_ecga );return nil ,_e .Errorf ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};};if _efabf .Len ()> 1{_dabe =_efabf .Get (1);_dabe =_bcb .TraceToDirectObject (_dabe );_ccee ,_bbacb :=NewPdfColorspaceFromPdfObject (_dabe );if _bbacb !=nil {return nil ,_bbacb ;};_gccg .UnderlyingCS =_ccee ;};_cga .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",_gccg .UnderlyingCS );return _gccg ,nil ;};func (_aeafd *PdfWriter )copyObjects (){_cgebc :=make (map[_bcb .PdfObject ]_bcb .PdfObject );_bfbfb :=make ([]_bcb .PdfObject ,0,len (_aeafd ._adbc ));_agccc :=make (map[_bcb .PdfObject ]struct{},len (_aeafd ._adbc ));_gaggf :=make (map[_bcb .PdfObject ]struct{});for _ ,_bfedg :=range _aeafd ._adbc {_gafdg :=_aeafd .copyObject (_bfedg ,_cgebc ,_gaggf ,false );if _ ,_dacde :=_gaggf [_bfedg ];_dacde {continue ;};_bfbfb =append (_bfbfb ,_gafdg );_agccc [_gafdg ]=struct{}{};};_aeafd ._adbc =_bfbfb ;_aeafd ._affdb =_agccc ;_aeafd ._gbfff =_aeafd .copyObject (_aeafd ._gbfff ,_cgebc ,nil ,false ).(*_bcb .PdfIndirectObject );_aeafd ._edecd =_aeafd .copyObject (_aeafd ._edecd ,_cgebc ,nil ,false ).(*_bcb .PdfIndirectObject );if _aeafd ._gbaeda !=nil {_aeafd ._gbaeda =_aeafd .copyObject (_aeafd ._gbaeda ,_cgebc ,nil ,false ).(*_bcb .PdfIndirectObject );};if _aeafd ._addfe {_aefeab :=make (map[_bcb .PdfObject ]int64 );for _egabg ,_adeeb :=range _aeafd ._bceg {if _dddbcd ,_ddfg :=_cgebc [_egabg ];_ddfg {_aefeab [_dddbcd ]=_adeeb ;}else {_cga .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");};};_aeafd ._bceg =_aefeab ;};};func (_gbaed *DSS )addOCSPs (_bgfa [][]byte )([]*_bcb .PdfObjectStream ,error ){return _gbaed .add (&_gbaed .OCSPs ,_gbaed ._fgbgb ,_bgfa );};
|
||
|
||
// 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 (_fgcc *PdfFieldButton )SetType (btype ButtonType ){_bdfe :=uint32 (0);if _fgcc .Ff !=nil {_bdfe =uint32 (*_fgcc .Ff );};switch btype {case ButtonTypePush :_bdfe |=FieldFlagPushbutton .Mask ();case ButtonTypeRadio :_bdfe |=FieldFlagRadio .Mask ();};_fgcc .Ff =_bcb .MakeInteger (int64 (_bdfe ));};
|
||
|
||
// IsEncrypted returns true if the PDF file is encrypted.
|
||
func (_eebaa *PdfReader )IsEncrypted ()(bool ,error ){return _eebaa ._ecage .IsEncrypted ()};func (_ffca *PdfReader )newPdfAnnotationPolygonFromDict (_fbe *_bcb .PdfObjectDictionary )(*PdfAnnotationPolygon ,error ){_gdc :=PdfAnnotationPolygon {};_dcf ,_feca :=_ffca .newPdfAnnotationMarkupFromDict (_fbe );if _feca !=nil {return nil ,_feca ;};_gdc .PdfAnnotationMarkup =_dcf ;_gdc .Vertices =_fbe .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_gdc .LE =_fbe .Get ("\u004c\u0045");_gdc .BS =_fbe .Get ("\u0042\u0053");_gdc .IC =_fbe .Get ("\u0049\u0043");_gdc .BE =_fbe .Get ("\u0042\u0045");_gdc .IT =_fbe .Get ("\u0049\u0054");_gdc .Measure =_fbe .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_gdc ,nil ;};
|
||
|
||
// PdfShadingType6 is a Coons patch mesh.
|
||
type PdfShadingType6 struct{*PdfShading ;BitsPerCoordinate *_bcb .PdfObjectInteger ;BitsPerComponent *_bcb .PdfObjectInteger ;BitsPerFlag *_bcb .PdfObjectInteger ;Decode *_bcb .PdfObjectArray ;Function []PdfFunction ;};func (_dgbf *Image )samplesTrimPadding (_cfgea []uint32 )[]uint32 {_caea :=_dgbf .ColorComponents *int (_dgbf .Width )*int (_dgbf .Height );if len (_cfgea )==_caea {return _cfgea ;};_dfbfd :=make ([]uint32 ,_caea );_gfbf :=int (_dgbf .Width )*_dgbf .ColorComponents ;var _cbfcg ,_gfaca ,_fgceb ,_ecaa int ;_abcbd :=_fgd .BytesPerLine (int (_dgbf .Width ),int (_dgbf .BitsPerComponent ),_dgbf .ColorComponents );for _cbfcg =0;_cbfcg < int (_dgbf .Height );_cbfcg ++{_gfaca =_cbfcg *int (_dgbf .Width );_fgceb =_cbfcg *_abcbd ;for _ecaa =0;_ecaa < _gfbf ;_ecaa ++{_dfbfd [_gfaca +_ecaa ]=_cfgea [_fgceb +_ecaa ];};};return _dfbfd ;};
|
||
|
||
// LTV represents an LTV (Long-Term Validation) client. It is used to LTV
|
||
// enable signatures by adding validation and revocation data (certificate,
|
||
// OCSP and CRL information) to the DSS dictionary of a PDF document.
|
||
//
|
||
// LTV is added through the DSS by:
|
||
// - Adding certificates, OCSP and CRL information in the global scope of the
|
||
// DSS. The global data is used for validating any of the signatures present
|
||
// in the document.
|
||
// - Adding certificates, OCSP and CRL information for a single signature,
|
||
// through an entry in the VRI dictionary of the DSS. The added data is used
|
||
// for validating that particular signature only. This is the recommended
|
||
// method for adding validation data for a signature. However, this is not
|
||
// is not possible in the same revision the signature is applied. Validation
|
||
// data for a signature is added based on the Contents entry of the signature,
|
||
// which is known only after the revision is written. Even if the Contents
|
||
// are known (e.g. when signing externally), updating the DSS at that point
|
||
// would invalidate the calculated signature. As a result, if adding LTV
|
||
// in the same revision is a requirement, use the first method.
|
||
// See LTV.EnableChain.
|
||
// The client applies both methods, when possible.
|
||
//
|
||
// If `LTV.SkipExisting` is set to true (the default), validations are
|
||
// not added for signatures which are already present in the VRI entry of the
|
||
// document's DSS dictionary.
|
||
type LTV struct{
|
||
|
||
// CertClient is the client used to retrieve certificates.
|
||
CertClient *_ddg .CertClient ;
|
||
|
||
// OCSPClient is the client used to retrieve OCSP validation information.
|
||
OCSPClient *_ddg .OCSPClient ;
|
||
|
||
// CRLClient is the client used to retrieve CRL validation information.
|
||
CRLClient *_ddg .CRLClient ;
|
||
|
||
// SkipExisting specifies whether existing signature validations
|
||
// should be skipped.
|
||
SkipExisting bool ;_dfegg *PdfAppender ;_gddf *DSS ;};func (_ggef *PdfReader )newPdfAnnotationFromIndirectObject (_edeb *_bcb .PdfIndirectObject )(*PdfAnnotation ,error ){_dbf ,_aebe :=_edeb .PdfObject .(*_bcb .PdfObjectDictionary );if !_aebe {return nil ,_e .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 :=_ggef ._dafbg .GetModelFromPrimitive (_dbf );model !=nil {_gbe ,_fed :=model .(*PdfAnnotation );if !_fed {return nil ,_e .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 _gbe ,nil ;};_fecd :=&PdfAnnotation {};_fecd ._daa =_edeb ;_ggef ._dafbg .Register (_dbf ,_fecd );if _agf :=_dbf .Get ("\u0054\u0079\u0070\u0065");_agf !=nil {_dfe ,_gcad :=_agf .(*_bcb .PdfObjectName );if !_gcad {_cga .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",_agf );}else {if *_dfe !="\u0041\u006e\u006eo\u0074"{_cga .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",*_dfe );};};};if _dcef :=_dbf .Get ("\u0052\u0065\u0063\u0074");_dcef !=nil {_fecd .Rect =_dcef ;};if _bbb :=_dbf .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073");_bbb !=nil {_fecd .Contents =_bbb ;};if _afgc :=_dbf .Get ("\u0050");_afgc !=nil {_fecd .P =_afgc ;};if _fffa :=_dbf .Get ("\u004e\u004d");_fffa !=nil {_fecd .NM =_fffa ;};if _eegg :=_dbf .Get ("\u004d");_eegg !=nil {_fecd .M =_eegg ;};if _fgbg :=_dbf .Get ("\u0046");_fgbg !=nil {_fecd .F =_fgbg ;};if _aaga :=_dbf .Get ("\u0041\u0050");_aaga !=nil {_fecd .AP =_aaga ;};if _aeg :=_dbf .Get ("\u0041\u0053");_aeg !=nil {_fecd .AS =_aeg ;};if _bccc :=_dbf .Get ("\u0042\u006f\u0072\u0064\u0065\u0072");_bccc !=nil {_fecd .Border =_bccc ;};if _ffe :=_dbf .Get ("\u0043");_ffe !=nil {_fecd .C =_ffe ;};if _gdbb :=_dbf .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_gdbb !=nil {_fecd .StructParent =_gdbb ;};if _dae :=_dbf .Get ("\u004f\u0043");_dae !=nil {_fecd .OC =_dae ;};_bac :=_dbf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");if _bac ==nil {_cga .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");_fecd ._feb =nil ;return _fecd ,nil ;};_afee ,_gee :=_bac .(*_bcb .PdfObjectName );if !_gee {_cga .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",_bac );return nil ,_e .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",_bac );};switch *_afee {case "\u0054\u0065\u0078\u0074":_bddg ,_ddf :=_ggef .newPdfAnnotationTextFromDict (_dbf );if _ddf !=nil {return nil ,_ddf ;};_bddg .PdfAnnotation =_fecd ;_fecd ._feb =_bddg ;return _fecd ,nil ;case "\u004c\u0069\u006e\u006b":_aff ,_fbd :=_ggef .newPdfAnnotationLinkFromDict (_dbf );if _fbd !=nil {return nil ,_fbd ;};_aff .PdfAnnotation =_fecd ;_fecd ._feb =_aff ;return _fecd ,nil ;case "\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074":_bgd ,_eed :=_ggef .newPdfAnnotationFreeTextFromDict (_dbf );if _eed !=nil {return nil ,_eed ;};_bgd .PdfAnnotation =_fecd ;_fecd ._feb =_bgd ;return _fecd ,nil ;case "\u004c\u0069\u006e\u0065":_acg ,_dbd :=_ggef .newPdfAnnotationLineFromDict (_dbf );if _dbd !=nil {return nil ,_dbd ;};_acg .PdfAnnotation =_fecd ;_fecd ._feb =_acg ;_cga .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",_fecd ,_fecd );_cga .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",_acg ,_acg );_cga .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",_acg .PdfAnnotationMarkup ,_acg .PdfAnnotationMarkup );return _fecd ,nil ;case "\u0053\u0071\u0075\u0061\u0072\u0065":_daec ,_bea :=_ggef .newPdfAnnotationSquareFromDict (_dbf );if _bea !=nil {return nil ,_bea ;};_daec .PdfAnnotation =_fecd ;_fecd ._feb =_daec ;return _fecd ,nil ;case "\u0043\u0069\u0072\u0063\u006c\u0065":_aac ,_cgged :=_ggef .newPdfAnnotationCircleFromDict (_dbf );if _cgged !=nil {return nil ,_cgged ;};_aac .PdfAnnotation =_fecd ;_fecd ._feb =_aac ;return _fecd ,nil ;case "\u0050o\u006c\u0079\u0067\u006f\u006e":_bbe ,_eggc :=_ggef .newPdfAnnotationPolygonFromDict (_dbf );if _eggc !=nil {return nil ,_eggc ;};_bbe .PdfAnnotation =_fecd ;_fecd ._feb =_bbe ;return _fecd ,nil ;case "\u0050\u006f\u006c\u0079\u004c\u0069\u006e\u0065":_eecf ,_dea :=_ggef .newPdfAnnotationPolyLineFromDict (_dbf );if _dea !=nil {return nil ,_dea ;};_eecf .PdfAnnotation =_fecd ;_fecd ._feb =_eecf ;return _fecd ,nil ;case "\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t":_fcg ,_bfd :=_ggef .newPdfAnnotationHighlightFromDict (_dbf );if _bfd !=nil {return nil ,_bfd ;};_fcg .PdfAnnotation =_fecd ;_fecd ._feb =_fcg ;return _fecd ,nil ;case "\u0055n\u0064\u0065\u0072\u006c\u0069\u006ee":_gfb ,_cdg :=_ggef .newPdfAnnotationUnderlineFromDict (_dbf );if _cdg !=nil {return nil ,_cdg ;};_gfb .PdfAnnotation =_fecd ;_fecd ._feb =_gfb ;return _fecd ,nil ;case "\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079":_agg ,_ageg :=_ggef .newPdfAnnotationSquigglyFromDict (_dbf );if _ageg !=nil {return nil ,_ageg ;};_agg .PdfAnnotation =_fecd ;_fecd ._feb =_agg ;return _fecd ,nil ;case "\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t":_ggb ,_cbfd :=_ggef .newPdfAnnotationStrikeOut (_dbf );if _cbfd !=nil {return nil ,_cbfd ;};_ggb .PdfAnnotation =_fecd ;_fecd ._feb =_ggb ;return _fecd ,nil ;case "\u0043\u0061\u0072e\u0074":_eadf ,_dgb :=_ggef .newPdfAnnotationCaretFromDict (_dbf );if _dgb !=nil {return nil ,_dgb ;};_eadf .PdfAnnotation =_fecd ;_fecd ._feb =_eadf ;return _fecd ,nil ;case "\u0053\u0074\u0061m\u0070":_ffgg ,_dcebg :=_ggef .newPdfAnnotationStampFromDict (_dbf );if _dcebg !=nil {return nil ,_dcebg ;};_ffgg .PdfAnnotation =_fecd ;_fecd ._feb =_ffgg ;return _fecd ,nil ;case "\u0049\u006e\u006b":_gda ,_dced :=_ggef .newPdfAnnotationInkFromDict (_dbf );if _dced !=nil {return nil ,_dced ;};_gda .PdfAnnotation =_fecd ;_fecd ._feb =_gda ;return _fecd ,nil ;case "\u0050\u006f\u0070u\u0070":_agbd ,_dagc :=_ggef .newPdfAnnotationPopupFromDict (_dbf );if _dagc !=nil {return nil ,_dagc ;};_agbd .PdfAnnotation =_fecd ;_fecd ._feb =_agbd ;return _fecd ,nil ;case "\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074":_gdf ,_bae :=_ggef .newPdfAnnotationFileAttachmentFromDict (_dbf );if _bae !=nil {return nil ,_bae ;};_gdf .PdfAnnotation =_fecd ;_fecd ._feb =_gdf ;return _fecd ,nil ;case "\u0053\u006f\u0075n\u0064":_afa ,_fgaf :=_ggef .newPdfAnnotationSoundFromDict (_dbf );if _fgaf !=nil {return nil ,_fgaf ;};_afa .PdfAnnotation =_fecd ;_fecd ._feb =_afa ;return _fecd ,nil ;case "\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a":_faef ,_ggdd :=_ggef .newPdfAnnotationRichMediaFromDict (_dbf );if _ggdd !=nil {return nil ,_ggdd ;};_faef .PdfAnnotation =_fecd ;_fecd ._feb =_faef ;return _fecd ,nil ;case "\u004d\u006f\u0076i\u0065":_baaa ,_efb :=_ggef .newPdfAnnotationMovieFromDict (_dbf );if _efb !=nil {return nil ,_efb ;};_baaa .PdfAnnotation =_fecd ;_fecd ._feb =_baaa ;return _fecd ,nil ;case "\u0053\u0063\u0072\u0065\u0065\u006e":_gfg ,_debf :=_ggef .newPdfAnnotationScreenFromDict (_dbf );if _debf !=nil {return nil ,_debf ;};_gfg .PdfAnnotation =_fecd ;_fecd ._feb =_gfg ;return _fecd ,nil ;case "\u0057\u0069\u0064\u0067\u0065\u0074":_gddd ,_dffc :=_ggef .newPdfAnnotationWidgetFromDict (_dbf );if _dffc !=nil {return nil ,_dffc ;};_gddd .PdfAnnotation =_fecd ;_fecd ._feb =_gddd ;return _fecd ,nil ;case "P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b":_cab ,_gcea :=_ggef .newPdfAnnotationPrinterMarkFromDict (_dbf );if _gcea !=nil {return nil ,_gcea ;};_cab .PdfAnnotation =_fecd ;_fecd ._feb =_cab ;return _fecd ,nil ;case "\u0054r\u0061\u0070\u004e\u0065\u0074":_dcb ,_gbdg :=_ggef .newPdfAnnotationTrapNetFromDict (_dbf );if _gbdg !=nil {return nil ,_gbdg ;};_dcb .PdfAnnotation =_fecd ;_fecd ._feb =_dcb ;return _fecd ,nil ;case "\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k":_ggcd ,_fdd :=_ggef .newPdfAnnotationWatermarkFromDict (_dbf );if _fdd !=nil {return nil ,_fdd ;};_ggcd .PdfAnnotation =_fecd ;_fecd ._feb =_ggcd ;return _fecd ,nil ;case "\u0033\u0044":_abfb ,_dgf :=_ggef .newPdfAnnotation3DFromDict (_dbf );if _dgf !=nil {return nil ,_dgf ;};_abfb .PdfAnnotation =_fecd ;_fecd ._feb =_abfb ;return _fecd ,nil ;case "\u0050\u0072\u006f\u006a\u0065\u0063\u0074\u0069\u006f\u006e":_dcbb ,_ebg :=_ggef .newPdfAnnotationProjectionFromDict (_dbf );if _ebg !=nil {return nil ,_ebg ;};_dcbb .PdfAnnotation =_fecd ;_fecd ._feb =_dcbb ;return _fecd ,nil ;case "\u0052\u0065\u0064\u0061\u0063\u0074":_cee ,_cdea :=_ggef .newPdfAnnotationRedactFromDict (_dbf );if _cdea !=nil {return nil ,_cdea ;};_cee .PdfAnnotation =_fecd ;_fecd ._feb =_cee ;return _fecd ,nil ;};_cga .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",*_afee );return nil ,nil ;};
|
||
|
||
// ToPdfObject returns an indirect object containing the signature field dictionary.
|
||
func (_agff *PdfFieldSignature )ToPdfObject ()_bcb .PdfObject {if _agff .PdfAnnotationWidget !=nil {_agff .PdfAnnotationWidget .ToPdfObject ();};_agff .PdfField .ToPdfObject ();_eeba :=_agff ._gggf ;_fgcgc :=_eeba .PdfObject .(*_bcb .PdfObjectDictionary );_fgcgc .SetIfNotNil ("\u0046\u0054",_bcb .MakeName ("\u0053\u0069\u0067"));_fgcgc .SetIfNotNil ("\u004c\u006f\u0063\u006b",_agff .Lock );_fgcgc .SetIfNotNil ("\u0053\u0056",_agff .SV );if _agff .V !=nil {_fgcgc .SetIfNotNil ("\u0056",_agff .V .ToPdfObject ());};return _eeba ;};
|
||
|
||
// 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 ){_bcag ,_agfdd :=_ecd .Open (filePath );if _agfdd !=nil {_cga .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",_agfdd );return nil ,_agfdd ;};defer _bcag .Close ();return NewPdfFontFromTTF (_bcag );};
|
||
|
||
// SetContext sets the sub annotation (context).
|
||
func (_cce *PdfAnnotation )SetContext (ctx PdfModel ){_cce ._feb =ctx };var (ErrRequiredAttributeMissing =_ae .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 =_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");ErrTypeCheck =_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");_aadab =_ae .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");ErrEncrypted =_ae .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 =_ae .New ("\u0066\u006fn\u0074\u0020\u006eo\u0074\u0020\u0064\u0065\u0066\u0069\u006e\u0065\u0064");ErrFontNotSupported =_bdd .Errorf ("u\u006e\u0073\u0075\u0070po\u0072t\u0065\u0064\u0020\u0066\u006fn\u0074\u0020\u0028\u0025\u0077\u0029",_bcb .ErrNotSupported );ErrType1CFontNotSupported =_bdd .Errorf ("\u0054y\u0070\u00651\u0043\u0020\u0066o\u006e\u0074\u0073\u0020\u0061\u0072\u0065 \u006e\u006f\u0074\u0020\u0063\u0075r\u0072\u0065\u006e\u0074\u006c\u0079\u0020\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020\u0028\u0025\u0077\u0029",_bcb .ErrNotSupported );ErrType3FontNotSupported =_bdd .Errorf ("\u0054y\u0070\u00653\u0020\u0066\u006f\u006et\u0073\u0020\u0061r\u0065\u0020\u006e\u006f\u0074\u0020\u0063\u0075\u0072re\u006e\u0074\u006cy\u0020\u0073u\u0070\u0070\u006f\u0072\u0074\u0065d\u0020\u0028%\u0077\u0029",_bcb .ErrNotSupported );ErrTTCmapNotSupported =_bdd .Errorf ("\u0075\u006es\u0075\u0070\u0070\u006fr\u0074\u0065d\u0020\u0054\u0072\u0075\u0065\u0054\u0079\u0070e\u0020\u0063\u006d\u0061\u0070\u0020\u0066\u006f\u0072\u006d\u0061\u0074 \u0028\u0025\u0077\u0029",_bcb .ErrNotSupported );ErrSignNotEnoughSpace =_bdd .Errorf ("\u0069\u006e\u0073\u0075\u0066\u0066\u0069c\u0069\u0065\u006et\u0020\u0073\u0070a\u0063\u0065 \u0061\u006c\u006c\u006f\u0063\u0061t\u0065d \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065\u0020\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u0073");ErrSignNoCertificates =_bdd .Errorf ("\u0063\u006ful\u0064\u0020\u006eo\u0074\u0020\u0072\u0065tri\u0065ve\u0020\u0063\u0065\u0072\u0074\u0069\u0066ic\u0061\u0074\u0065\u0020\u0063\u0068\u0061i\u006e"););
|
||
|
||
// StdFontName represents name of a standard font.
|
||
type StdFontName =_acc .StdFontName ;
|
||
|
||
// NewPdfActionSound returns a new "sound" action.
|
||
func NewPdfActionSound ()*PdfActionSound {_df :=NewPdfAction ();_gf :=&PdfActionSound {};_gf .PdfAction =_df ;_df .SetContext (_gf );return _gf ;};
|
||
|
||
// GetContainingPdfObject returns the container of the DSS (indirect object).
|
||
func (_cgba *DSS )GetContainingPdfObject ()_bcb .PdfObject {return _cgba ._bdac };
|
||
|
||
// 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 ;_abcf *_bcb .PdfIndirectObject ;
|
||
|
||
// Type: Sig/DocTimeStamp
|
||
Type *_bcb .PdfObjectName ;Filter *_bcb .PdfObjectName ;SubFilter *_bcb .PdfObjectName ;Contents *_bcb .PdfObjectString ;Cert _bcb .PdfObject ;ByteRange *_bcb .PdfObjectArray ;Reference *_bcb .PdfObjectArray ;Changes *_bcb .PdfObjectArray ;Name *_bcb .PdfObjectString ;M *_bcb .PdfObjectString ;Location *_bcb .PdfObjectString ;Reason *_bcb .PdfObjectString ;ContactInfo *_bcb .PdfObjectString ;R *_bcb .PdfObjectInteger ;V *_bcb .PdfObjectInteger ;PropBuild *_bcb .PdfObjectDictionary ;PropAuthTime *_bcb .PdfObjectInteger ;PropAuthType *_bcb .PdfObjectName ;};
|
||
|
||
// GetIndirectObjectByNumber retrieves and returns a specific PdfObject by object number.
|
||
func (_gfbbg *PdfReader )GetIndirectObjectByNumber (number int )(_bcb .PdfObject ,error ){_ecbeaf ,_afbb :=_gfbbg ._ecage .LookupByNumber (number );return _ecbeaf ,_afbb ;};func _efbdf (_gfdc *_bcb .PdfObjectDictionary )(*PdfFieldButton ,error ){_dadaa :=&PdfFieldButton {};_dadaa .Opt ,_ =_bcb .GetArray (_gfdc .Get ("\u004f\u0070\u0074"));return _dadaa ,nil ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_fgdeg *PdfColorspaceSpecialIndexed )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_daafa ,_dabb :=_bcb .GetNumbersAsFloat (objects );if _dabb !=nil {return nil ,_dabb ;};return _fgdeg .ColorFromFloats (_daafa );};
|
||
|
||
// Mask returns the uin32 bitmask for the specific flag.
|
||
func (_bcadc FieldFlag )Mask ()uint32 {return uint32 (_bcadc )};func (_gcd *PdfReader )newPdfActionRenditionFromDict (_cff *_bcb .PdfObjectDictionary )(*PdfActionRendition ,error ){return &PdfActionRendition {R :_cff .Get ("\u0052"),AN :_cff .Get ("\u0041\u004e"),OP :_cff .Get ("\u004f\u0050"),JS :_cff .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// 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 (_gceaa *PdfFont )CharcodesToUnicodeWithStats (charcodes []_ddd .CharCode )(_bedgb []rune ,_gegf ,_fcca int ){_ggfb ,_gegf ,_fcca :=_gceaa .CharcodesToStrings (charcodes );return []rune (_gc .Join (_ggfb ,"")),_gegf ,_fcca ;};func (_ccgdf *PdfWriter )addObjects (_faafe _bcb .PdfObject )error {_cga .Log .Trace ("\u0041d\u0064i\u006e\u0067\u0020\u006f\u0062\u006a\u0065\u0063\u0074\u0073\u0021");if _gffce ,_fdggae :=_faafe .(*_bcb .PdfIndirectObject );_fdggae {_cga .Log .Trace ("\u0049\u006e\u0064\u0069\u0072\u0065\u0063\u0074");_cga .Log .Trace ("\u002d \u0025\u0073\u0020\u0028\u0025\u0070)",_faafe ,_gffce );_cga .Log .Trace ("\u002d\u0020\u0025\u0073",_gffce .PdfObject );if _ccgdf .addObject (_gffce ){_cbcea :=_ccgdf .addObjects (_gffce .PdfObject );if _cbcea !=nil {return _cbcea ;};};return nil ;};if _fdcfd ,_gabab :=_faafe .(*_bcb .PdfObjectStream );_gabab {_cga .Log .Trace ("\u0053\u0074\u0072\u0065\u0061\u006d");_cga .Log .Trace ("\u002d \u0025\u0073\u0020\u0025\u0070",_faafe ,_faafe );if _ccgdf .addObject (_fdcfd ){_abbdf :=_ccgdf .addObjects (_fdcfd .PdfObjectDictionary );if _abbdf !=nil {return _abbdf ;};};return nil ;};if _fecgd ,_fggcf :=_faafe .(*_bcb .PdfObjectDictionary );_fggcf {_cga .Log .Trace ("\u0044\u0069\u0063\u0074");_cga .Log .Trace ("\u002d\u0020\u0025\u0073",_faafe );for _ ,_abde :=range _fecgd .Keys (){_ggege :=_fecgd .Get (_abde );if _abbbg ,_efgga :=_ggege .(*_bcb .PdfObjectReference );_efgga {_ggege =_abbbg .Resolve ();_fecgd .Set (_abde ,_ggege );};if _abde !="\u0050\u0061\u0072\u0065\u006e\u0074"{if _adgba :=_ccgdf .addObjects (_ggege );_adgba !=nil {return _adgba ;};}else {if _ ,_adcfc :=_ggege .(*_bcb .PdfObjectNull );_adcfc {continue ;};if _decea :=_ccgdf .hasObject (_ggege );!_decea {_cga .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",_ggege ,_ggege ,_ggege );_ccgdf ._aabce [_ggege ]=append (_ccgdf ._aabce [_ggege ],_fecgd );};};};return nil ;};if _egccfb ,_agdba :=_faafe .(*_bcb .PdfObjectArray );_agdba {_cga .Log .Trace ("\u0041\u0072\u0072a\u0079");_cga .Log .Trace ("\u002d\u0020\u0025\u0073",_faafe );if _egccfb ==nil {return _ae .New ("\u0061\u0072\u0072a\u0079\u0020\u0069\u0073\u0020\u006e\u0069\u006c");};for _bcfgf ,_abefec :=range _egccfb .Elements (){if _acfcf ,_bbbbe :=_abefec .(*_bcb .PdfObjectReference );_bbbbe {_abefec =_acfcf .Resolve ();_egccfb .Set (_bcfgf ,_abefec );};if _dadfd :=_ccgdf .addObjects (_abefec );_dadfd !=nil {return _dadfd ;};};return nil ;};if _ ,_gbggdg :=_faafe .(*_bcb .PdfObjectReference );_gbggdg {_cga .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",_faafe );return _ae .New ("r\u0065\u0066\u0065\u0072en\u0063e\u0020\u006e\u006f\u0074\u0020a\u006c\u006c\u006f\u0077\u0065\u0064");};return 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 (_dbfca *PdfFont )CharcodesToUnicode (charcodes []_ddd .CharCode )[]rune {_fbgge ,_ ,_ :=_dbfca .CharcodesToUnicodeWithStats (charcodes );return _fbgge ;};
|
||
|
||
// WriteToFile writes the Appender output to file specified by path.
|
||
func (_gdac *PdfAppender )WriteToFile (outputPath string )error {_ffcf ,_dcega :=_ecd .Create (outputPath );if _dcega !=nil {return _dcega ;};defer _ffcf .Close ();return _gdac .Write (_ffcf );};func (_ecdca *pdfFontSimple )addEncoding ()error {var (_deff string ;_caaaa map[_ddd .CharCode ]_ddd .GlyphName ;_fgfb _ddd .SimpleEncoder ;);if _ecdca .Encoder ()!=nil {_bead ,_cccgg :=_ecdca .Encoder ().(_ddd .SimpleEncoder );if _cccgg &&_bead !=nil {_deff =_bead .BaseName ();};};if _ecdca .Encoding !=nil {_ebeaf ,_baead ,_gedbf :=_ecdca .getFontEncoding ();if _gedbf !=nil {_cga .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",_ecdca ._daeb ,_ecdca ._abgg ,_ecdca .Encoding ,_ecdca .Encoding ,_gedbf );return _gedbf ;};if _ebeaf !=""{_deff =_ebeaf ;};_caaaa =_baead ;_fgfb ,_gedbf =_ddd .NewSimpleTextEncoder (_deff ,_caaaa );if _gedbf !=nil {return _gedbf ;};};if _fgfb ==nil {_bbgd :=_ecdca ._ecaed ;if _bbgd !=nil {switch _ecdca ._abgg {case "\u0054\u0079\u0070e\u0031":if _bbgd .fontFile !=nil &&_bbgd .fontFile ._ecge !=nil {_cga .Log .Debug ("\u0055\u0073\u0069\u006e\u0067\u0020\u0066\u006f\u006et\u0046\u0069\u006c\u0065");_fgfb =_bbgd .fontFile ._ecge ;};case "\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":if _bbgd ._bdecf !=nil {_cga .Log .Debug ("\u0055s\u0069n\u0067\u0020\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u0032");_fdgc ,_bbda :=_bbgd ._bdecf .MakeEncoder ();if _bbda ==nil {_fgfb =_fdgc ;};};};};};if _fgfb !=nil {if _caaaa !=nil {_cga .Log .Trace ("\u0064\u0069\u0066fe\u0072\u0065\u006e\u0063\u0065\u0073\u003d\u0025\u002b\u0076\u0020\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_caaaa ,_ecdca .baseFields ());_fgfb =_ddd .ApplyDifferences (_fgfb ,_caaaa );};_ecdca .SetEncoder (_fgfb );};return nil ;};
|
||
|
||
// IsColored specifies if the pattern is colored.
|
||
func (_gfdd *PdfTilingPattern )IsColored ()bool {if _gfdd .PaintType !=nil &&*_gfdd .PaintType ==1{return true ;};return false ;};
|
||
|
||
// Outline represents a PDF outline dictionary (Table 152 - p. 376).
|
||
// Currently, the Outline object can only be used to construct PDF outlines.
|
||
type Outline struct{Entries []*OutlineItem `json:"entries,omitempty"`;};func _dadac (_bcaef *_bcb .PdfObjectDictionary )(*PdfTilingPattern ,error ){_cgafe :=&PdfTilingPattern {};_begb :=_bcaef .Get ("\u0050a\u0069\u006e\u0074\u0054\u0079\u0070e");if _begb ==nil {_cga .Log .Debug ("\u0050\u0061\u0069\u006e\u0074\u0054\u0079\u0070\u0065\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_agegd ,_aadg :=_begb .(*_bcb .PdfObjectInteger );if !_aadg {_cga .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",_begb );return nil ,_bcb .ErrTypeError ;};_cgafe .PaintType =_agegd ;_begb =_bcaef .Get ("\u0054\u0069\u006c\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _begb ==nil {_cga .Log .Debug ("\u0054i\u006ci\u006e\u0067\u0054\u0079\u0070e\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_fcdadg ,_aadg :=_begb .(*_bcb .PdfObjectInteger );if !_aadg {_cga .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",_begb );return nil ,_bcb .ErrTypeError ;};_cgafe .TilingType =_fcdadg ;_begb =_bcaef .Get ("\u0042\u0042\u006f\u0078");if _begb ==nil {_cga .Log .Debug ("\u0042\u0042\u006fx\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_begb =_bcb .TraceToDirectObject (_begb );_aegf ,_aadg :=_begb .(*_bcb .PdfObjectArray );if !_aadg {_cga .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",_begb );return nil ,_bcb .ErrTypeError ;};_gcggf ,_gefga :=NewPdfRectangle (*_aegf );if _gefga !=nil {_cga .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_gefga );return nil ,_gefga ;};_cgafe .BBox =_gcggf ;_begb =_bcaef .Get ("\u0058\u0053\u0074e\u0070");if _begb ==nil {_cga .Log .Debug ("\u0058\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_gdgeg ,_gefga :=_bcb .GetNumberAsFloat (_begb );if _gefga !=nil {_cga .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",_gdgeg );return nil ,_gefga ;};_cgafe .XStep =_bcb .MakeFloat (_gdgeg );_begb =_bcaef .Get ("\u0059\u0053\u0074e\u0070");if _begb ==nil {_cga .Log .Debug ("\u0059\u0053\u0074\u0065\u0070\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_acfb ,_gefga :=_bcb .GetNumberAsFloat (_begb );if _gefga !=nil {_cga .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",_acfb );return nil ,_gefga ;};_cgafe .YStep =_bcb .MakeFloat (_acfb );_begb =_bcaef .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");if _begb ==nil {_cga .Log .Debug ("\u0052\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_bcaef ,_aadg =_bcb .TraceToDirectObject (_begb ).(*_bcb .PdfObjectDictionary );if !_aadg {return nil ,_e .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",_begb );};_eaaac ,_gefga :=NewPdfPageResourcesFromDict (_bcaef );if _gefga !=nil {return nil ,_gefga ;};_cgafe .Resources =_eaaac ;if _dggab :=_bcaef .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_dggab !=nil {_badea ,_cedff :=_dggab .(*_bcb .PdfObjectArray );if !_cedff {_cga .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",_dggab );return nil ,_bcb .ErrTypeError ;};_cgafe .Matrix =_badea ;};return _cgafe ,nil ;};
|
||
|
||
// GetPageAsIndirectObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_acgee *PdfPage )GetPageAsIndirectObject ()*_bcb .PdfIndirectObject {return _acgee ._cfabg };func (_egg *PdfReader )newPdfActionFromIndirectObject (_dca *_bcb .PdfIndirectObject )(*PdfAction ,error ){_ega ,_edd :=_dca .PdfObject .(*_bcb .PdfObjectDictionary );if !_edd {return nil ,_e .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 :=_egg ._dafbg .GetModelFromPrimitive (_ega );model !=nil {_gdd ,_bfg :=model .(*PdfAction );if !_bfg {return nil ,_e .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 _gdd ,nil ;};_ccd :=&PdfAction {};_ccd ._dce =_dca ;_egg ._dafbg .Register (_ega ,_ccd );if _dag :=_ega .Get ("\u0054\u0079\u0070\u0065");_dag !=nil {_bfb ,_cgf :=_dag .(*_bcb .PdfObjectName );if !_cgf {_cga .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",_dag );}else {if *_bfb !="\u0041\u0063\u0074\u0069\u006f\u006e"{_cga .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",*_bfb );};_ccd .Type =_bfb ;};};if _eac :=_ega .Get ("\u004e\u0065\u0078\u0074");_eac !=nil {_ccd .Next =_eac ;};if _fca :=_ega .Get ("\u0053");_fca !=nil {_ccd .S =_fca ;};_eag ,_cd :=_ccd .S .(*_bcb .PdfObjectName );if !_cd {_cga .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",_ccd .S );return nil ,_e .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",_ccd .S );};_dcc :=PdfActionType (_eag .String ());switch _dcc {case ActionTypeGoTo :_dace ,_fa :=_egg .newPdfActionGotoFromDict (_ega );if _fa !=nil {return nil ,_fa ;};_dace .PdfAction =_ccd ;_ccd ._dda =_dace ;return _ccd ,nil ;case ActionTypeGoToR :_edfc ,_bff :=_egg .newPdfActionGotoRFromDict (_ega );if _bff !=nil {return nil ,_bff ;};_edfc .PdfAction =_ccd ;_ccd ._dda =_edfc ;return _ccd ,nil ;case ActionTypeGoToE :_cgg ,_bdb :=_egg .newPdfActionGotoEFromDict (_ega );if _bdb !=nil {return nil ,_bdb ;};_cgg .PdfAction =_ccd ;_ccd ._dda =_cgg ;return _ccd ,nil ;case ActionTypeLaunch :_eae ,_eca :=_egg .newPdfActionLaunchFromDict (_ega );if _eca !=nil {return nil ,_eca ;};_eae .PdfAction =_ccd ;_ccd ._dda =_eae ;return _ccd ,nil ;case ActionTypeThread :_acf ,_efg :=_egg .newPdfActionThreadFromDict (_ega );if _efg !=nil {return nil ,_efg ;};_acf .PdfAction =_ccd ;_ccd ._dda =_acf ;return _ccd ,nil ;case ActionTypeURI :_ege ,_acee :=_egg .newPdfActionURIFromDict (_ega );if _acee !=nil {return nil ,_acee ;};_ege .PdfAction =_ccd ;_ccd ._dda =_ege ;return _ccd ,nil ;case ActionTypeSound :_baaf ,_efc :=_egg .newPdfActionSoundFromDict (_ega );if _efc !=nil {return nil ,_efc ;};_baaf .PdfAction =_ccd ;_ccd ._dda =_baaf ;return _ccd ,nil ;case ActionTypeMovie :_bde ,_edae :=_egg .newPdfActionMovieFromDict (_ega );if _edae !=nil {return nil ,_edae ;};_bde .PdfAction =_ccd ;_ccd ._dda =_bde ;return _ccd ,nil ;case ActionTypeHide :_gede ,_bdf :=_egg .newPdfActionHideFromDict (_ega );if _bdf !=nil {return nil ,_bdf ;};_gede .PdfAction =_ccd ;_ccd ._dda =_gede ;return _ccd ,nil ;case ActionTypeNamed :_aag ,_baafb :=_egg .newPdfActionNamedFromDict (_ega );if _baafb !=nil {return nil ,_baafb ;};_aag .PdfAction =_ccd ;_ccd ._dda =_aag ;return _ccd ,nil ;case ActionTypeSubmitForm :_cfag ,_ggg :=_egg .newPdfActionSubmitFormFromDict (_ega );if _ggg !=nil {return nil ,_ggg ;};_cfag .PdfAction =_ccd ;_ccd ._dda =_cfag ;return _ccd ,nil ;case ActionTypeResetForm :_acb ,_fcbb :=_egg .newPdfActionResetFormFromDict (_ega );if _fcbb !=nil {return nil ,_fcbb ;};_acb .PdfAction =_ccd ;_ccd ._dda =_acb ;return _ccd ,nil ;case ActionTypeImportData :_cgge ,_fffe :=_egg .newPdfActionImportDataFromDict (_ega );if _fffe !=nil {return nil ,_fffe ;};_cgge .PdfAction =_ccd ;_ccd ._dda =_cgge ;return _ccd ,nil ;case ActionTypeSetOCGState :_gag ,_aeb :=_egg .newPdfActionSetOCGStateFromDict (_ega );if _aeb !=nil {return nil ,_aeb ;};_gag .PdfAction =_ccd ;_ccd ._dda =_gag ;return _ccd ,nil ;case ActionTypeRendition :_cbd ,_aeae :=_egg .newPdfActionRenditionFromDict (_ega );if _aeae !=nil {return nil ,_aeae ;};_cbd .PdfAction =_ccd ;_ccd ._dda =_cbd ;return _ccd ,nil ;case ActionTypeTrans :_gfe ,_ecgb :=_egg .newPdfActionTransFromDict (_ega );if _ecgb !=nil {return nil ,_ecgb ;};_gfe .PdfAction =_ccd ;_ccd ._dda =_gfe ;return _ccd ,nil ;case ActionTypeGoTo3DView :_beg ,_egd :=_egg .newPdfActionGoTo3DViewFromDict (_ega );if _egd !=nil {return nil ,_egd ;};_beg .PdfAction =_ccd ;_ccd ._dda =_beg ;return _ccd ,nil ;case ActionTypeJavaScript :_bffe ,_efad :=_egg .newPdfActionJavaScriptFromDict (_ega );if _efad !=nil {return nil ,_efad ;};_bffe .PdfAction =_ccd ;_ccd ._dda =_bffe ;return _ccd ,nil ;};_cga .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",_dcc );return nil ,nil ;};func (_ggac *DSS )addCerts (_cfacd [][]byte )([]*_bcb .PdfObjectStream ,error ){return _ggac .add (&_ggac .Certs ,_ggac ._dcbbe ,_cfacd );};func _eegab (_gecd *_bcb .PdfObjectDictionary )(*PdfFieldText ,error ){_edebb :=&PdfFieldText {};_edebb .DA ,_ =_bcb .GetString (_gecd .Get ("\u0044\u0041"));_edebb .Q ,_ =_bcb .GetInt (_gecd .Get ("\u0051"));_edebb .DS ,_ =_bcb .GetString (_gecd .Get ("\u0044\u0053"));_edebb .RV =_gecd .Get ("\u0052\u0056");_edebb .MaxLen ,_ =_bcb .GetInt (_gecd .Get ("\u004d\u0061\u0078\u004c\u0065\u006e"));return _edebb ,nil ;};
|
||
|
||
// ImageToRGB convert 1-component grayscale data to 3-component RGB.
|
||
func (_ffbc *PdfColorspaceDeviceGray )ImageToRGB (img Image )(Image ,error ){if img .ColorComponents !=1{return img ,_ae .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");};_cfcf ,_fcead :=_fgd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cdeb ,img ._fdggf );if _fcead !=nil {return img ,_fcead ;};_abfd ,_fcead :=_fgd .NRGBAConverter .Convert (_cfcf );if _fcead !=nil {return img ,_fcead ;};_fbdb :=_gagca (_abfd .Base ());_cga .Log .Trace ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079\u0020\u002d>\u0020\u0052\u0047\u0042");_cga .Log .Trace ("s\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",img .Data );_cga .Log .Trace ("\u0052G\u0042 \u0073\u0061\u006d\u0070\u006c\u0065\u0073\u003a\u0020\u0025\u0076",_fbdb .Data );_cga .Log .Trace ("\u0025\u0076\u0020\u002d\u003e\u0020\u0025\u0076",img ,_fbdb );return _fbdb ,nil ;};func (_fffc *pdfFontSimple )getFontDescriptor ()*PdfFontDescriptor {if _daadb :=_fffc ._ecaed ;_daadb !=nil {return _daadb ;};return _fffc ._ddee ;};
|
||
|
||
// NewPdfActionThread returns a new "thread" action.
|
||
func NewPdfActionThread ()*PdfActionThread {_fbf :=NewPdfAction ();_ga :=&PdfActionThread {};_ga .PdfAction =_fbf ;_fbf .SetContext (_ga );return _ga ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_fccc *PdfFunctionType3 )ToPdfObject ()_bcb .PdfObject {_fagef :=_bcb .MakeDict ();_fagef .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_bcb .MakeInteger (3));_acfff :=&_bcb .PdfObjectArray {};for _ ,_efff :=range _fccc .Domain {_acfff .Append (_bcb .MakeFloat (_efff ));};_fagef .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_acfff );if _fccc .Range !=nil {_feefd :=&_bcb .PdfObjectArray {};for _ ,_gedbb :=range _fccc .Range {_feefd .Append (_bcb .MakeFloat (_gedbb ));};_fagef .Set ("\u0052\u0061\u006eg\u0065",_feefd );};if _fccc .Functions !=nil {_ffeee :=&_bcb .PdfObjectArray {};for _ ,_eegdg :=range _fccc .Functions {_ffeee .Append (_eegdg .ToPdfObject ());};_fagef .Set ("\u0046u\u006e\u0063\u0074\u0069\u006f\u006es",_ffeee );};if _fccc .Bounds !=nil {_fafc :=&_bcb .PdfObjectArray {};for _ ,_cgff :=range _fccc .Bounds {_fafc .Append (_bcb .MakeFloat (_cgff ));};_fagef .Set ("\u0042\u006f\u0075\u006e\u0064\u0073",_fafc );};if _fccc .Encode !=nil {_egce :=&_bcb .PdfObjectArray {};for _ ,_ggadg :=range _fccc .Encode {_egce .Append (_bcb .MakeFloat (_ggadg ));};_fagef .Set ("\u0045\u006e\u0063\u006f\u0064\u0065",_egce );};if _fccc ._gfbgg !=nil {_fccc ._gfbgg .PdfObject =_fagef ;return _fccc ._gfbgg ;};return _fagef ;};
|
||
|
||
// Fill populates `form` with values provided by `provider`.
|
||
func (_gbcfc *PdfAcroForm )Fill (provider FieldValueProvider )error {return _gbcfc .fill (provider ,nil )};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on input color components. The input PdfObjects should
|
||
// be numeric.
|
||
func (_dada *PdfColorspaceDeviceN )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=_dada .GetNumComponents (){return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ccf ,_ccaf :=_bcb .GetNumbersAsFloat (objects );if _ccaf !=nil {return nil ,_ccaf ;};return _dada .ColorFromFloats (_ccf );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_acgb *PdfAnnotationHighlight )ToPdfObject ()_bcb .PdfObject {_acgb .PdfAnnotation .ToPdfObject ();_adbg :=_acgb ._daa ;_acbc :=_adbg .PdfObject .(*_bcb .PdfObjectDictionary );_acgb .PdfAnnotationMarkup .appendToPdfDictionary (_acbc );_acbc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0048i\u0067\u0068\u006c\u0069\u0067\u0068t"));_acbc .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_acgb .QuadPoints );return _adbg ;};
|
||
|
||
// ToPdfObject converts rectangle to a PDF object.
|
||
func (_feabe *PdfRectangle )ToPdfObject ()_bcb .PdfObject {return _bcb .MakeArray (_bcb .MakeFloat (_feabe .Llx ),_bcb .MakeFloat (_feabe .Lly ),_bcb .MakeFloat (_feabe .Urx ),_bcb .MakeFloat (_feabe .Ury ));};func (_cegd *PdfAppender )replaceObject (_efbe ,_bgge _bcb .PdfObject ){switch _aecb :=_efbe .(type ){case *_bcb .PdfIndirectObject :_cegd ._cfff [_bgge ]=_aecb .ObjectNumber ;case *_bcb .PdfObjectStream :_cegd ._cfff [_bgge ]=_aecb .ObjectNumber ;};};
|
||
|
||
// GetPageDict converts the Page to a PDF object dictionary.
|
||
func (_dbcg *PdfPage )GetPageDict ()*_bcb .PdfObjectDictionary {_feaf :=_dbcg ._fagg ;_feaf .Clear ();_feaf .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0050\u0061\u0067\u0065"));_feaf .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_dbcg .Parent );if _dbcg .LastModified !=nil {_feaf .Set ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_dbcg .LastModified .ToPdfObject ());};if _dbcg .Resources !=nil {_feaf .Set ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_dbcg .Resources .ToPdfObject ());};if _dbcg .CropBox !=nil {_feaf .Set ("\u0043r\u006f\u0070\u0042\u006f\u0078",_dbcg .CropBox .ToPdfObject ());};if _dbcg .MediaBox !=nil {_feaf .Set ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078",_dbcg .MediaBox .ToPdfObject ());};if _dbcg .BleedBox !=nil {_feaf .Set ("\u0042\u006c\u0065\u0065\u0064\u0042\u006f\u0078",_dbcg .BleedBox .ToPdfObject ());};if _dbcg .TrimBox !=nil {_feaf .Set ("\u0054r\u0069\u006d\u0042\u006f\u0078",_dbcg .TrimBox .ToPdfObject ());};if _dbcg .ArtBox !=nil {_feaf .Set ("\u0041\u0072\u0074\u0042\u006f\u0078",_dbcg .ArtBox .ToPdfObject ());};_feaf .SetIfNotNil ("\u0042\u006f\u0078C\u006f\u006c\u006f\u0072\u0049\u006e\u0066\u006f",_dbcg .BoxColorInfo );_feaf .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_dbcg .Contents );if _dbcg .Rotate !=nil {_feaf .Set ("\u0052\u006f\u0074\u0061\u0074\u0065",_bcb .MakeInteger (*_dbcg .Rotate ));};_feaf .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_dbcg .Group );_feaf .SetIfNotNil ("\u0054\u0068\u0075m\u0062",_dbcg .Thumb );_feaf .SetIfNotNil ("\u0042",_dbcg .B );_feaf .SetIfNotNil ("\u0044\u0075\u0072",_dbcg .Dur );_feaf .SetIfNotNil ("\u0054\u0072\u0061n\u0073",_dbcg .Trans );_feaf .SetIfNotNil ("\u0041\u0041",_dbcg .AA );_feaf .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_dbcg .Metadata );_feaf .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_dbcg .PieceInfo );_feaf .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_dbcg .StructParents );_feaf .SetIfNotNil ("\u0049\u0044",_dbcg .ID );_feaf .SetIfNotNil ("\u0050\u005a",_dbcg .PZ );_feaf .SetIfNotNil ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006fn\u0049\u006e\u0066\u006f",_dbcg .SeparationInfo );_feaf .SetIfNotNil ("\u0054\u0061\u0062\u0073",_dbcg .Tabs );_feaf .SetIfNotNil ("T\u0065m\u0070\u006c\u0061\u0074\u0065\u0049\u006e\u0073t\u0061\u006e\u0074\u0069at\u0065\u0064",_dbcg .TemplateInstantiated );_feaf .SetIfNotNil ("\u0050r\u0065\u0073\u0053\u0074\u0065\u0070s",_dbcg .PresSteps );_feaf .SetIfNotNil ("\u0055\u0073\u0065\u0072\u0055\u006e\u0069\u0074",_dbcg .UserUnit );_feaf .SetIfNotNil ("\u0056\u0050",_dbcg .VP );if _dbcg ._adgce !=nil {_edgbg :=_bcb .MakeArray ();for _ ,_eebbg :=range _dbcg ._adgce {if _dbfbd :=_eebbg .GetContext ();_dbfbd !=nil {_edgbg .Append (_dbfbd .ToPdfObject ());}else {_edgbg .Append (_eebbg .ToPdfObject ());};};if _edgbg .Len ()> 0{_feaf .Set ("\u0041\u006e\u006e\u006f\u0074\u0073",_edgbg );};}else if _dbcg .Annots !=nil {_feaf .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0073",_dbcg .Annots );};return _feaf ;};
|
||
|
||
// ImageToRGB converts image in CalGray color space to RGB (A, B, C -> X, Y, Z).
|
||
func (_eadec *PdfColorspaceCalGray )ImageToRGB (img Image )(Image ,error ){_dfaf :=_cgb .NewReader (img .getBase ());_aggd :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_dcfe :=_cgb .NewWriter (_aggd );_fdba :=_edb .Pow (2,float64 (img .BitsPerComponent ))-1;_bdbdb :=make ([]uint32 ,3);var (_caeg uint32 ;ANorm ,X ,Y ,Z ,_eacda ,_fafa ,_egde float64 ;_ffdee error ;);for {_caeg ,_ffdee =_dfaf .ReadSample ();if _ffdee ==_fb .EOF {break ;}else if _ffdee !=nil {return img ,_ffdee ;};ANorm =float64 (_caeg )/_fdba ;X =_eadec .WhitePoint [0]*_edb .Pow (ANorm ,_eadec .Gamma );Y =_eadec .WhitePoint [1]*_edb .Pow (ANorm ,_eadec .Gamma );Z =_eadec .WhitePoint [2]*_edb .Pow (ANorm ,_eadec .Gamma );_eacda =3.240479*X +-1.537150*Y +-0.498535*Z ;_fafa =-0.969256*X +1.875992*Y +0.041556*Z ;_egde =0.055648*X +-0.204043*Y +1.057311*Z ;_eacda =_edb .Min (_edb .Max (_eacda ,0),1.0);_fafa =_edb .Min (_edb .Max (_fafa ,0),1.0);_egde =_edb .Min (_edb .Max (_egde ,0),1.0);_bdbdb [0]=uint32 (_eacda *_fdba );_bdbdb [1]=uint32 (_fafa *_fdba );_bdbdb [2]=uint32 (_egde *_fdba );if _ffdee =_dcfe .WriteSamples (_bdbdb );_ffdee !=nil {return img ,_ffdee ;};};return _gagca (&_aggd ),nil ;};
|
||
|
||
// PdfFont represents an underlying font structure which can be of type:
|
||
// - Type0
|
||
// - Type1
|
||
// - TrueType
|
||
// etc.
|
||
type PdfFont struct{_fgge pdfFont };
|
||
|
||
// NewPdfFontFromPdfObject loads a PdfFont from the dictionary `fontObj`. If there is a problem an
|
||
// error is returned.
|
||
func NewPdfFontFromPdfObject (fontObj _bcb .PdfObject )(*PdfFont ,error ){return _aabe (fontObj ,true )};func _agcd (_aaabg *_bcb .PdfObjectDictionary )(*PdfFieldChoice ,error ){_feed :=&PdfFieldChoice {};_feed .Opt ,_ =_bcb .GetArray (_aaabg .Get ("\u004f\u0070\u0074"));_feed .TI ,_ =_bcb .GetInt (_aaabg .Get ("\u0054\u0049"));_feed .I ,_ =_bcb .GetArray (_aaabg .Get ("\u0049"));return _feed ,nil ;};
|
||
|
||
// NewPdfColorspaceICCBased returns a new ICCBased colorspace object.
|
||
func NewPdfColorspaceICCBased (N int )(*PdfColorspaceICCBased ,error ){_egge :=&PdfColorspaceICCBased {};if N !=1&&N !=3&&N !=4{return nil ,_e .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004e\u0020\u0028\u0031/\u0033\u002f\u0034\u0029");};_egge .N =N ;return _egge ,nil ;};func (_ecdg *pdfFontType0 )subsetRegistered ()error {_bbbab ,_cbfeg :=_ecdg .DescendantFont ._fgge .(*pdfCIDFontType2 );if !_cbfeg {_cga .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",_ecdg .DescendantFont );return nil ;};if _bbbab ==nil {return nil ;};if _bbbab ._ecaed ==nil {_cga .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 _ecdg ._cfaee ==nil {_cga .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 ;};_ceeca ,_cbfeg :=_bcb .GetStream (_bbbab ._ecaed .FontFile2 );if !_cbfeg {_cga .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 _ae .New ("\u0066\u006f\u006e\u0074fi\u006c\u0065\u0032\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064");};_efdf ,_gcgb :=_bcb .DecodeStream (_ceeca );if _gcgb !=nil {_cga .Log .Debug ("\u0044\u0065c\u006f\u0064\u0065 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_gcgb );return _gcgb ;};_agbbd ,_gcgb :=_bd .Parse (_ede .NewReader (_efdf ));if _gcgb !=nil {_cga .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 (_ceeca .Stream ));return _gcgb ;};var _gcae []rune ;var _ccgea *_bd .Font ;switch _adfac :=_ecdg ._cfaee .(type ){case *_ddd .TrueTypeFontEncoder :_gcae =_adfac .RegisteredRunes ();_ccgea ,_gcgb =_agbbd .SubsetKeepRunes (_gcae );if _gcgb !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gcgb );return _gcgb ;};_adfac .SubsetRegistered ();case *_ddd .IdentityEncoder :_gcae =_adfac .RegisteredRunes ();_edfcca :=make ([]_bd .GlyphIndex ,len (_gcae ));for _aeaag ,_gfaf :=range _gcae {_edfcca [_aeaag ]=_bd .GlyphIndex (_gfaf );};_ccgea ,_gcgb =_agbbd .SubsetKeepIndices (_edfcca );if _gcgb !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gcgb );return _gcgb ;};case _ddd .SimpleEncoder :_bgea :=_adfac .Charcodes ();for _ ,_gadde :=range _bgea {_acag ,_ggdeg :=_adfac .CharcodeToRune (_gadde );if !_ggdeg {_cga .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",_gadde );continue ;};_gcae =append (_gcae ,_acag );};default:return _e .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",_ecdg ._cfaee );};var _cdcf _ede .Buffer ;_gcgb =_ccgea .Write (&_cdcf );if _gcgb !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gcgb );return _gcgb ;};if _ecdg ._ecbe !=nil {_fgbfe :=make (map[_dc .CharCode ]rune ,len (_gcae ));for _ ,_egcbb :=range _gcae {_abgca ,_dgeb :=_ecdg ._cfaee .RuneToCharcode (_egcbb );if !_dgeb {continue ;};_fgbfe [_dc .CharCode (_abgca )]=_egcbb ;};_ecdg ._ecbe =_dc .NewToUnicodeCMap (_fgbfe );};_ceeca ,_gcgb =_bcb .MakeStream (_cdcf .Bytes (),_bcb .NewFlateEncoder ());if _gcgb !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_gcgb );return _gcgb ;};_ceeca .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_bcb .MakeInteger (int64 (_cdcf .Len ())));if _cgdb ,_acgc :=_bcb .GetStream (_bbbab ._ecaed .FontFile2 );_acgc {*_cgdb =*_ceeca ;}else {_bbbab ._ecaed .FontFile2 =_ceeca ;};_fdaac :=_ddggc ();if len (_ecdg ._daeb )> 0{_ecdg ._daeb =_dgdf (_ecdg ._daeb ,_fdaac );};if len (_bbbab ._daeb )> 0{_bbbab ._daeb =_dgdf (_bbbab ._daeb ,_fdaac );};if len (_ecdg ._gbfc )> 0{_ecdg ._gbfc =_dgdf (_ecdg ._gbfc ,_fdaac );};if _bbbab ._ecaed !=nil {_bfbgc ,_gafc :=_bcb .GetName (_bbbab ._ecaed .FontName );if _gafc &&len (_bfbgc .String ())> 0{_cebbc :=_dgdf (_bfbgc .String (),_fdaac );_bbbab ._ecaed .FontName =_bcb .MakeName (_cebbc );};};return nil ;};
|
||
|
||
// AcroFormRepairOptions contains options for rebuilding the AcroForm.
|
||
type AcroFormRepairOptions struct{};
|
||
|
||
// SetOptimizer sets the optimizer to optimize PDF before writing.
|
||
func (_abdgd *PdfWriter )SetOptimizer (optimizer Optimizer ){_abdgd ._bgefd =optimizer };func (_ddbb *PdfReader )newPdfActionGoTo3DViewFromDict (_edfe *_bcb .PdfObjectDictionary )(*PdfActionGoTo3DView ,error ){return &PdfActionGoTo3DView {TA :_edfe .Get ("\u0054\u0041"),V :_edfe .Get ("\u0056")},nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the VRI dictionary.
|
||
func (_ffcfd *VRI )ToPdfObject ()*_bcb .PdfObjectDictionary {_geadb :=_bcb .MakeDict ();_geadb .SetIfNotNil (_bcb .PdfObjectName ("\u0043\u0065\u0072\u0074"),_cbgcg (_ffcfd .Cert ));_geadb .SetIfNotNil (_bcb .PdfObjectName ("\u004f\u0043\u0053\u0050"),_cbgcg (_ffcfd .OCSP ));_geadb .SetIfNotNil (_bcb .PdfObjectName ("\u0043\u0052\u004c"),_cbgcg (_ffcfd .CRL ));_geadb .SetIfNotNil ("\u0054\u0055",_ffcfd .TU );_geadb .SetIfNotNil ("\u0054\u0053",_ffcfd .TS );return _geadb ;};
|
||
|
||
// 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 ){_dccf ,_dcda :=_edebg (basefont );if _dcda !=nil {return nil ,_dcda ;};if basefont !=SymbolName &&basefont !=ZapfDingbatsName {_dccf ._fdebc =_ddd .NewWinAnsiEncoder ();};return &PdfFont {_fgge :&_dccf },nil ;};
|
||
|
||
// PdfFontDescriptor specifies metrics and other attributes of a font and can refer to a FontFile
|
||
// for embedded fonts.
|
||
// 9.8 Font Descriptors (page 281)
|
||
type PdfFontDescriptor struct{FontName _bcb .PdfObject ;FontFamily _bcb .PdfObject ;FontStretch _bcb .PdfObject ;FontWeight _bcb .PdfObject ;Flags _bcb .PdfObject ;FontBBox _bcb .PdfObject ;ItalicAngle _bcb .PdfObject ;Ascent _bcb .PdfObject ;Descent _bcb .PdfObject ;Leading _bcb .PdfObject ;CapHeight _bcb .PdfObject ;XHeight _bcb .PdfObject ;StemV _bcb .PdfObject ;StemH _bcb .PdfObject ;AvgWidth _bcb .PdfObject ;MaxWidth _bcb .PdfObject ;MissingWidth _bcb .PdfObject ;FontFile _bcb .PdfObject ;FontFile2 _bcb .PdfObject ;FontFile3 _bcb .PdfObject ;CharSet _bcb .PdfObject ;_fefb int ;_adfb float64 ;*fontFile ;_bdecf *_acc .TtfType ;
|
||
|
||
// Additional entries for CIDFonts
|
||
Style _bcb .PdfObject ;Lang _bcb .PdfObject ;FD _bcb .PdfObject ;CIDSet _bcb .PdfObject ;_aaed *_bcb .PdfIndirectObject ;};
|
||
|
||
// 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 _bcb .PdfObject )(_bcb .PdfObjectName ,error ){var _adcef *_bcb .PdfObjectName ;var _afda *_bcb .PdfObjectArray ;if _bafgf ,_gggc :=obj .(*_bcb .PdfIndirectObject );_gggc {if _cfcb ,_cgec :=_bafgf .PdfObject .(*_bcb .PdfObjectArray );_cgec {_afda =_cfcb ;}else if _adgg ,_bcadg :=_bafgf .PdfObject .(*_bcb .PdfObjectName );_bcadg {_adcef =_adgg ;};}else if _gdfg ,_fcgaf :=obj .(*_bcb .PdfObjectArray );_fcgaf {_afda =_gdfg ;}else if _gcbfg ,_beec :=obj .(*_bcb .PdfObjectName );_beec {_adcef =_gcbfg ;};if _adcef !=nil {switch *_adcef {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 *_adcef ,nil ;case "\u0050a\u0074\u0074\u0065\u0072\u006e":return *_adcef ,nil ;};};if _afda !=nil &&_afda .Len ()> 0{if _ccae ,_bcfb :=_afda .Get (0).(*_bcb .PdfObjectName );_bcfb {switch *_ccae {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 _afda .Len ()==1{return *_ccae ,nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079","\u0043\u0061\u006c\u0052\u0047\u0042","\u004c\u0061\u0062":return *_ccae ,nil ;case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064","\u0050a\u0074\u0074\u0065\u0072\u006e","\u0049n\u0064\u0065\u0078\u0065\u0064":return *_ccae ,nil ;case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e","\u0044e\u0076\u0069\u0063\u0065\u004e":return *_ccae ,nil ;};};};return "",nil ;};func (_dbfc *PdfAnnotationMarkup )appendToPdfDictionary (_ggefa *_bcb .PdfObjectDictionary ){_ggefa .SetIfNotNil ("\u0054",_dbfc .T );if _dbfc .Popup !=nil {_ggefa .Set ("\u0050\u006f\u0070u\u0070",_dbfc .Popup .ToPdfObject ());};_ggefa .SetIfNotNil ("\u0043\u0041",_dbfc .CA );_ggefa .SetIfNotNil ("\u0052\u0043",_dbfc .RC );_ggefa .SetIfNotNil ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_dbfc .CreationDate );_ggefa .SetIfNotNil ("\u0049\u0052\u0054",_dbfc .IRT );_ggefa .SetIfNotNil ("\u0053\u0075\u0062\u006a",_dbfc .Subj );_ggefa .SetIfNotNil ("\u0052\u0054",_dbfc .RT );_ggefa .SetIfNotNil ("\u0049\u0054",_dbfc .IT );_ggefa .SetIfNotNil ("\u0045\u0078\u0044\u0061\u0074\u0061",_dbfc .ExData );};
|
||
|
||
// NewPdfColorspaceSpecialSeparation returns a new separation color.
|
||
func NewPdfColorspaceSpecialSeparation ()*PdfColorspaceSpecialSeparation {_eee :=&PdfColorspaceSpecialSeparation {};return _eee ;};
|
||
|
||
// 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 _fb .ReadSeeker )(*PdfFont ,error ){const _ceadcg =_ddd .CharCode (32);const _ggec =_ddd .CharCode (255);_fgff ,_degd :=_fd .ReadAll (r );if _degd !=nil {_cga .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",_degd );return nil ,_degd ;};_aefc ,_degd :=_acc .TtfParse (_ede .NewReader (_fgff ));if _degd !=nil {_cga .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",_degd );return nil ,_degd ;};_bdgd :=&pdfFontSimple {_dgdfc :make (map[_ddd .CharCode ]float64 ),fontCommon :fontCommon {_abgg :"\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065"}};_bdgd ._fdebc =_ddd .NewWinAnsiEncoder ();_bdgd ._daeb =_aefc .PostScriptName ;_bdgd .FirstChar =_bcb .MakeInteger (int64 (_ceadcg ));_bdgd .LastChar =_bcb .MakeInteger (int64 (_ggec ));_fgfdb :=1000.0/float64 (_aefc .UnitsPerEm );if len (_aefc .Widths )<=0{return nil ,_ae .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");};_afcd :=_fgfdb *float64 (_aefc .Widths [0]);_gfea :=make ([]float64 ,0,_ggec -_ceadcg +1);for _gfbb :=_ceadcg ;_gfbb <=_ggec ;_gfbb ++{_cegda ,_bfgfc :=_bdgd .Encoder ().CharcodeToRune (_gfbb );if !_bfgfc {_cga .Log .Debug ("\u0052u\u006e\u0065\u0020\u006eo\u0074\u0020\u0066\u006f\u0075n\u0064 \u0028c\u006f\u0064\u0065\u003a\u0020\u0025\u0064)",_gfbb );_gfea =append (_gfea ,_afcd );continue ;};_ddeea ,_dddgcb :=_aefc .Chars [_cegda ];if !_dddgcb {_cga .Log .Debug ("R\u0075\u006e\u0065\u0020no\u0074 \u0069\u006e\u0020\u0054\u0054F\u0020\u0043\u0068\u0061\u0072\u0073");_gfea =append (_gfea ,_afcd );continue ;};_adbfc :=_fgfdb *float64 (_aefc .Widths [_ddeea ]);_gfea =append (_gfea ,_adbfc );};_bdgd .Widths =_bcb .MakeIndirectObject (_bcb .MakeArrayFromFloats (_gfea ));if len (_gfea )< int (_ggec -_ceadcg +1){_cga .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 (_gfea ),255-32+1);return nil ,_bcb .ErrRangeError ;};for _cgbaa :=_ceadcg ;_cgbaa <=_ggec ;_cgbaa ++{_bdgd ._dgdfc [_cgbaa ]=_gfea [_cgbaa -_ceadcg ];};_bdgd .Encoding =_bcb .MakeName ("\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067");_dbfd :=&PdfFontDescriptor {};_dbfd .FontName =_bcb .MakeName (_aefc .PostScriptName );_dbfd .Ascent =_bcb .MakeFloat (_fgfdb *float64 (_aefc .TypoAscender ));_dbfd .Descent =_bcb .MakeFloat (_fgfdb *float64 (_aefc .TypoDescender ));_dbfd .CapHeight =_bcb .MakeFloat (_fgfdb *float64 (_aefc .CapHeight ));_dbfd .FontBBox =_bcb .MakeArrayFromFloats ([]float64 {_fgfdb *float64 (_aefc .Xmin ),_fgfdb *float64 (_aefc .Ymin ),_fgfdb *float64 (_aefc .Xmax ),_fgfdb *float64 (_aefc .Ymax )});_dbfd .ItalicAngle =_bcb .MakeFloat (_aefc .ItalicAngle );_dbfd .MissingWidth =_bcb .MakeFloat (_fgfdb *float64 (_aefc .Widths [0]));_baafbg ,_degd :=_bcb .MakeStream (_fgff ,_bcb .NewFlateEncoder ());if _degd !=nil {_cga .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",_degd );return nil ,_degd ;};_baafbg .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_bcb .MakeInteger (int64 (len (_fgff ))));_dbfd .FontFile2 =_baafbg ;if _aefc .Bold {_dbfd .StemV =_bcb .MakeInteger (120);}else {_dbfd .StemV =_bcb .MakeInteger (70);};_gced :=_eccbf ;if _aefc .IsFixedPitch {_gced |=_dbfb ;};if _aefc .ItalicAngle !=0{_gced |=_egac ;};_dbfd .Flags =_bcb .MakeInteger (int64 (_gced ));_bdgd ._ecaed =_dbfd ;_eagg :=&PdfFont {_fgge :_bdgd };return _eagg ,nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the resources object (indirect object).
|
||
func (_bfcd *PdfPageResources )GetContainingPdfObject ()_bcb .PdfObject {return _bfcd ._daggd };
|
||
|
||
// 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 (_ggdgd *XObjectForm )SetContentStream (content []byte ,encoder _bcb .StreamEncoder )error {_bafge :=content ;if encoder ==nil {if _ggdgd .Filter !=nil {encoder =_ggdgd .Filter ;}else {encoder =_bcb .NewRawEncoder ();};};_fdff ,_ddfbb :=encoder .EncodeBytes (_bafge );if _ddfbb !=nil {return _ddfbb ;};_bafge =_fdff ;_ggdgd .Stream =_bafge ;_ggdgd .Filter =encoder ;return nil ;};func _fgcb (_bgcg *_bcb .PdfObjectDictionary )(*PdfShadingType1 ,error ){_baaee :=PdfShadingType1 {};if _abfc :=_bgcg .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_abfc !=nil {_abfc =_bcb .TraceToDirectObject (_abfc );_bafgc ,_bbcgg :=_abfc .(*_bcb .PdfObjectArray );if !_bbcgg {_cga .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",_abfc );return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_baaee .Domain =_bafgc ;};if _eacaa :=_bgcg .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_eacaa !=nil {_eacaa =_bcb .TraceToDirectObject (_eacaa );_egab ,_cfdg :=_eacaa .(*_bcb .PdfObjectArray );if !_cfdg {_cga .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",_eacaa );return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_baaee .Matrix =_egab ;};_eadab :=_bgcg .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _eadab ==nil {_cga .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 ;};_baaee .Function =[]PdfFunction {};if _bgebg ,_ffebb :=_eadab .(*_bcb .PdfObjectArray );_ffebb {for _ ,_fafg :=range _bgebg .Elements (){_acbffc ,_bfcg :=_acdfd (_fafg );if _bfcg !=nil {_cga .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",_bfcg );return nil ,_bfcg ;};_baaee .Function =append (_baaee .Function ,_acbffc );};}else {_eddaed ,_cgfb :=_acdfd (_eadab );if _cgfb !=nil {_cga .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",_cgfb );return nil ,_cgfb ;};_baaee .Function =append (_baaee .Function ,_eddaed );};return &_baaee ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_eeg *PdfActionThread )ToPdfObject ()_bcb .PdfObject {_eeg .PdfAction .ToPdfObject ();_eg :=_eeg ._dce ;_gce :=_eg .PdfObject .(*_bcb .PdfObjectDictionary );_gce .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeThread )));if _eeg .F !=nil {_gce .Set ("\u0046",_eeg .F .ToPdfObject ());};_gce .SetIfNotNil ("\u0044",_eeg .D );_gce .SetIfNotNil ("\u0042",_eeg .B );return _eg ;};
|
||
|
||
// NewPdfColorCalGray returns a new CalGray color.
|
||
func NewPdfColorCalGray (grayVal float64 )*PdfColorCalGray {_edde :=PdfColorCalGray (grayVal );return &_edde ;};
|
||
|
||
// 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 *_bcb .PdfObjectInteger ;ColorSpace PdfColorspace ;Background *_bcb .PdfObjectArray ;BBox *PdfRectangle ;AntiAlias *_bcb .PdfObjectBool ;_gcbd PdfModel ;_eced _bcb .PdfObject ;};
|
||
|
||
// ToGoImage converts the unidoc Image to a golang Image structure.
|
||
func (_aggaa *Image )ToGoImage ()(_ac .Image ,error ){_cga .Log .Trace ("\u0043\u006f\u006e\u0076er\u0074\u0069\u006e\u0067\u0020\u0074\u006f\u0020\u0067\u006f\u0020\u0069\u006d\u0061g\u0065");_ggbgab ,_fgcge :=_fgd .NewImage (int (_aggaa .Width ),int (_aggaa .Height ),int (_aggaa .BitsPerComponent ),_aggaa .ColorComponents ,_aggaa .Data ,_aggaa ._cdeb ,_aggaa ._fdggf );if _fgcge !=nil {return nil ,_fgcge ;};return _ggbgab ,nil ;};
|
||
|
||
// NewPdfField returns an initialized PdfField.
|
||
func NewPdfField ()*PdfField {return &PdfField {_gggf :_bcb .MakeIndirectObject (_bcb .MakeDict ())}};
|
||
|
||
// GetEncryptionMethod returns a descriptive information string about the encryption method used.
|
||
func (_fbbc *PdfReader )GetEncryptionMethod ()string {_febfd :=_fbbc ._ecage .GetCrypter ();return _febfd .String ();};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on input color components.
|
||
func (_cgcb *PdfColorspaceDeviceN )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=_cgcb .GetNumComponents (){return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_aaff ,_eaabg :=_cgcb .TintTransform .Evaluate (vals );if _eaabg !=nil {return nil ,_eaabg ;};_efbd ,_eaabg :=_cgcb .AlternateSpace .ColorFromFloats (_aaff );if _eaabg !=nil {return nil ,_eaabg ;};return _efbd ,nil ;};
|
||
|
||
// PdfAnnotationStamp represents Stamp annotations.
|
||
// (Section 12.5.6.12).
|
||
type PdfAnnotationStamp struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Name _bcb .PdfObject ;};
|
||
|
||
// PdfAnnotationHighlight represents Highlight annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationHighlight struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _bcb .PdfObject ;};func (_bdgad fontCommon )fontFlags ()int {if _bdgad ._ecaed ==nil {return 0;};return _bdgad ._ecaed ._fefb ;};
|
||
|
||
// 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 (_fdca *PdfColorspaceLab )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gccd ,_gaec :=_bcb .GetNumbersAsFloat (objects );if _gaec !=nil {return nil ,_gaec ;};return _fdca .ColorFromFloats (_gccd );};
|
||
|
||
// NewPdfAction returns an initialized generic PDF action model.
|
||
func NewPdfAction ()*PdfAction {_abg :=&PdfAction {};_abg ._dce =_bcb .MakeIndirectObject (_bcb .MakeDict ());return _abg ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fffg *PdfAnnotationInk )ToPdfObject ()_bcb .PdfObject {_fffg .PdfAnnotation .ToPdfObject ();_ecc :=_fffg ._daa ;_gdda :=_ecc .PdfObject .(*_bcb .PdfObjectDictionary );_fffg .PdfAnnotationMarkup .appendToPdfDictionary (_gdda );_gdda .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0049\u006e\u006b"));_gdda .SetIfNotNil ("\u0049n\u006b\u004c\u0069\u0073\u0074",_fffg .InkList );_gdda .SetIfNotNil ("\u0042\u0053",_fffg .BS );return _ecc ;};
|
||
|
||
// BaseFont returns the font's "BaseFont" field.
|
||
func (_fagc *PdfFont )BaseFont ()string {return _fagc .baseFields ()._daeb };
|
||
|
||
// GetContainingPdfObject returns the container of the outline item (indirect object).
|
||
func (_daece *PdfOutlineItem )GetContainingPdfObject ()_bcb .PdfObject {return _daece ._afff };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_abe *PdfActionSetOCGState )ToPdfObject ()_bcb .PdfObject {_abe .PdfAction .ToPdfObject ();_ggd :=_abe ._dce ;_eba :=_ggd .PdfObject .(*_bcb .PdfObjectDictionary );_eba .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeSetOCGState )));_eba .SetIfNotNil ("\u0053\u0074\u0061t\u0065",_abe .State );_eba .SetIfNotNil ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042",_abe .PreserveRB );return _ggd ;};
|
||
|
||
// 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 (_egfdf *PdfPage )SetContentStreams (cStreams []string ,encoder _bcb .StreamEncoder )error {if len (cStreams )==0{_egfdf .Contents =nil ;return nil ;};if encoder ==nil {encoder =_bcb .NewRawEncoder ();};var _bfec []*_bcb .PdfObjectStream ;for _ ,_dgdga :=range cStreams {_agbgg :=&_bcb .PdfObjectStream {};_dcddd :=encoder .MakeStreamDict ();_bfebf ,_gdefa :=encoder .EncodeBytes ([]byte (_dgdga ));if _gdefa !=nil {return _gdefa ;};_dcddd .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_bfebf ))));_agbgg .PdfObjectDictionary =_dcddd ;_agbgg .Stream =_bfebf ;_bfec =append (_bfec ,_agbgg );};if len (_bfec )==1{_egfdf .Contents =_bfec [0];}else {_ebccgd :=_bcb .MakeArray ();for _ ,_ceee :=range _bfec {_ebccgd .Append (_ceee );};_egfdf .Contents =_ebccgd ;};return nil ;};
|
||
|
||
// ColorToRGB converts a CMYK32 color to an RGB color.
|
||
func (_gedf *PdfColorspaceDeviceCMYK )ColorToRGB (color PdfColor )(PdfColor ,error ){_febd ,_aedee :=color .(*PdfColorDeviceCMYK );if !_aedee {_cga .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 ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_faaf :=_febd .C ();_dfac :=_febd .M ();_dagb :=_febd .Y ();_feef :=_febd .K ();_faaf =_faaf *(1-_feef )+_feef ;_dfac =_dfac *(1-_feef )+_feef ;_dagb =_dagb *(1-_feef )+_feef ;_dedc :=1-_faaf ;_eaage :=1-_dfac ;_febc :=1-_dagb ;return NewPdfColorDeviceRGB (_dedc ,_eaage ,_febc ),nil ;};
|
||
|
||
// SetContext sets the sub pattern (context). Either PdfTilingPattern or PdfShadingPattern.
|
||
func (_bddgg *PdfPattern )SetContext (ctx PdfModel ){_bddgg ._adccc =ctx };
|
||
|
||
// GetModelFromPrimitive returns the model corresponding to the `primitive` PdfObject.
|
||
func (_ffeaf *modelManager )GetModelFromPrimitive (primitive _bcb .PdfObject )PdfModel {model ,_bfca :=_ffeaf ._ecfgbb [primitive ];if !_bfca {return nil ;};return model ;};
|
||
|
||
// PdfShadingType3 is a Radial shading.
|
||
type PdfShadingType3 struct{*PdfShading ;Coords *_bcb .PdfObjectArray ;Domain *_bcb .PdfObjectArray ;Function []PdfFunction ;Extend *_bcb .PdfObjectArray ;};
|
||
|
||
// 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 (_ffaa *PdfSignature )bool ;Validate (_acdfb *PdfSignature ,_gabeb Hasher )(SignatureValidationResult ,error );
|
||
|
||
// InitSignature sets the PdfSignature parameters.
|
||
InitSignature (*PdfSignature )error ;NewDigest (_eebe *PdfSignature )(Hasher ,error );Sign (_ddfdg *PdfSignature ,_dbfae Hasher )error ;};
|
||
|
||
// NewPdfAnnotationRedact returns a new redact annotation.
|
||
func NewPdfAnnotationRedact ()*PdfAnnotationRedact {_gfed :=NewPdfAnnotation ();_gcb :=&PdfAnnotationRedact {};_gcb .PdfAnnotation =_gfed ;_gcb .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_gfed .SetContext (_gcb );return _gcb ;};func (_adgff *PdfReader )newPdfFieldFromIndirectObject (_fbdba *_bcb .PdfIndirectObject ,_daaba *PdfField )(*PdfField ,error ){if _babe ,_agbb :=_adgff ._dafbg .GetModelFromPrimitive (_fbdba ).(*PdfField );_agbb {return _babe ,nil ;};_gbdgf ,_cdabf :=_bcb .GetDict (_fbdba );if !_cdabf {return nil ,_e .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");};_bfgg :=NewPdfField ();_bfgg ._gggf =_fbdba ;_bfgg ._gggf .PdfObject =_gbdgf ;if _caaa ,_afgcd :=_bcb .GetName (_gbdgf .Get ("\u0046\u0054"));_afgcd {_bfgg .FT =_caaa ;};if _daaba !=nil {_bfgg .Parent =_daaba ;};_bfgg .T ,_ =_gbdgf .Get ("\u0054").(*_bcb .PdfObjectString );_bfgg .TU ,_ =_gbdgf .Get ("\u0054\u0055").(*_bcb .PdfObjectString );_bfgg .TM ,_ =_gbdgf .Get ("\u0054\u004d").(*_bcb .PdfObjectString );_bfgg .Ff ,_ =_gbdgf .Get ("\u0046\u0066").(*_bcb .PdfObjectInteger );_bfgg .V =_gbdgf .Get ("\u0056");_bfgg .DV =_gbdgf .Get ("\u0044\u0056");_bfgg .AA =_gbdgf .Get ("\u0041\u0041");_bffab :=_bfgg .FT ;if _bffab ==nil &&_daaba !=nil {_bffab =_daaba .FT ;};if _bffab !=nil {switch *_bffab {case "\u0054\u0078":_cfgbg ,_becfc :=_eegab (_gbdgf );if _becfc !=nil {return nil ,_becfc ;};_cfgbg .PdfField =_bfgg ;_bfgg ._fegde =_cfgbg ;case "\u0043\u0068":_dead ,_dafg :=_agcd (_gbdgf );if _dafg !=nil {return nil ,_dafg ;};_dead .PdfField =_bfgg ;_bfgg ._fegde =_dead ;case "\u0042\u0074\u006e":_dbae ,_dbcfc :=_efbdf (_gbdgf );if _dbcfc !=nil {return nil ,_dbcfc ;};_dbae .PdfField =_bfgg ;_bfgg ._fegde =_dbae ;case "\u0053\u0069\u0067":_gaed ,_daff :=_adgff .newPdfFieldSignatureFromDict (_gbdgf );if _daff !=nil {return nil ,_daff ;};_gaed .PdfField =_bfgg ;_bfgg ._fegde =_gaed ;default:_cga .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",*_bfgg .FT );return nil ,_ae .New ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0074\u0079p\u0065");};};if _gdefd ,_cbed :=_bcb .GetName (_gbdgf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));_cbed {if *_gdefd =="\u0057\u0069\u0064\u0067\u0065\u0074"{_ffeg ,_dadca :=_adgff .newPdfAnnotationFromIndirectObject (_fbdba );if _dadca !=nil {return nil ,_dadca ;};_abaf ,_ddbf :=_ffeg .GetContext ().(*PdfAnnotationWidget );if !_ddbf {return nil ,_ae .New ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0077\u0069\u0064\u0067e\u0074 \u0061n\u006e\u006f\u0074\u0061\u0074\u0069\u006fn");};_abaf ._cbgd =_bfgg ;_abaf .Parent =_bfgg ._gggf ;_bfgg .Annotations =append (_bfgg .Annotations ,_abaf );return _bfgg ,nil ;};};_affcc :=true ;if _acef ,_bdffa :=_bcb .GetArray (_gbdgf .Get ("\u004b\u0069\u0064\u0073"));_bdffa {_adcab :=make ([]*_bcb .PdfIndirectObject ,0,_acef .Len ());for _ ,_bdcf :=range _acef .Elements (){_fcbgd ,_gabcc :=_bcb .GetIndirect (_bdcf );if !_gabcc {_dbfe ,_gddbb :=_bcb .GetStream (_bdcf );if _gddbb &&_dbfe .PdfObjectDictionary !=nil {_efcgb ,_dgac :=_bcb .GetNameVal (_dbfe .Get ("\u0054\u0079\u0070\u0065"));if _dgac &&_efcgb =="\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061"{_cga .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 ,_ae .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");};_gbeeg ,_bdfg :=_bcb .GetDict (_fcbgd );if !_bdfg {return nil ,ErrTypeCheck ;};if _affcc {_affcc =!_abcc (_gbeeg );};_adcab =append (_adcab ,_fcbgd );};for _ ,_abccg :=range _adcab {if _affcc {_geggf ,_ffcbf :=_adgff .newPdfAnnotationFromIndirectObject (_abccg );if _ffcbf !=nil {_cga .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",_ffcbf );return nil ,_ffcbf ;};_aagf ,_ggggd :=_geggf ._feb .(*PdfAnnotationWidget );if !_ggggd {return nil ,ErrTypeCheck ;};_aagf ._cbgd =_bfgg ;_bfgg .Annotations =append (_bfgg .Annotations ,_aagf );}else {_ecdd ,_eadfe :=_adgff .newPdfFieldFromIndirectObject (_abccg ,_bfgg );if _eadfe !=nil {_cga .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",_eadfe );return nil ,_eadfe ;};_bfgg .Kids =append (_bfgg .Kids ,_ecdd );};};};return _bfgg ,nil ;};
|
||
|
||
// NewPdfAcroForm returns a new PdfAcroForm with an intialized container (indirect object).
|
||
func NewPdfAcroForm ()*PdfAcroForm {return &PdfAcroForm {Fields :&[]*PdfField {},_gacgf :_bcb .MakeIndirectObject (_bcb .MakeDict ())};};func _abcc (_eeaa *_bcb .PdfObjectDictionary )bool {for _ ,_beff :=range _eeaa .Keys (){if _ ,_ebbbf :=_fedb [_beff .String ()];_ebbbf {return true ;};};return false ;};
|
||
|
||
// 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 ){_ccgf :=PdfDate {};_efbgad :=_bgaca .FindAllStringSubmatch (dateStr ,1);if len (_efbgad )< 1{return _ccgf ,_e .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 (_efbgad [0])!=10{return _ccgf ,_ae .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");};_ccgf ._ffcaf ,_ =_ea .ParseInt (_efbgad [0][1],10,32);_ccgf ._caegfa ,_ =_ea .ParseInt (_efbgad [0][2],10,32);_ccgf ._egaf ,_ =_ea .ParseInt (_efbgad [0][3],10,32);_ccgf ._dagbf ,_ =_ea .ParseInt (_efbgad [0][4],10,32);_ccgf ._dgdge ,_ =_ea .ParseInt (_efbgad [0][5],10,32);_ccgf ._adbfb ,_ =_ea .ParseInt (_efbgad [0][6],10,32);if len (_efbgad [0][7])> 0{_ccgf ._ddadb =_efbgad [0][7][0];}else {_ccgf ._ddadb ='+';};if len (_efbgad [0][8])> 0{_ccgf ._cdaaf ,_ =_ea .ParseInt (_efbgad [0][8],10,32);}else {_ccgf ._cdaaf =0;};if len (_efbgad [0][9])> 0{_ccgf ._afde ,_ =_ea .ParseInt (_efbgad [0][9],10,32);}else {_ccgf ._afde =0;};return _ccgf ,nil ;};
|
||
|
||
// PdfAnnotationCaret represents Caret annotations.
|
||
// (Section 12.5.6.11).
|
||
type PdfAnnotationCaret struct{*PdfAnnotation ;*PdfAnnotationMarkup ;RD _bcb .PdfObject ;Sy _bcb .PdfObject ;};func _bdagg (_gefde _bcb .PdfObject )(*PdfPattern ,error ){_ffaea :=&PdfPattern {};var _cbgc *_bcb .PdfObjectDictionary ;if _dgeed ,_dgbfd :=_bcb .GetIndirect (_gefde );_dgbfd {_ffaea ._becda =_dgeed ;_agcae ,_bcabf :=_dgeed .PdfObject .(*_bcb .PdfObjectDictionary );if !_bcabf {_cga .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",_dgeed .PdfObject );return nil ,_bcb .ErrTypeError ;};_cbgc =_agcae ;}else if _cbdb ,_ddeee :=_bcb .GetStream (_gefde );_ddeee {_ffaea ._becda =_cbdb ;_cbgc =_cbdb .PdfObjectDictionary ;}else {_cga .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",_gefde );return nil ,_bcb .ErrTypeError ;};_aceeb :=_cbgc .Get ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065");if _aceeb ==nil {_cga .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 ;};_agdcf ,_afeb :=_aceeb .(*_bcb .PdfObjectInteger );if !_afeb {_cga .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",_aceeb );return nil ,_bcb .ErrTypeError ;};if *_agdcf !=1&&*_agdcf !=2{_cga .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",*_agdcf );return nil ,_bcb .ErrRangeError ;};_ffaea .PatternType =int64 (*_agdcf );switch *_agdcf {case 1:_deaa ,_ccef :=_dadac (_cbgc );if _ccef !=nil {return nil ,_ccef ;};_deaa .PdfPattern =_ffaea ;_ffaea ._adccc =_deaa ;return _ffaea ,nil ;case 2:_gdcd ,_fabgf :=_fbcgc (_cbgc );if _fabgf !=nil {return nil ,_fabgf ;};_gdcd .PdfPattern =_ffaea ;_ffaea ._adccc =_gdcd ;return _ffaea ,nil ;};return nil ,_ae .New ("\u0075n\u006bn\u006f\u0077\u006e\u0020\u0070\u0061\u0074\u0074\u0065\u0072\u006e");};
|
||
|
||
// GetContext returns the PdfField context which is the more specific field data type, e.g. PdfFieldButton
|
||
// for a button field.
|
||
func (_ceeg *PdfField )GetContext ()PdfModel {return _ceeg ._fegde };
|
||
|
||
// 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 *_bcb .PdfObjectArray ;ExtGState _bcb .PdfObject ;};
|
||
|
||
// NewPdfActionLaunch returns a new "launch" action.
|
||
func NewPdfActionLaunch ()*PdfActionLaunch {_ecg :=NewPdfAction ();_ca :=&PdfActionLaunch {};_ca .PdfAction =_ecg ;_ecg .SetContext (_ca );return _ca ;};
|
||
|
||
// RemovePage removes a page by number.
|
||
func (_cggeda *PdfAppender )RemovePage (pageNum int ){_bcgb :=pageNum -1;_cggeda ._cgcg =append (_cggeda ._cgcg [0:_bcgb ],_cggeda ._cgcg [pageNum :]...);};type modelManager struct{_eccaga map[PdfModel ]_bcb .PdfObject ;_ecfgbb map[_bcb .PdfObject ]PdfModel ;};func _dfaef ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _eaggce };func (_bdeg *PdfReader )newPdfActionGotoEFromDict (_cbg *_bcb .PdfObjectDictionary )(*PdfActionGoToE ,error ){_ddb ,_acdc :=_geg (_cbg .Get ("\u0046"));if _acdc !=nil {return nil ,_acdc ;};return &PdfActionGoToE {D :_cbg .Get ("\u0044"),NewWindow :_cbg .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),T :_cbg .Get ("\u0054"),F :_ddb },nil ;};
|
||
|
||
// NewPdfColorspaceCalRGB returns a new CalRGB colorspace object.
|
||
func NewPdfColorspaceCalRGB ()*PdfColorspaceCalRGB {_cfbgc :=&PdfColorspaceCalRGB {};_cfbgc .BlackPoint =[]float64 {0.0,0.0,0.0};_cfbgc .Gamma =[]float64 {1.0,1.0,1.0};_cfbgc .Matrix =[]float64 {1,0,0,0,1,0,0,0,1};return _cfbgc ;};func (_gdfa *LTV )generateVRIKey (_eggeb *PdfSignature )(string ,error ){_dcagg ,_edcfb :=_ebeed (_eggeb .Contents .Bytes ());if _edcfb !=nil {return "",_edcfb ;};return _gc .ToUpper (_c .EncodeToString (_dcagg )),nil ;};
|
||
|
||
// FlattenFieldsWithOpts flattens the AcroForm fields of the reader using the
|
||
// provided field appearance generator and the specified options. If no options
|
||
// are specified, all form fields are flattened.
|
||
// If a filter function is provided using the opts parameter, only the filtered
|
||
// fields are flattened. Otherwise, all form fields are flattened.
|
||
// At the end of the process, the AcroForm contains all the fields which were
|
||
// not flattened. If all fields are flattened, the reader's AcroForm field
|
||
// is set to nil.
|
||
func (_gfgf *PdfReader )FlattenFieldsWithOpts (appgen FieldAppearanceGenerator ,opts *FieldFlattenOpts )error {return _gfgf .flattenFieldsWithOpts (false ,appgen ,opts );};
|
||
|
||
// Height returns the height of `rect`.
|
||
func (_dcbacd *PdfRectangle )Height ()float64 {return _edb .Abs (_dcbacd .Ury -_dcbacd .Lly )};
|
||
|
||
// NewBorderStyle returns an initialized PdfBorderStyle.
|
||
func NewBorderStyle ()*PdfBorderStyle {_dcbe :=&PdfBorderStyle {};return _dcbe };
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_faae *PdfOutlineItem )ToPdfObject ()_bcb .PdfObject {_fbcdd :=_faae ._afff ;_cdadcg :=_fbcdd .PdfObject .(*_bcb .PdfObjectDictionary );_cdadcg .Set ("\u0054\u0069\u0074l\u0065",_faae .Title );if _faae .A !=nil {_cdadcg .Set ("\u0041",_faae .A );};if _ffbbd :=_cdadcg .Get ("\u0053\u0045");_ffbbd !=nil {_cdadcg .Remove ("\u0053\u0045");};if _faae .C !=nil {_cdadcg .Set ("\u0043",_faae .C );};if _faae .Dest !=nil {_cdadcg .Set ("\u0044\u0065\u0073\u0074",_faae .Dest );};if _faae .F !=nil {_cdadcg .Set ("\u0046",_faae .F );};if _faae .Count !=nil {_cdadcg .Set ("\u0043\u006f\u0075n\u0074",_bcb .MakeInteger (*_faae .Count ));};if _faae .Next !=nil {_cdadcg .Set ("\u004e\u0065\u0078\u0074",_faae .Next .ToPdfObject ());};if _faae .First !=nil {_cdadcg .Set ("\u0046\u0069\u0072s\u0074",_faae .First .ToPdfObject ());};if _faae .Prev !=nil {_cdadcg .Set ("\u0050\u0072\u0065\u0076",_faae .Prev .GetContext ().GetContainingPdfObject ());};if _faae .Last !=nil {_cdadcg .Set ("\u004c\u0061\u0073\u0074",_faae .Last .GetContext ().GetContainingPdfObject ());};if _faae .Parent !=nil {_cdadcg .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_faae .Parent .GetContext ().GetContainingPdfObject ());};return _fbcdd ;};
|
||
|
||
// SetPdfModifiedDate sets the ModDate attribute of the output PDF.
|
||
func SetPdfModifiedDate (modifiedDate _d .Time ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_egegc =modifiedDate ;};
|
||
|
||
// ImageToRGB converts CalRGB colorspace image to RGB and returns the result.
|
||
func (_ggfe *PdfColorspaceCalRGB )ImageToRGB (img Image )(Image ,error ){_dfcfc :=_cgb .NewReader (img .getBase ());_gdaa :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,nil ,nil );_geec :=_cgb .NewWriter (_gdaa );_efgbg :=_edb .Pow (2,float64 (img .BitsPerComponent ))-1;_cbb :=make ([]uint32 ,3);var (_dcdf error ;_eedf ,_fafad ,_agbfa ,_bfda ,_gcgd ,_fegb float64 ;);for {_dcdf =_dfcfc .ReadSamples (_cbb );if _dcdf ==_fb .EOF {break ;}else if _dcdf !=nil {return img ,_dcdf ;};_eedf =float64 (_cbb [0])/_efgbg ;_fafad =float64 (_cbb [1])/_efgbg ;_agbfa =float64 (_cbb [2])/_efgbg ;_bfda =_ggfe .Matrix [0]*_edb .Pow (_eedf ,_ggfe .Gamma [0])+_ggfe .Matrix [3]*_edb .Pow (_fafad ,_ggfe .Gamma [1])+_ggfe .Matrix [6]*_edb .Pow (_agbfa ,_ggfe .Gamma [2]);_gcgd =_ggfe .Matrix [1]*_edb .Pow (_eedf ,_ggfe .Gamma [0])+_ggfe .Matrix [4]*_edb .Pow (_fafad ,_ggfe .Gamma [1])+_ggfe .Matrix [7]*_edb .Pow (_agbfa ,_ggfe .Gamma [2]);_fegb =_ggfe .Matrix [2]*_edb .Pow (_eedf ,_ggfe .Gamma [0])+_ggfe .Matrix [5]*_edb .Pow (_fafad ,_ggfe .Gamma [1])+_ggfe .Matrix [8]*_edb .Pow (_agbfa ,_ggfe .Gamma [2]);_eedf =3.240479*_bfda +-1.537150*_gcgd +-0.498535*_fegb ;_fafad =-0.969256*_bfda +1.875992*_gcgd +0.041556*_fegb ;_agbfa =0.055648*_bfda +-0.204043*_gcgd +1.057311*_fegb ;_eedf =_edb .Min (_edb .Max (_eedf ,0),1.0);_fafad =_edb .Min (_edb .Max (_fafad ,0),1.0);_agbfa =_edb .Min (_edb .Max (_agbfa ,0),1.0);_cbb [0]=uint32 (_eedf *_efgbg );_cbb [1]=uint32 (_fafad *_efgbg );_cbb [2]=uint32 (_agbfa *_efgbg );if _dcdf =_geec .WriteSamples (_cbb );_dcdf !=nil {return img ,_dcdf ;};};return _gagca (&_gdaa ),nil ;};func (_bcdfd *PdfReader )buildPageList (_eaffc *_bcb .PdfIndirectObject ,_gbfdb *_bcb .PdfIndirectObject ,_cbdbd map[_bcb .PdfObject ]struct{})error {if _eaffc ==nil {return nil ;};if _ ,_fcgeb :=_cbdbd [_eaffc ];_fcgeb {_cga .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",_eaffc .ObjectNumber );return nil ;};_cbdbd [_eaffc ]=struct{}{};_aedgc ,_ebgee :=_eaffc .PdfObject .(*_bcb .PdfObjectDictionary );if !_ebgee {return _ae .New ("n\u006f\u0064\u0065\u0020no\u0074 \u0061\u0020\u0064\u0069\u0063t\u0069\u006f\u006e\u0061\u0072\u0079");};_ggaf ,_ebgee :=(*_aedgc ).Get ("\u0054\u0079\u0070\u0065").(*_bcb .PdfObjectName );if !_ebgee {if _aedgc .Get ("\u004b\u0069\u0064\u0073")==nil {return _ae .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");};_cga .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.");_ggaf =_bcb .MakeName ("\u0050\u0061\u0067e\u0073");_aedgc .Set ("\u0054\u0079\u0070\u0065",_ggaf );};_cga .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",*_ggaf ,_eaffc );if *_ggaf =="\u0050\u0061\u0067\u0065"{_ggced ,_geafge :=_bcdfd .newPdfPageFromDict (_aedgc );if _geafge !=nil {return _geafge ;};_ggced .setContainer (_eaffc );if _gbfdb !=nil {_aedgc .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_gbfdb );};_bcdfd ._fcff =append (_bcdfd ._fcff ,_eaffc );_bcdfd .PageList =append (_bcdfd .PageList ,_ggced );return nil ;};if *_ggaf !="\u0050\u0061\u0067e\u0073"{_cga .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",_ggaf );return _ae .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 _gbfdb !=nil {_aedgc .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_gbfdb );};if !_bcdfd ._abdcg {_fbbgaf :=_bcdfd .traverseObjectData (_eaffc );if _fbbgaf !=nil {return _fbbgaf ;};};_dgcba ,_edbce :=_bcdfd ._ecage .Resolve (_aedgc .Get ("\u004b\u0069\u0064\u0073"));if _edbce !=nil {_cga .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 _edbce ;};var _caec *_bcb .PdfObjectArray ;_caec ,_ebgee =_dgcba .(*_bcb .PdfObjectArray );if !_ebgee {_eeagb ,_cbafba :=_dgcba .(*_bcb .PdfIndirectObject );if !_cbafba {return _ae .New ("\u0069\u006e\u0076\u0061li\u0064\u0020\u004b\u0069\u0064\u0073\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_caec ,_ebgee =_eeagb .PdfObject .(*_bcb .PdfObjectArray );if !_ebgee {return _ae .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");};};_cga .Log .Trace ("\u004b\u0069\u0064\u0073\u003a\u0020\u0025\u0073",_caec );for _gffgb ,_acbe :=range _caec .Elements (){_dfdb ,_fddeb :=_bcb .GetIndirect (_acbe );if !_fddeb {_cga .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",_dfdb );return _ae .New ("\u0070a\u0067\u0065\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0064\u0069r\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_caec .Set (_gffgb ,_dfdb );_edbce =_bcdfd .buildPageList (_dfdb ,_eaffc ,_cbdbd );if _edbce !=nil {return _edbce ;};};return nil ;};
|
||
|
||
// PdfReader represents a PDF file reader. It is a frontend to the lower level parsing mechanism and provides
|
||
// a higher level access to work with PDF structure and information, such as the page structure etc.
|
||
type PdfReader struct{_ecage *_bcb .PdfParser ;_edgge _bcb .PdfObject ;_cegfeb *_bcb .PdfIndirectObject ;_fcggb *_bcb .PdfObjectDictionary ;_fcff []*_bcb .PdfIndirectObject ;PageList []*PdfPage ;_fddge int ;_fccd *_bcb .PdfObjectDictionary ;_gbged *PdfOutlineTreeNode ;AcroForm *PdfAcroForm ;DSS *DSS ;_dafbg *modelManager ;_abdcg bool ;_egfef map[_bcb .PdfObject ]struct{};_bcffa _fb .ReadSeeker ;};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_ffeaa pdfFontType0 )GetRuneMetrics (r rune )(_acc .CharMetrics ,bool ){if _ffeaa .DescendantFont ==nil {_cga .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",_ffeaa );return _acc .CharMetrics {},false ;};return _ffeaa .DescendantFont .GetRuneMetrics (r );};func (_daed *PdfReader )newPdfAnnotationSoundFromDict (_acbf *_bcb .PdfObjectDictionary )(*PdfAnnotationSound ,error ){_ccge :=PdfAnnotationSound {};_dde ,_bag :=_daed .newPdfAnnotationMarkupFromDict (_acbf );if _bag !=nil {return nil ,_bag ;};_ccge .PdfAnnotationMarkup =_dde ;_ccge .Name =_acbf .Get ("\u004e\u0061\u006d\u0065");_ccge .Sound =_acbf .Get ("\u0053\u006f\u0075n\u0064");return &_ccge ,nil ;};
|
||
|
||
// CharMetrics represents width and height metrics of a glyph.
|
||
type CharMetrics =_acc .CharMetrics ;
|
||
|
||
// PdfAnnotationWatermark represents Watermark annotations.
|
||
// (Section 12.5.6.22).
|
||
type PdfAnnotationWatermark struct{*PdfAnnotation ;FixedPrint _bcb .PdfObject ;};
|
||
|
||
// NewPdfAnnotationUnderline returns a new text underline annotation.
|
||
func NewPdfAnnotationUnderline ()*PdfAnnotationUnderline {_adc :=NewPdfAnnotation ();_gbfa :=&PdfAnnotationUnderline {};_gbfa .PdfAnnotation =_adc ;_gbfa .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_adc .SetContext (_gbfa );return _gbfa ;};type pdfFontType0 struct{fontCommon ;_bfaeg *_bcb .PdfIndirectObject ;_cfaee _ddd .TextEncoder ;Encoding _bcb .PdfObject ;DescendantFont *PdfFont ;_abeeb *_dc .CMap ;};
|
||
|
||
// GetSubFilter returns SubFilter value or empty string.
|
||
func (_dbffe *pdfSignDictionary )GetSubFilter ()string {_ecbed :=_dbffe .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r");if _ecbed ==nil {return "";};if _aaaef ,_fggcd :=_bcb .GetNameVal (_ecbed );_fggcd {return _aaaef ;};return "";};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_edgbfg *pdfFontSimple )Encoder ()_ddd .TextEncoder {if _edgbfg ._fdebc !=nil {return _edgbfg ._fdebc ;};if _edgbfg ._bcdf !=nil {return _edgbfg ._bcdf ;};_aeab ,_ :=_ddd .NewSimpleTextEncoder ("\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",nil );return _aeab ;};
|
||
|
||
// AddExtension adds the specified extension to the Extensions dictionary.
|
||
// See section 7.1.2 "Extensions Dictionary" (pp. 108-109 PDF32000_2008).
|
||
func (_fgdegf *PdfWriter )AddExtension (extName ,baseVersion string ,extLevel int ){_bedde ,_eefbc :=_bcb .GetDict (_fgdegf ._ggfec .Get ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006e\u0073"));if !_eefbc {_bedde =_bcb .MakeDict ();_fgdegf ._ggfec .Set ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006e\u0073",_bedde );};_agcbd ,_eefbc :=_bcb .GetDict (_bedde .Get (_bcb .PdfObjectName (extName )));if !_eefbc {_agcbd =_bcb .MakeDict ();_bedde .Set (_bcb .PdfObjectName (extName ),_agcbd );};if _afab ,_ :=_bcb .GetNameVal (_agcbd .Get ("B\u0061\u0073\u0065\u0056\u0065\u0072\u0073\u0069\u006f\u006e"));_afab !=baseVersion {_agcbd .Set ("B\u0061\u0073\u0065\u0056\u0065\u0072\u0073\u0069\u006f\u006e",_bcb .MakeName (baseVersion ));};if _edafa ,_ :=_bcb .GetIntVal (_agcbd .Get ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006eL\u0065\u0076\u0065\u006c"));_edafa !=extLevel {_agcbd .Set ("\u0045\u0078\u0074\u0065\u006e\u0073\u0069\u006f\u006eL\u0065\u0076\u0065\u006c",_bcb .MakeInteger (int64 (extLevel )));};};func (_ecdb *PdfReader )newPdfActionResetFormFromDict (_dfc *_bcb .PdfObjectDictionary )(*PdfActionResetForm ,error ){return &PdfActionResetForm {Fields :_dfc .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_dfc .Get ("\u0046\u006c\u0061g\u0073")},nil ;};
|
||
|
||
// PdfOutlineTreeNode contains common fields used by the outline and outline
|
||
// item objects.
|
||
type PdfOutlineTreeNode struct{_bfagd interface{};First *PdfOutlineTreeNode ;Last *PdfOutlineTreeNode ;};
|
||
|
||
// PdfAnnotationMovie represents Movie annotations.
|
||
// (Section 12.5.6.17).
|
||
type PdfAnnotationMovie struct{*PdfAnnotation ;T _bcb .PdfObject ;Movie _bcb .PdfObject ;A _bcb .PdfObject ;};
|
||
|
||
// GenerateXObjectName generates an unused XObject name that can be used for
|
||
// adding new XObjects. Uses format XObj1, XObj2, ...
|
||
func (_cbcae *PdfPageResources )GenerateXObjectName ()_bcb .PdfObjectName {_adgb :=1;for {_geebb :=_bcb .MakeName (_e .Sprintf ("\u0058\u004f\u0062\u006a\u0025\u0064",_adgb ));if !_cbcae .HasXObjectByName (*_geebb ){return *_geebb ;};_adgb ++;};};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 1 for a CalGray device.
|
||
func (_efeg *PdfColorspaceCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// ColorToRGB converts gray -> rgb for a single color component.
|
||
func (_dcdg *PdfColorspaceDeviceGray )ColorToRGB (color PdfColor )(PdfColor ,error ){_cbgf ,_abd :=color .(*PdfColorDeviceGray );if !_abd {_cga .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 ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return NewPdfColorDeviceRGB (float64 (*_cbgf ),float64 (*_cbgf ),float64 (*_cbgf )),nil ;};
|
||
|
||
// PdfActionGoTo3DView represents a GoTo3DView action.
|
||
type PdfActionGoTo3DView struct{*PdfAction ;TA _bcb .PdfObject ;V _bcb .PdfObject ;};const (RC4_128bit =EncryptionAlgorithm (iota );AES_128bit ;AES_256bit ;);func (_debec *pdfCIDFontType0 )baseFields ()*fontCommon {return &_debec .fontCommon };func (_aedgb *DSS )generateHashMaps ()error {_cfca ,_cffg :=_aedgb .generateHashMap (_aedgb .Certs );if _cffg !=nil {return _cffg ;};_ggca ,_cffg :=_aedgb .generateHashMap (_aedgb .OCSPs );if _cffg !=nil {return _cffg ;};_agca ,_cffg :=_aedgb .generateHashMap (_aedgb .CRLs );if _cffg !=nil {return _cffg ;};_aedgb ._dcbbe =_cfca ;_aedgb ._fgbgb =_ggca ;_aedgb ._acaf =_agca ;return nil ;};func (_eaaca *PdfWriter )writeBytes (_fgacd []byte ){if _eaaca ._gaacd !=nil {return ;};_aeeaf ,_bfbaa :=_eaaca ._aefcaa .Write (_fgacd );_eaaca ._cdgbg +=int64 (_aeeaf );_eaaca ._gaacd =_bfbaa ;};
|
||
|
||
// PdfAnnotation3D represents 3D annotations.
|
||
// (Section 13.6.2).
|
||
type PdfAnnotation3D struct{*PdfAnnotation ;T3DD _bcb .PdfObject ;T3DV _bcb .PdfObject ;T3DA _bcb .PdfObject ;T3DI _bcb .PdfObject ;T3DB _bcb .PdfObject ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_aabg pdfCIDFontType0 )Encoder ()_ddd .TextEncoder {return _aabg ._dbceg };
|
||
|
||
// 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 ;
|
||
|
||
// NewPdfActionMovie returns a new "movie" action.
|
||
func NewPdfActionMovie ()*PdfActionMovie {_aa :=NewPdfAction ();_efa :=&PdfActionMovie {};_efa .PdfAction =_aa ;_aa .SetContext (_efa );return _efa ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfedg *PdfFilespec )ToPdfObject ()_bcb .PdfObject {_gccb :=_cfedg .getDict ();_gccb .Clear ();_gccb .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"));_gccb .SetIfNotNil ("\u0046\u0053",_cfedg .FS );_gccb .SetIfNotNil ("\u0046",_cfedg .F );_gccb .SetIfNotNil ("\u0055\u0046",_cfedg .UF );_gccb .SetIfNotNil ("\u0044\u004f\u0053",_cfedg .DOS );_gccb .SetIfNotNil ("\u004d\u0061\u0063",_cfedg .Mac );_gccb .SetIfNotNil ("\u0055\u006e\u0069\u0078",_cfedg .Unix );_gccb .SetIfNotNil ("\u0049\u0044",_cfedg .ID );_gccb .SetIfNotNil ("\u0056",_cfedg .V );_gccb .SetIfNotNil ("\u0045\u0046",_cfedg .EF );_gccb .SetIfNotNil ("\u0052\u0046",_cfedg .RF );_gccb .SetIfNotNil ("\u0044\u0065\u0073\u0063",_cfedg .Desc );_gccb .SetIfNotNil ("\u0043\u0049",_cfedg .CI );return _cfedg ._dcgf ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bbbe *PdfAnnotationRedact )ToPdfObject ()_bcb .PdfObject {_bbbe .PdfAnnotation .ToPdfObject ();_aacb :=_bbbe ._daa ;_cagb :=_aacb .PdfObject .(*_bcb .PdfObjectDictionary );_bbbe .PdfAnnotationMarkup .appendToPdfDictionary (_cagb );_cagb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0052\u0065\u0064\u0061\u0063\u0074"));_cagb .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_bbbe .QuadPoints );_cagb .SetIfNotNil ("\u0049\u0043",_bbbe .IC );_cagb .SetIfNotNil ("\u0052\u004f",_bbbe .RO );_cagb .SetIfNotNil ("O\u0076\u0065\u0072\u006c\u0061\u0079\u0054\u0065\u0078\u0074",_bbbe .OverlayText );_cagb .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_bbbe .Repeat );_cagb .SetIfNotNil ("\u0044\u0041",_bbbe .DA );_cagb .SetIfNotNil ("\u0051",_bbbe .Q );return _aacb ;};var _ _bcb .PdfObject =&pdfSignDictionary {};func (_gegcc *PdfReader )traverseObjectData (_bcfd _bcb .PdfObject )error {return _bcb .ResolveReferencesDeep (_bcfd ,_gegcc ._egfef );};
|
||
|
||
// PdfFilespec represents a file specification which can either refer to an external or embedded file.
|
||
type PdfFilespec struct{Type _bcb .PdfObject ;FS _bcb .PdfObject ;F _bcb .PdfObject ;UF _bcb .PdfObject ;DOS _bcb .PdfObject ;Mac _bcb .PdfObject ;Unix _bcb .PdfObject ;ID _bcb .PdfObject ;V _bcb .PdfObject ;EF _bcb .PdfObject ;RF _bcb .PdfObject ;Desc _bcb .PdfObject ;CI _bcb .PdfObject ;_dcgf _bcb .PdfObject ;};func (_bbbdg fontCommon )isCIDFont ()bool {if _bbbdg ._abgg ==""{_cga .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",_bbbdg );};_fgfc :=false ;switch _bbbdg ._abgg {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":_fgfc =true ;};_cga .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",_fgfc ,_bbbdg );return _fgfc ;};
|
||
|
||
// AllFields returns a flattened list of all fields in the form.
|
||
func (_bgfec *PdfAcroForm )AllFields ()[]*PdfField {if _bgfec ==nil {return nil ;};var _dafd []*PdfField ;if _bgfec .Fields !=nil {for _ ,_facf :=range *_bgfec .Fields {_dafd =append (_dafd ,_baced (_facf )...);};};return _dafd ;};
|
||
|
||
// Read reads an image and loads into a new Image object with an RGB
|
||
// colormap and 8 bits per component.
|
||
func (_dgfc DefaultImageHandler )Read (reader _fb .Reader )(*Image ,error ){_cdbe ,_ ,_ebae :=_ac .Decode (reader );if _ebae !=nil {_cga .Log .Debug ("\u0045\u0072\u0072or\u0020\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0073",_ebae );return nil ,_ebae ;};return _dgfc .NewImageFromGoImage (_cdbe );};
|
||
|
||
// GetContentStreams returns the content stream as an array of strings.
|
||
func (_gfca *PdfPage )GetContentStreams ()([]string ,error ){_dabc :=_gfca .GetContentStreamObjs ();var _cffb []string ;for _ ,_cdbed :=range _dabc {_bffba ,_bbbfg :=_efbgag (_cdbed );if _bbbfg !=nil {return nil ,_bbbfg ;};_cffb =append (_cffb ,_bffba );};return _cffb ,nil ;};
|
||
|
||
// NewDSS returns a new DSS dictionary.
|
||
func NewDSS ()*DSS {return &DSS {_bdac :_bcb .MakeIndirectObject (_bcb .MakeDict ()),VRI :map[string ]*VRI {}};};
|
||
|
||
// 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 ){_geeec ,_aaccc :=_ecd .Open (filePath );if _aaccc !=nil {_cga .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u006f\u0070\u0065\u006e\u0069\u006e\u0067\u0020\u0066\u0069\u006c\u0065\u003a\u0020\u0025\u0076",_aaccc );return nil ,_aaccc ;};defer _geeec .Close ();return NewCompositePdfFontFromTTF (_geeec );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ace *PdfActionJavaScript )ToPdfObject ()_bcb .PdfObject {_ace .PdfAction .ToPdfObject ();_cbf :=_ace ._dce ;_fdgb :=_cbf .PdfObject .(*_bcb .PdfObjectDictionary );_fdgb .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeJavaScript )));_fdgb .SetIfNotNil ("\u004a\u0053",_ace .JS );return _cbf ;};
|
||
|
||
// PdfFunction interface represents the common methods of a function in PDF.
|
||
type PdfFunction interface{Evaluate ([]float64 )([]float64 ,error );ToPdfObject ()_bcb .PdfObject ;};
|
||
|
||
// PdfFunctionType0 uses a sequence of sample values (contained in a stream) to provide an approximation
|
||
// for functions whose domains and ranges are bounded. The samples are organized as an m-dimensional
|
||
// table in which each entry has n components
|
||
type PdfFunctionType0 struct{Domain []float64 ;Range []float64 ;NumInputs int ;NumOutputs int ;Size []int ;BitsPerSample int ;Order int ;Encode []float64 ;Decode []float64 ;_cdcfa []byte ;_agdbe []uint32 ;_gdbc *_bcb .PdfObjectStream ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for Separation).
|
||
func (_ggbg *PdfColorspaceSpecialSeparation )GetNumComponents ()int {return 1};
|
||
|
||
// NewPdfAnnotationScreen returns a new screen annotation.
|
||
func NewPdfAnnotationScreen ()*PdfAnnotationScreen {_fde :=NewPdfAnnotation ();_adba :=&PdfAnnotationScreen {};_adba .PdfAnnotation =_fde ;_fde .SetContext (_adba );return _adba ;};
|
||
|
||
// ValidateSignatures validates digital signatures in the document.
|
||
func (_bdcca *PdfReader )ValidateSignatures (handlers []SignatureHandler )([]SignatureValidationResult ,error ){if _bdcca .AcroForm ==nil {return nil ,nil ;};if _bdcca .AcroForm .Fields ==nil {return nil ,nil ;};type sigFieldPair struct{_baaed *PdfSignature ;_eddbg *PdfField ;_befad SignatureHandler ;};var _ccgbe []*sigFieldPair ;for _ ,_bbce :=range _bdcca .AcroForm .AllFields (){if _bbce .V ==nil {continue ;};if _ggdaf ,_efgdg :=_bcb .GetDict (_bbce .V );_efgdg {if _aacgb ,_cfagf :=_bcb .GetNameVal (_ggdaf .Get ("\u0054\u0079\u0070\u0065"));_cfagf &&_aacgb =="\u0053\u0069\u0067"{_edeg ,_bcbgf :=_bcb .GetIndirect (_bbce .V );if !_bcbgf {_cga .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 ;};_feffa ,_aebfc :=_bdcca .newPdfSignatureFromIndirect (_edeg );if _aebfc !=nil {return nil ,_aebfc ;};var _fadb SignatureHandler ;for _ ,_gecdd :=range handlers {if _gecdd .IsApplicable (_feffa ){_fadb =_gecdd ;break ;};};_ccgbe =append (_ccgbe ,&sigFieldPair {_baaed :_feffa ,_eddbg :_bbce ,_befad :_fadb });};};};var _cccbg []SignatureValidationResult ;for _ ,_ceeaa :=range _ccgbe {_ecaedf :=SignatureValidationResult {IsSigned :true ,Fields :[]*PdfField {_ceeaa ._eddbg }};if _ceeaa ._befad ==nil {_ecaedf .Errors =append (_ecaedf .Errors ,"\u0068a\u006ed\u006c\u0065\u0072\u0020\u006e\u006f\u0074\u0020\u0073\u0065\u0074");_cccbg =append (_cccbg ,_ecaedf );continue ;};_acbcb ,_dfeae :=_ceeaa ._befad .NewDigest (_ceeaa ._baaed );if _dfeae !=nil {_ecaedf .Errors =append (_ecaedf .Errors ,"\u0064\u0069\u0067e\u0073\u0074\u0020\u0065\u0072\u0072\u006f\u0072",_dfeae .Error ());_cccbg =append (_cccbg ,_ecaedf );continue ;};_affac :=_ceeaa ._baaed .ByteRange ;if _affac ==nil {_ecaedf .Errors =append (_ecaedf .Errors ,"\u0042\u0079\u0074\u0065\u0052\u0061\u006e\u0067\u0065\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");_cccbg =append (_cccbg ,_ecaedf );continue ;};for _aceebe :=0;_aceebe < _affac .Len ();_aceebe =_aceebe +2{_dgcd ,_ :=_bcb .GetNumberAsInt64 (_affac .Get (_aceebe ));_ccacb ,_ :=_bcb .GetIntVal (_affac .Get (_aceebe +1));if _ ,_dgfbb :=_bdcca ._bcffa .Seek (_dgcd ,_fb .SeekStart );_dgfbb !=nil {return nil ,_dgfbb ;};_gggfe :=make ([]byte ,_ccacb );if _ ,_dceead :=_bdcca ._bcffa .Read (_gggfe );_dceead !=nil {return nil ,_dceead ;};_acbcb .Write (_gggfe );};_gcde ,_dfeae :=_ceeaa ._befad .Validate (_ceeaa ._baaed ,_acbcb );if _dfeae !=nil {return nil ,_dfeae ;};_gcde .Name =_ceeaa ._baaed .Name .Decoded ();_gcde .Reason =_ceeaa ._baaed .Reason .Decoded ();if _ceeaa ._baaed .M !=nil {_aebaa ,_cdebd :=NewPdfDate (_ceeaa ._baaed .M .String ());if _cdebd !=nil {_gcde .Errors =append (_gcde .Errors ,_cdebd .Error ());continue ;};_gcde .Date =_aebaa ;};_gcde .ContactInfo =_ceeaa ._baaed .ContactInfo .Decoded ();_gcde .Location =_ceeaa ._baaed .Location .Decoded ();_gcde .Fields =_ecaedf .Fields ;_cccbg =append (_cccbg ,_gcde );};return _cccbg ,nil ;};
|
||
|
||
// PdfColorLab represents a color in the L*, a*, b* 3 component colorspace.
|
||
// Each component is defined in the range 0.0 - 1.0 where 1.0 is the primary intensity.
|
||
type PdfColorLab [3]float64 ;
|
||
|
||
// String returns a string describing the font descriptor.
|
||
func (_aeaa *PdfFontDescriptor )String ()string {var _fbga []string ;if _aeaa .FontName !=nil {_fbga =append (_fbga ,_aeaa .FontName .String ());};if _aeaa .FontFamily !=nil {_fbga =append (_fbga ,_aeaa .FontFamily .String ());};if _aeaa .fontFile !=nil {_fbga =append (_fbga ,_aeaa .fontFile .String ());};if _aeaa ._bdecf !=nil {_fbga =append (_fbga ,_aeaa ._bdecf .String ());};_fbga =append (_fbga ,_e .Sprintf ("\u0046\u006f\u006et\u0046\u0069\u006c\u0065\u0033\u003d\u0025\u0074",_aeaa .FontFile3 !=nil ));return _e .Sprintf ("\u0046\u004f\u004e\u0054_D\u0045\u0053\u0043\u0052\u0049\u0050\u0054\u004f\u0052\u007b\u0025\u0073\u007d",_gc .Join (_fbga ,"\u002c\u0020"));};
|
||
|
||
// XObjectType represents the type of an XObject.
|
||
type XObjectType int ;func _daad (_bcadd *fontCommon )*pdfCIDFontType2 {return &pdfCIDFontType2 {fontCommon :*_bcadd }};
|
||
|
||
// PdfActionSetOCGState represents a SetOCGState action.
|
||
type PdfActionSetOCGState struct{*PdfAction ;State _bcb .PdfObject ;PreserveRB _bcb .PdfObject ;};
|
||
|
||
// GetTrailer returns the PDF's trailer dictionary.
|
||
func (_bcdc *PdfReader )GetTrailer ()(*_bcb .PdfObjectDictionary ,error ){_ecgfe :=_bcdc ._ecage .GetTrailer ();if _ecgfe ==nil {return nil ,_ae .New ("\u0074r\u0061i\u006c\u0065\u0072\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};return _ecgfe ,nil ;};func _eacde (_fbefd *_bcb .PdfObjectDictionary )(*PdfShadingType7 ,error ){_cdcfg :=PdfShadingType7 {};_fdgga :=_fbefd .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _fdgga ==nil {_cga .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 ;};_ggfdda ,_fccee :=_fdgga .(*_bcb .PdfObjectInteger );if !_fccee {_cga .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",_fdgga );return nil ,_bcb .ErrTypeError ;};_cdcfg .BitsPerCoordinate =_ggfdda ;_fdgga =_fbefd .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _fdgga ==nil {_cga .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 ;};_ggfdda ,_fccee =_fdgga .(*_bcb .PdfObjectInteger );if !_fccee {_cga .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",_fdgga );return nil ,_bcb .ErrTypeError ;};_cdcfg .BitsPerComponent =_ggfdda ;_fdgga =_fbefd .Get ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067");if _fdgga ==nil {_cga .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 ;};_ggfdda ,_fccee =_fdgga .(*_bcb .PdfObjectInteger );if !_fccee {_cga .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",_fdgga );return nil ,_bcb .ErrTypeError ;};_cdcfg .BitsPerComponent =_ggfdda ;_fdgga =_fbefd .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _fdgga ==nil {_cga .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 ;};_gfcgd ,_fccee :=_fdgga .(*_bcb .PdfObjectArray );if !_fccee {_cga .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",_fdgga );return nil ,_bcb .ErrTypeError ;};_cdcfg .Decode =_gfcgd ;if _afdc :=_fbefd .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_afdc !=nil {_cdcfg .Function =[]PdfFunction {};if _gffad ,_gegcg :=_afdc .(*_bcb .PdfObjectArray );_gegcg {for _ ,_eddg :=range _gffad .Elements (){_fafgf ,_ggfgd :=_acdfd (_eddg );if _ggfgd !=nil {_cga .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",_ggfgd );return nil ,_ggfgd ;};_cdcfg .Function =append (_cdcfg .Function ,_fafgf );};}else {_abbfc ,_ceggd :=_acdfd (_afdc );if _ceggd !=nil {_cga .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",_ceggd );return nil ,_ceggd ;};_cdcfg .Function =append (_cdcfg .Function ,_abbfc );};};return &_cdcfg ,nil ;};
|
||
|
||
// GetPdfInfo returns the PDF info dictionary.
|
||
func (_aeaab *PdfReader )GetPdfInfo ()(*PdfInfo ,error ){_cbcbb :=PdfInfo {};_gfece ,_fedaf :=_aeaab .GetTrailer ();if _fedaf !=nil {return nil ,_fedaf ;};var _dgaae *_bcb .PdfObjectDictionary ;_fcgcf :=_gfece .Get ("\u0049\u006e\u0066\u006f");switch _gegba :=_fcgcf .(type ){case *_bcb .PdfObjectReference :_aefdg :=_gegba ;_fcgcf ,_fedaf =_aeaab .GetIndirectObjectByNumber (int (_aefdg .ObjectNumber ));_fcgcf =_bcb .TraceToDirectObject (_fcgcf );if _fedaf !=nil {return nil ,_fedaf ;};_dgaae ,_ =_fcgcf .(*_bcb .PdfObjectDictionary );case *_bcb .PdfObjectDictionary :_dgaae =_gegba ;};if _dgaae ==nil {return nil ,_ae .New ("I\u006e\u0066\u006f\u0020\u0064\u0069c\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006eo\u0074\u0020\u0070r\u0065s\u0065\u006e\u0074");};for _ ,_cgabg :=range _dgaae .Keys (){switch _cgabg {case "\u0054\u0069\u0074l\u0065":_cbcbb .Title ,_ =_bcb .GetString (_dgaae .Get ("\u0054\u0069\u0074l\u0065"));case "\u0041\u0075\u0074\u0068\u006f\u0072":_cbcbb .Author ,_ =_bcb .GetString (_dgaae .Get ("\u0041\u0075\u0074\u0068\u006f\u0072"));case "\u0053u\u0062\u006a\u0065\u0063\u0074":_cbcbb .Subject ,_ =_bcb .GetString (_dgaae .Get ("\u0053u\u0062\u006a\u0065\u0063\u0074"));case "\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073":_cbcbb .Keywords ,_ =_bcb .GetString (_dgaae .Get ("\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073"));case "\u0043r\u0065\u0061\u0074\u006f\u0072":_cbcbb .Creator ,_ =_bcb .GetString (_dgaae .Get ("\u0043r\u0065\u0061\u0074\u006f\u0072"));case "\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072":_cbcbb .Producer ,_ =_bcb .GetString (_dgaae .Get ("\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072"));case "\u0054r\u0061\u0070\u0070\u0065\u0064":_cbcbb .Trapped ,_ =_bcb .GetName (_dgaae .Get ("\u0054r\u0061\u0070\u0070\u0065\u0064"));case "\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065":if _ccaae ,_begd :=_bcb .GetString (_dgaae .Get ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065"));_begd &&_ccaae .String ()!=""{_aebce ,_deage :=NewPdfDate (_ccaae .String ());if _deage !=nil {return nil ,_deage ;};_cbcbb .CreationDate =&_aebce ;};case "\u004do\u0064\u0044\u0061\u0074\u0065":if _bddb ,_gffdg :=_bcb .GetString (_dgaae .Get ("\u004do\u0064\u0044\u0061\u0074\u0065"));_gffdg &&_bddb .String ()!=""{_egcbc ,_eefgf :=NewPdfDate (_bddb .String ());if _eefgf !=nil {return nil ,_eefgf ;};_cbcbb .ModifiedDate =&_egcbc ;};default:_acacd ,_ :=_bcb .GetString (_dgaae .Get (_cgabg ));if _cbcbb ._affda ==nil {_cbcbb ._affda =_bcb .MakeDict ();};_cbcbb ._affda .Set (_cgabg ,_acacd );};};return &_cbcbb ,nil ;};var (CourierName =_acc .CourierName ;CourierBoldName =_acc .CourierBoldName ;CourierObliqueName =_acc .CourierObliqueName ;CourierBoldObliqueName =_acc .CourierBoldObliqueName ;HelveticaName =_acc .HelveticaName ;HelveticaBoldName =_acc .HelveticaBoldName ;HelveticaObliqueName =_acc .HelveticaObliqueName ;HelveticaBoldObliqueName =_acc .HelveticaBoldObliqueName ;SymbolName =_acc .SymbolName ;ZapfDingbatsName =_acc .ZapfDingbatsName ;TimesRomanName =_acc .TimesRomanName ;TimesBoldName =_acc .TimesBoldName ;TimesItalicName =_acc .TimesItalicName ;TimesBoldItalicName =_acc .TimesBoldItalicName ;);func (_gceg *LTV )validateSig (_dcdfa *PdfSignature )error {if _dcdfa ==nil ||_dcdfa .Contents ==nil ||len (_dcdfa .Contents .Bytes ())==0{return _e .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065 \u0066\u0069\u0065l\u0064:\u0020\u0025\u0076",_dcdfa );};return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_bbcdc *PdfFunctionType0 )ToPdfObject ()_bcb .PdfObject {if _bbcdc ._gdbc ==nil {_bbcdc ._gdbc =&_bcb .PdfObjectStream {};};_cbba :=_bcb .MakeDict ();_cbba .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_bcb .MakeInteger (0));_cggad :=&_bcb .PdfObjectArray {};for _ ,_bgfc :=range _bbcdc .Domain {_cggad .Append (_bcb .MakeFloat (_bgfc ));};_cbba .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cggad );_fdbb :=&_bcb .PdfObjectArray {};for _ ,_gdebe :=range _bbcdc .Range {_fdbb .Append (_bcb .MakeFloat (_gdebe ));};_cbba .Set ("\u0052\u0061\u006eg\u0065",_fdbb );_gdced :=&_bcb .PdfObjectArray {};for _ ,_fggad :=range _bbcdc .Size {_gdced .Append (_bcb .MakeInteger (int64 (_fggad )));};_cbba .Set ("\u0053\u0069\u007a\u0065",_gdced );_cbba .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065",_bcb .MakeInteger (int64 (_bbcdc .BitsPerSample )));if _bbcdc .Order !=1{_cbba .Set ("\u004f\u0072\u0064e\u0072",_bcb .MakeInteger (int64 (_bbcdc .Order )));};_cbba .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_bbcdc ._cdcfa ))));_bbcdc ._gdbc .Stream =_bbcdc ._cdcfa ;_bbcdc ._gdbc .PdfObjectDictionary =_cbba ;return _bbcdc ._gdbc ;};
|
||
|
||
// GetNumComponents returns the number of color components (4 for CMYK32).
|
||
func (_cafb *PdfColorDeviceCMYK )GetNumComponents ()int {return 4};
|
||
|
||
// SetContext sets the specific fielddata type, e.g. would be PdfFieldButton for a button field.
|
||
func (_cdaeg *PdfField )SetContext (ctx PdfModel ){_cdaeg ._fegde =ctx };func _fbcgf ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();_acccf :=_dd .GetLicenseKey ();if len (_ggdgb )> 0&&(_acccf .IsLicensed ()||_ebefc ){return _ggdgb ;};return _e .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",_bcfbf (),_acccf .TypeToString ());};
|
||
|
||
// 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 (_edfef *PdfReader )GetOutlinesFlattened ()([]*PdfOutlineTreeNode ,[]string ,error ){var _fgaag []*PdfOutlineTreeNode ;var _abda []string ;var _gcbee func (*PdfOutlineTreeNode ,*[]*PdfOutlineTreeNode ,*[]string ,int );_gcbee =func (_dedcf *PdfOutlineTreeNode ,_adaaa *[]*PdfOutlineTreeNode ,_caef *[]string ,_gbgge int ){if _dedcf ==nil {return ;};if _dedcf ._bfagd ==nil {_cga .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 ;};_cdbcc ,_bbgdd :=_dedcf ._bfagd .(*PdfOutlineItem );if _bbgdd {*_adaaa =append (*_adaaa ,&_cdbcc .PdfOutlineTreeNode );_fdcf :=_gc .Repeat ("\u0020",_gbgge *2)+_cdbcc .Title .Decoded ();*_caef =append (*_caef ,_fdcf );};if _dedcf .First !=nil {_caag :=_gc .Repeat ("\u0020",_gbgge *2)+"\u002b";*_caef =append (*_caef ,_caag );_gcbee (_dedcf .First ,_adaaa ,_caef ,_gbgge +1);};if _bbgdd &&_cdbcc .Next !=nil {_gcbee (_cdbcc .Next ,_adaaa ,_caef ,_gbgge );};};_gcbee (_edfef ._gbged ,&_fgaag ,&_abda ,0);return _fgaag ,_abda ,nil ;};
|
||
|
||
// Val returns the color value.
|
||
func (_bdfc *PdfColorDeviceGray )Val ()float64 {return float64 (*_bdfc )};
|
||
|
||
// ImageToRGB converts ICCBased colorspace image to RGB and returns the result.
|
||
func (_ffba *PdfColorspaceICCBased )ImageToRGB (img Image )(Image ,error ){if _ffba .Alternate ==nil {_cga .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 _ffba .N ==1{_cga .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");_acfg :=NewPdfColorspaceDeviceGray ();return _acfg .ImageToRGB (img );}else if _ffba .N ==3{_cga .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 _ffba .N ==4{_cga .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");_fcbdf :=NewPdfColorspaceDeviceCMYK ();return _fcbdf .ImageToRGB (img );}else {return img ,_ae .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");};};_cga .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",_ffba );_gabe ,_fbffd :=_ffba .Alternate .ImageToRGB (img );_cga .Log .Trace ("I\u0043C\u0020\u0049\u006e\u0070\u0075\u0074\u0020\u0069m\u0061\u0067\u0065\u003a %\u002b\u0076",img );_cga .Log .Trace ("I\u0043\u0043\u0020\u004fut\u0070u\u0074\u0020\u0069\u006d\u0061g\u0065\u003a\u0020\u0025\u002b\u0076",_gabe );return _gabe ,_fbffd ;};
|
||
|
||
// UpdateXObjectImageFromImage creates a new XObject Image from an
|
||
// Image object `img` and default masks from xobjIn.
|
||
// The default masks are overridden if img.hasAlpha
|
||
// If `encoder` is nil, uses raw encoding (none).
|
||
func UpdateXObjectImageFromImage (xobjIn *XObjectImage ,img *Image ,cs PdfColorspace ,encoder _bcb .StreamEncoder )(*XObjectImage ,error ){if encoder ==nil {encoder =_bcb .NewRawEncoder ();};encoder .UpdateParams (img .GetParamsDict ());_aggcf ,_feege :=encoder .EncodeBytes (img .Data );if _feege !=nil {_cga .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_feege );return nil ,_feege ;};_gfbdd :=NewXObjectImage ();_acgdgf :=img .Width ;_gccac :=img .Height ;_gfbdd .Width =&_acgdgf ;_gfbdd .Height =&_gccac ;_bbdge :=img .BitsPerComponent ;_gfbdd .BitsPerComponent =&_bbdge ;_gfbdd .Filter =encoder ;_gfbdd .Stream =_aggcf ;if cs ==nil {if img .ColorComponents ==1{_gfbdd .ColorSpace =NewPdfColorspaceDeviceGray ();}else if img .ColorComponents ==3{_gfbdd .ColorSpace =NewPdfColorspaceDeviceRGB ();}else if img .ColorComponents ==4{_gfbdd .ColorSpace =NewPdfColorspaceDeviceCMYK ();}else {return nil ,_ae .New ("c\u006fl\u006f\u0072\u0073\u0070\u0061\u0063\u0065\u0020u\u006e\u0064\u0065\u0066in\u0065\u0064");};}else {_gfbdd .ColorSpace =cs ;};if len (img ._cdeb )!=0{_cdge :=NewXObjectImage ();_cdge .Filter =encoder ;_dcgdc ,_faffa :=encoder .EncodeBytes (img ._cdeb );if _faffa !=nil {_cga .Log .Debug ("\u0045\u0072\u0072or\u0020\u0077\u0069\u0074\u0068\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0076",_faffa );return nil ,_faffa ;};_cdge .Stream =_dcgdc ;_cdge .BitsPerComponent =_gfbdd .BitsPerComponent ;_cdge .Width =&img .Width ;_cdge .Height =&img .Height ;_cdge .ColorSpace =NewPdfColorspaceDeviceGray ();_gfbdd .SMask =_cdge .ToPdfObject ();}else {_gfbdd .SMask =xobjIn .SMask ;_gfbdd .ImageMask =xobjIn .ImageMask ;if _gfbdd .ColorSpace .GetNumComponents ()==1{_cadgg (_gfbdd );};};return _gfbdd ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_dddbc *PdfShadingType1 )ToPdfObject ()_bcb .PdfObject {_dddbc .PdfShading .ToPdfObject ();_agdcge ,_bfagf :=_dddbc .getShadingDict ();if _bfagf !=nil {_cga .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 _dddbc .Domain !=nil {_agdcge .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_dddbc .Domain );};if _dddbc .Matrix !=nil {_agdcge .Set ("\u004d\u0061\u0074\u0072\u0069\u0078",_dddbc .Matrix );};if _dddbc .Function !=nil {if len (_dddbc .Function )==1{_agdcge .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dddbc .Function [0].ToPdfObject ());}else {_fcaged :=_bcb .MakeArray ();for _ ,_aebcd :=range _dddbc .Function {_fcaged .Append (_aebcd .ToPdfObject ());};_agdcge .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_fcaged );};};return _dddbc ._eced ;};const (XObjectTypeUndefined XObjectType =iota ;XObjectTypeImage ;XObjectTypeForm ;XObjectTypePS ;XObjectTypeUnknown ;);func (_cfb *PdfReader )newPdfAnnotationHighlightFromDict (_geaa *_bcb .PdfObjectDictionary )(*PdfAnnotationHighlight ,error ){_baea :=PdfAnnotationHighlight {};_gabb ,_adef :=_cfb .newPdfAnnotationMarkupFromDict (_geaa );if _adef !=nil {return nil ,_adef ;};_baea .PdfAnnotationMarkup =_gabb ;_baea .QuadPoints =_geaa .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_baea ,nil ;};
|
||
|
||
// NewPdfAnnotationCaret returns a new caret annotation.
|
||
func NewPdfAnnotationCaret ()*PdfAnnotationCaret {_afcb :=NewPdfAnnotation ();_deg :=&PdfAnnotationCaret {};_deg .PdfAnnotation =_afcb ;_deg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_afcb .SetContext (_deg );return _deg ;};
|
||
|
||
// BytesToCharcodes converts the bytes in a PDF string to character codes.
|
||
func (_cefg *PdfFont )BytesToCharcodes (data []byte )[]_ddd .CharCode {_cga .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 _eefgg ,_bcffc :=_cefg ._fgge .(*pdfFontType0 );_bcffc &&_eefgg ._abeeb !=nil {if _becd ,_ggaa :=_eefgg .bytesToCharcodes (data );_ggaa {return _becd ;};};_dgcbb :=make ([]_ddd .CharCode ,0,len (data )+len (data )%2);if _cefg .baseFields ().isCIDFont (){if len (data )==1{data =[]byte {0,data [0]};};if len (data )%2!=0{_cga .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 _eded :=0;_eded < len (data );_eded +=2{_acecd :=uint16 (data [_eded ])<<8|uint16 (data [_eded +1]);_dgcbb =append (_dgcbb ,_ddd .CharCode (_acecd ));};}else {for _ ,_feaaa :=range data {_dgcbb =append (_dgcbb ,_ddd .CharCode (_feaaa ));};};return _dgcbb ;};
|
||
|
||
// FieldFlag represents form field flags. Some of the flags can apply to all types of fields whereas other
|
||
// flags are specific.
|
||
type FieldFlag uint32 ;func _dbcd (_bbff _bcb .PdfObject )(*PdfColorspaceSpecialSeparation ,error ){_gbad :=NewPdfColorspaceSpecialSeparation ();if _cccfed ,_ffdea :=_bbff .(*_bcb .PdfIndirectObject );_ffdea {_gbad ._caa =_cccfed ;};_bbff =_bcb .TraceToDirectObject (_bbff );_fgef ,_geddc :=_bbff .(*_bcb .PdfObjectArray );if !_geddc {return nil ,_e .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 _fgef .Len ()!=4{return nil ,_e .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");};_bbff =_fgef .Get (0);_agec ,_geddc :=_bbff .(*_bcb .PdfObjectName );if !_geddc {return nil ,_e .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 *_agec !="\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"{return nil ,_e .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");};_bbff =_fgef .Get (1);_agec ,_geddc =_bbff .(*_bcb .PdfObjectName );if !_geddc {return nil ,_e .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");};_gbad .ColorantName =_agec ;_bbff =_fgef .Get (2);_bcbc ,_ageb :=NewPdfColorspaceFromPdfObject (_bbff );if _ageb !=nil {return nil ,_ageb ;};_gbad .AlternateSpace =_bcbc ;_gbeea ,_ageb :=_acdfd (_fgef .Get (3));if _ageb !=nil {return nil ,_ageb ;};_gbad .TintTransform =_gbeea ;return _gbad ,nil ;};
|
||
|
||
// PdfAnnotationFreeText represents FreeText annotations.
|
||
// (Section 12.5.6.6).
|
||
type PdfAnnotationFreeText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;DA _bcb .PdfObject ;Q _bcb .PdfObject ;RC _bcb .PdfObject ;DS _bcb .PdfObject ;CL _bcb .PdfObject ;IT _bcb .PdfObject ;BE _bcb .PdfObject ;RD _bcb .PdfObject ;BS _bcb .PdfObject ;LE _bcb .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 (_aggde *PdfFont )StringToCharcodeBytes (str string )([]byte ,int ){return _aggde .RunesToCharcodeBytes ([]rune (str ));};func _dfcgc (_cbdeg *_bcb .PdfObjectDictionary ,_fdgg *fontCommon )(*pdfFontType0 ,error ){_gadbb ,_cfcdg :=_bcb .GetArray (_cbdeg .Get ("\u0044e\u0073c\u0065\u006e\u0064\u0061\u006e\u0074\u0046\u006f\u006e\u0074\u0073"));if !_cfcdg {_cga .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",_fdgg );return nil ,_bcb .ErrRangeError ;};if _gadbb .Len ()!=1{_cga .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",_gadbb .Len ());return nil ,_bcb .ErrRangeError ;};_dgba ,_gaeg :=_aabe (_gadbb .Get (0),false );if _gaeg !=nil {_cga .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",_gaeg ,_fdgg );return nil ,_gaeg ;};_efgcc :=_fcbgc (_fdgg );_efgcc .DescendantFont =_dgba ;_eaaaa ,_cfcdg :=_bcb .GetNameVal (_cbdeg .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));if _cfcdg {if _eaaaa =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"||_eaaaa =="\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0056"{_efgcc ._cfaee =_ddd .NewIdentityTextEncoder (_eaaaa );}else if _dc .IsPredefinedCMap (_eaaaa ){_efgcc ._abeeb ,_gaeg =_dc .LoadPredefinedCMap (_eaaaa );if _gaeg !=nil {_cga .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",_eaaaa ,_gaeg );};}else {_cga .Log .Debug ("\u0055\u006e\u0068\u0061\u006e\u0064\u006c\u0065\u0064\u0020\u0063\u006da\u0070\u0020\u0025\u0071",_eaaaa );};};if _dbcdb :=_dgba .baseFields ()._ecbe ;_dbcdb !=nil {if _fgbd :=_dbcdb .Name ();_fgbd =="\u0041d\u006fb\u0065\u002d\u0043\u004e\u0053\u0031\u002d\u0055\u0043\u0053\u0032"||_fgbd =="\u0041\u0064\u006f\u0062\u0065\u002d\u0047\u0042\u0031-\u0055\u0043\u0053\u0032"||_fgbd =="\u0041\u0064\u006f\u0062\u0065\u002d\u004a\u0061\u0070\u0061\u006e\u0031-\u0055\u0043\u0053\u0032"||_fgbd =="\u0041\u0064\u006f\u0062\u0065\u002d\u004b\u006f\u0072\u0065\u0061\u0031-\u0055\u0043\u0053\u0032"{_efgcc ._cfaee =_ddd .NewCMapEncoder (_eaaaa ,_efgcc ._abeeb ,_dbcdb );};};return _efgcc ,nil ;};
|
||
|
||
// SetReason sets the `Reason` field of the signature.
|
||
func (_baeed *PdfSignature )SetReason (reason string ){_baeed .Reason =_bcb .MakeString (reason )};
|
||
|
||
// NewPdfAppender creates a new Pdf appender from a Pdf reader.
|
||
func NewPdfAppender (reader *PdfReader )(*PdfAppender ,error ){_gdeg :=&PdfAppender {_baeab :reader ._bcffa ,Reader :reader ,_bbdf :reader ._ecage ,_ebca :reader ._egfef };_gceb ,_cacfb :=_gdeg ._baeab .Seek (0,_fb .SeekEnd );if _cacfb !=nil {return nil ,_cacfb ;};_gdeg ._def =_gceb ;if _ ,_cacfb =_gdeg ._baeab .Seek (0,_fb .SeekStart );_cacfb !=nil {return nil ,_cacfb ;};_gdeg ._adcc ,_cacfb =NewPdfReader (_gdeg ._baeab );if _cacfb !=nil {return nil ,_cacfb ;};for _ ,_fcga :=range _gdeg .Reader .GetObjectNums (){if _gdeg ._ebga < _fcga {_gdeg ._ebga =_fcga ;};};_gdeg ._bcf =_gdeg ._bbdf .GetXrefTable ();_gdeg ._edga =_gdeg ._bbdf .GetXrefOffset ();_gdeg ._cgcg =append (_gdeg ._cgcg ,_gdeg ._adcc .PageList ...);_gdeg ._bfbb =make (map[_bcb .PdfObject ]struct{});_gdeg ._cfff =make (map[_bcb .PdfObject ]int64 );_gdeg ._feea =make (map[_bcb .PdfObject ]struct{});_gdeg ._acdf =_gdeg ._adcc .AcroForm ;_gdeg ._fbb =_gdeg ._adcc .DSS ;return _gdeg ,nil ;};
|
||
|
||
// 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 ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the DSS dictionary.
|
||
func (_ffff *DSS )ToPdfObject ()_bcb .PdfObject {_cafg :=_ffff ._bdac .PdfObject .(*_bcb .PdfObjectDictionary );_cafg .Clear ();_fadc :=_bcb .MakeDict ();for _afdf ,_dagg :=range _ffff .VRI {_fadc .Set (*_bcb .MakeName (_afdf ),_dagg .ToPdfObject ());};_cafg .SetIfNotNil ("\u0043\u0065\u0072t\u0073",_cbgcg (_ffff .Certs ));_cafg .SetIfNotNil ("\u004f\u0043\u0053P\u0073",_cbgcg (_ffff .OCSPs ));_cafg .SetIfNotNil ("\u0043\u0052\u004c\u0073",_cbgcg (_ffff .CRLs ));_cafg .Set ("\u0056\u0052\u0049",_fadc );return _ffff ._bdac ;};func _fcdab (_bfbac *_bcb .PdfObjectDictionary )(*PdfShadingType2 ,error ){_bbgee :=PdfShadingType2 {};_gdbcb :=_bfbac .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _gdbcb ==nil {_cga .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 ;};_dgdfg ,_deaef :=_gdbcb .(*_bcb .PdfObjectArray );if !_deaef {_cga .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",_gdbcb );return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};if _dgdfg .Len ()!=4{_cga .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",_dgdfg .Len ());return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0061\u0074\u0074\u0072i\u0062\u0075\u0074\u0065");};_bbgee .Coords =_dgdfg ;if _ecffb :=_bfbac .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_ecffb !=nil {_ecffb =_bcb .TraceToDirectObject (_ecffb );_agdaf ,_dafbf :=_ecffb .(*_bcb .PdfObjectArray );if !_dafbf {_cga .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",_ecffb );return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_bbgee .Domain =_agdaf ;};_gdbcb =_bfbac .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _gdbcb ==nil {_cga .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 ;};_bbgee .Function =[]PdfFunction {};if _aeebd ,_agbbda :=_gdbcb .(*_bcb .PdfObjectArray );_agbbda {for _ ,_cadce :=range _aeebd .Elements (){_fbfde ,_eccfb :=_acdfd (_cadce );if _eccfb !=nil {_cga .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",_eccfb );return nil ,_eccfb ;};_bbgee .Function =append (_bbgee .Function ,_fbfde );};}else {_fgefe ,_decec :=_acdfd (_gdbcb );if _decec !=nil {_cga .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",_decec );return nil ,_decec ;};_bbgee .Function =append (_bbgee .Function ,_fgefe );};if _baaaf :=_bfbac .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_baaaf !=nil {_baaaf =_bcb .TraceToDirectObject (_baaaf );_gagfad ,_abea :=_baaaf .(*_bcb .PdfObjectArray );if !_abea {_cga .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",_baaaf );return nil ,_bcb .ErrTypeError ;};if _gagfad .Len ()!=2{_cga .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",_gagfad .Len ());return nil ,ErrInvalidAttribute ;};_bbgee .Extend =_gagfad ;};return &_bbgee ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dcac *PdfAnnotationLink )ToPdfObject ()_bcb .PdfObject {_dcac .PdfAnnotation .ToPdfObject ();_bdae :=_dcac ._daa ;_ddc :=_bdae .PdfObject .(*_bcb .PdfObjectDictionary );_ddc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u004c\u0069\u006e\u006b"));if _dcac ._bda !=nil &&_dcac ._bda ._dda !=nil {_ddc .Set ("\u0041",_dcac ._bda ._dda .ToPdfObject ());}else if _dcac .A !=nil {_ddc .Set ("\u0041",_dcac .A );};_ddc .SetIfNotNil ("\u0044\u0065\u0073\u0074",_dcac .Dest );_ddc .SetIfNotNil ("\u0048",_dcac .H );_ddc .SetIfNotNil ("\u0050\u0041",_dcac .PA );_ddc .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_dcac .QuadPoints );_ddc .SetIfNotNil ("\u0042\u0053",_dcac .BS );return _bdae ;};
|
||
|
||
// SetShadingByName sets a shading resource specified by keyName.
|
||
func (_ddfcd *PdfPageResources )SetShadingByName (keyName _bcb .PdfObjectName ,shadingObj _bcb .PdfObject )error {if _ddfcd .Shading ==nil {_ddfcd .Shading =_bcb .MakeDict ();};_dgfgee ,_fgbab :=_ddfcd .Shading .(*_bcb .PdfObjectDictionary );if !_fgbab {return _bcb .ErrTypeError ;};_dgfgee .Set (keyName ,shadingObj );return nil ;};func (_gacb *PdfReader )newPdfAnnotationStampFromDict (_baeb *_bcb .PdfObjectDictionary )(*PdfAnnotationStamp ,error ){_afd :=PdfAnnotationStamp {};_dgdd ,_dabd :=_gacb .newPdfAnnotationMarkupFromDict (_baeb );if _dabd !=nil {return nil ,_dabd ;};_afd .PdfAnnotationMarkup =_dgdd ;_afd .Name =_baeb .Get ("\u004e\u0061\u006d\u0065");return &_afd ,nil ;};
|
||
|
||
// PdfAnnotationInk represents Ink annotations.
|
||
// (Section 12.5.6.13).
|
||
type PdfAnnotationInk struct{*PdfAnnotation ;*PdfAnnotationMarkup ;InkList _bcb .PdfObject ;BS _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_afdae *PdfShading )ToPdfObject ()_bcb .PdfObject {_fabbf :=_afdae ._eced ;_dabeda ,_becdf :=_afdae .getShadingDict ();if _becdf !=nil {_cga .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 _afdae .ShadingType !=nil {_dabeda .Set ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065",_afdae .ShadingType );};if _afdae .ColorSpace !=nil {_dabeda .Set ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_afdae .ColorSpace .ToPdfObject ());};if _afdae .Background !=nil {_dabeda .Set ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064",_afdae .Background );};if _afdae .BBox !=nil {_dabeda .Set ("\u0042\u0042\u006f\u0078",_afdae .BBox .ToPdfObject ());};if _afdae .AntiAlias !=nil {_dabeda .Set ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s",_afdae .AntiAlias );};return _fabbf ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bdg *PdfActionLaunch )ToPdfObject ()_bcb .PdfObject {_bdg .PdfAction .ToPdfObject ();_gace :=_bdg ._dce ;_dac :=_gace .PdfObject .(*_bcb .PdfObjectDictionary );_dac .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeLaunch )));if _bdg .F !=nil {_dac .Set ("\u0046",_bdg .F .ToPdfObject ());};_dac .SetIfNotNil ("\u0057\u0069\u006e",_bdg .Win );_dac .SetIfNotNil ("\u004d\u0061\u0063",_bdg .Mac );_dac .SetIfNotNil ("\u0055\u006e\u0069\u0078",_bdg .Unix );_dac .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_bdg .NewWindow );return _gace ;};
|
||
|
||
// PdfActionType represents an action type in PDF (section 12.6.4 p. 417).
|
||
type PdfActionType string ;
|
||
|
||
// NewPdfActionSetOCGState returns a new "named" action.
|
||
func NewPdfActionSetOCGState ()*PdfActionSetOCGState {_ceg :=NewPdfAction ();_fgb :=&PdfActionSetOCGState {};_fgb .PdfAction =_ceg ;_ceg .SetContext (_fgb );return _fgb ;};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";);
|
||
|
||
// ColorToRGB verifies that the input color is an RGB color. Method exists in
|
||
// order to satisfy the PdfColorspace interface.
|
||
func (_deebf *PdfColorspaceDeviceRGB )ColorToRGB (color PdfColor )(PdfColor ,error ){_aead ,_eebg :=color .(*PdfColorDeviceRGB );if !_eebg {_cga .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 ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};return _aead ,nil ;};
|
||
|
||
// IsCID returns true if the underlying font is CID.
|
||
func (_gbgcd *PdfFont )IsCID ()bool {return _gbgcd .baseFields ().isCIDFont ()};var ImageHandling ImageHandler =DefaultImageHandler {};
|
||
|
||
// 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 ;
|
||
|
||
// ImageToRGB converts an Image in a given PdfColorspace to an RGB image.
|
||
func (_befc *PdfColorspaceDeviceN )ImageToRGB (img Image )(Image ,error ){_geee :=_cgb .NewReader (img .getBase ());_eccag :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,nil ,img ._cdeb ,img ._fdggf );_fdeb :=_cgb .NewWriter (_eccag );_gbdb :=_edb .Pow (2,float64 (img .BitsPerComponent ))-1;_gaaf :=_befc .GetNumComponents ();_cefa :=make ([]uint32 ,_gaaf );_accge :=make ([]float64 ,_gaaf );for {_ccfd :=_geee .ReadSamples (_cefa );if _ccfd ==_fb .EOF {break ;}else if _ccfd !=nil {return img ,_ccfd ;};for _efd :=0;_efd < _gaaf ;_efd ++{_daca :=float64 (_cefa [_efd ])/_gbdb ;_accge [_efd ]=_daca ;};_gfgef ,_ccfd :=_befc .TintTransform .Evaluate (_accge );if _ccfd !=nil {return img ,_ccfd ;};for _ ,_gded :=range _gfgef {_gded =_edb .Min (_edb .Max (0,_gded ),1.0);if _ccfd =_fdeb .WriteSample (uint32 (_gded *_gbdb ));_ccfd !=nil {return img ,_ccfd ;};};};return _befc .AlternateSpace .ImageToRGB (_gagca (&_eccag ));};
|
||
|
||
// Set sets the colorspace corresponding to key. Add to Names if not set.
|
||
func (_fbefef *PdfPageResourcesColorspaces )Set (key _bcb .PdfObjectName ,val PdfColorspace ){if _ ,_dgfge :=_fbefef .Colorspaces [string (key )];!_dgfge {_fbefef .Names =append (_fbefef .Names ,string (key ));};_fbefef .Colorspaces [string (key )]=val ;};
|
||
|
||
// NewPdfOutlineItem returns an initialized PdfOutlineItem.
|
||
func NewPdfOutlineItem ()*PdfOutlineItem {_bceada :=&PdfOutlineItem {_afff :_bcb .MakeIndirectObject (_bcb .MakeDict ())};_bceada ._bfagd =_bceada ;return _bceada ;};func (_fcaf *DSS )addCRLs (_cfeg [][]byte )([]*_bcb .PdfObjectStream ,error ){return _fcaf .add (&_fcaf .CRLs ,_fcaf ._acaf ,_cfeg );};
|
||
|
||
// XObjectForm (Table 95 in 8.10.2).
|
||
type XObjectForm struct{Filter _bcb .StreamEncoder ;FormType _bcb .PdfObject ;BBox _bcb .PdfObject ;Matrix _bcb .PdfObject ;Resources *PdfPageResources ;Group _bcb .PdfObject ;Ref _bcb .PdfObject ;MetaData _bcb .PdfObject ;PieceInfo _bcb .PdfObject ;LastModified _bcb .PdfObject ;StructParent _bcb .PdfObject ;StructParents _bcb .PdfObject ;OPI _bcb .PdfObject ;OC _bcb .PdfObject ;Name _bcb .PdfObject ;
|
||
|
||
// Stream data.
|
||
Stream []byte ;_egcgbg *_bcb .PdfObjectStream ;};
|
||
|
||
// ReplacePage replaces the original page to a new page.
|
||
func (_gefc *PdfAppender )ReplacePage (pageNum int ,page *PdfPage ){_ffee :=pageNum -1;for _fcc :=range _gefc ._cgcg {if _fcc ==_ffee {_bcbda :=page .Duplicate ();_bdba (_bcbda );_gefc ._cgcg [_fcc ]=_bcbda ;};};};
|
||
|
||
// IsCheckbox returns true if the button field represents a checkbox, false otherwise.
|
||
func (_bcccf *PdfFieldButton )IsCheckbox ()bool {return _bcccf .GetType ()==ButtonTypeCheckbox };
|
||
|
||
// GetXObjectImageByName returns the XObjectImage with the specified name from the
|
||
// page resources, if it exists.
|
||
func (_agbgga *PdfPageResources )GetXObjectImageByName (keyName _bcb .PdfObjectName )(*XObjectImage ,error ){_bffdd ,_eegeb :=_agbgga .GetXObjectByName (keyName );if _bffdd ==nil {return nil ,nil ;};if _eegeb !=XObjectTypeImage {return nil ,_ae .New ("\u006e\u006f\u0074 \u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065");};_gaddcb ,_ccbdd :=NewXObjectImageFromStream (_bffdd );if _ccbdd !=nil {return nil ,_ccbdd ;};return _gaddcb ,nil ;};
|
||
|
||
// NewPdfActionGoTo returns a new "go to" action.
|
||
func NewPdfActionGoTo ()*PdfActionGoTo {_ef :=NewPdfAction ();_edg :=&PdfActionGoTo {};_edg .PdfAction =_ef ;_ef .SetContext (_edg );return _edg ;};func _aabe (_cedg _bcb .PdfObject ,_dafc bool )(*PdfFont ,error ){_bgcff ,_ffgcd ,_dbeffc :=_ecggg (_cedg );if _dbeffc !=nil {if _dbeffc ==ErrType3FontNotSupported ||_dbeffc ==ErrType1CFontNotSupported {_fbeg ,_cdfa :=_bdfd (_bgcff ,_ffgcd ,nil );if _cdfa !=nil {_cga .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",_ffgcd ,_cdfa );return nil ,_dbeffc ;};return &PdfFont {_fgge :_fbeg },_dbeffc ;};return nil ,_dbeffc ;};_egcg :=&PdfFont {};switch _ffgcd ._abgg {case "\u0054\u0079\u0070e\u0030":if !_dafc {_cga .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",_ffgcd );return nil ,_ae .New ("\u0063\u0079\u0063\u006cic\u0061\u006c\u0020\u0074\u0079\u0070\u0065\u0030\u0020\u006c\u006f\u0061\u0064\u0069n\u0067");};_ddbc ,_eaac :=_dfcgc (_bgcff ,_ffgcd );if _eaac !=nil {_cga .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",_ffgcd ,_eaac );return nil ,_eaac ;};_egcg ._fgge =_ddbc ;case "\u0054\u0079\u0070e\u0031","\u0054\u0079\u0070e\u0033","\u004dM\u0054\u0079\u0070\u0065\u0031","\u0054\u0072\u0075\u0065\u0054\u0079\u0070\u0065":var _fega *pdfFontSimple ;_bbfg ,_fgba :=_acc .NewStdFontByName (_acc .StdFontName (_ffgcd ._daeb ));if _fgba {_bcbcc :=_egdb (_bbfg );_egcg ._fgge =&_bcbcc ;_bdcb :=_bcb .TraceToDirectObject (_bcbcc .ToPdfObject ());_bccg ,_bfdag ,_aeged :=_ecggg (_bdcb );if _aeged !=nil {_cga .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",_ffgcd ,_bcbcc );return nil ,_aeged ;};for _ ,_bdga :=range _bgcff .Keys (){_bccg .Set (_bdga ,_bgcff .Get (_bdga ));};_fega ,_aeged =_bdfd (_bccg ,_bfdag ,_bcbcc ._bcdf );if _aeged !=nil {_cga .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",_ffgcd ,_bcbcc );return nil ,_aeged ;};_fega ._dgdfc =_bcbcc ._dgdfc ;_fega ._gbggc =_bcbcc ._gbggc ;}else {_fega ,_dbeffc =_bdfd (_bgcff ,_ffgcd ,nil );if _dbeffc !=nil {_cga .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",_ffgcd ,_dbeffc );return nil ,_dbeffc ;};};_dbeffc =_fega .addEncoding ();if _dbeffc !=nil {return nil ,_dbeffc ;};if _fgba {_fega .updateStandard14Font ();};if _fgba &&_fega ._fdebc ==nil &&_fega ._bcdf ==nil {_cga .Log .Error ("\u0073\u0069\u006d\u0070\u006c\u0065\u0066\u006f\u006e\u0074\u003d\u0025\u0073",_fega );_cga .Log .Error ("\u0066n\u0074\u003d\u0025\u002b\u0076",_bbfg );};if len (_fega ._dgdfc )==0{_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u004e\u006f\u0020\u0077\u0069d\u0074h\u0073.\u0020\u0066\u006f\u006e\u0074\u003d\u0025s",_fega );};_egcg ._fgge =_fega ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030":_fbcee ,_bdcac :=_bgege (_bgcff ,_ffgcd );if _bdcac !=nil {_cga .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",_bdcac );return nil ,_bdcac ;};_egcg ._fgge =_fbcee ;case "\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032":_edbf ,_daaa :=_fgab (_bgcff ,_ffgcd );if _daaa !=nil {_cga .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",_ffgcd ,_daaa );return nil ,_daaa ;};_egcg ._fgge =_edbf ;default:_cga .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",_ffgcd );return nil ,_e .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",_ffgcd );};return _egcg ,nil ;};
|
||
|
||
// ToPdfObject returns the button field dictionary within an indirect object.
|
||
func (_bbae *PdfFieldButton )ToPdfObject ()_bcb .PdfObject {_bbae .PdfField .ToPdfObject ();_dgfgb :=_bbae ._gggf ;_ecac :=_dgfgb .PdfObject .(*_bcb .PdfObjectDictionary );_ecac .Set ("\u0046\u0054",_bcb .MakeName ("\u0042\u0074\u006e"));if _bbae .Opt !=nil {_ecac .Set ("\u004f\u0070\u0074",_bbae .Opt );};return _dgfgb ;};
|
||
|
||
// 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 (_bebfd *PdfColorspaceLab )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eeaf :=vals [0];if _eeaf < 0.0||_eeaf > 100.0{_cga .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",_eeaf );return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ababb :=vals [1];_eecc :=float64 (-100);_gabd :=float64 (100);if len (_bebfd .Range )> 1{_eecc =_bebfd .Range [0];_gabd =_bebfd .Range [1];};if _ababb < _eecc ||_ababb > _gabd {_cga .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",_ababb ,_eecc ,_gabd );return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbcg :=vals [2];_gbae :=float64 (-100);_dadcf :=float64 (100);if len (_bebfd .Range )> 3{_gbae =_bebfd .Range [2];_dadcf =_bebfd .Range [3];};if _gbcg < _gbae ||_gbcg > _dadcf {_cga .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",_gbcg ,_gbae ,_dadcf );return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_agcg :=NewPdfColorLab (_eeaf ,_ababb ,_gbcg );return _agcg ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the outline tree node.
|
||
func (_bebdf *PdfOutlineTreeNode )ToPdfObject ()_bcb .PdfObject {return _bebdf .GetContext ().ToPdfObject ();};
|
||
|
||
// DecodeArray returns the range of color component values in CalRGB colorspace.
|
||
func (_fgeb *PdfColorspaceCalRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};
|
||
|
||
// GetNamedDestinations returns the Names entry in the PDF catalog.
|
||
// See section 12.3.2.3 "Named Destinations" (p. 367 PDF32000_2008).
|
||
func (_ddbge *PdfReader )GetNamedDestinations ()(_bcb .PdfObject ,error ){_bdbf :=_bcb .ResolveReference (_ddbge ._fccd .Get ("\u004e\u0061\u006de\u0073"));if _bdbf ==nil {return nil ,nil ;};if !_ddbge ._abdcg {_gadec :=_ddbge .traverseObjectData (_bdbf );if _gadec !=nil {return nil ,_gadec ;};};return _bdbf ,nil ;};func (_egba *PdfReader )loadDSS ()(*DSS ,error ){if _egba ._ecage .GetCrypter ()!=nil &&!_egba ._ecage .IsAuthenticated (){return nil ,_e .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");};_cfdae :=_egba ._fccd .Get ("\u0044\u0053\u0053");if _cfdae ==nil {return nil ,nil ;};_deaff ,_ :=_bcb .GetIndirect (_cfdae );_cfdae =_bcb .TraceToDirectObject (_cfdae );switch _dbcac :=_cfdae .(type ){case *_bcb .PdfObjectNull :return nil ,nil ;case *_bcb .PdfObjectDictionary :return _edgg (_deaff ,_dbcac );};return nil ,_e .Errorf ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0044\u0053\u0053 \u0065\u006e\u0074\u0072y \u0025\u0054",_cfdae );};
|
||
|
||
// PdfShadingType7 is a Tensor-product patch mesh.
|
||
type PdfShadingType7 struct{*PdfShading ;BitsPerCoordinate *_bcb .PdfObjectInteger ;BitsPerComponent *_bcb .PdfObjectInteger ;BitsPerFlag *_bcb .PdfObjectInteger ;Decode *_bcb .PdfObjectArray ;Function []PdfFunction ;};func (_cac *PdfReader )newPdfAnnotationUnderlineFromDict (_aaa *_bcb .PdfObjectDictionary )(*PdfAnnotationUnderline ,error ){_fcde :=PdfAnnotationUnderline {};_cbfe ,_cbfdf :=_cac .newPdfAnnotationMarkupFromDict (_aaa );if _cbfdf !=nil {return nil ,_cbfdf ;};_fcde .PdfAnnotationMarkup =_cbfe ;_fcde .QuadPoints =_aaa .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_fcde ,nil ;};
|
||
|
||
// GetXObjectByName returns the XObject with the specified keyName and the object type.
|
||
func (_cadd *PdfPageResources )GetXObjectByName (keyName _bcb .PdfObjectName )(*_bcb .PdfObjectStream ,XObjectType ){if _cadd .XObject ==nil {return nil ,XObjectTypeUndefined ;};_gdaag ,_abad :=_bcb .TraceToDirectObject (_cadd .XObject ).(*_bcb .PdfObjectDictionary );if !_abad {_cga .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",_bcb .TraceToDirectObject (_cadd .XObject ));return nil ,XObjectTypeUndefined ;};if _cfdfe :=_gdaag .Get (keyName );_cfdfe !=nil {_cebea ,_aaec :=_bcb .GetStream (_cfdfe );if !_aaec {_cga .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",_cfdfe );return nil ,XObjectTypeUndefined ;};_cgabf :=_cebea .PdfObjectDictionary ;_aedc ,_aaec :=_bcb .TraceToDirectObject (_cgabf .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065")).(*_bcb .PdfObjectName );if !_aaec {_cga .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",_cgabf .String ());return nil ,XObjectTypeUndefined ;};if *_aedc =="\u0049\u006d\u0061g\u0065"{return _cebea ,XObjectTypeImage ;}else if *_aedc =="\u0046\u006f\u0072\u006d"{return _cebea ,XObjectTypeForm ;}else if *_aedc =="\u0050\u0053"{return _cebea ,XObjectTypePS ;}else {_cga .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",*_aedc );return nil ,XObjectTypeUndefined ;};}else {return nil ,XObjectTypeUndefined ;};};
|
||
|
||
// NewPdfAnnotationRichMedia returns a new rich media annotation.
|
||
func NewPdfAnnotationRichMedia ()*PdfAnnotationRichMedia {_cfed :=NewPdfAnnotation ();_dgd :=&PdfAnnotationRichMedia {};_dgd .PdfAnnotation =_cfed ;_cfed .SetContext (_dgd );return _dgd ;};
|
||
|
||
// 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 _bcb .StreamEncoder )(*XObjectImage ,error ){_cgfgf :=NewXObjectImage ();return UpdateXObjectImageFromImage (_cgfgf ,img ,cs ,encoder );};
|
||
|
||
// GetFontDescriptor returns the font descriptor for `font`.
|
||
func (_fbgb PdfFont )GetFontDescriptor ()(*PdfFontDescriptor ,error ){return _fbgb ._fgge .getFontDescriptor (),nil ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline.
|
||
func (_cbgfd *Outline )ToPdfObject ()_bcb .PdfObject {return _cbgfd .ToPdfOutline ().ToPdfObject ()};
|
||
|
||
// NewPdfOutline returns an initialized PdfOutline.
|
||
func NewPdfOutline ()*PdfOutline {_acbfb :=&PdfOutline {_cdec :_bcb .MakeIndirectObject (_bcb .MakeDict ())};_acbfb ._bfagd =_acbfb ;return _acbfb ;};func (_bab *PdfReader )newPdfActionSetOCGStateFromDict (_eeb *_bcb .PdfObjectDictionary )(*PdfActionSetOCGState ,error ){return &PdfActionSetOCGState {State :_eeb .Get ("\u0053\u0074\u0061t\u0065"),PreserveRB :_eeb .Get ("\u0050\u0072\u0065\u0073\u0065\u0072\u0076\u0065\u0052\u0042")},nil ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType0 to a PDF representation.
|
||
func (_ggggb *pdfCIDFontType0 )ToPdfObject ()_bcb .PdfObject {return _bcb .MakeNull ()};
|
||
|
||
// NewPdfAnnotationWidget returns an initialized annotation widget.
|
||
func NewPdfAnnotationWidget ()*PdfAnnotationWidget {_bffa :=NewPdfAnnotation ();_dbcf :=&PdfAnnotationWidget {};_dbcf .PdfAnnotation =_bffa ;_bffa .SetContext (_dbcf );return _dbcf ;};func (_dbcb *PdfReader )newPdfAnnotation3DFromDict (_fdb *_bcb .PdfObjectDictionary )(*PdfAnnotation3D ,error ){_dacf :=PdfAnnotation3D {};_dacf .T3DD =_fdb .Get ("\u0033\u0044\u0044");_dacf .T3DV =_fdb .Get ("\u0033\u0044\u0056");_dacf .T3DA =_fdb .Get ("\u0033\u0044\u0041");_dacf .T3DI =_fdb .Get ("\u0033\u0044\u0049");_dacf .T3DB =_fdb .Get ("\u0033\u0044\u0042");return &_dacf ,nil ;};
|
||
|
||
// PdfActionSubmitForm represents a submitForm action.
|
||
type PdfActionSubmitForm struct{*PdfAction ;F *PdfFilespec ;Fields _bcb .PdfObject ;Flags _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject converts the PdfFont object to its PDF representation.
|
||
func (_dbea *PdfFont )ToPdfObject ()_bcb .PdfObject {if _dbea ._fgge ==nil {_cga .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 _bcb .MakeNull ();};return _dbea ._fgge .ToPdfObject ();};
|
||
|
||
// GetPage returns the PdfPage model for the specified page number.
|
||
func (_bbfba *PdfReader )GetPage (pageNumber int )(*PdfPage ,error ){if _bbfba ._ecage .GetCrypter ()!=nil &&!_bbfba ._ecage .IsAuthenticated (){return nil ,_e .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 (_bbfba ._fcff )< pageNumber {return nil ,_ae .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");};_bfaggd :=pageNumber -1;if _bfaggd < 0{return nil ,_e .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");};_gcfg :=_bbfba .PageList [_bfaggd ];return _gcfg ,nil ;};
|
||
|
||
// DSS represents a Document Security Store dictionary.
|
||
// The DSS dictionary contains both global and signature specific validation
|
||
// information. The certificates and revocation data in the `Certs`, `OCSPs`,
|
||
// and `CRLs` fields can be used to validate any signature in the document.
|
||
// Additionally, the VRI entry contains validation data per signature.
|
||
// The keys in the VRI entry are calculated as upper(hex(sha1(sig.Contents))).
|
||
// The values are VRI dictionaries containing certificates and revocation
|
||
// information used for validating a single signature.
|
||
// See ETSI TS 102 778-4 V1.1.1 for more information.
|
||
type DSS struct{_bdac *_bcb .PdfIndirectObject ;Certs []*_bcb .PdfObjectStream ;OCSPs []*_bcb .PdfObjectStream ;CRLs []*_bcb .PdfObjectStream ;VRI map[string ]*VRI ;_dcbbe map[string ]*_bcb .PdfObjectStream ;_fgbgb map[string ]*_bcb .PdfObjectStream ;_acaf map[string ]*_bcb .PdfObjectStream ;};func _ebgca ()*modelManager {_fdab :=modelManager {};_fdab ._eccaga =map[PdfModel ]_bcb .PdfObject {};_fdab ._ecfgbb =map[_bcb .PdfObject ]PdfModel {};return &_fdab ;};var (_gebfd =_ec .MustCompile ("\u005cd\u002b\u0020\u0064\u0069c\u0074\u005c\u0073\u002b\u0028d\u0075p\u005cs\u002b\u0029\u003f\u0062\u0065\u0067\u0069n");_gbeec =_ec .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");_cdfce =_ec .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");_dgbdb ="\u002f\u0045\u006e\u0063od\u0069\u006e\u0067\u0020\u0032\u0035\u0036\u0020\u0061\u0072\u0072\u0061\u0079";_gdgb ="\u0072\u0065\u0061d\u006f\u006e\u006c\u0079\u0020\u0064\u0065\u0066";_ddfc ="\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u0066\u0069\u006c\u0065\u0020e\u0065\u0078\u0065\u0063";);
|
||
|
||
// UpdateObject marks `obj` as updated and to be included in the following revision.
|
||
func (_cbde *PdfAppender )UpdateObject (obj _bcb .PdfObject ){_cbde .replaceObject (obj ,obj );if _ ,_degg :=_cbde ._bfbb [obj ];!_degg {_cbde ._eebb =append (_cbde ._eebb ,obj );_cbde ._bfbb [obj ]=struct{}{};};};
|
||
|
||
// ToPdfObject returns colorspace in a PDF object format [name stream]
|
||
func (_bgaaf *PdfColorspaceICCBased )ToPdfObject ()_bcb .PdfObject {_fcagc :=&_bcb .PdfObjectArray {};_fcagc .Append (_bcb .MakeName ("\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"));var _ebfb *_bcb .PdfObjectStream ;if _bgaaf ._gdgc !=nil {_ebfb =_bgaaf ._gdgc ;}else {_ebfb =&_bcb .PdfObjectStream {};};_dcdbc :=_bcb .MakeDict ();_dcdbc .Set ("\u004e",_bcb .MakeInteger (int64 (_bgaaf .N )));if _bgaaf .Alternate !=nil {_dcdbc .Set ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e",_bgaaf .Alternate .ToPdfObject ());};if _bgaaf .Metadata !=nil {_dcdbc .Set ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061",_bgaaf .Metadata );};if _bgaaf .Range !=nil {var _bggb []_bcb .PdfObject ;for _ ,_aedgg :=range _bgaaf .Range {_bggb =append (_bggb ,_bcb .MakeFloat (_aedgg ));};_dcdbc .Set ("\u0052\u0061\u006eg\u0065",_bcb .MakeArray (_bggb ...));};_dcdbc .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_bgaaf .Data ))));_ebfb .Stream =_bgaaf .Data ;_ebfb .PdfObjectDictionary =_dcdbc ;_fcagc .Append (_ebfb );if _bgaaf ._aaadb !=nil {_bgaaf ._aaadb .PdfObject =_fcagc ;return _bgaaf ._aaadb ;};return _fcagc ;};func (_cfge *PdfReader )newPdfActionThreadFromDict (_fcdf *_bcb .PdfObjectDictionary )(*PdfActionThread ,error ){_eagd ,_gdb :=_geg (_fcdf .Get ("\u0046"));if _gdb !=nil {return nil ,_gdb ;};return &PdfActionThread {D :_fcdf .Get ("\u0044"),B :_fcdf .Get ("\u0042"),F :_eagd },nil ;};func _dbe (_gdbbc *PdfPage )map[_bcb .PdfObjectName ]_bcb .PdfObject {_ffdg :=make (map[_bcb .PdfObjectName ]_bcb .PdfObject );if _gdbbc .Resources ==nil {return _ffdg ;};if _gdbbc .Resources .Font !=nil {if _dfgd ,_ecfg :=_bcb .GetDict (_gdbbc .Resources .Font );_ecfg {for _ ,_geb :=range _dfgd .Keys (){_ffdg [_geb ]=_dfgd .Get (_geb );};};};if _gdbbc .Resources .ExtGState !=nil {if _aaef ,_dgfbg :=_bcb .GetDict (_gdbbc .Resources .ExtGState );_dgfbg {for _ ,_eece :=range _aaef .Keys (){_ffdg [_eece ]=_aaef .Get (_eece );};};};if _gdbbc .Resources .XObject !=nil {if _dddg ,_fegd :=_bcb .GetDict (_gdbbc .Resources .XObject );_fegd {for _ ,_aedf :=range _dddg .Keys (){_ffdg [_aedf ]=_dddg .Get (_aedf );};};};if _gdbbc .Resources .Pattern !=nil {if _gdff ,_dfcf :=_bcb .GetDict (_gdbbc .Resources .Pattern );_dfcf {for _ ,_cccca :=range _gdff .Keys (){_ffdg [_cccca ]=_gdff .Get (_cccca );};};};if _gdbbc .Resources .Shading !=nil {if _fbaf ,_dcgb :=_bcb .GetDict (_gdbbc .Resources .Shading );_dcgb {for _ ,_gbbf :=range _fbaf .Keys (){_ffdg [_gbbf ]=_fbaf .Get (_gbbf );};};};if _gdbbc .Resources .ProcSet !=nil {if _eefga ,_gacg :=_bcb .GetDict (_gdbbc .Resources .ProcSet );_gacg {for _ ,_bdbg :=range _eefga .Keys (){_ffdg [_bdbg ]=_eefga .Get (_bdbg );};};};if _gdbbc .Resources .Properties !=nil {if _fefc ,_gcg :=_bcb .GetDict (_gdbbc .Resources .Properties );_gcg {for _ ,_gfda :=range _fefc .Keys (){_ffdg [_gfda ]=_fefc .Get (_gfda );};};};return _ffdg ;};
|
||
|
||
// NewPdfPageResourcesColorspaces returns a new PdfPageResourcesColorspaces object.
|
||
func NewPdfPageResourcesColorspaces ()*PdfPageResourcesColorspaces {_fefdb :=&PdfPageResourcesColorspaces {};_fefdb .Names =[]string {};_fefdb .Colorspaces =map[string ]PdfColorspace {};_fefdb ._fggf =&_bcb .PdfIndirectObject {};return _fefdb ;};
|
||
|
||
// NewPdfAnnotationSound returns a new sound annotation.
|
||
func NewPdfAnnotationSound ()*PdfAnnotationSound {_cfade :=NewPdfAnnotation ();_aed :=&PdfAnnotationSound {};_aed .PdfAnnotation =_cfade ;_aed .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cfade .SetContext (_aed );return _aed ;};func (_egccf *PdfShading )getShadingDict ()(*_bcb .PdfObjectDictionary ,error ){_bgef :=_egccf ._eced ;if _ccgaa ,_fgdee :=_bgef .(*_bcb .PdfIndirectObject );_fgdee {_egffe ,_bddgd :=_ccgaa .PdfObject .(*_bcb .PdfObjectDictionary );if !_bddgd {return nil ,_bcb .ErrTypeError ;};return _egffe ,nil ;}else if _faccf ,_aaag :=_bgef .(*_bcb .PdfObjectStream );_aaag {return _faccf .PdfObjectDictionary ,nil ;}else if _dgcac ,_dddcd :=_bgef .(*_bcb .PdfObjectDictionary );_dddcd {return _dgcac ,nil ;}else {_cga .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 ,_bcb .ErrTypeError ;};};
|
||
|
||
// PdfAnnotationUnderline represents Underline annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationUnderline struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _bcb .PdfObject ;};
|
||
|
||
// PdfShadingType4 is a Free-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType4 struct{*PdfShading ;BitsPerCoordinate *_bcb .PdfObjectInteger ;BitsPerComponent *_bcb .PdfObjectInteger ;BitsPerFlag *_bcb .PdfObjectInteger ;Decode *_bcb .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// GetPrimitiveFromModel returns the primitive object corresponding to the input `model`.
|
||
func (_cafgc *modelManager )GetPrimitiveFromModel (model PdfModel )_bcb .PdfObject {_bceb ,_egff :=_cafgc ._eccaga [model ];if !_egff {return nil ;};return _bceb ;};var _dbcc =_ec .MustCompile ("\u005b\\\u006e\u005c\u0072\u005d\u002b");func _gagca (_agbdg *_fgd .ImageBase )(_ababe Image ){_ababe .Width =int64 (_agbdg .Width );_ababe .Height =int64 (_agbdg .Height );_ababe .BitsPerComponent =int64 (_agbdg .BitsPerComponent );_ababe .ColorComponents =_agbdg .ColorComponents ;_ababe .Data =_agbdg .Data ;_ababe ._fdggf =_agbdg .Decode ;_ababe ._cdeb =_agbdg .Alpha ;return _ababe ;};
|
||
|
||
// PdfPage represents a page in a PDF document. (7.7.3.3 - Table 30).
|
||
type PdfPage struct{Parent _bcb .PdfObject ;LastModified *PdfDate ;Resources *PdfPageResources ;CropBox *PdfRectangle ;MediaBox *PdfRectangle ;BleedBox *PdfRectangle ;TrimBox *PdfRectangle ;ArtBox *PdfRectangle ;BoxColorInfo _bcb .PdfObject ;Contents _bcb .PdfObject ;Rotate *int64 ;Group _bcb .PdfObject ;Thumb _bcb .PdfObject ;B _bcb .PdfObject ;Dur _bcb .PdfObject ;Trans _bcb .PdfObject ;AA _bcb .PdfObject ;Metadata _bcb .PdfObject ;PieceInfo _bcb .PdfObject ;StructParents _bcb .PdfObject ;ID _bcb .PdfObject ;PZ _bcb .PdfObject ;SeparationInfo _bcb .PdfObject ;Tabs _bcb .PdfObject ;TemplateInstantiated _bcb .PdfObject ;PresSteps _bcb .PdfObject ;UserUnit _bcb .PdfObject ;VP _bcb .PdfObject ;Annots _bcb .PdfObject ;_adgce []*PdfAnnotation ;_fagg *_bcb .PdfObjectDictionary ;_cfabg *_bcb .PdfIndirectObject ;_eeeba *PdfReader ;};func (_adb *PdfReader )newPdfActionHideFromDict (_egeg *_bcb .PdfObjectDictionary )(*PdfActionHide ,error ){return &PdfActionHide {T :_egeg .Get ("\u0054"),H :_egeg .Get ("\u0048")},nil ;};
|
||
|
||
// NewPdfAnnotationWatermark returns a new watermark annotation.
|
||
func NewPdfAnnotationWatermark ()*PdfAnnotationWatermark {_fce :=NewPdfAnnotation ();_ffd :=&PdfAnnotationWatermark {};_ffd .PdfAnnotation =_fce ;_fce .SetContext (_ffd );return _ffd ;};
|
||
|
||
// GetShadingByName gets the shading specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_fdcc *PdfPageResources )GetShadingByName (keyName _bcb .PdfObjectName )(*PdfShading ,bool ){if _fdcc .Shading ==nil {return nil ,false ;};_bdfec ,_ddbfb :=_bcb .TraceToDirectObject (_fdcc .Shading ).(*_bcb .PdfObjectDictionary );if !_ddbfb {_cga .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",_fdcc .Shading );return nil ,false ;};if _afge :=_bdfec .Get (keyName );_afge !=nil {_ccac ,_cdcc :=_cdgdf (_afge );if _cdcc !=nil {_cga .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",_cdcc );return nil ,false ;};return _ccac ,true ;};return nil ,false ;};
|
||
|
||
// 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 (_cgagc byte )byte ;
|
||
|
||
// PdfColorPattern represents a pattern color.
|
||
type PdfColorPattern struct{Color PdfColor ;PatternName _bcb .PdfObjectName ;};
|
||
|
||
// ToPdfObject converts PdfAcroForm to a PdfObject, i.e. an indirect object containing the
|
||
// AcroForm dictionary.
|
||
func (_egadd *PdfAcroForm )ToPdfObject ()_bcb .PdfObject {_ggad :=_egadd ._gacgf ;_gdfbf :=_ggad .PdfObject .(*_bcb .PdfObjectDictionary );if _egadd .Fields !=nil {_gbbab :=_bcb .PdfObjectArray {};for _ ,_acff :=range *_egadd .Fields {_begce :=_acff .GetContext ();if _begce !=nil {_gbbab .Append (_begce .ToPdfObject ());}else {_gbbab .Append (_acff .ToPdfObject ());};};_gdfbf .Set ("\u0046\u0069\u0065\u006c\u0064\u0073",&_gbbab );};if _egadd .NeedAppearances !=nil {_gdfbf .Set ("\u004ee\u0065d\u0041\u0070\u0070\u0065\u0061\u0072\u0061\u006e\u0063\u0065\u0073",_egadd .NeedAppearances );};if _egadd .SigFlags !=nil {_gdfbf .Set ("\u0053\u0069\u0067\u0046\u006c\u0061\u0067\u0073",_egadd .SigFlags );};if _egadd .CO !=nil {_gdfbf .Set ("\u0043\u004f",_egadd .CO );};if _egadd .DR !=nil {_gdfbf .Set ("\u0044\u0052",_egadd .DR .ToPdfObject ());};if _egadd .DA !=nil {_gdfbf .Set ("\u0044\u0041",_egadd .DA );};if _egadd .Q !=nil {_gdfbf .Set ("\u0051",_egadd .Q );};if _egadd .XFA !=nil {_gdfbf .Set ("\u0058\u0046\u0041",_egadd .XFA );};return _ggad ;};
|
||
|
||
// NewPdfActionGoToR returns a new "go to remote" action.
|
||
func NewPdfActionGoToR ()*PdfActionGoToR {_accb :=NewPdfAction ();_fe :=&PdfActionGoToR {};_fe .PdfAction =_accb ;_accb .SetContext (_fe );return _fe ;};
|
||
|
||
// PdfColorspaceDeviceRGB represents an RGB colorspace.
|
||
type PdfColorspaceDeviceRGB struct{};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_acefa *PdfFilespec )GetContainingPdfObject ()_bcb .PdfObject {return _acefa ._dcgf };
|
||
|
||
// ColorAt returns the color of the image pixel specified by the x and y coordinates.
|
||
func (_gafca *Image )ColorAt (x ,y int )(_b .Color ,error ){_bfdf :=_fgd .BytesPerLine (int (_gafca .Width ),int (_gafca .BitsPerComponent ),_gafca .ColorComponents );switch _gafca .ColorComponents {case 1:return _fgd .ColorAtGrayscale (x ,y ,int (_gafca .BitsPerComponent ),_bfdf ,_gafca .Data ,_gafca ._fdggf );case 3:return _fgd .ColorAtNRGBA (x ,y ,int (_gafca .Width ),_bfdf ,int (_gafca .BitsPerComponent ),_gafca .Data ,_gafca ._cdeb ,_gafca ._fdggf );case 4:return _fgd .ColorAtCMYK (x ,y ,int (_gafca .Width ),_gafca .Data ,_gafca ._fdggf );};_cga .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",_gafca .ColorComponents ,_gafca .BitsPerComponent );return nil ,_ae .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");};
|
||
|
||
// PdfShadingType5 is a Lattice-form Gouraud-shaded triangle mesh.
|
||
type PdfShadingType5 struct{*PdfShading ;BitsPerCoordinate *_bcb .PdfObjectInteger ;BitsPerComponent *_bcb .PdfObjectInteger ;VerticesPerRow *_bcb .PdfObjectInteger ;Decode *_bcb .PdfObjectArray ;Function []PdfFunction ;};
|
||
|
||
// EnableByName LTV enables the signature dictionary of the PDF AcroForm
|
||
// field identified the specified name. The signing certificate chain is
|
||
// extracted from the signature dictionary. Optionally, additional certificates
|
||
// can be specified through the `extraCerts` parameter. The LTV client attempts
|
||
// to build the certificate chain up to a trusted root by downloading any
|
||
// missing certificates.
|
||
func (_eeaad *LTV )EnableByName (name string ,extraCerts []*_ffg .Certificate )error {_dddgcc :=_eeaad ._dfegg ._adcc .AcroForm ;for _ ,_ffbb :=range _dddgcc .AllFields (){_egdedf ,_ :=_ffbb .GetContext ().(*PdfFieldSignature );if _egdedf ==nil {continue ;};if _adccdf :=_egdedf .PartialName ();_adccdf !=name {continue ;};return _eeaad .Enable (_egdedf .V ,extraCerts );};return nil ;};
|
||
|
||
// GetNumComponents returns the number of color components of the colorspace device.
|
||
// Returns 4 for a CMYK32 device.
|
||
func (_gaag *PdfColorspaceDeviceCMYK )GetNumComponents ()int {return 4};func (_ccg *PdfAnnotation )String ()string {_gggg :="";_gfc ,_cagg :=_ccg .ToPdfObject ().(*_bcb .PdfIndirectObject );if _cagg {_gggg =_e .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_ccg ._feb ,_gfc .PdfObject .String ());};return _gggg ;};func _acbg (_bcbb _bcb .PdfObject )(*PdfColorspaceCalRGB ,error ){_fgce :=NewPdfColorspaceCalRGB ();if _cgfa ,_dbeff :=_bcbb .(*_bcb .PdfIndirectObject );_dbeff {_fgce ._fabd =_cgfa ;};_bcbb =_bcb .TraceToDirectObject (_bcbb );_bedf ,_febcb :=_bcbb .(*_bcb .PdfObjectArray );if !_febcb {return nil ,_e .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _bedf .Len ()!=2{return nil ,_e .Errorf ("\u0069n\u0076\u0061\u006c\u0069d\u0020\u0043\u0061\u006c\u0052G\u0042 \u0063o\u006c\u006f\u0072\u0073\u0070\u0061\u0063e");};_bcbb =_bcb .TraceToDirectObject (_bedf .Get (0));_bdgb ,_febcb :=_bcbb .(*_bcb .PdfObjectName );if !_febcb {return nil ,_e .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 *_bdgb !="\u0043\u0061\u006c\u0052\u0047\u0042"{return nil ,_e .Errorf ("\u006e\u006f\u0074 a\u0020\u0043\u0061\u006c\u0052\u0047\u0042\u0020\u0063\u006f\u006c\u006f\u0072\u0073\u0070\u0061\u0063\u0065");};_bcbb =_bcb .TraceToDirectObject (_bedf .Get (1));_fbdf ,_febcb :=_bcbb .(*_bcb .PdfObjectDictionary );if !_febcb {return nil ,_e .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");};_bcbb =_fbdf .Get ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074");_bcbb =_bcb .TraceToDirectObject (_bcbb );_ffggbe ,_febcb :=_bcbb .(*_bcb .PdfObjectArray );if !_febcb {return nil ,_e .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 _ffggbe .Len ()!=3{return nil ,_e .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");};_abgc ,_ccddg :=_ffggbe .GetAsFloat64Slice ();if _ccddg !=nil {return nil ,_ccddg ;};_fgce .WhitePoint =_abgc ;_bcbb =_fbdf .Get ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074");if _bcbb !=nil {_bcbb =_bcb .TraceToDirectObject (_bcbb );_ceed ,_gedd :=_bcbb .(*_bcb .PdfObjectArray );if !_gedd {return nil ,_e .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 _ceed .Len ()!=3{return nil ,_e .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");};_adcdg ,_gdcg :=_ceed .GetAsFloat64Slice ();if _gdcg !=nil {return nil ,_gdcg ;};_fgce .BlackPoint =_adcdg ;};_bcbb =_fbdf .Get ("\u0047\u0061\u006dm\u0061");if _bcbb !=nil {_bcbb =_bcb .TraceToDirectObject (_bcbb );_bbbf ,_dbec :=_bcbb .(*_bcb .PdfObjectArray );if !_dbec {return nil ,_e .Errorf ("C\u0061\u006c\u0052\u0047B:\u0020I\u006e\u0076\u0061\u006c\u0069d\u0020\u0047\u0061\u006d\u006d\u0061");};if _bbbf .Len ()!=3{return nil ,_e .Errorf ("C\u0061\u006c\u0052\u0047\u0042\u003a \u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0047a\u006d\u006d\u0061 \u0061r\u0072\u0061\u0079");};_ddeg ,_aecd :=_bbbf .GetAsFloat64Slice ();if _aecd !=nil {return nil ,_aecd ;};_fgce .Gamma =_ddeg ;};_bcbb =_fbdf .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");if _bcbb !=nil {_bcbb =_bcb .TraceToDirectObject (_bcbb );_efef ,_cffcf :=_bcbb .(*_bcb .PdfObjectArray );if !_cffcf {return nil ,_e .Errorf ("\u0043\u0061\u006c\u0052GB\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u004d\u0061\u0074\u0072i\u0078");};if _efef .Len ()!=9{_cga .Log .Error ("\u004d\u0061t\u0072\u0069\u0078 \u0061\u0072\u0072\u0061\u0079\u003a\u0020\u0025\u0073",_efef .String ());return nil ,_e .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");};_debg ,_ebgg :=_efef .GetAsFloat64Slice ();if _ebgg !=nil {return nil ,_ebgg ;};_fgce .Matrix =_debg ;};return _fgce ,nil ;};
|
||
|
||
// NewPdfDateFromTime will create a PdfDate based on the given time
|
||
func NewPdfDateFromTime (timeObj _d .Time )(PdfDate ,error ){_cggbc :=timeObj .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_fgfdc ,_ :=_ea .ParseInt (_cggbc [1:3],10,32);_cgeee ,_ :=_ea .ParseInt (_cggbc [4:6],10,32);return PdfDate {_ffcaf :int64 (timeObj .Year ()),_caegfa :int64 (timeObj .Month ()),_egaf :int64 (timeObj .Day ()),_dagbf :int64 (timeObj .Hour ()),_dgdge :int64 (timeObj .Minute ()),_adbfb :int64 (timeObj .Second ()),_ddadb :_cggbc [0],_cdaaf :_fgfdc ,_afde :_cgeee },nil ;};
|
||
|
||
// GetContainingPdfObject returns the container of the shading object (indirect object).
|
||
func (_cdecd *PdfShading )GetContainingPdfObject ()_bcb .PdfObject {return _cdecd ._eced };
|
||
|
||
// SetPdfCreationDate sets the CreationDate attribute of the output PDF.
|
||
func SetPdfCreationDate (creationDate _d .Time ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_afad =creationDate ;};
|
||
|
||
// ToJBIG2Image converts current image to the core.JBIG2Image.
|
||
func (_eegaf *Image )ToJBIG2Image ()(*_bcb .JBIG2Image ,error ){_ebfef ,_cabe :=_eegaf .ToGoImage ();if _cabe !=nil {return nil ,_cabe ;};return _bcb .GoImageToJBIG2 (_ebfef ,_bcb .JB2ImageAutoThreshold );};func (_cgeb *PdfFont )baseFields ()*fontCommon {if _cgeb ._fgge ==nil {_cga .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 _cgeb ._fgge .baseFields ();};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edbgb *PdfAnnotationLine )ToPdfObject ()_bcb .PdfObject {_edbgb .PdfAnnotation .ToPdfObject ();_agfa :=_edbgb ._daa ;_aecff :=_agfa .PdfObject .(*_bcb .PdfObjectDictionary );_edbgb .PdfAnnotationMarkup .appendToPdfDictionary (_aecff );_aecff .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u004c\u0069\u006e\u0065"));_aecff .SetIfNotNil ("\u004c",_edbgb .L );_aecff .SetIfNotNil ("\u0042\u0053",_edbgb .BS );_aecff .SetIfNotNil ("\u004c\u0045",_edbgb .LE );_aecff .SetIfNotNil ("\u0049\u0043",_edbgb .IC );_aecff .SetIfNotNil ("\u004c\u004c",_edbgb .LL );_aecff .SetIfNotNil ("\u004c\u004c\u0045",_edbgb .LLE );_aecff .SetIfNotNil ("\u0043\u0061\u0070",_edbgb .Cap );_aecff .SetIfNotNil ("\u0049\u0054",_edbgb .IT );_aecff .SetIfNotNil ("\u004c\u004c\u004f",_edbgb .LLO );_aecff .SetIfNotNil ("\u0043\u0050",_edbgb .CP );_aecff .SetIfNotNil ("\u004de\u0061\u0073\u0075\u0072\u0065",_edbgb .Measure );_aecff .SetIfNotNil ("\u0043\u004f",_edbgb .CO );return _agfa ;};
|
||
|
||
// 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 ;_cdfdg *_bcb .PdfIndirectObject ;};
|
||
|
||
// Insert adds a top level outline item in the outline,
|
||
// at the specified index.
|
||
func (_gdag *Outline )Insert (index uint ,item *OutlineItem ){_beeag :=uint (len (_gdag .Entries ));if index > _beeag {index =_beeag ;};_gdag .Entries =append (_gdag .Entries [:index ],append ([]*OutlineItem {item },_gdag .Entries [index :]...)...);};
|
||
|
||
// AddAnnotation appends `annot` to the list of page annotations.
|
||
func (_bbaae *PdfPage )AddAnnotation (annot *PdfAnnotation ){if _bbaae ._adgce ==nil {_bbaae .GetAnnotations ();};_bbaae ._adgce =append (_bbaae ._adgce ,annot );};func (_bgf *PdfReader )newPdfAnnotationRichMediaFromDict (_adfg *_bcb .PdfObjectDictionary )(*PdfAnnotationRichMedia ,error ){_cdc :=&PdfAnnotationRichMedia {};_cdc .RichMediaSettings =_adfg .Get ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073");_cdc .RichMediaContent =_adfg .Get ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074");return _cdc ,nil ;};
|
||
|
||
// DecodeArray returns the range of color component values in the Lab colorspace.
|
||
func (_dcca *PdfColorspaceLab )DecodeArray ()[]float64 {_fccb :=[]float64 {0,100};if _dcca .Range !=nil &&len (_dcca .Range )==4{_fccb =append (_fccb ,_dcca .Range ...);}else {_fccb =append (_fccb ,-100,100,-100,100);};return _fccb ;};
|
||
|
||
// 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 _bcb .PdfObject ;_ddcb []byte ;_gcgga *_bcb .PdfIndirectObject ;};
|
||
|
||
// ColorToRGB converts a ICCBased color to an RGB color.
|
||
func (_baed *PdfColorspaceICCBased )ColorToRGB (color PdfColor )(PdfColor ,error ){if _baed .Alternate ==nil {_cga .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 _baed .N ==1{_cga .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");_aeec :=NewPdfColorspaceDeviceGray ();return _aeec .ColorToRGB (color );}else if _baed .N ==3{_cga .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 _baed .N ==4{_cga .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");_fdgbe :=NewPdfColorspaceDeviceCMYK ();return _fdgbe .ColorToRGB (color );}else {return nil ,_ae .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");};};_cga .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",_baed );return _baed .Alternate .ColorToRGB (color );};
|
||
|
||
// 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 ;
|
||
|
||
// ToOutlineTree returns a low level PdfOutlineTreeNode object, based on
|
||
// the current instance.
|
||
func (_cagbc *Outline )ToOutlineTree ()*PdfOutlineTreeNode {return &_cagbc .ToPdfOutline ().PdfOutlineTreeNode ;};
|
||
|
||
// Items returns all children outline items.
|
||
func (_edfaf *Outline )Items ()[]*OutlineItem {return _edfaf .Entries };
|
||
|
||
// 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 (_bbfe *PdfFont )FontDescriptor ()*PdfFontDescriptor {if _bbfe .baseFields ()._ecaed !=nil {return _bbfe .baseFields ()._ecaed ;};if _cegfe :=_bbfe ._fgge .getFontDescriptor ();_cegfe !=nil {return _cegfe ;};_cga .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",_bbfe );return nil ;};
|
||
|
||
// A returns the value of the A component of the color.
|
||
func (_gabcf *PdfColorLab )A ()float64 {return _gabcf [1]};
|
||
|
||
// ImageToRGB returns the passed in image. Method exists in order to satisfy
|
||
// the PdfColorspace interface.
|
||
func (_caff *PdfColorspaceDeviceRGB )ImageToRGB (img Image )(Image ,error ){return img ,nil };func _bcfc (_bede _bcb .PdfObject )(map[_ddd .CharCode ]float64 ,error ){if _bede ==nil {return nil ,nil ;};_ecced ,_gabcg :=_bcb .GetArray (_bede );if !_gabcg {return nil ,nil ;};_afed :=map[_ddd .CharCode ]float64 {};_badf :=_ecced .Len ();for _baad :=0;_baad < _badf -1;_baad ++{_eeca :=_bcb .TraceToDirectObject (_ecced .Get (_baad ));_agggc ,_eebgg :=_bcb .GetIntVal (_eeca );if !_eebgg {return nil ,_e .Errorf ("\u0042a\u0064\u0020\u0066\u006fn\u0074\u0020\u0057\u0020\u006fb\u006a0\u003a \u0069\u003d\u0025\u0064\u0020\u0025\u0023v",_baad ,_eeca );};_baad ++;if _baad > _badf -1{return nil ,_e .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",_ecced );};_gfbeg :=_bcb .TraceToDirectObject (_ecced .Get (_baad ));switch _gfbeg .(type ){case *_bcb .PdfObjectArray :_gbbfb ,_ :=_bcb .GetArray (_gfbeg );if _ebdfg ,_fbca :=_gbbfb .ToFloat64Array ();_fbca ==nil {for _faeef :=0;_faeef < len (_ebdfg );_faeef ++{_afed [_ddd .CharCode (_agggc +_faeef )]=_ebdfg [_faeef ];};}else {return nil ,_e .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",_baad ,_gfbeg );};case *_bcb .PdfObjectInteger :_ebafe ,_eegda :=_bcb .GetIntVal (_gfbeg );if !_eegda {return nil ,_e .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",_baad ,_gfbeg );};_baad ++;if _baad > _badf -1{return nil ,_e .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",_ecced );};_fbdae :=_ecced .Get (_baad );_acfgb ,_edcfg :=_bcb .GetNumberAsFloat (_fbdae );if _edcfg !=nil {return nil ,_e .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",_baad ,_fbdae );};for _deeg :=_agggc ;_deeg <=_ebafe ;_deeg ++{_afed [_ddd .CharCode (_deeg )]=_acfgb ;};default:return nil ,_e .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",_baad ,_gfbeg );};};return _afed ,nil ;};
|
||
|
||
// PdfColorCalGray represents a CalGray colorspace.
|
||
type PdfColorCalGray float64 ;func (_deag *PdfAppender )updateObjectsDeep (_bege _bcb .PdfObject ,_cegc map[_bcb .PdfObject ]struct{}){if _cegc ==nil {_cegc =map[_bcb .PdfObject ]struct{}{};};if _ ,_dcdc :=_cegc [_bege ];_dcdc ||_bege ==nil {return ;};_cegc [_bege ]=struct{}{};_cgeg :=_bcb .ResolveReferencesDeep (_bege ,_deag ._ebca );if _cgeg !=nil {_cga .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0025v",_cgeg );};switch _adce :=_bege .(type ){case *_bcb .PdfIndirectObject :switch {case _adce .GetParser ()==_deag ._adcc ._ecage :return ;case _adce .GetParser ()==_deag .Reader ._ecage :_agbf ,_ :=_deag ._adcc .GetIndirectObjectByNumber (int (_adce .ObjectNumber ));_fbgg ,_accf :=_agbf .(*_bcb .PdfIndirectObject );if _accf &&_fbgg !=nil {if _fbgg .PdfObject !=_adce .PdfObject &&_fbgg .PdfObject .WriteString ()!=_adce .PdfObject .WriteString (){_deag .addNewObject (_bege );_deag ._cfff [_bege ]=_adce .ObjectNumber ;};};default:_deag .addNewObject (_bege );};_deag .updateObjectsDeep (_adce .PdfObject ,_cegc );case *_bcb .PdfObjectArray :for _ ,_cdga :=range _adce .Elements (){_deag .updateObjectsDeep (_cdga ,_cegc );};case *_bcb .PdfObjectDictionary :for _ ,_gef :=range _adce .Keys (){_deag .updateObjectsDeep (_adce .Get (_gef ),_cegc );};case *_bcb .PdfObjectStreams :if _adce .GetParser ()!=_deag ._adcc ._ecage {for _ ,_cdcd :=range _adce .Elements (){_deag .updateObjectsDeep (_cdcd ,_cegc );};};case *_bcb .PdfObjectStream :switch {case _adce .GetParser ()==_deag ._adcc ._ecage :return ;case _adce .GetParser ()==_deag .Reader ._ecage :if _gagf ,_dgcb :=_deag ._adcc ._ecage .LookupByReference (_adce .PdfObjectReference );_dgcb ==nil {var _agbgc bool ;if _ffa ,_bfdd :=_bcb .GetStream (_gagf );_bfdd &&_ede .Equal (_ffa .Stream ,_adce .Stream ){_agbgc =true ;};if _bcac ,_babc :=_bcb .GetDict (_gagf );_agbgc &&_babc {_agbgc =_bcac .WriteString ()==_adce .PdfObjectDictionary .WriteString ();};if _agbgc {return ;};};if _adce .ObjectNumber !=0{_deag ._cfff [_bege ]=_adce .ObjectNumber ;};default:if _ ,_cgd :=_deag ._bfbb [_bege ];!_cgd {_deag .addNewObject (_bege );};};_deag .updateObjectsDeep (_adce .PdfObjectDictionary ,_cegc );};};
|
||
|
||
// 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 (_dgae *PdfFont )SubsetRegistered ()error {switch _cgdf :=_dgae ._fgge .(type ){case *pdfFontType0 :_abee :=_cgdf .subsetRegistered ();if _abee !=nil {_cga .Log .Debug ("\u0053\u0075b\u0073\u0065\u0074 \u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0076",_abee );return _abee ;};if _cgdf ._bfaeg !=nil {if _cgdf ._cfaee !=nil {_cgdf ._cfaee .ToPdfObject ();};_cgdf .ToPdfObject ();};default:_cga .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",_cgdf );};return nil ;};
|
||
|
||
// PdfAcroForm represents the AcroForm dictionary used for representation of form data in PDF.
|
||
type PdfAcroForm struct{Fields *[]*PdfField ;NeedAppearances *_bcb .PdfObjectBool ;SigFlags *_bcb .PdfObjectInteger ;CO *_bcb .PdfObjectArray ;DR *PdfPageResources ;DA *_bcb .PdfObjectString ;Q *_bcb .PdfObjectInteger ;XFA _bcb .PdfObject ;_gacgf *_bcb .PdfIndirectObject ;};
|
||
|
||
// Write writes the Appender output to io.Writer.
|
||
// It can only be called once and further invocations will result in an error.
|
||
func (_eade *PdfAppender )Write (w _fb .Writer )error {if _eade ._dgfdf {return _ae .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");};_ggbb :=NewPdfWriter ();_ccab ,_cagc :=_bcb .GetDict (_ggbb ._gbff );if !_cagc {return _ae .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");};_baafe ,_cagc :=_ccab .Get ("\u004b\u0069\u0064\u0073").(*_bcb .PdfObjectArray );if !_cagc {return _ae .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");};_adceg ,_cagc :=_ccab .Get ("\u0043\u006f\u0075n\u0074").(*_bcb .PdfObjectInteger );if !_cagc {return _ae .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");};_fbbd :=_eade ._adcc ._ecage ;_daee :=_fbbd .GetTrailer ();if _daee ==nil {return _ae .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_gage ,_cagc :=_bcb .GetIndirect (_daee .Get ("\u0052\u006f\u006f\u0074"));if !_cagc {return _ae .New ("c\u0061\u0074\u0061\u006c\u006f\u0067 \u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0065\u0072 \u006e\u006f\u0074 \u0066o\u0075\u006e\u0064");};_bagc ,_cagc :=_bcb .GetDict (_gage );if !_cagc {_cga .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",_gage ,*_daee );return _ae .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};for _ ,_ddfe :=range _bagc .Keys (){if _ggbb ._ggfec .Get (_ddfe )==nil {_cdeg :=_bagc .Get (_ddfe );_ggbb ._ggfec .Set (_ddfe ,_cdeg );};};if _eade ._acdf !=nil {_ggbb ._ggfec .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_eade ._acdf .ToPdfObject ());_eade .updateObjectsDeep (_eade ._acdf .ToPdfObject (),nil );};if _eade ._fbb !=nil {_eade .updateObjectsDeep (_eade ._fbb .ToPdfObject (),nil );_ggbb ._ggfec .Set ("\u0044\u0053\u0053",_eade ._fbb .GetContainingPdfObject ());};if _ggbb ._fcebf < 2{_ggbb .AddExtension ("\u0045\u0053\u0049\u0043","\u0031\u002e\u0037",5);_ggbb .AddExtension ("\u0041\u0044\u0042\u0045","\u0031\u002e\u0037",8);};_eade .addNewObject (_ggbb ._gbfff );_eade .addNewObject (_ggbb ._edecd );_becf :=false ;if len (_eade ._adcc .PageList )!=len (_eade ._cgcg ){_becf =true ;}else {for _gcgg :=range _eade ._adcc .PageList {switch {case _eade ._cgcg [_gcgg ]==_eade ._adcc .PageList [_gcgg ]:case _eade ._cgcg [_gcgg ]==_eade .Reader .PageList [_gcgg ]:default:_becf =true ;};if _becf {break ;};};};if _becf {_eade .updateObjectsDeep (_ggbb ._gbff ,nil );}else {_eade ._feea [_ggbb ._gbff ]=struct{}{};};_ggbb ._gbff .ObjectNumber =_eade .Reader ._cegfeb .ObjectNumber ;_eade ._cfff [_ggbb ._gbff ]=_eade .Reader ._cegfeb .ObjectNumber ;_febf :=[]_bcb .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 _ ,_defg :=range _eade ._cgcg {_acfa :=_defg .ToPdfObject ();*_adceg =*_adceg +1;if _fbfc ,_fgca :=_acfa .(*_bcb .PdfIndirectObject );_fgca &&_fbfc .GetParser ()==_eade ._adcc ._ecage {_baafe .Append (&_fbfc .PdfObjectReference );continue ;};if _gecf ,_bedc :=_bcb .GetDict (_acfa );_bedc {_ecea ,_bbcd :=_gecf .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_bcb .PdfIndirectObject );for _bbcd {_cga .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_ecea );_fdaa ,_fdf :=_ecea .PdfObject .(*_bcb .PdfObjectDictionary );if !_fdf {return _ae .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_dgag :=range _febf {_cga .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_dgag );if _gecf .Get (_dgag )!=nil {_cga .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _acaa :=_fdaa .Get (_dgag );_acaa !=nil {_cga .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_dgag );_gecf .Set (_dgag ,_acaa );};};_ecea ,_bbcd =_fdaa .Get ("\u0050\u0061\u0072\u0065\u006e\u0074").(*_bcb .PdfIndirectObject );_cga .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_fdaa .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_gecf .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_ggbb ._gbff );};_eade .updateObjectsDeep (_acfa ,nil );_baafe .Append (_acfa );};if _ ,_ebe :=_eade ._baeab .Seek (0,_fb .SeekStart );_ebe !=nil {return _ebe ;};_gbdga :=make (map[SignatureHandler ]_fb .Writer );_cbdf :=_bcb .MakeArray ();for _ ,_ffga :=range _eade ._eebb {if _fecdf ,_ebdf :=_bcb .GetIndirect (_ffga );_ebdf {if _gfge ,_bgcf :=_fecdf .PdfObject .(*pdfSignDictionary );_bgcf {_ceec :=*_gfge ._afebe ;var _edfcc error ;_gbdga [_ceec ],_edfcc =_ceec .NewDigest (_gfge ._dgcc );if _edfcc !=nil {return _edfcc ;};_cbdf .Append (_bcb .MakeInteger (0xfffff),_bcb .MakeInteger (0xfffff));};};};if _cbdf .Len ()> 0{_cbdf .Append (_bcb .MakeInteger (0xfffff),_bcb .MakeInteger (0xfffff));};for _ ,_aaaa :=range _eade ._eebb {if _gbfe ,_beb :=_bcb .GetIndirect (_aaaa );_beb {if _dagce ,_gga :=_gbfe .PdfObject .(*pdfSignDictionary );_gga {_dagce .Set ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_cbdf );};};};_baag :=len (_gbdga )> 0;var _eggd _fb .Reader =_eade ._baeab ;if _baag {_abc :=make ([]_fb .Writer ,0,len (_gbdga ));for _ ,_ddec :=range _gbdga {_abc =append (_abc ,_ddec );};_eggd =_fb .TeeReader (_eade ._baeab ,_fb .MultiWriter (_abc ...));};_bccd ,_gdaf :=_fb .Copy (w ,_eggd );if _gdaf !=nil {return _gdaf ;};if len (_eade ._eebb )==0{return nil ;};_ggbb ._ddac =_bccd ;_ggbb .ObjNumOffset =_eade ._ebga ;_ggbb ._addfe =true ;_ggbb ._dbacc =_eade ._bcf ;_ggbb ._ecded =_eade ._edga ;_ggbb ._acaeg =_eade ._def ;_ggbb ._cacaf =_eade ._adcc .PdfVersion ().Minor ;_ggbb ._bceg =_eade ._cfff ;_faf :=_eade ._bbdf .GetXrefType ();if _faf !=nil {_dbgd :=*_faf ==_bcb .XrefTypeObjectStream ;_ggbb ._bgeec =&_dbgd ;};_ggbb ._affdb =map[_bcb .PdfObject ]struct{}{};_ggbb ._adbc =[]_bcb .PdfObject {};for _ ,_bebg :=range _eade ._eebb {if _ ,_feeg :=_eade ._feea [_bebg ];_feeg {continue ;};_ggbb .addObject (_bebg );};_acec :=w ;if _baag {_acec =_ede .NewBuffer (nil );};if _feff :=_ggbb .Write (_acec );_feff !=nil {return _feff ;};if _baag {_bfae :=_acec .(*_ede .Buffer ).Bytes ();_ffcac :=_bcb .MakeArray ();var _fcbd []*pdfSignDictionary ;var _eegb int64 ;for _ ,_ddca :=range _ggbb ._adbc {if _badc ,_dadc :=_bcb .GetIndirect (_ddca );_dadc {if _eaf ,_eefa :=_badc .PdfObject .(*pdfSignDictionary );_eefa {_fcbd =append (_fcbd ,_eaf );_bgcbb :=_eaf ._afgeg +int64 (_eaf ._adgcec );_ffcac .Append (_bcb .MakeInteger (_eegb ),_bcb .MakeInteger (_bgcbb -_eegb ));_eegb =_eaf ._afgeg +int64 (_eaf ._gdbcc );};};};_ffcac .Append (_bcb .MakeInteger (_eegb ),_bcb .MakeInteger (_bccd +int64 (len (_bfae ))-_eegb ));_aggb :=[]byte (_ffcac .WriteString ());for _ ,_bgeb :=range _fcbd {_ddbbd :=int (_bgeb ._afgeg -_bccd );for _fdgeb :=_bgeb ._bbdgaf ;_fdgeb < _bgeb ._debba ;_fdgeb ++{_bfae [_ddbbd +_fdgeb ]=' ';};_fdcea :=_bfae [_ddbbd +_bgeb ._bbdgaf :_ddbbd +_bgeb ._debba ];copy (_fdcea ,_aggb );};var _dddgc int ;for _ ,_gaba :=range _fcbd {_bcgdc :=int (_gaba ._afgeg -_bccd );_ecce :=_bfae [_dddgc :_bcgdc +_gaba ._adgcec ];_adadg :=*_gaba ._afebe ;_gbdga [_adadg ].Write (_ecce );_dddgc =_bcgdc +_gaba ._gdbcc ;};for _ ,_dfeg :=range _fcbd {_cecb :=_bfae [_dddgc :];_eggca :=*_dfeg ._afebe ;_gbdga [_eggca ].Write (_cecb );};for _ ,_eccg :=range _fcbd {_fcgg :=int (_eccg ._afgeg -_bccd );_cfgg :=*_eccg ._afebe ;_adgf :=_gbdga [_cfgg ];if _gebcc :=_cfgg .Sign (_eccg ._dgcc ,_adgf );_gebcc !=nil {return _gebcc ;};_eccg ._dgcc .ByteRange =_ffcac ;_faab :=[]byte (_eccg ._dgcc .Contents .WriteString ());for _bbec :=_eccg ._bbdgaf ;_bbec < _eccg ._debba ;_bbec ++{_bfae [_fcgg +_bbec ]=' ';};for _bggc :=_eccg ._adgcec ;_bggc < _eccg ._gdbcc ;_bggc ++{_bfae [_fcgg +_bggc ]=' ';};_ffeae :=_bfae [_fcgg +_eccg ._bbdgaf :_fcgg +_eccg ._debba ];copy (_ffeae ,_aggb );_ffeae =_bfae [_fcgg +_eccg ._adgcec :_fcgg +_eccg ._gdbcc ];copy (_ffeae ,_faab );};_gfeb :=_ede .NewBuffer (_bfae );_ ,_gdaf =_fb .Copy (w ,_gfeb );if _gdaf !=nil {return _gdaf ;};};_eade ._dgfdf =true ;return nil ;};
|
||
|
||
// Width returns the width of `rect`.
|
||
func (_addcba *PdfRectangle )Width ()float64 {return _edb .Abs (_addcba .Urx -_addcba .Llx )};
|
||
|
||
// 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 _bcb .StreamEncoder ;Intent _bcb .PdfObject ;ImageMask _bcb .PdfObject ;Mask _bcb .PdfObject ;Matte _bcb .PdfObject ;Decode _bcb .PdfObject ;Interpolate _bcb .PdfObject ;Alternatives _bcb .PdfObject ;SMask _bcb .PdfObject ;SMaskInData _bcb .PdfObject ;Name _bcb .PdfObject ;StructParent _bcb .PdfObject ;ID _bcb .PdfObject ;OPI _bcb .PdfObject ;Metadata _bcb .PdfObject ;OC _bcb .PdfObject ;Stream []byte ;_gddag *_bcb .PdfObjectStream ;};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_dffgc *PdfSignature )GetContainingPdfObject ()_bcb .PdfObject {return _dffgc ._abcf };
|
||
|
||
// PdfAnnotationPrinterMark represents PrinterMark annotations.
|
||
// (Section 12.5.6.20).
|
||
type PdfAnnotationPrinterMark struct{*PdfAnnotation ;MN _bcb .PdfObject ;};
|
||
|
||
// ToGoTime returns the date in time.Time format.
|
||
func (_egae PdfDate )ToGoTime ()_d .Time {_geaag :=int (_egae ._cdaaf *60*60+_egae ._afde *60);switch _egae ._ddadb {case '-':_geaag =-_geaag ;case 'Z':_geaag =0;};_eceb :=_e .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_egae ._ddadb ,_egae ._cdaaf ,_egae ._afde );_acbfa :=_d .FixedZone (_eceb ,_geaag );return _d .Date (int (_egae ._ffcaf ),_d .Month (_egae ._caegfa ),int (_egae ._egaf ),int (_egae ._dagbf ),int (_egae ._dgdge ),int (_egae ._adbfb ),0,_acbfa );};func (_fga *PdfReader )newPdfActionImportDataFromDict (_dff *_bcb .PdfObjectDictionary )(*PdfActionImportData ,error ){_bgcd ,_ebf :=_geg (_dff .Get ("\u0046"));if _ebf !=nil {return nil ,_ebf ;};return &PdfActionImportData {F :_bgcd },nil ;};
|
||
|
||
// ToPdfObject converts date to a PDF string object.
|
||
func (_ffgb *PdfDate )ToPdfObject ()_bcb .PdfObject {_fgag :=_e .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",_ffgb ._ffcaf ,_ffgb ._caegfa ,_ffgb ._egaf ,_ffgb ._dagbf ,_ffgb ._dgdge ,_ffgb ._adbfb ,_ffgb ._ddadb ,_ffgb ._cdaaf ,_ffgb ._afde );return _bcb .MakeString (_fgag );};
|
||
|
||
// SetBorderWidth sets the style's border width.
|
||
func (_eaag *PdfBorderStyle )SetBorderWidth (width float64 ){_eaag .W =&width };
|
||
|
||
// IsShading specifies if the pattern is a shading pattern.
|
||
func (_abgb *PdfPattern )IsShading ()bool {return _abgb .PatternType ==2};func (_deggd *PdfAcroForm )signatureFields ()[]*PdfFieldSignature {var _cdgcac []*PdfFieldSignature ;for _ ,_gegc :=range _deggd .AllFields (){switch _adccb :=_gegc .GetContext ().(type ){case *PdfFieldSignature :_gfcd :=_adccb ;_cdgcac =append (_cdgcac ,_gfcd );};};return _cdgcac ;};func (_ddcc *LTV )getCerts (_agbge []*_ffg .Certificate )([][]byte ,error ){_beae :=make ([][]byte ,0,len (_agbge ));for _ ,_cebf :=range _agbge {_beae =append (_beae ,_cebf .Raw );};return _beae ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_adfd *PdfAnnotationWatermark )ToPdfObject ()_bcb .PdfObject {_adfd .PdfAnnotation .ToPdfObject ();_gdfb :=_adfd ._daa ;_cfbg :=_gdfb .PdfObject .(*_bcb .PdfObjectDictionary );_cfbg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0057a\u0074\u0065\u0072\u006d\u0061\u0072k"));_cfbg .SetIfNotNil ("\u0046\u0069\u0078\u0065\u0064\u0050\u0072\u0069\u006e\u0074",_adfd .FixedPrint );return _gdfb ;};
|
||
|
||
// NewPdfAnnotationFreeText returns a new free text annotation.
|
||
func NewPdfAnnotationFreeText ()*PdfAnnotationFreeText {_bbf :=NewPdfAnnotation ();_dfa :=&PdfAnnotationFreeText {};_dfa .PdfAnnotation =_bbf ;_dfa .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_bbf .SetContext (_dfa );return _dfa ;};
|
||
|
||
// Has checks if flag fl is set in flag and returns true if so, false otherwise.
|
||
func (_dccd FieldFlag )Has (fl FieldFlag )bool {return (_dccd .Mask ()&fl .Mask ())> 0};func (_cgaf *pdfCIDFontType2 )baseFields ()*fontCommon {return &_cgaf .fontCommon };func _gdebef ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _bafad };
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bgdb *PdfColorspaceSpecialSeparation )ToPdfObject ()_bcb .PdfObject {_gdgf :=_bcb .MakeArray (_bcb .MakeName ("\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e"));_gdgf .Append (_bgdb .ColorantName );_gdgf .Append (_bgdb .AlternateSpace .ToPdfObject ());_gdgf .Append (_bgdb .TintTransform .ToPdfObject ());if _bgdb ._caa !=nil {_bgdb ._caa .PdfObject =_gdgf ;return _bgdb ._caa ;};return _gdgf ;};
|
||
|
||
// 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 *_bcb .PdfObjectInteger ;TilingType *_bcb .PdfObjectInteger ;BBox *PdfRectangle ;XStep *_bcb .PdfObjectFloat ;YStep *_bcb .PdfObjectFloat ;Resources *PdfPageResources ;Matrix *_bcb .PdfObjectArray ;};
|
||
|
||
// PdfVersion returns version of the PDF file.
|
||
func (_caca *PdfReader )PdfVersion ()_bcb .Version {return _caca ._ecage .PdfVersion ()};
|
||
|
||
// Normalize swaps (Llx,Urx) if Urx < Llx, and (Lly,Ury) if Ury < Lly.
|
||
func (_eaaf *PdfRectangle )Normalize (){if _eaaf .Llx > _eaaf .Urx {_eaaf .Llx ,_eaaf .Urx =_eaaf .Urx ,_eaaf .Llx ;};if _eaaf .Lly > _eaaf .Ury {_eaaf .Lly ,_eaaf .Ury =_eaaf .Ury ,_eaaf .Lly ;};};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bcg *PdfActionGoToR )ToPdfObject ()_bcb .PdfObject {_bcg .PdfAction .ToPdfObject ();_afc :=_bcg ._dce ;_bfa :=_afc .PdfObject .(*_bcb .PdfObjectDictionary );_bfa .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeGoToR )));if _bcg .F !=nil {_bfa .Set ("\u0046",_bcg .F .ToPdfObject ());};_bfa .SetIfNotNil ("\u0044",_bcg .D );_bfa .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_bcg .NewWindow );return _afc ;};
|
||
|
||
// ImageToGray returns a new grayscale image based on the passed in RGB image.
|
||
func (_ebfa *PdfColorspaceDeviceRGB )ImageToGray (img Image )(Image ,error ){if img .ColorComponents !=3{return img ,_ae .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");};_cffd ,_eea :=_fgd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cdeb ,img ._fdggf );if _eea !=nil {return img ,_eea ;};_gead ,_eea :=_fgd .GrayConverter .Convert (_cffd );if _eea !=nil {return img ,_eea ;};return _gagca (_gead .Base ()),nil ;};
|
||
|
||
// SetLocation sets the `Location` field of the signature.
|
||
func (_bdeag *PdfSignature )SetLocation (location string ){_bdeag .Location =_bcb .MakeString (location )};
|
||
|
||
// GetOutlines returns a high-level Outline object, based on the outline tree
|
||
// of the reader.
|
||
func (_gaaa *PdfReader )GetOutlines ()(*Outline ,error ){if _gaaa ==nil {return nil ,_ae .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");};_adgcef :=_gaaa .GetOutlineTree ();if _adgcef ==nil {return nil ,_ae .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 _begbc func (_cgddc *PdfOutlineTreeNode ,_ebacf *[]*OutlineItem );_begbc =func (_fggc *PdfOutlineTreeNode ,_bdeeb *[]*OutlineItem ){if _fggc ==nil {return ;};if _fggc ._bfagd ==nil {_cga .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 _cbaga *OutlineItem ;if _cbcfc ,_dbccb :=_fggc ._bfagd .(*PdfOutlineItem );_dbccb {_fecg :=_cbcfc .Dest ;if (_fecg ==nil ||_bcb .IsNullObject (_fecg ))&&_cbcfc .A !=nil {if _ecfb ,_ffbdg :=_bcb .GetDict (_cbcfc .A );_ffbdg {_fecg ,_ =_bcb .GetArray (_ecfb .Get ("\u0044"));};};var _dbbbe OutlineDest ;if _fecg !=nil &&!_bcb .IsNullObject (_fecg ){if _aece ,_aeedg :=_cdbb (_fecg ,_gaaa );_aeedg ==nil {_dbbbe =*_aece ;}else {_cga .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",_fecg ,_aeedg );};};_cbaga =NewOutlineItem (_cbcfc .Title .Decoded (),_dbbbe );*_bdeeb =append (*_bdeeb ,_cbaga );if _cbcfc .Next !=nil {_begbc (_cbcfc .Next ,_bdeeb );};};if _fggc .First !=nil {if _cbaga !=nil {_bdeeb =&_cbaga .Entries ;};_begbc (_fggc .First ,_bdeeb );};};_egfab :=NewOutline ();_begbc (_adgcef ,&_egfab .Entries );return _egfab ,nil ;};
|
||
|
||
// PdfInfo holds document information that will overwrite
|
||
// document information global variables defined above.
|
||
type PdfInfo struct{Title *_bcb .PdfObjectString ;Author *_bcb .PdfObjectString ;Subject *_bcb .PdfObjectString ;Keywords *_bcb .PdfObjectString ;Creator *_bcb .PdfObjectString ;Producer *_bcb .PdfObjectString ;CreationDate *PdfDate ;ModifiedDate *PdfDate ;Trapped *_bcb .PdfObjectName ;_affda *_bcb .PdfObjectDictionary ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_cfef *PdfColorspaceSpecialIndexed )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};N :=_cfef .Base .GetNumComponents ();_dcae :=int (vals [0])*N ;if _dcae < 0||(_dcae +N -1)>=len (_cfef ._ddcb ){return nil ,_ae .New ("\u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u0072\u0061\u006e\u0067\u0065");};_accfd :=_cfef ._ddcb [_dcae :_dcae +N ];var _adda []float64 ;for _ ,_ccdf :=range _accfd {_adda =append (_adda ,float64 (_ccdf )/255.0);};_egeb ,_faga :=_cfef .Base .ColorFromFloats (_adda );if _faga !=nil {return nil ,_faga ;};return _egeb ,nil ;};
|
||
|
||
// NewPdfActionGoToE returns a new "go to embedded" action.
|
||
func NewPdfActionGoToE ()*PdfActionGoToE {_bf :=NewPdfAction ();_ecf :=&PdfActionGoToE {};_ecf .PdfAction =_bf ;_bf .SetContext (_ecf );return _ecf ;};
|
||
|
||
// NewPdfColorspaceSpecialIndexed returns a new Indexed color.
|
||
func NewPdfColorspaceSpecialIndexed ()*PdfColorspaceSpecialIndexed {return &PdfColorspaceSpecialIndexed {HiVal :255};};
|
||
|
||
// PdfColorspaceLab is a L*, a*, b* 3 component colorspace.
|
||
type PdfColorspaceLab struct{WhitePoint []float64 ;BlackPoint []float64 ;Range []float64 ;_fbdc *_bcb .PdfIndirectObject ;};
|
||
|
||
// NewGrayImageFromGoImage creates a new grayscale unidoc Image from a golang Image.
|
||
func (_gfbge DefaultImageHandler )NewGrayImageFromGoImage (goimg _ac .Image )(*Image ,error ){_bedec :=goimg .Bounds ();_eadce :=&Image {Width :int64 (_bedec .Dx ()),Height :int64 (_bedec .Dy ()),ColorComponents :1,BitsPerComponent :8};switch _eeccc :=goimg .(type ){case *_ac .Gray :if len (_eeccc .Pix )!=_bedec .Dx ()*_bedec .Dy (){_edbb ,_adaa :=_fgd .GrayConverter .Convert (goimg );if _adaa !=nil {return nil ,_adaa ;};_eadce .Data =_edbb .Pix ();}else {_eadce .Data =_eeccc .Pix ;};case *_ac .Gray16 :_eadce .BitsPerComponent =16;if len (_eeccc .Pix )!=_bedec .Dx ()*_bedec .Dy ()*2{_aggce ,_ecfgb :=_fgd .Gray16Converter .Convert (goimg );if _ecfgb !=nil {return nil ,_ecfgb ;};_eadce .Data =_aggce .Pix ();}else {_eadce .Data =_eeccc .Pix ;};default:_gaeff ,_ecbb :=_fgd .GrayConverter .Convert (goimg );if _ecbb !=nil {return nil ,_ecbb ;};_eadce .Data =_gaeff .Pix ();};return _eadce ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single element.
|
||
func (_bdcad *PdfColorspaceSpecialSeparation )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bbab :=vals [0];_bfge :=[]float64 {_bbab };_adde ,_edefe :=_bdcad .TintTransform .Evaluate (_bfge );if _edefe !=nil {_cga .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",_edefe );_cga .Log .Trace ("\u0054\u0069\u006e\u0074 t\u0072\u0061\u006e\u0073\u0066\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_bdcad .TintTransform );return nil ,_edefe ;};_cga .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",_adde ,_bdcad .AlternateSpace );_dcec ,_edefe :=_bdcad .AlternateSpace .ColorFromFloats (_adde );if _edefe !=nil {_cga .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",_edefe );return nil ,_edefe ;};return _dcec ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_aecg *PdfActionGoToE )ToPdfObject ()_bcb .PdfObject {_aecg .PdfAction .ToPdfObject ();_ee :=_aecg ._dce ;_bee :=_ee .PdfObject .(*_bcb .PdfObjectDictionary );_bee .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeGoToE )));if _aecg .F !=nil {_bee .Set ("\u0046",_aecg .F .ToPdfObject ());};_bee .SetIfNotNil ("\u0044",_aecg .D );_bee .SetIfNotNil ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw",_aecg .NewWindow );_bee .SetIfNotNil ("\u0054",_aecg .T );return _ee ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_dbgaf *PdfFunctionType2 )ToPdfObject ()_bcb .PdfObject {_cbfc :=_bcb .MakeDict ();_cbfc .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_bcb .MakeInteger (2));_egea :=&_bcb .PdfObjectArray {};for _ ,_daggg :=range _dbgaf .Domain {_egea .Append (_bcb .MakeFloat (_daggg ));};_cbfc .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_egea );if _dbgaf .Range !=nil {_bcab :=&_bcb .PdfObjectArray {};for _ ,_accc :=range _dbgaf .Range {_bcab .Append (_bcb .MakeFloat (_accc ));};_cbfc .Set ("\u0052\u0061\u006eg\u0065",_bcab );};if _dbgaf .C0 !=nil {_cebbca :=&_bcb .PdfObjectArray {};for _ ,_fdbag :=range _dbgaf .C0 {_cebbca .Append (_bcb .MakeFloat (_fdbag ));};_cbfc .Set ("\u0043\u0030",_cebbca );};if _dbgaf .C1 !=nil {_afeeg :=&_bcb .PdfObjectArray {};for _ ,_agdbf :=range _dbgaf .C1 {_afeeg .Append (_bcb .MakeFloat (_agdbf ));};_cbfc .Set ("\u0043\u0031",_afeeg );};_cbfc .Set ("\u004e",_bcb .MakeFloat (_dbgaf .N ));if _dbgaf ._cdfdg !=nil {_dbgaf ._cdfdg .PdfObject =_cbfc ;return _dbgaf ._cdfdg ;};return _cbfc ;};
|
||
|
||
// 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 (_cbee *PdfAppender )Sign (pageNum int ,field *PdfFieldSignature )error {if field ==nil {return _ae .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");};_dbef :=field .V ;if _dbef ==nil {return _ae .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");};_aebf :=pageNum -1;if _aebf < 0||_aebf > len (_cbee ._cgcg )-1{return _e .Errorf ("\u0070\u0061\u0067\u0065\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064",pageNum );};_cdac :=_cbee .Reader .PageList [_aebf ];field .P =_cdac .ToPdfObject ();if field .T ==nil ||field .T .String ()==""{field .T =_bcb .MakeString (_e .Sprintf ("\u0053\u0069\u0067n\u0061\u0074\u0075\u0072\u0065\u0020\u0025\u0064",pageNum ));};_cdac .AddAnnotation (field .PdfAnnotationWidget .PdfAnnotation );if _cbee ._acdf ==_cbee ._adcc .AcroForm {_cbee ._acdf =_cbee .Reader .AcroForm ;};_ecca :=_cbee ._acdf ;if _ecca ==nil {_ecca =NewPdfAcroForm ();};_ecca .SigFlags =_bcb .MakeInteger (3);_aefe :=append (_ecca .AllFields (),field .PdfField );_ecca .Fields =&_aefe ;_cbee .ReplaceAcroForm (_ecca );_cbee .UpdatePage (_cdac );_cbee ._cgcg [_aebf ]=_cdac ;return nil ;};func (_dafb *Image )samplesAddPadding (_gbbag []uint32 )[]uint32 {_feac :=_fgd .BytesPerLine (int (_dafb .Width ),int (_dafb .BitsPerComponent ),_dafb .ColorComponents )*(8/int (_dafb .BitsPerComponent ));_fcdbb :=_feac *int (_dafb .Height );if len (_gbbag )==_fcdbb {return _gbbag ;};_aafd :=make ([]uint32 ,_fcdbb );_afgd :=int (_dafb .Width )*_dafb .ColorComponents ;for _bggeg :=0;_bggeg < int (_dafb .Height );_bggeg ++{_deedd :=_bggeg *int (_dafb .Width );_acefb :=_bggeg *_feac ;for _ccbg :=0;_ccbg < _afgd ;_ccbg ++{_aafd [_acefb +_ccbg ]=_gbbag [_deedd +_ccbg ];};};return _aafd ;};
|
||
|
||
// 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 ()_bcb .PdfObject ;GetContainingPdfObject ()_bcb .PdfObject ;};func _dgdf (_addc ,_dgcbd string )string {if _gc .Contains (_addc ,"\u002b"){_cgcdg :=_gc .Split (_addc ,"\u002b");if len (_cgcdg )==2{_addc =_cgcdg [1];};};return _dgcbd +"\u002b"+_addc ;};
|
||
|
||
// PdfAnnotationPolygon represents Polygon annotations.
|
||
// (Section 12.5.6.9).
|
||
type PdfAnnotationPolygon struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Vertices _bcb .PdfObject ;LE _bcb .PdfObject ;BS _bcb .PdfObject ;IC _bcb .PdfObject ;BE _bcb .PdfObject ;IT _bcb .PdfObject ;Measure _bcb .PdfObject ;};
|
||
|
||
// GetContainingPdfObject returns the containing object for the PdfField, i.e. an indirect object
|
||
// containing the field dictionary.
|
||
func (_dfef *PdfField )GetContainingPdfObject ()_bcb .PdfObject {return _dfef ._gggf };func (_bcgdb *PdfReader )newPdfAnnotationMovieFromDict (_fcea *_bcb .PdfObjectDictionary )(*PdfAnnotationMovie ,error ){_cdgb :=PdfAnnotationMovie {};_cdgb .T =_fcea .Get ("\u0054");_cdgb .Movie =_fcea .Get ("\u004d\u006f\u0076i\u0065");_cdgb .A =_fcea .Get ("\u0041");return &_cdgb ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edbcf *PdfSignature )ToPdfObject ()_bcb .PdfObject {_gecff :=_edbcf ._abcf ;var _gfefdc *_bcb .PdfObjectDictionary ;if _gcedb ,_caeaf :=_gecff .PdfObject .(*pdfSignDictionary );_caeaf {_gfefdc =_gcedb .PdfObjectDictionary ;}else {_gfefdc =_gecff .PdfObject .(*_bcb .PdfObjectDictionary );};_gfefdc .SetIfNotNil ("\u0054\u0079\u0070\u0065",_edbcf .Type );_gfefdc .SetIfNotNil ("\u0046\u0069\u006c\u0074\u0065\u0072",_edbcf .Filter );_gfefdc .SetIfNotNil ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r",_edbcf .SubFilter );_gfefdc .SetIfNotNil ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e",_edbcf .ByteRange );_gfefdc .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_edbcf .Contents );_gfefdc .SetIfNotNil ("\u0043\u0065\u0072\u0074",_edbcf .Cert );_gfefdc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_edbcf .Name );_gfefdc .SetIfNotNil ("\u0052\u0065\u0061\u0073\u006f\u006e",_edbcf .Reason );_gfefdc .SetIfNotNil ("\u004d",_edbcf .M );_gfefdc .SetIfNotNil ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e",_edbcf .Reference );_gfefdc .SetIfNotNil ("\u0043h\u0061\u006e\u0067\u0065\u0073",_edbcf .Changes );_gfefdc .SetIfNotNil ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f",_edbcf .ContactInfo );return _gecff ;};
|
||
|
||
// GetAsShadingPattern returns a shading pattern. Check with IsShading() prior to using this.
|
||
func (_afdb *PdfPattern )GetAsShadingPattern ()*PdfShadingPattern {return _afdb ._adccc .(*PdfShadingPattern );};func (_dad *PdfReader )newPdfActionSubmitFormFromDict (_fae *_bcb .PdfObjectDictionary )(*PdfActionSubmitForm ,error ){_ecae ,_efe :=_geg (_fae .Get ("\u0046"));if _efe !=nil {return nil ,_efe ;};return &PdfActionSubmitForm {F :_ecae ,Fields :_fae .Get ("\u0046\u0069\u0065\u006c\u0064\u0073"),Flags :_fae .Get ("\u0046\u006c\u0061g\u0073")},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 (_bcaf pdfFontSimple )GetCharMetrics (code _ddd .CharCode )(_acc .CharMetrics ,bool ){if _gbba ,_faad :=_bcaf ._dgdfc [code ];_faad {return _acc .CharMetrics {Wx :_gbba },true ;};if _acc .IsStdFont (_acc .StdFontName (_bcaf ._daeb )){return _acc .CharMetrics {Wx :250},true ;};return _acc .CharMetrics {},false ;};func (_dbb *PdfReader )newPdfAnnotationLinkFromDict (_fgf *_bcb .PdfObjectDictionary )(*PdfAnnotationLink ,error ){_gdba :=PdfAnnotationLink {};_gdba .A =_fgf .Get ("\u0041");_gdba .Dest =_fgf .Get ("\u0044\u0065\u0073\u0074");_gdba .H =_fgf .Get ("\u0048");_gdba .PA =_fgf .Get ("\u0050\u0041");_gdba .QuadPoints =_fgf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");_gdba .BS =_fgf .Get ("\u0042\u0053");return &_gdba ,nil ;};func (_accfe *PdfReader )loadStructure ()error {if _accfe ._ecage .GetCrypter ()!=nil &&!_accfe ._ecage .IsAuthenticated (){return _e .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");};_abbbf :=_accfe ._ecage .GetTrailer ();if _abbbf ==nil {return _e .Errorf ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0074\u0072\u0061\u0069\u006c\u0065\u0072");};_fgbcg ,_fcabe :=_abbbf .Get ("\u0052\u006f\u006f\u0074").(*_bcb .PdfObjectReference );if !_fcabe {return _e .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",_abbbf );};_efbgd ,_ceadd :=_accfe ._ecage .LookupByReference (*_fgbcg );if _ceadd !=nil {_cga .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",_ceadd );return _ceadd ;};_bbabe ,_fcabe :=_efbgd .(*_bcb .PdfIndirectObject );if !_fcabe {_cga .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",_efbgd ,*_abbbf );return _ae .New ("\u006di\u0073s\u0069\u006e\u0067\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_affcb ,_fcabe :=(*_bbabe ).PdfObject .(*_bcb .PdfObjectDictionary );if !_fcabe {_cga .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",_bbabe .PdfObject );return _ae .New ("\u0069n\u0076a\u006c\u0069\u0064\u0020\u0063\u0061\u0074\u0061\u006c\u006f\u0067");};_cga .Log .Trace ("C\u0061\u0074\u0061\u006c\u006f\u0067\u003a\u0020\u0025\u0073",_affcb );_ggdb ,_fcabe :=_affcb .Get ("\u0050\u0061\u0067e\u0073").(*_bcb .PdfObjectReference );if !_fcabe {return _ae .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");};_facbcc ,_ceadd :=_accfe ._ecage .LookupByReference (*_ggdb );if _ceadd !=nil {_cga .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 _ceadd ;};_dffef ,_fcabe :=_facbcc .(*_bcb .PdfIndirectObject );if !_fcabe {_cga .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");_cga .Log .Debug ("\u006f\u0070\u003a\u0020\u0025\u0070",_dffef );return _ae .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_aaea ,_fcabe :=_dffef .PdfObject .(*_bcb .PdfObjectDictionary );if !_fcabe {_cga .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",_dffef );return _ae .New ("p\u0061g\u0065\u0073\u0020\u006f\u0062\u006a\u0065\u0063t\u0020\u0069\u006e\u0076al\u0069\u0064");};_bdgadf ,_fcabe :=_bcb .GetInt (_aaea .Get ("\u0043\u006f\u0075n\u0074"));if !_fcabe {_cga .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 _ae .New ("\u0070\u0061\u0067\u0065s \u0063\u006f\u0075\u006e\u0074\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};if _ ,_fcabe =_bcb .GetName (_aaea .Get ("\u0054\u0079\u0070\u0065"));!_fcabe {_cga .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");_aaea .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0050\u0061\u0067e\u0073"));};_accfe ._edgge =_fgbcg ;_accfe ._fccd =_affcb ;_accfe ._fcggb =_aaea ;_accfe ._cegfeb =_dffef ;_accfe ._fddge =int (*_bdgadf );_accfe ._fcff =[]*_bcb .PdfIndirectObject {};_gfgea :=map[_bcb .PdfObject ]struct{}{};_ceadd =_accfe .buildPageList (_dffef ,nil ,_gfgea );if _ceadd !=nil {return _ceadd ;};_cga .Log .Trace ("\u002d\u002d\u002d");_cga .Log .Trace ("\u0054\u004f\u0043");_cga .Log .Trace ("\u0050\u0061\u0067e\u0073");_cga .Log .Trace ("\u0025\u0064\u003a\u0020\u0025\u0073",len (_accfe ._fcff ),_accfe ._fcff );_accfe ._gbged ,_ceadd =_accfe .loadOutlines ();if _ceadd !=nil {_cga .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",_ceadd );return _ceadd ;};_accfe .AcroForm ,_ceadd =_accfe .loadForms ();if _ceadd !=nil {return _ceadd ;};_accfe .DSS ,_ceadd =_accfe .loadDSS ();if _ceadd !=nil {return _ceadd ;};return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_ffdd *PdfPageResourcesColorspaces )ToPdfObject ()_bcb .PdfObject {_ccecf :=_bcb .MakeDict ();for _ ,_eegbe :=range _ffdd .Names {_ccecf .Set (_bcb .PdfObjectName (_eegbe ),_ffdd .Colorspaces [_eegbe ].ToPdfObject ());};if _ffdd ._fggf !=nil {_ffdd ._fggf .PdfObject =_ccecf ;return _ffdd ._fggf ;};return _ccecf ;};func _efed (_fcbba _bcb .PdfObject )(*fontFile ,error ){_cga .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",_fcbba );_fcce :=&fontFile {};_fcbba =_bcb .TraceToDirectObject (_fcbba );_efada ,_gfac :=_fcbba .(*_bcb .PdfObjectStream );if !_gfac {_cga .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",_fcbba );return nil ,_bcb .ErrTypeError ;};_adbae :=_efada .PdfObjectDictionary ;_gabcga ,_fege :=_bcb .DecodeStream (_efada );if _fege !=nil {return nil ,_fege ;};_gcdcc ,_gfac :=_bcb .GetNameVal (_adbae .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_gfac {_fcce ._cecc =_gcdcc ;if _gcdcc =="\u0054\u0079\u0070\u0065\u0031\u0043"{_cga .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 ;};};_cbedd ,_ :=_bcb .GetIntVal (_adbae .Get ("\u004ce\u006e\u0067\u0074\u0068\u0031"));_edec ,_ :=_bcb .GetIntVal (_adbae .Get ("\u004ce\u006e\u0067\u0074\u0068\u0032"));if _cbedd > len (_gabcga ){_cbedd =len (_gabcga );};if _cbedd +_edec > len (_gabcga ){_edec =len (_gabcga )-_cbedd ;};_abfa :=_gabcga [:_cbedd ];var _aebfe []byte ;if _edec > 0{_aebfe =_gabcga [_cbedd :_cbedd +_edec ];};if _cbedd > 0&&_edec > 0{_cgeef :=_fcce .loadFromSegments (_abfa ,_aebfe );if _cgeef !=nil {return nil ,_cgeef ;};};return _fcce ,nil ;};func _fcgb (_ceadb *PdfField ,_gbdc _bcb .PdfObject )error {switch _ceadb .GetContext ().(type ){case *PdfFieldText :switch _agee :=_gbdc .(type ){case *_bcb .PdfObjectName :_eaeb :=_agee ;_cga .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",_eaeb .String ());_ceadb .V =_bcb .MakeEncodedString (_agee .String (),true );case *_bcb .PdfObjectString :_ceadb .V =_bcb .MakeEncodedString (_agee .String (),true );default:_cga .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",_agee ,_agee );};case *PdfFieldButton :switch _gbdc .(type ){case *_bcb .PdfObjectName :if len (_gbdc .String ())> 0{_ceadb .V =_gbdc ;_fabga (_ceadb ,_gbdc );};case *_bcb .PdfObjectString :if len (_gbdc .String ())> 0{_ceadb .V =_bcb .MakeName (_gbdc .String ());_fabga (_ceadb ,_ceadb .V );};default:_cga .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",_ceadb .PartialName (),_gbdc );_ceadb .V =_gbdc ;};case *PdfFieldChoice :switch _gbdc .(type ){case *_bcb .PdfObjectName :if len (_gbdc .String ())> 0{_ceadb .V =_bcb .MakeString (_gbdc .String ());_fabga (_ceadb ,_gbdc );};case *_bcb .PdfObjectString :if len (_gbdc .String ())> 0{_ceadb .V =_gbdc ;_fabga (_ceadb ,_bcb .MakeName (_gbdc .String ()));};default:_cga .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",_ceadb .PartialName (),_gbdc );_ceadb .V =_gbdc ;};case *PdfFieldSignature :_cga .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",_ceadb .PartialName (),_gbdc );};return nil ;};
|
||
|
||
// OutlineItem represents a PDF outline item dictionary (Table 153 - pp. 376 - 377).
|
||
type OutlineItem struct{Title string `json:"title"`;Dest OutlineDest `json:"dest"`;Entries []*OutlineItem `json:"entries,omitempty"`;};func _dddd (_ddecf *_bcb .PdfObjectArray )(float64 ,error ){_edfga ,_gcac :=_ddecf .ToFloat64Array ();if _gcac !=nil {_cga .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",_ddecf ,_gcac );};switch len (_edfga ){case 1:return _edfga [0],nil ;case 3:_dcfff :=PdfColorspaceDeviceRGB {};_fbad ,_ggbd :=_dcfff .ColorFromFloats (_edfga );if _ggbd !=nil {return 0.0,_ggbd ;};return _fbad .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;case 4:_fedgd :=PdfColorspaceDeviceCMYK {};_gcadab ,_ceggc :=_fedgd .ColorFromFloats (_edfga );if _ceggc !=nil {return 0.0,_ceggc ;};_faecg ,_ceggc :=_fedgd .ColorToRGB (_gcadab .(*PdfColorDeviceCMYK ));if _ceggc !=nil {return 0.0,_ceggc ;};return _faecg .(*PdfColorDeviceRGB ).ToGray ().Val (),nil ;};_gcac =_ae .New ("\u0062a\u0064 \u004d\u0061\u0074\u0074\u0065\u0020\u0063\u006f\u006c\u006f\u0072");_cga .Log .Error ("\u0074\u006f\u0047ra\u0079\u003a\u0020\u006d\u0061\u0074\u0074\u0065\u003d\u0025\u0073\u0020\u0065\u0072\u0072\u003d\u0025\u0076",_ddecf ,_gcac );return 0.0,_gcac ;};
|
||
|
||
// DefaultImageHandler is the default implementation of the ImageHandler using the standard go library.
|
||
type DefaultImageHandler struct{};
|
||
|
||
// FieldAppearanceGenerator generates appearance stream for a given field.
|
||
type FieldAppearanceGenerator interface{ContentStreamWrapper ;GenerateAppearanceDict (_cbfb *PdfAcroForm ,_afaf *PdfField ,_agbe *PdfAnnotationWidget )(*_bcb .PdfObjectDictionary ,error );};
|
||
|
||
// PdfInfoTrapped specifies pdf trapped information.
|
||
type PdfInfoTrapped string ;func (_fge *PdfReader )newPdfActionLaunchFromDict (_dfd *_bcb .PdfObjectDictionary )(*PdfActionLaunch ,error ){_fbc ,_ade :=_geg (_dfd .Get ("\u0046"));if _ade !=nil {return nil ,_ade ;};return &PdfActionLaunch {Win :_dfd .Get ("\u0057\u0069\u006e"),Mac :_dfd .Get ("\u004d\u0061\u0063"),Unix :_dfd .Get ("\u0055\u006e\u0069\u0078"),NewWindow :_dfd .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_fbc },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 (_aegac *PdfPageResources )GetColorspaces ()(*PdfPageResourcesColorspaces ,error ){if _aegac ._dcga !=nil {return _aegac ._dcga ,nil ;};if _aegac .ColorSpace ==nil {return nil ,nil ;};_debae ,_dece :=_ebdg (_aegac .ColorSpace );if _dece !=nil {return nil ,_dece ;};_aegac ._dcga =_debae ;return _aegac ._dcga ,nil ;};func _fbdg (_fgga _bcb .PdfObject )(*PdfColorspaceSpecialIndexed ,error ){_cdag :=NewPdfColorspaceSpecialIndexed ();if _ccdg ,_dfec :=_fgga .(*_bcb .PdfIndirectObject );_dfec {_cdag ._gcgga =_ccdg ;};_fgga =_bcb .TraceToDirectObject (_fgga );_eage ,_abbf :=_fgga .(*_bcb .PdfObjectArray );if !_abbf {return nil ,_e .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _eage .Len ()!=4{return nil ,_e .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");};_fgga =_eage .Get (0);_bagg ,_abbf :=_fgga .(*_bcb .PdfObjectName );if !_abbf {return nil ,_e .Errorf ("\u0069n\u0064\u0065\u0078\u0065\u0064\u0020\u0043\u0053\u003a\u0020\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u006e\u0061\u006d\u0065");};if *_bagg !="\u0049n\u0064\u0065\u0078\u0065\u0064"{return nil ,_e .Errorf ("\u0069\u006e\u0064\u0065xe\u0064\u0020\u0043\u0053\u003a\u0020\u0077\u0072\u006f\u006e\u0067\u0020\u006e\u0061m\u0065");};_fgga =_eage .Get (1);_begca ,_add :=DetermineColorspaceNameFromPdfObject (_fgga );if _add !=nil {return nil ,_add ;};if _begca =="\u0049n\u0064\u0065\u0078\u0065\u0064"||_begca =="\u0050a\u0074\u0074\u0065\u0072\u006e"{_cga .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",_begca );return nil ,_aadab ;};_fabg ,_add :=NewPdfColorspaceFromPdfObject (_fgga );if _add !=nil {return nil ,_add ;};_cdag .Base =_fabg ;_fgga =_eage .Get (2);_cfbb ,_add :=_bcb .GetNumberAsInt64 (_fgga );if _add !=nil {return nil ,_add ;};if _cfbb > 255{return nil ,_e .Errorf ("\u0069n\u0064\u0065\u0078\u0065d\u0020\u0043\u0053\u003a\u0020I\u006ev\u0061l\u0069\u0064\u0020\u0068\u0069\u0076\u0061l");};_cdag .HiVal =int (_cfbb );_fgga =_eage .Get (3);_cdag .Lookup =_fgga ;_fgga =_bcb .TraceToDirectObject (_fgga );var _abdg []byte ;if _cgef ,_gdec :=_fgga .(*_bcb .PdfObjectString );_gdec {_abdg =_cgef .Bytes ();_cga .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",_abdg );}else if _fbbdfg ,_abba :=_fgga .(*_bcb .PdfObjectStream );_abba {_cga .Log .Trace ("\u0049n\u0064e\u0078\u0065\u0064\u0020\u0073t\u0072\u0065a\u006d\u003a\u0020\u0025\u0073",_fgga .String ());_cga .Log .Trace ("\u0045\u006e\u0063\u006fde\u0064\u0020\u0028\u0025\u0064\u0029\u0020\u003a\u0020\u0025\u0023\u0020\u0078",len (_fbbdfg .Stream ),_fbbdfg .Stream );_cacb ,_cafe :=_bcb .DecodeStream (_fbbdfg );if _cafe !=nil {return nil ,_cafe ;};_cga .Log .Trace ("\u0044e\u0063o\u0064\u0065\u0064\u0020\u0028%\u0064\u0029 \u003a\u0020\u0025\u0020\u0058",len (_cacb ),_cacb );_abdg =_cacb ;}else {_cga .Log .Debug ("\u0054\u0079\u0070\u0065\u003a\u0020\u0025\u0054",_fgga );return nil ,_e .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 (_abdg )< _cdag .Base .GetNumComponents ()*(_cdag .HiVal +1){_cga .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");_cga .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 (_abdg ),_cdag .Base .GetNumComponents (),_cdag .HiVal );}else {_abdg =_abdg [:_cdag .Base .GetNumComponents ()*(_cdag .HiVal +1)];};_cdag ._ddcb =_abdg ;return _cdag ,nil ;};
|
||
|
||
// 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 {_cgag ,_feadb :=NewStandard14Font (basefont );if _feadb !=nil {panic (_e .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 _cgag ;};
|
||
|
||
// PdfActionURI represents an URI action.
|
||
type PdfActionURI struct{*PdfAction ;URI _bcb .PdfObject ;IsMap _bcb .PdfObject ;};
|
||
|
||
// AppendContentStream adds content stream by string. Appends to the last
|
||
// contentstream instance if many.
|
||
func (_ecad *PdfPage )AppendContentStream (contentStr string )error {_dcbda ,_bggcf :=_ecad .GetContentStreams ();if _bggcf !=nil {return _bggcf ;};if len (_dcbda )==0{_dcbda =[]string {contentStr };return _ecad .SetContentStreams (_dcbda ,_bcb .NewFlateEncoder ());};var _cfffg _ede .Buffer ;_cfffg .WriteString (_dcbda [len (_dcbda )-1]);_cfffg .WriteString ("\u000a");_cfffg .WriteString (contentStr );_dcbda [len (_dcbda )-1]=_cfffg .String ();return _ecad .SetContentStreams (_dcbda ,_bcb .NewFlateEncoder ());};
|
||
|
||
// GetContext returns the annotation context which contains the specific type-dependent context.
|
||
// The context represents the subannotation.
|
||
func (_cfae *PdfAnnotation )GetContext ()PdfModel {if _cfae ==nil {return nil ;};return _cfae ._feb ;};func (_dbca *PdfReader )newPdfAnnotationProjectionFromDict (_gccab *_bcb .PdfObjectDictionary )(*PdfAnnotationProjection ,error ){_fdc :=&PdfAnnotationProjection {};_fgda ,_bfgd :=_dbca .newPdfAnnotationMarkupFromDict (_gccab );if _bfgd !=nil {return nil ,_bfgd ;};_fdc .PdfAnnotationMarkup =_fgda ;return _fdc ,nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_baaad *PdfColorspaceDeviceGray )ToPdfObject ()_bcb .PdfObject {return _bcb .MakeName ("\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079");};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceGray colorspace.
|
||
func (_eggcb *PdfColorspaceDeviceGray )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// AddOutlineTree adds outlines to a PDF file.
|
||
func (_cacgc *PdfWriter )AddOutlineTree (outlineTree *PdfOutlineTreeNode ){_cacgc ._eefac =outlineTree };func (_bgee *PdfReader )newPdfAnnotationPolyLineFromDict (_agd *_bcb .PdfObjectDictionary )(*PdfAnnotationPolyLine ,error ){_cccd :=PdfAnnotationPolyLine {};_dcaa ,_ffea :=_bgee .newPdfAnnotationMarkupFromDict (_agd );if _ffea !=nil {return nil ,_ffea ;};_cccd .PdfAnnotationMarkup =_dcaa ;_cccd .Vertices =_agd .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073");_cccd .LE =_agd .Get ("\u004c\u0045");_cccd .BS =_agd .Get ("\u0042\u0053");_cccd .IC =_agd .Get ("\u0049\u0043");_cccd .BE =_agd .Get ("\u0042\u0045");_cccd .IT =_agd .Get ("\u0049\u0054");_cccd .Measure =_agd .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");return &_cccd ,nil ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (3 for rgb).
|
||
func (_fada *PdfColorspaceDeviceRGB )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_efbcg ,_fagf :=_bcb .GetNumbersAsFloat (objects );if _fagf !=nil {return nil ,_fagf ;};return _fada .ColorFromFloats (_efbcg );};func (_ebc *PdfReader )newPdfAnnotationScreenFromDict (_ccbb *_bcb .PdfObjectDictionary )(*PdfAnnotationScreen ,error ){_bacc :=PdfAnnotationScreen {};_bacc .T =_ccbb .Get ("\u0054");_bacc .MK =_ccbb .Get ("\u004d\u004b");_bacc .A =_ccbb .Get ("\u0041");_bacc .AA =_ccbb .Get ("\u0041\u0041");return &_bacc ,nil ;};
|
||
|
||
// NewCompositePdfFontFromTTF loads a composite TTF font. Composite fonts can
|
||
// be used to represent unicode fonts which can have multi-byte character codes, representing a wide
|
||
// range of values. They are often used for symbolic languages, including Chinese, Japanese and Korean.
|
||
// It is represented by a Type0 Font with an underlying CIDFontType2 and an Identity-H encoding map.
|
||
// TODO: May be extended in the future to support a larger variety of CMaps and vertical fonts.
|
||
// NOTE: For simple fonts, use NewPdfFontFromTTF.
|
||
func NewCompositePdfFontFromTTF (r _fb .ReadSeeker )(*PdfFont ,error ){_gbfd ,_ecacc :=_fd .ReadAll (r );if _ecacc !=nil {_cga .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",_ecacc );return nil ,_ecacc ;};_dgfdg ,_ecacc :=_acc .TtfParse (_ede .NewReader (_gbfd ));if _ecacc !=nil {_cga .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",_ecacc );return nil ,_ecacc ;};_egda :=&pdfCIDFontType2 {fontCommon :fontCommon {_abgg :"\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"},CIDToGIDMap :_bcb .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079")};_agag :=make ([]rune ,0,len (_dgfdg .Chars ));for _dcdgg :=range _dgfdg .Chars {_agag =append (_agag ,_dcdgg );};_ed .Slice (_agag ,func (_eddae ,_bfed int )bool {return _agag [_eddae ]< _agag [_bfed ]});_fcgc :=1000.0/float64 (_dgfdg .UnitsPerEm );if len (_dgfdg .Widths )<=0{return nil ,_ae .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");};_bbge :=_fcgc *float64 (_dgfdg .Widths [0]);_ebadc :=make (map[rune ]int );for _ ,_bdbde :=range _agag {_eacdc :=_dgfdg .Chars [_bdbde ];_fbag :=_fcgc *float64 (_dgfdg .Widths [_eacdc ]);_ebadc [_bdbde ]=int (_fbag );};_egda ._gggbf =_ebadc ;_egda .DW =_bcb .MakeInteger (int64 (_bbge ));_cbdgc :=_fbgf (_agag ,_ebadc ,_dgfdg .Chars );_egda .W =_bcb .MakeIndirectObject (_cbdgc );_acgeg :=_bcb .MakeDict ();_acgeg .Set ("\u004f\u0072\u0064\u0065\u0072\u0069\u006e\u0067",_bcb .MakeString ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079"));_acgeg .Set ("\u0052\u0065\u0067\u0069\u0073\u0074\u0072\u0079",_bcb .MakeString ("\u0041\u0064\u006fb\u0065"));_acgeg .Set ("\u0053\u0075\u0070\u0070\u006c\u0065\u006d\u0065\u006e\u0074",_bcb .MakeInteger (0));_egda .CIDSystemInfo =_acgeg ;_cbad :=&PdfFontDescriptor {FontName :_bcb .MakeName (_dgfdg .PostScriptName ),Ascent :_bcb .MakeFloat (_fcgc *float64 (_dgfdg .TypoAscender )),Descent :_bcb .MakeFloat (_fcgc *float64 (_dgfdg .TypoDescender )),CapHeight :_bcb .MakeFloat (_fcgc *float64 (_dgfdg .CapHeight )),FontBBox :_bcb .MakeArrayFromFloats ([]float64 {_fcgc *float64 (_dgfdg .Xmin ),_fcgc *float64 (_dgfdg .Ymin ),_fcgc *float64 (_dgfdg .Xmax ),_fcgc *float64 (_dgfdg .Ymax )}),ItalicAngle :_bcb .MakeFloat (_dgfdg .ItalicAngle ),MissingWidth :_bcb .MakeFloat (_fcgc *float64 (_dgfdg .Widths [0]))};_edfaa ,_ecacc :=_bcb .MakeStream (_gbfd ,_bcb .NewFlateEncoder ());if _ecacc !=nil {_cga .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",_ecacc );return nil ,_ecacc ;};_edfaa .PdfObjectDictionary .Set ("\u004ce\u006e\u0067\u0074\u0068\u0031",_bcb .MakeInteger (int64 (len (_gbfd ))));_cbad .FontFile2 =_edfaa ;if _dgfdg .Bold {_cbad .StemV =_bcb .MakeInteger (120);}else {_cbad .StemV =_bcb .MakeInteger (70);};_gbfb :=_cedf ;if _dgfdg .IsFixedPitch {_gbfb |=_dbfb ;};if _dgfdg .ItalicAngle !=0{_gbfb |=_egac ;};_cbad .Flags =_bcb .MakeInteger (int64 (_gbfb ));_egda ._daeb =_dgfdg .PostScriptName ;_egda ._ecaed =_cbad ;_bdcfc :=pdfFontType0 {fontCommon :fontCommon {_abgg :"\u0054\u0079\u0070e\u0030",_daeb :_dgfdg .PostScriptName },DescendantFont :&PdfFont {_fgge :_egda },Encoding :_bcb .MakeName ("\u0049\u0064\u0065\u006e\u0074\u0069\u0074\u0079\u002d\u0048"),_cfaee :_dgfdg .NewEncoder ()};if len (_dgfdg .Chars )> 0{_dacdc :=make (map[_dc .CharCode ]rune ,len (_dgfdg .Chars ));for _baebe ,_bdad :=range _dgfdg .Chars {_gfdf :=_dc .CharCode (_bdad );if _fabe ,_dbade :=_dacdc [_gfdf ];!_dbade ||(_dbade &&_fabe > _baebe ){_dacdc [_gfdf ]=_baebe ;};};_bdcfc ._ecbe =_dc .NewToUnicodeCMap (_dacdc );};_bdadf :=PdfFont {_fgge :&_bdcfc };return &_bdadf ,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 _fagdd (_abeef *_bcb .PdfObjectDictionary )(*PdfShadingType3 ,error ){_gafa :=PdfShadingType3 {};_bagaa :=_abeef .Get ("\u0043\u006f\u006f\u0072\u0064\u0073");if _bagaa ==nil {_cga .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 ;};_deefg ,_cddf :=_bagaa .(*_bcb .PdfObjectArray );if !_cddf {_cga .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",_bagaa );return nil ,_bcb .ErrTypeError ;};if _deefg .Len ()!=6{_cga .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",_deefg .Len ());return nil ,ErrInvalidAttribute ;};_gafa .Coords =_deefg ;if _cdbbe :=_abeef .Get ("\u0044\u006f\u006d\u0061\u0069\u006e");_cdbbe !=nil {_cdbbe =_bcb .TraceToDirectObject (_cdbbe );_gcga ,_aefeac :=_cdbbe .(*_bcb .PdfObjectArray );if !_aefeac {_cga .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",_cdbbe );return nil ,_bcb .ErrTypeError ;};_gafa .Domain =_gcga ;};_bagaa =_abeef .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");if _bagaa ==nil {_cga .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 ;};_gafa .Function =[]PdfFunction {};if _fcebg ,_babeb :=_bagaa .(*_bcb .PdfObjectArray );_babeb {for _ ,_ecfab :=range _fcebg .Elements (){_dggae ,_edfgd :=_acdfd (_ecfab );if _edfgd !=nil {_cga .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",_edfgd );return nil ,_edfgd ;};_gafa .Function =append (_gafa .Function ,_dggae );};}else {_dbed ,_gcbaf :=_acdfd (_bagaa );if _gcbaf !=nil {_cga .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",_gcbaf );return nil ,_gcbaf ;};_gafa .Function =append (_gafa .Function ,_dbed );};if _efce :=_abeef .Get ("\u0045\u0078\u0074\u0065\u006e\u0064");_efce !=nil {_efce =_bcb .TraceToDirectObject (_efce );_gfbfd ,_bcdd :=_efce .(*_bcb .PdfObjectArray );if !_bcdd {_cga .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",_efce );return nil ,_bcb .ErrTypeError ;};if _gfbfd .Len ()!=2{_cga .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",_gfbfd .Len ());return nil ,ErrInvalidAttribute ;};_gafa .Extend =_gfbfd ;};return &_gafa ,nil ;};
|
||
|
||
// EncryptOptions represents encryption options for an output PDF.
|
||
type EncryptOptions struct{Permissions _aec .Permissions ;Algorithm EncryptionAlgorithm ;};
|
||
|
||
// ColorToRGB converts a Lab color to an RGB color.
|
||
func (_eaef *PdfColorspaceLab )ColorToRGB (color PdfColor )(PdfColor ,error ){_cafc :=func (_cggb float64 )float64 {if _cggb >=6.0/29{return _cggb *_cggb *_cggb ;};return 108.0/841*(_cggb -4/29);};_fbbg ,_bfgff :=color .(*PdfColorLab );if !_bfgff {_cga .Log .Debug ("\u0069\u006e\u0070\u0075t \u0063\u006f\u006c\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u006c\u0061\u0062");return nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};LStar :=_fbbg .L ();AStar :=_fbbg .A ();BStar :=_fbbg .B ();L :=(LStar +16)/116+AStar /500;M :=(LStar +16)/116;N :=(LStar +16)/116-BStar /200;X :=_eaef .WhitePoint [0]*_cafc (L );Y :=_eaef .WhitePoint [1]*_cafc (M );Z :=_eaef .WhitePoint [2]*_cafc (N );_gcfa :=3.240479*X +-1.537150*Y +-0.498535*Z ;_ebfd :=-0.969256*X +1.875992*Y +0.041556*Z ;_efbga :=0.055648*X +-0.204043*Y +1.057311*Z ;_gcfa =_edb .Min (_edb .Max (_gcfa ,0),1.0);_ebfd =_edb .Min (_edb .Max (_ebfd ,0),1.0);_efbga =_edb .Min (_edb .Max (_efbga ,0),1.0);return NewPdfColorDeviceRGB (_gcfa ,_ebfd ,_efbga ),nil ;};
|
||
|
||
// GetPatternByName gets the pattern specified by keyName. Returns nil if not existing.
|
||
// The bool flag indicated whether it was found or not.
|
||
func (_bfcba *PdfPageResources )GetPatternByName (keyName _bcb .PdfObjectName )(*PdfPattern ,bool ){if _bfcba .Pattern ==nil {return nil ,false ;};_gaged ,_cccgc :=_bcb .TraceToDirectObject (_bfcba .Pattern ).(*_bcb .PdfObjectDictionary );if !_cccgc {_cga .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",_bfcba .Pattern );return nil ,false ;};if _fceb :=_gaged .Get (keyName );_fceb !=nil {_fbgfd ,_deefa :=_bdagg (_fceb );if _deefa !=nil {_cga .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",_deefa );return nil ,false ;};return _fbgfd ,true ;};return nil ,false ;};
|
||
|
||
// ToPdfOutline returns a low level PdfOutline object, based on the current
|
||
// instance.
|
||
func (_cfgdd *Outline )ToPdfOutline ()*PdfOutline {_gdcab :=NewPdfOutline ();var _cbfde []*PdfOutlineItem ;var _abccf int64 ;var _ceedg *PdfOutlineItem ;for _ ,_aaddd :=range _cfgdd .Entries {_gafb ,_gdcgc :=_aaddd .ToPdfOutlineItem ();_gafb .Parent =&_gdcab .PdfOutlineTreeNode ;if _ceedg !=nil {_ceedg .Next =&_gafb .PdfOutlineTreeNode ;_gafb .Prev =&_ceedg .PdfOutlineTreeNode ;};_cbfde =append (_cbfde ,_gafb );_abccf +=_gdcgc ;_ceedg =_gafb ;};_bedcc :=int64 (len (_cbfde ));_abccf +=_bedcc ;if _bedcc > 0{_gdcab .First =&_cbfde [0].PdfOutlineTreeNode ;_gdcab .Last =&_cbfde [_bedcc -1].PdfOutlineTreeNode ;_gdcab .Count =&_abccf ;};return _gdcab ;};func (_eegdgg Image )getBase ()_fgd .ImageBase {return _fgd .NewImageBase (int (_eegdgg .Width ),int (_eegdgg .Height ),int (_eegdgg .BitsPerComponent ),_eegdgg .ColorComponents ,_eegdgg .Data ,_eegdgg ._cdeb ,_eegdgg ._fdggf );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bfea *PdfAnnotationSound )ToPdfObject ()_bcb .PdfObject {_bfea .PdfAnnotation .ToPdfObject ();_ccea :=_bfea ._daa ;_acgbb :=_ccea .PdfObject .(*_bcb .PdfObjectDictionary );_bfea .PdfAnnotationMarkup .appendToPdfDictionary (_acgbb );_acgbb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053\u006f\u0075n\u0064"));_acgbb .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_bfea .Sound );_acgbb .SetIfNotNil ("\u004e\u0061\u006d\u0065",_bfea .Name );return _ccea ;};func (_bdfcb *PdfWriter )writeString (_febcc string ){if _bdfcb ._gaacd !=nil {return ;};_beaee ,_daaga :=_bdfcb ._aefcaa .WriteString (_febcc );_bdfcb ._cdgbg +=int64 (_beaee );_bdfcb ._gaacd =_daaga ;};func (_ebdd *Image )resampleLowBits (_fffad []uint32 ){_cadcd :=_fgd .BytesPerLine (int (_ebdd .Width ),int (_ebdd .BitsPerComponent ),_ebdd .ColorComponents );_cefcd :=make ([]byte ,_ebdd .ColorComponents *_cadcd *int (_ebdd .Height ));_cabgf :=int (_ebdd .BitsPerComponent )*_ebdd .ColorComponents *int (_ebdd .Width );_cdcgg :=uint8 (8);var (_gbbfg ,_bdeaa int ;_dbde uint32 ;);for _eabacb :=0;_eabacb < int (_ebdd .Height );_eabacb ++{_bdeaa =_eabacb *_cadcd ;for _cedfa :=0;_cedfa < _cabgf ;_cedfa ++{_dbde =_fffad [_gbbfg ];_cdcgg -=uint8 (_ebdd .BitsPerComponent );_cefcd [_bdeaa ]|=byte (_dbde )<<_cdcgg ;if _cdcgg ==0{_cdcgg =8;_bdeaa ++;};_gbbfg ++;};};_ebdd .Data =_cefcd ;};
|
||
|
||
// GetContentStream returns the pattern cell's content stream
|
||
func (_fdecc *PdfTilingPattern )GetContentStream ()([]byte ,error ){_dbcca ,_ ,_dbdc :=_fdecc .GetContentStreamWithEncoder ();return _dbcca ,_dbdc ;};
|
||
|
||
// AddContentStreamByString adds content stream by string. Puts the content
|
||
// string into a stream object and points the content stream towards it.
|
||
func (_adgde *PdfPage )AddContentStreamByString (contentStr string )error {_dcdd ,_dabed :=_bcb .MakeStream ([]byte (contentStr ),_bcb .NewFlateEncoder ());if _dabed !=nil {return _dabed ;};if _adgde .Contents ==nil {_adgde .Contents =_dcdd ;}else {_ccdb :=_bcb .TraceToDirectObject (_adgde .Contents );_bcfba ,_ddeb :=_ccdb .(*_bcb .PdfObjectArray );if !_ddeb {_bcfba =_bcb .MakeArray (_ccdb );};_bcfba .Append (_dcdd );_adgde .Contents =_bcfba ;};return nil ;};
|
||
|
||
// PdfAnnotationStrikeOut represents StrikeOut annotations.
|
||
// (Section 12.5.6.10).
|
||
type PdfAnnotationStrikeOut struct{*PdfAnnotation ;*PdfAnnotationMarkup ;QuadPoints _bcb .PdfObject ;};func _bdfd (_dedea *_bcb .PdfObjectDictionary ,_eaea *fontCommon ,_cdbc _ddd .TextEncoder )(*pdfFontSimple ,error ){_dedcg :=_ddada (_eaea );_dedcg ._bcdf =_cdbc ;if _cdbc ==nil {_dadb :=_dedea .Get ("\u0046i\u0072\u0073\u0074\u0043\u0068\u0061r");if _dadb ==nil {_dadb =_bcb .MakeInteger (0);};_dedcg .FirstChar =_dadb ;_gcfcfd ,_dcbac :=_bcb .GetIntVal (_dadb );if !_dcbac {_cga .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",_dadb );return nil ,_bcb .ErrTypeError ;};_bdea :=_ddd .CharCode (_gcfcfd );_dadb =_dedea .Get ("\u004c\u0061\u0073\u0074\u0043\u0068\u0061\u0072");if _dadb ==nil {_dadb =_bcb .MakeInteger (255);};_dedcg .LastChar =_dadb ;_gcfcfd ,_dcbac =_bcb .GetIntVal (_dadb );if !_dcbac {_cga .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",_dadb );return nil ,_bcb .ErrTypeError ;};_ccedc :=_ddd .CharCode (_gcfcfd );_dedcg ._dgdfc =make (map[_ddd .CharCode ]float64 );_dadb =_dedea .Get ("\u0057\u0069\u0064\u0074\u0068\u0073");if _dadb !=nil {_dedcg .Widths =_dadb ;_eabbd ,_gfcgab :=_bcb .GetArray (_dadb );if !_gfcgab {_cga .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",_dadb );return nil ,_bcb .ErrTypeError ;};_cace ,_cegdc :=_eabbd .ToFloat64Array ();if _cegdc !=nil {_cga .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 ,_cegdc ;};if len (_cace )!=int (_ccedc -_bdea +1){_cga .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",_ccedc -_bdea +1,len (_cace ));return nil ,_bcb .ErrRangeError ;};for _bfagg ,_feffd :=range _cace {_dedcg ._dgdfc [_bdea +_ddd .CharCode (_bfagg )]=_feffd ;};};};_dedcg .Encoding =_bcb .TraceToDirectObject (_dedea .Get ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));return _dedcg ,nil ;};func (_fbegc *PdfReader )newPdfSignatureFromIndirect (_cfbba *_bcb .PdfIndirectObject )(*PdfSignature ,error ){_ffgdd ,_ddbcb :=_cfbba .PdfObject .(*_bcb .PdfObjectDictionary );if !_ddbcb {_cga .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 _egga ,_cabcd :=_fbegc ._dafbg .GetModelFromPrimitive (_cfbba ).(*PdfSignature );_cabcd {return _egga ,nil ;};_gdegag :=&PdfSignature {};_gdegag ._abcf =_cfbba ;_gdegag .Type ,_ =_bcb .GetName (_ffgdd .Get ("\u0054\u0079\u0070\u0065"));_gdegag .Filter ,_ddbcb =_bcb .GetName (_ffgdd .Get ("\u0046\u0069\u006c\u0074\u0065\u0072"));if !_ddbcb {_cga .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 ;};_gdegag .SubFilter ,_ =_bcb .GetName (_ffgdd .Get ("\u0053u\u0062\u0046\u0069\u006c\u0074\u0065r"));_gdegag .Contents ,_ddbcb =_bcb .GetString (_ffgdd .Get ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073"));if !_ddbcb {_cga .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 ;};_gdegag .Cert =_ffgdd .Get ("\u0043\u0065\u0072\u0074");_gdegag .ByteRange ,_ =_bcb .GetArray (_ffgdd .Get ("\u0042y\u0074\u0065\u0052\u0061\u006e\u0067e"));_gdegag .Reference ,_ =_bcb .GetArray (_ffgdd .Get ("\u0052e\u0066\u0065\u0072\u0065\u006e\u0063e"));_gdegag .Changes ,_ =_bcb .GetArray (_ffgdd .Get ("\u0043h\u0061\u006e\u0067\u0065\u0073"));_gdegag .Name ,_ =_bcb .GetString (_ffgdd .Get ("\u004e\u0061\u006d\u0065"));_gdegag .M ,_ =_bcb .GetString (_ffgdd .Get ("\u004d"));_gdegag .Location ,_ =_bcb .GetString (_ffgdd .Get ("\u004c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"));_gdegag .Reason ,_ =_bcb .GetString (_ffgdd .Get ("\u0052\u0065\u0061\u0073\u006f\u006e"));_gdegag .ContactInfo ,_ =_bcb .GetString (_ffgdd .Get ("C\u006f\u006e\u0074\u0061\u0063\u0074\u0049\u006e\u0066\u006f"));_gdegag .R ,_ =_bcb .GetInt (_ffgdd .Get ("\u0052"));_gdegag .V ,_ =_bcb .GetInt (_ffgdd .Get ("\u0056"));_gdegag .PropBuild ,_ =_bcb .GetDict (_ffgdd .Get ("\u0050\u0072\u006f\u0070\u005f\u0042\u0075\u0069\u006c\u0064"));_gdegag .PropAuthTime ,_ =_bcb .GetInt (_ffgdd .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0069\u006d\u0065"));_gdegag .PropAuthType ,_ =_bcb .GetName (_ffgdd .Get ("\u0050\u0072\u006f\u0070\u005f\u0041\u0075\u0074\u0068\u0054\u0079\u0070\u0065"));return _gdegag ,nil ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_dddge pdfCIDFontType2 )GetCharMetrics (code _ddd .CharCode )(_acc .CharMetrics ,bool ){if _aagfd ,_cccgd :=_dddge ._ggfgf [code ];_cccgd {return _acc .CharMetrics {Wx :_aagfd },true ;};_fafaa :=rune (code );_cedb ,_ebbc :=_dddge ._gggbf [_fafaa ];if !_ebbc {_cedb =int (_dddge ._adcad );};return _acc .CharMetrics {Wx :float64 (_cedb )},true ;};func _edfca (_ecaf *_bcb .PdfObjectStream )(*PdfFunctionType4 ,error ){_ebbaf :=&PdfFunctionType4 {};_ebbaf ._bbffg =_ecaf ;_bccb :=_ecaf .PdfObjectDictionary ;_aeaed ,_ebcg :=_bcb .TraceToDirectObject (_bccb .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_bcb .PdfObjectArray );if !_ebcg {_cga .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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 _aeaed .Len ()%2!=0{_cga .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_ae .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_acggc ,_cadb :=_aeaed .ToFloat64Array ();if _cadb !=nil {return nil ,_cadb ;};_ebbaf .Domain =_acggc ;_aeaed ,_ebcg =_bcb .TraceToDirectObject (_bccb .Get ("\u0052\u0061\u006eg\u0065")).(*_bcb .PdfObjectArray );if _ebcg {if _aeaed .Len ()< 0||_aeaed .Len ()%2!=0{return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_dcbdbb ,_dffg :=_aeaed .ToFloat64Array ();if _dffg !=nil {return nil ,_dffg ;};_ebbaf .Range =_dcbdbb ;};_ffbf ,_cadb :=_bcb .DecodeStream (_ecaf );if _cadb !=nil {return nil ,_cadb ;};_ebbaf ._gfdef =_ffbf ;_gdfd :=_fc .NewPSParser (_ffbf );_gaaff ,_cadb :=_gdfd .Parse ();if _cadb !=nil {return nil ,_cadb ;};_ebbaf .Program =_gaaff ;return _ebbaf ,nil ;};
|
||
|
||
// SetDecode sets the decode image float slice.
|
||
func (_gbfeg *Image )SetDecode (decode []float64 ){_gbfeg ._fdggf =decode };func _cdbb (_cggg _bcb .PdfObject ,_ffccce *PdfReader )(*OutlineDest ,error ){_feced ,_fcdgd :=_bcb .GetArray (_cggg );if !_fcdgd {return nil ,_ae .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");};_dbaeg :=_feced .Len ();if _dbaeg < 2{return nil ,_e .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",_dbaeg );};_fcdc :=&OutlineDest {Mode :"\u0046\u0069\u0074"};_gabff :=_feced .Get (0);if _afcg ,_adbb :=_bcb .GetIndirect (_gabff );_adbb {if _ ,_bbfb ,_fcad :=_ffccce .PageFromIndirectObject (_afcg );_fcad ==nil {_fcdc .Page =int64 (_bbfb -1);}else {_cga .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",_afcg );};_fcdc .PageObj =_afcg ;}else if _eaabga ,_cccdg :=_bcb .GetIntVal (_gabff );_cccdg {if _eaabga >=0&&_eaabga < len (_ffccce .PageList ){_fcdc .PageObj =_ffccce .PageList [_eaabga ].GetPageAsIndirectObject ();}else {_cga .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",_eaabga );};_fcdc .Page =int64 (_eaabga );}else {return nil ,_e .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",_gabff );};_gbeg ,_fcdgd :=_bcb .GetNameVal (_feced .Get (1));if !_fcdgd {_cga .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",_feced .Get (1));return _fcdc ,nil ;};switch _gbeg {case "\u0046\u0069\u0074","\u0046\u0069\u0074\u0042":case "\u0046\u0069\u0074\u0048","\u0046\u0069\u0074B\u0048":if _dbaeg > 2{_fcdc .Y ,_ =_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_feced .Get (2)));};case "\u0046\u0069\u0074\u0056","\u0046\u0069\u0074B\u0056":if _dbaeg > 2{_fcdc .X ,_ =_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_feced .Get (2)));};case "\u0058\u0059\u005a":if _dbaeg > 4{_fcdc .X ,_ =_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_feced .Get (2)));_fcdc .Y ,_ =_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_feced .Get (3)));_fcdc .Zoom ,_ =_bcb .GetNumberAsFloat (_bcb .TraceToDirectObject (_feced .Get (4)));};default:_gbeg ="\u0046\u0069\u0074";};_fcdc .Mode =_gbeg ;return _fcdc ,nil ;};
|
||
|
||
// NewPdfSignature creates a new PdfSignature object.
|
||
func NewPdfSignature (handler SignatureHandler )*PdfSignature {_dgagf :=&PdfSignature {Type :_bcb .MakeName ("\u0053\u0069\u0067"),Handler :handler };_ccdgg :=&pdfSignDictionary {PdfObjectDictionary :_bcb .MakeDict (),_afebe :&handler ,_dgcc :_dgagf };_dgagf ._abcf =_bcb .MakeIndirectObject (_ccdgg );return _dgagf ;};
|
||
|
||
// ToPdfObject converts the PdfPage to a dictionary within an indirect object container.
|
||
func (_caeeb *PdfPage )ToPdfObject ()_bcb .PdfObject {_afgge :=_caeeb ._cfabg ;_caeeb .GetPageDict ();return _afgge ;};
|
||
|
||
// NewPdfAnnotationPrinterMark returns a new printermark annotation.
|
||
func NewPdfAnnotationPrinterMark ()*PdfAnnotationPrinterMark {_cfc :=NewPdfAnnotation ();_gaa :=&PdfAnnotationPrinterMark {};_gaa .PdfAnnotation =_cfc ;_cfc .SetContext (_gaa );return _gaa ;};type pdfSignDictionary struct{*_bcb .PdfObjectDictionary ;_afebe *SignatureHandler ;_dgcc *PdfSignature ;_afgeg int64 ;_adgcec int ;_gdbcc int ;_bbdgaf int ;_debba int ;};
|
||
|
||
// SetPdfTitle sets the Title attribute of the output PDF.
|
||
func SetPdfTitle (title string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_eafae =title };
|
||
|
||
// ToPdfObject converts colorspace to a PDF object. [/Indexed base hival lookup]
|
||
func (_dgbd *PdfColorspaceSpecialIndexed )ToPdfObject ()_bcb .PdfObject {_ggae :=_bcb .MakeArray (_bcb .MakeName ("\u0049n\u0064\u0065\u0078\u0065\u0064"));_ggae .Append (_dgbd .Base .ToPdfObject ());_ggae .Append (_bcb .MakeInteger (int64 (_dgbd .HiVal )));_ggae .Append (_dgbd .Lookup );if _dgbd ._gcgga !=nil {_dgbd ._gcgga .PdfObject =_ggae ;return _dgbd ._gcgga ;};return _ggae ;};
|
||
|
||
// SetContext sets the sub action (context).
|
||
func (_ab *PdfAction )SetContext (ctx PdfModel ){_ab ._dda =ctx };
|
||
|
||
// NewPdfColorspaceSpecialPattern returns a new pattern color.
|
||
func NewPdfColorspaceSpecialPattern ()*PdfColorspaceSpecialPattern {return &PdfColorspaceSpecialPattern {};};func _eccaa (_aedef _bcb .PdfObject )(*PdfColorspaceICCBased ,error ){_dgaa :=&PdfColorspaceICCBased {};if _cbcb ,_aeba :=_aedef .(*_bcb .PdfIndirectObject );_aeba {_dgaa ._aaadb =_cbcb ;};_aedef =_bcb .TraceToDirectObject (_aedef );_cgad ,_acbfc :=_aedef .(*_bcb .PdfObjectArray );if !_acbfc {return nil ,_e .Errorf ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if _cgad .Len ()!=2{return nil ,_e .Errorf ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064\u0020c\u006f\u006c\u006fr\u0073p\u0061\u0063\u0065");};_aedef =_bcb .TraceToDirectObject (_cgad .Get (0));_fead ,_acbfc :=_aedef .(*_bcb .PdfObjectName );if !_acbfc {return nil ,_e .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 *_fead !="\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064"{return nil ,_e .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");};_aedef =_cgad .Get (1);_acgd ,_acbfc :=_bcb .GetStream (_aedef );if !_acbfc {_cga .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",_aedef );return nil ,_e .Errorf ("\u0049\u0043\u0043Ba\u0073\u0065\u0064\u0020\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_gddcf :=_acgd .PdfObjectDictionary ;_cbded ,_acbfc :=_gddcf .Get ("\u004e").(*_bcb .PdfObjectInteger );if !_acbfc {return nil ,_e .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 *_cbded !=1&&*_cbded !=3&&*_cbded !=4{return nil ,_e .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");};_dgaa .N =int (*_cbded );if _geddg :=_gddcf .Get ("\u0041l\u0074\u0065\u0072\u006e\u0061\u0074e");_geddg !=nil {_accba ,_dfegf :=NewPdfColorspaceFromPdfObject (_geddg );if _dfegf !=nil {return nil ,_dfegf ;};_dgaa .Alternate =_accba ;};if _aebd :=_gddcf .Get ("\u0052\u0061\u006eg\u0065");_aebd !=nil {_aebd =_bcb .TraceToDirectObject (_aebd );_fddg ,_bfag :=_aebd .(*_bcb .PdfObjectArray );if !_bfag {return nil ,_e .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 _fddg .Len ()!=2*_dgaa .N {return nil ,_e .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");};_efab ,_dbfg :=_fddg .GetAsFloat64Slice ();if _dbfg !=nil {return nil ,_dbfg ;};_dgaa .Range =_efab ;}else {_dgaa .Range =make ([]float64 ,2*_dgaa .N );for _gffa :=0;_gffa < _dgaa .N ;_gffa ++{_dgaa .Range [2*_gffa ]=0.0;_dgaa .Range [2*_gffa +1]=1.0;};};if _effd :=_gddcf .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_effd !=nil {_ccde ,_adca :=_effd .(*_bcb .PdfObjectStream );if !_adca {return nil ,_e .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");};_dgaa .Metadata =_ccde ;};_cfedd ,_ccceg :=_bcb .DecodeStream (_acgd );if _ccceg !=nil {return nil ,_ccceg ;};_dgaa .Data =_cfedd ;_dgaa ._gdgc =_acgd ;return _dgaa ,nil ;};var _fedb =map[string ]struct{}{"\u0046\u0054":{},"\u004b\u0069\u0064\u0073":{},"\u0054":{},"\u0054\u0055":{},"\u0054\u004d":{},"\u0046\u0066":{},"\u0056":{},"\u0044\u0056":{},"\u0041\u0041":{},"\u0044\u0041":{},"\u0051":{},"\u0044\u0053":{},"\u0052\u0056":{}};func (_cebe *PdfAcroForm )fill (_cbae FieldValueProvider ,_cebd FieldAppearanceGenerator )error {if _cebe ==nil {return nil ;};_caae ,_cfcfg :=_cbae .FieldValues ();if _cfcfg !=nil {return _cfcfg ;};for _ ,_bdcfb :=range _cebe .AllFields (){_acdbg :=_bdcfb .PartialName ();_ccgd ,_cadf :=_caae [_acdbg ];if !_cadf {if _beeec ,_ggcfb :=_bdcfb .FullName ();_ggcfb ==nil {_ccgd ,_cadf =_caae [_beeec ];};};if !_cadf {_cga .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",_acdbg );continue ;};if _afeae :=_fcgb (_bdcfb ,_ccgd );_afeae !=nil {return _afeae ;};if _cebd ==nil {continue ;};for _ ,_aafff :=range _bdcfb .Annotations {_edfbe ,_aecbe :=_cebd .GenerateAppearanceDict (_cebe ,_bdcfb ,_aafff );if _aecbe !=nil {return _aecbe ;};_aafff .AP =_edfbe ;_aafff .ToPdfObject ();};};return nil ;};func (_agce *PdfColorspaceCalRGB )String ()string {return "\u0043\u0061\u006c\u0052\u0047\u0042"};
|
||
|
||
// GetContentStreamObjs returns a slice of PDF objects containing the content
|
||
// streams of the page.
|
||
func (_faabc *PdfPage )GetContentStreamObjs ()[]_bcb .PdfObject {if _faabc .Contents ==nil {return nil ;};_cgfdd :=_bcb .TraceToDirectObject (_faabc .Contents );if _aeca ,_egcgb :=_cgfdd .(*_bcb .PdfObjectArray );_egcgb {return _aeca .Elements ();};return []_bcb .PdfObject {_cgfdd };};
|
||
|
||
// HasColorspaceByName checks if the colorspace with the specified name exists in the page resources.
|
||
func (_agac *PdfPageResources )HasColorspaceByName (keyName _bcb .PdfObjectName )bool {_ffbe ,_fdfbd :=_agac .GetColorspaces ();if _fdfbd !=nil {_cga .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",_fdfbd );return false ;};if _ffbe ==nil {return false ;};_ ,_aegcb :=_ffbe .Colorspaces [string (keyName )];return _aegcb ;};
|
||
|
||
// String returns a human readable description of `fontfile`.
|
||
func (_geddf *fontFile )String ()string {_defb :="\u005b\u004e\u006f\u006e\u0065\u005d";if _geddf ._ecge !=nil {_defb =_geddf ._ecge .String ();};return _e .Sprintf ("\u0046O\u004e\u0054\u0046\u0049\u004c\u0045\u007b\u0025\u0023\u0071\u0020e\u006e\u0063\u006f\u0064\u0065\u0072\u003d\u0025\u0073\u007d",_geddf ._cfgbe ,_defb );};
|
||
|
||
// ToPdfObject returns the PDF representation of the page resources.
|
||
func (_cefb *PdfPageResources )ToPdfObject ()_bcb .PdfObject {_ffddf :=_cefb ._daggd ;_ffddf .SetIfNotNil ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e",_cefb .ExtGState );if _cefb ._dcga !=nil {_cefb .ColorSpace =_cefb ._dcga .ToPdfObject ();};_ffddf .SetIfNotNil ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065",_cefb .ColorSpace );_ffddf .SetIfNotNil ("\u0050a\u0074\u0074\u0065\u0072\u006e",_cefb .Pattern );_ffddf .SetIfNotNil ("\u0053h\u0061\u0064\u0069\u006e\u0067",_cefb .Shading );_ffddf .SetIfNotNil ("\u0058O\u0062\u006a\u0065\u0063\u0074",_cefb .XObject );_ffddf .SetIfNotNil ("\u0046\u006f\u006e\u0074",_cefb .Font );_ffddf .SetIfNotNil ("\u0050r\u006f\u0063\u0053\u0065\u0074",_cefb .ProcSet );_ffddf .SetIfNotNil ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073",_cefb .Properties );return _ffddf ;};func _beaf ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _gedgd };
|
||
|
||
// NewPdfWriter initializes a new PdfWriter.
|
||
func NewPdfWriter ()PdfWriter {_fcccb :=PdfWriter {};_fcccb ._affdb =map[_bcb .PdfObject ]struct{}{};_fcccb ._adbc =[]_bcb .PdfObject {};_fcccb ._aabce =map[_bcb .PdfObject ][]*_bcb .PdfObjectDictionary {};_fcccb ._fddc =map[_bcb .PdfObject ]struct{}{};_fcccb ._fcebf =1;_fcccb ._cacaf =3;_ccbegc :=_bcb .MakeDict ();_efdg :=[]struct{_faabfb _bcb .PdfObjectName ;_gbdd string ;}{{"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072",_fbcgf ()},{"\u0043r\u0065\u0061\u0074\u006f\u0072",_affcd ()},{"\u0041\u0075\u0074\u0068\u006f\u0072",_gdebef ()},{"\u0053u\u0062\u006a\u0065\u0063\u0074",_beaf ()},{"\u0054\u0069\u0074l\u0065",_caafe ()},{"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073",_dfaef ()}};for _ ,_dadag :=range _efdg {if _dadag ._gbdd !=""{_ccbegc .Set (_dadag ._faabfb ,_bcb .MakeString (_dadag ._gbdd ));};};if _cgbf :=_fbgd ();!_cgbf .IsZero (){if _ebcag ,_fede :=NewPdfDateFromTime (_cgbf );_fede ==nil {_ccbegc .Set ("\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065",_ebcag .ToPdfObject ());};};if _aecge :=_fdcgg ();!_aecge .IsZero (){if _gbadaf ,_cggbd :=NewPdfDateFromTime (_aecge );_cggbd ==nil {_ccbegc .Set ("\u004do\u0064\u0044\u0061\u0074\u0065",_gbadaf .ToPdfObject ());};};_bdge :=_bcb .PdfIndirectObject {};_bdge .PdfObject =_ccbegc ;_fcccb ._gbfff =&_bdge ;_fcccb .addObject (&_bdge );_bbed :=_bcb .PdfIndirectObject {};_agbbdb :=_bcb .MakeDict ();_agbbdb .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0043a\u0074\u0061\u006c\u006f\u0067"));_bbed .PdfObject =_agbbdb ;_fcccb ._edecd =&_bbed ;_fcccb .addObject (_fcccb ._edecd );_eeac :=_bcb .PdfIndirectObject {};_bafddg :=_bcb .MakeDict ();_bafddg .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0050\u0061\u0067e\u0073"));_ebafb :=_bcb .PdfObjectArray {};_bafddg .Set ("\u004b\u0069\u0064\u0073",&_ebafb );_bafddg .Set ("\u0043\u006f\u0075n\u0074",_bcb .MakeInteger (0));_eeac .PdfObject =_bafddg ;_fcccb ._gbff =&_eeac ;_fcccb ._ddcfa =map[_bcb .PdfObject ]struct{}{};_fcccb .addObject (_fcccb ._gbff );_agbbdb .Set ("\u0050\u0061\u0067e\u0073",&_eeac );_fcccb ._ggfec =_agbbdb ;_cga .Log .Trace ("\u0043\u0061\u0074\u0061\u006c\u006f\u0067\u0020\u0025\u0073",_bbed );return _fcccb ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_fbbdg pdfCIDFontType2 )Encoder ()_ddd .TextEncoder {return _fbbdg ._acgdf };func (_cbcd *DSS )add (_badb *[]*_bcb .PdfObjectStream ,_gebd map[string ]*_bcb .PdfObjectStream ,_eecfd [][]byte )([]*_bcb .PdfObjectStream ,error ){_aebee :=make ([]*_bcb .PdfObjectStream ,0,len (_eecfd ));for _ ,_ffgc :=range _eecfd {_gfff ,_dfcde :=_ebeed (_ffgc );if _dfcde !=nil {return nil ,_dfcde ;};_afdd ,_edfec :=_gebd [string (_gfff )];if !_edfec {_afdd ,_dfcde =_bcb .MakeStream (_ffgc ,_bcb .NewRawEncoder ());if _dfcde !=nil {return nil ,_dfcde ;};_gebd [string (_gfff )]=_afdd ;*_badb =append (*_badb ,_afdd );};_aebee =append (_aebee ,_afdd );};return _aebee ,nil ;};
|
||
|
||
// GetContext returns a reference to the subpattern entry: either PdfTilingPattern or PdfShadingPattern.
|
||
func (_ggcg *PdfPattern )GetContext ()PdfModel {return _ggcg ._adccc };
|
||
|
||
// GetOutlineTree returns the outline tree.
|
||
func (_cagee *PdfReader )GetOutlineTree ()*PdfOutlineTreeNode {return _cagee ._gbged };
|
||
|
||
// GetAction returns the PDF action for the annotation link.
|
||
func (_efcd *PdfAnnotationLink )GetAction ()(*PdfAction ,error ){if _efcd ._bda !=nil {return _efcd ._bda ,nil ;};if _efcd .A ==nil {return nil ,nil ;};if _efcd ._gca ==nil {return nil ,nil ;};_fee ,_cgfc :=_efcd ._gca .loadAction (_efcd .A );if _cgfc !=nil {return nil ,_cgfc ;};_efcd ._bda =_fee ;return _efcd ._bda ,nil ;};func (_eaeg fontCommon )asPdfObjectDictionary (_feaeg string )*_bcb .PdfObjectDictionary {if _feaeg !=""&&_eaeg ._abgg !=""&&_feaeg !=_eaeg ._abgg {_cga .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",_feaeg ,_eaeg );}else if _feaeg ==""&&_eaeg ._abgg ==""{_cga .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",_eaeg );}else if _eaeg ._abgg ==""{_eaeg ._abgg =_feaeg ;};_agdcg :=_bcb .MakeDict ();_agdcg .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u006f\u006e\u0074"));_agdcg .Set ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074",_bcb .MakeName (_eaeg ._daeb ));_agdcg .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName (_eaeg ._abgg ));if _eaeg ._ecaed !=nil {_agdcg .Set ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072",_eaeg ._ecaed .ToPdfObject ());};if _eaeg ._ebfc !=nil {_agdcg .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_eaeg ._ebfc );}else if _eaeg ._ecbe !=nil {_fedd ,_cbafb :=_eaeg ._ecbe .Stream ();if _cbafb !=nil {_cga .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",_cbafb );}else {_agdcg .Set ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e",_fedd );};};return _agdcg ;};
|
||
|
||
// C returns the value of the cyan component of the color.
|
||
func (_deae *PdfColorDeviceCMYK )C ()float64 {return _deae [0]};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gcc *PdfActionNamed )ToPdfObject ()_bcb .PdfObject {_gcc .PdfAction .ToPdfObject ();_edf :=_gcc ._dce ;_cb :=_edf .PdfObject .(*_bcb .PdfObjectDictionary );_cb .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeNamed )));_cb .SetIfNotNil ("\u004e",_gcc .N );return _edf ;};
|
||
|
||
// SetFontByName sets the font specified by keyName to the given object.
|
||
func (_cffbc *PdfPageResources )SetFontByName (keyName _bcb .PdfObjectName ,obj _bcb .PdfObject )error {if _cffbc .Font ==nil {_cffbc .Font =_bcb .MakeDict ();};_fgfee ,_fgdce :=_bcb .TraceToDirectObject (_cffbc .Font ).(*_bcb .PdfObjectDictionary );if !_fgdce {_cga .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",_bcb .TraceToDirectObject (_cffbc .Font ));return _bcb .ErrTypeError ;};_fgfee .Set (keyName ,obj );return nil ;};func _cfba (_abcce _bcb .PdfObject ,_dcff *fontCommon )(*_dc .CMap ,error ){_cbdg ,_gaccf :=_bcb .GetStream (_abcce );if !_gaccf {_cga .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",_abcce );return nil ,_bcb .ErrTypeError ;};_cfeb ,_ggbga :=_bcb .DecodeStream (_cbdg );if _ggbga !=nil {return nil ,_ggbga ;};_fcfcg ,_ggbga :=_dc .LoadCmapFromData (_cfeb ,!_dcff .isCIDFont ());if _ggbga !=nil {_cga .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",_cbdg .ObjectNumber ,_ggbga );};return _fcfcg ,_ggbga ;};func _bgcc (_ggcb string )(map[_ddd .CharCode ]_ddd .GlyphName ,error ){_eegdd :=_gc .Split (_ggcb ,"\u000a");_edffd :=make (map[_ddd .CharCode ]_ddd .GlyphName );for _ ,_cefgb :=range _eegdd {_dgadb :=_cdfce .FindStringSubmatch (_cefgb );if _dgadb ==nil {continue ;};_efdd ,_gcafc :=_dgadb [1],_dgadb [2];_fafaf ,_gegbe :=_ea .Atoi (_efdd );if _gegbe !=nil {_cga .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",_cefgb );return nil ,_bcb .ErrTypeError ;};_edffd [_ddd .CharCode (_fafaf )]=_ddd .GlyphName (_gcafc );};_cga .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",_edffd );return _edffd ,nil ;};
|
||
|
||
// SetVersion sets the PDF version of the output file.
|
||
func (_eafd *PdfWriter )SetVersion (majorVersion ,minorVersion int ){_eafd ._fcebf =majorVersion ;_eafd ._cacaf =minorVersion ;};func _edebg (_gcada StdFontName )(pdfFontSimple ,error ){_cgfg ,_egfd :=_acc .NewStdFontByName (_gcada );if !_egfd {return pdfFontSimple {},ErrFontNotSupported ;};_fgfd :=_egdb (_cgfg );return _fgfd ,nil ;};
|
||
|
||
// ToPdfOutlineItem returns a low level PdfOutlineItem object,
|
||
// based on the current instance.
|
||
func (_degfe *OutlineItem )ToPdfOutlineItem ()(*PdfOutlineItem ,int64 ){_ededb :=NewPdfOutlineItem ();_ededb .Title =_bcb .MakeEncodedString (_degfe .Title ,true );_ededb .Dest =_degfe .Dest .ToPdfObject ();var _deac []*PdfOutlineItem ;var _dgffe int64 ;var _aggceb *PdfOutlineItem ;for _ ,_dbaee :=range _degfe .Entries {_bdda ,_bbffc :=_dbaee .ToPdfOutlineItem ();_bdda .Parent =&_ededb .PdfOutlineTreeNode ;if _aggceb !=nil {_aggceb .Next =&_bdda .PdfOutlineTreeNode ;_bdda .Prev =&_aggceb .PdfOutlineTreeNode ;};_deac =append (_deac ,_bdda );_dgffe +=_bbffc ;_aggceb =_bdda ;};_fgcgce :=len (_deac );_dgffe +=int64 (_fgcgce );if _fgcgce > 0{_ededb .First =&_deac [0].PdfOutlineTreeNode ;_ededb .Last =&_deac [_fgcgce -1].PdfOutlineTreeNode ;_ededb .Count =&_dgffe ;};return _ededb ,_dgffe ;};
|
||
|
||
// PdfActionTrans represents a trans action.
|
||
type PdfActionTrans struct{*PdfAction ;Trans _bcb .PdfObject ;};
|
||
|
||
// HasFontByName checks if has font resource by name.
|
||
func (_gbeda *PdfPage )HasFontByName (name _bcb .PdfObjectName )bool {_dfece ,_eeaba :=_gbeda .Resources .Font .(*_bcb .PdfObjectDictionary );if !_eeaba {return false ;};if _cggac :=_dfece .Get (name );_cggac !=nil {return true ;};return false ;};
|
||
|
||
// IsPush returns true if the button field represents a push button, false otherwise.
|
||
func (_bebdb *PdfFieldButton )IsPush ()bool {return _bebdb .GetType ()==ButtonTypePush };
|
||
|
||
// 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 (_dbga *PdfColorspaceSpecialPattern )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )< 1{return nil ,_ae .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");};_gacc :=&PdfColorPattern {};_egb ,_ebaf :=objects [len (objects )-1].(*_bcb .PdfObjectName );if !_ebaf {_cga .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 ;};_gacc .PatternName =*_egb ;if len (objects )> 1{_ggged :=objects [0:len (objects )-1];if _dbga .UnderlyingCS ==nil {_cga .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 ,_ae .New ("\u0075n\u0064\u0065\u0072\u006cy\u0069\u006e\u0067\u0020\u0043S\u0020n\u006ft\u0020\u0064\u0065\u0066\u0069\u006e\u0065d");};_fage ,_ceadc :=_dbga .UnderlyingCS .ColorFromPdfObjects (_ggged );if _ceadc !=nil {_cga .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",_ceadc );return nil ,_ceadc ;};_gacc .Color =_fage ;};return _gacc ,nil ;};
|
||
|
||
// NewPdfColorspaceFromPdfObject loads a PdfColorspace from a PdfObject. Returns an error if there is
|
||
// a failure in loading.
|
||
func NewPdfColorspaceFromPdfObject (obj _bcb .PdfObject )(PdfColorspace ,error ){var _gdg *_bcb .PdfIndirectObject ;var _bdbc *_bcb .PdfObjectName ;var _ebaa *_bcb .PdfObjectArray ;if _ffb ,_aeeb :=obj .(*_bcb .PdfIndirectObject );_aeeb {_gdg =_ffb ;};obj =_bcb .TraceToDirectObject (obj );switch _bagd :=obj .(type ){case *_bcb .PdfObjectArray :_ebaa =_bagd ;case *_bcb .PdfObjectName :_bdbc =_bagd ;};if _bdbc !=nil {switch *_bdbc {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:_cga .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",*_bdbc );return nil ,_aadab ;};};if _ebaa !=nil &&_ebaa .Len ()> 0{var _fbff _bcb .PdfObject =_gdg ;if _gdg ==nil {_fbff =_ebaa ;};if _eacf ,_gade :=_bcb .GetName (_ebaa .Get (0));_gade {switch _eacf .String (){case "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079":if _ebaa .Len ()==1{return NewPdfColorspaceDeviceGray (),nil ;};case "\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B":if _ebaa .Len ()==1{return NewPdfColorspaceDeviceRGB (),nil ;};case "\u0044\u0065\u0076\u0069\u0063\u0065\u0043\u004d\u0059\u004b":if _ebaa .Len ()==1{return NewPdfColorspaceDeviceCMYK (),nil ;};case "\u0043a\u006c\u0047\u0072\u0061\u0079":return _cccfe (_fbff );case "\u0043\u0061\u006c\u0052\u0047\u0042":return _acbg (_fbff );case "\u004c\u0061\u0062":return _bgdd (_fbff );case "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064":return _eccaa (_fbff );case "\u0050a\u0074\u0074\u0065\u0072\u006e":return _abae (_fbff );case "\u0049n\u0064\u0065\u0078\u0065\u0064":return _fbdg (_fbff );case "\u0053\u0065\u0070\u0061\u0072\u0061\u0074\u0069\u006f\u006e":return _dbcd (_fbff );case "\u0044e\u0076\u0069\u0063\u0065\u004e":return _aga (_fbff );default:_cga .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",*_eacf );};};};_cga .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 ;};
|
||
|
||
// SetPdfKeywords sets the Keywords attribute of the output PDF.
|
||
func SetPdfKeywords (keywords string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_eaggce =keywords };func (_fcdg *PdfReader )newPdfAnnotationSquigglyFromDict (_cabf *_bcb .PdfObjectDictionary )(*PdfAnnotationSquiggly ,error ){_dgfd :=PdfAnnotationSquiggly {};_fgac ,_fad :=_fcdg .newPdfAnnotationMarkupFromDict (_cabf );if _fad !=nil {return nil ,_fad ;};_dgfd .PdfAnnotationMarkup =_fgac ;_dgfd .QuadPoints =_cabf .Get ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073");return &_dgfd ,nil ;};
|
||
|
||
// AddExtGState add External Graphics State (GState). The gsDict can be specified
|
||
// either directly as a dictionary or an indirect object containing a dictionary.
|
||
func (_fefbg *PdfPageResources )AddExtGState (gsName _bcb .PdfObjectName ,gsDict _bcb .PdfObject )error {if _fefbg .ExtGState ==nil {_fefbg .ExtGState =_bcb .MakeDict ();};_gbcc :=_fefbg .ExtGState ;_dedg ,_gdagf :=_bcb .TraceToDirectObject (_gbcc ).(*_bcb .PdfObjectDictionary );if !_gdagf {_cga .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",_gbcc ,_bcb .TraceToDirectObject (_gbcc ));return _bcb .ErrTypeError ;};_dedg .Set (gsName ,gsDict );return nil ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for RGB).
|
||
func (_gfcb *PdfColorDeviceRGB )GetNumComponents ()int {return 3};
|
||
|
||
// SetColorspaceByName adds the provided colorspace to the page resources.
|
||
func (_eageea *PdfPageResources )SetColorspaceByName (keyName _bcb .PdfObjectName ,cs PdfColorspace )error {_eaegd ,_abcd :=_eageea .GetColorspaces ();if _abcd !=nil {_cga .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",_abcd );return _abcd ;};if _eaegd ==nil {_eaegd =NewPdfPageResourcesColorspaces ();_eageea .SetColorSpace (_eaegd );};_eaegd .Set (keyName ,cs );return nil ;};
|
||
|
||
// GetParamsDict returns *core.PdfObjectDictionary with a set of basic image parameters.
|
||
func (_cacc *Image )GetParamsDict ()*_bcb .PdfObjectDictionary {_addcb :=_bcb .MakeDict ();_addcb .Set ("\u0057\u0069\u0064t\u0068",_bcb .MakeInteger (_cacc .Width ));_addcb .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_bcb .MakeInteger (_cacc .Height ));_addcb .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_bcb .MakeInteger (int64 (_cacc .ColorComponents )));_addcb .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_bcb .MakeInteger (_cacc .BitsPerComponent ));return _addcb ;};
|
||
|
||
// DecodeArray returns the range of color component values in CalGray colorspace.
|
||
func (_beeea *PdfColorspaceCalGray )DecodeArray ()[]float64 {return []float64 {0.0,1.0}};
|
||
|
||
// NewPdfActionGoTo3DView returns a new "goTo3DView" action.
|
||
func NewPdfActionGoTo3DView ()*PdfActionGoTo3DView {_gac :=NewPdfAction ();_aae :=&PdfActionGoTo3DView {};_aae .PdfAction =_gac ;_gac .SetContext (_aae );return _aae ;};func (_agga *PdfColorspaceDeviceGray )String ()string {return "\u0044\u0065\u0076\u0069\u0063\u0065\u0047\u0072\u0061\u0079";};func (_gfcga *pdfFontType0 )baseFields ()*fontCommon {return &_gfcga .fontCommon };func _fbcgc (_egbg *_bcb .PdfObjectDictionary )(*PdfShadingPattern ,error ){_ebffa :=&PdfShadingPattern {};_aeff :=_egbg .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");if _aeff ==nil {_cga .Log .Debug ("\u0053h\u0061d\u0069\u006e\u0067\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");return nil ,ErrRequiredAttributeMissing ;};_adafd ,_cgeae :=_cdgdf (_aeff );if _cgeae !=nil {_cga .Log .Debug ("\u0045r\u0072\u006f\u0072\u0020l\u006f\u0061\u0064\u0069\u006eg\u0020s\u0068a\u0064\u0069\u006e\u0067\u003a\u0020\u0025v",_cgeae );return nil ,_cgeae ;};_ebffa .Shading =_adafd ;if _gdbbfc :=_egbg .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_gdbbfc !=nil {_cedfag ,_cdadg :=_gdbbfc .(*_bcb .PdfObjectArray );if !_cdadg {_cga .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",_gdbbfc );return nil ,_bcb .ErrTypeError ;};_ebffa .Matrix =_cedfag ;};if _ebeag :=_egbg .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_ebeag !=nil {_ebffa .ExtGState =_ebeag ;};return _ebffa ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain three elements representing the
|
||
// A, B and C components of the color. The values of the elements should be
|
||
// between 0 and 1.
|
||
func (_cceaa *PdfColorspaceCalRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gbgb :=vals [0];if _gbgb < 0.0||_gbgb > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_agfg :=vals [1];if _agfg < 0.0||_agfg > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fbda :=vals [2];if _fbda < 0.0||_fbda > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ddba :=NewPdfColorCalRGB (_gbgb ,_agfg ,_fbda );return _ddba ,nil ;};func _ffbd (_bdgbd string )map[string ]string {_cgab :=_dbcc .Split (_bdgbd ,-1);_ebaac :=map[string ]string {};for _ ,_bbgge :=range _cgab {_adbgc :=_gbeec .FindStringSubmatch (_bbgge );if _adbgc ==nil {continue ;};_beab ,_afbgf :=_adbgc [1],_adbgc [2];_ebaac [_beab ]=_afbgf ;};return _ebaac ;};func _gcee (_cdgcc *PdfAnnotation )(*XObjectForm ,*PdfRectangle ,error ){_cefc ,_cbaf :=_bcb .GetDict (_cdgcc .AP );if !_cbaf {return nil ,nil ,_ae .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 _cefc ==nil {return nil ,nil ,nil ;};_dcbec ,_cbaf :=_bcb .GetArray (_cdgcc .Rect );if !_cbaf ||_dcbec .Len ()!=4{return nil ,nil ,_ae .New ("\u0072\u0065\u0063t\u0020\u0069\u006e\u0076\u0061\u006c\u0069\u0064");};_gffac ,_eddb :=NewPdfRectangle (*_dcbec );if _eddb !=nil {return nil ,nil ,_eddb ;};_bbbaa :=_bcb .TraceToDirectObject (_cefc .Get ("\u004e"));switch _ffcae :=_bbbaa .(type ){case *_bcb .PdfObjectStream :_dacd :=_ffcae ;_abcb ,_fbee :=NewXObjectFormFromStream (_dacd );return _abcb ,_gffac ,_fbee ;case *_bcb .PdfObjectDictionary :_dadf :=_ffcae ;_eebaf ,_cgegf :=_bcb .GetName (_cdgcc .AS );if !_cgegf {return nil ,nil ,nil ;};if _dadf .Get (*_eebaf )==nil {_cga .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 ;};_gbgdc ,_cgegf :=_bcb .GetStream (_dadf .Get (*_eebaf ));if !_cgegf {_cga .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",_eebaf );return nil ,nil ,_ae .New ("\u0073\u0074\u0072\u0065\u0061\u006d\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};_geca ,_dafae :=NewXObjectFormFromStream (_gbgdc );return _geca ,_gffac ,_dafae ;};_cga .Log .Debug ("\u0049\u006e\u0076\u0061li\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0066\u006f\u0072\u0020\u004e\u003a\u0020%\u0054",_bbbaa );return nil ,nil ,_ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};
|
||
|
||
// SetPageLabels sets the PageLabels entry in the PDF catalog.
|
||
// See section 12.4.2 "Page Labels" (p. 382 PDF32000_2008).
|
||
func (_gafeg *PdfWriter )SetPageLabels (pageLabels _bcb .PdfObject )error {if pageLabels ==nil {return nil ;};_cga .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");_gafeg ._ggfec .Set ("\u0050\u0061\u0067\u0065\u004c\u0061\u0062\u0065\u006c\u0073",pageLabels );return _gafeg .addObjects (pageLabels );};
|
||
|
||
// SetForms sets the Acroform for a PDF file.
|
||
func (_befae *PdfWriter )SetForms (form *PdfAcroForm )error {_befae ._gbbc =form ;return nil };func (_decfc *pdfFontType0 )getFontDescriptor ()*PdfFontDescriptor {if _decfc ._ecaed ==nil &&_decfc .DescendantFont !=nil {return _decfc .DescendantFont .FontDescriptor ();};return _decfc ._ecaed ;};
|
||
|
||
// GetOCProperties returns the optional content properties PdfObject.
|
||
func (_bgfca *PdfReader )GetOCProperties ()(_bcb .PdfObject ,error ){_egefd :=_bgfca ._fccd ;_cagf :=_egefd .Get ("\u004f\u0043\u0050r\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_cagf =_bcb .ResolveReference (_cagf );if !_bgfca ._abdcg {_gefdb :=_bgfca .traverseObjectData (_cagf );if _gefdb !=nil {return nil ,_gefdb ;};};return _cagf ,nil ;};
|
||
|
||
// SetPatternByName sets a pattern resource specified by keyName.
|
||
func (_eefd *PdfPageResources )SetPatternByName (keyName _bcb .PdfObjectName ,pattern _bcb .PdfObject )error {if _eefd .Pattern ==nil {_eefd .Pattern =_bcb .MakeDict ();};_fabf ,_bbbef :=_eefd .Pattern .(*_bcb .PdfObjectDictionary );if !_bbbef {return _bcb .ErrTypeError ;};_fabf .Set (keyName ,pattern );return nil ;};
|
||
|
||
// ToPdfObject returns the PdfFontDescriptor as a PDF dictionary inside an indirect object.
|
||
func (_dddb *PdfFontDescriptor )ToPdfObject ()_bcb .PdfObject {_edfbf :=_bcb .MakeDict ();if _dddb ._aaed ==nil {_dddb ._aaed =&_bcb .PdfIndirectObject {};};_dddb ._aaed .PdfObject =_edfbf ;_edfbf .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"));if _dddb .FontName !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_dddb .FontName );};if _dddb .FontFamily !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079",_dddb .FontFamily );};if _dddb .FontStretch !=nil {_edfbf .Set ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068",_dddb .FontStretch );};if _dddb .FontWeight !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074",_dddb .FontWeight );};if _dddb .Flags !=nil {_edfbf .Set ("\u0046\u006c\u0061g\u0073",_dddb .Flags );};if _dddb .FontBBox !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078",_dddb .FontBBox );};if _dddb .ItalicAngle !=nil {_edfbf .Set ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065",_dddb .ItalicAngle );};if _dddb .Ascent !=nil {_edfbf .Set ("\u0041\u0073\u0063\u0065\u006e\u0074",_dddb .Ascent );};if _dddb .Descent !=nil {_edfbf .Set ("\u0044e\u0073\u0063\u0065\u006e\u0074",_dddb .Descent );};if _dddb .Leading !=nil {_edfbf .Set ("\u004ce\u0061\u0064\u0069\u006e\u0067",_dddb .Leading );};if _dddb .CapHeight !=nil {_edfbf .Set ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t",_dddb .CapHeight );};if _dddb .XHeight !=nil {_edfbf .Set ("\u0058H\u0065\u0069\u0067\u0068\u0074",_dddb .XHeight );};if _dddb .StemV !=nil {_edfbf .Set ("\u0053\u0074\u0065m\u0056",_dddb .StemV );};if _dddb .StemH !=nil {_edfbf .Set ("\u0053\u0074\u0065m\u0048",_dddb .StemH );};if _dddb .AvgWidth !=nil {_edfbf .Set ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068",_dddb .AvgWidth );};if _dddb .MaxWidth !=nil {_edfbf .Set ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068",_dddb .MaxWidth );};if _dddb .MissingWidth !=nil {_edfbf .Set ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068",_dddb .MissingWidth );};if _dddb .FontFile !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065",_dddb .FontFile );};if _dddb .FontFile2 !=nil {_edfbf .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652",_dddb .FontFile2 );};if _dddb .FontFile3 !=nil {_edfbf .Set ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653",_dddb .FontFile3 );};if _dddb .CharSet !=nil {_edfbf .Set ("\u0043h\u0061\u0072\u0053\u0065\u0074",_dddb .CharSet );};if _dddb .Style !=nil {_edfbf .Set ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065",_dddb .FontName );};if _dddb .Lang !=nil {_edfbf .Set ("\u004c\u0061\u006e\u0067",_dddb .Lang );};if _dddb .FD !=nil {_edfbf .Set ("\u0046\u0044",_dddb .FD );};if _dddb .CIDSet !=nil {_edfbf .Set ("\u0043\u0049\u0044\u0053\u0065\u0074",_dddb .CIDSet );};return _dddb ._aaed ;};
|
||
|
||
// 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 (_cdfe DefaultImageHandler )Compress (input *Image ,quality int64 )(*Image ,error ){return input ,nil ;};func (_acgg *PdfReader )newPdfAnnotationFreeTextFromDict (_gfbe *_bcb .PdfObjectDictionary )(*PdfAnnotationFreeText ,error ){_bge :=PdfAnnotationFreeText {};_gfaa ,_fbg :=_acgg .newPdfAnnotationMarkupFromDict (_gfbe );if _fbg !=nil {return nil ,_fbg ;};_bge .PdfAnnotationMarkup =_gfaa ;_bge .DA =_gfbe .Get ("\u0044\u0041");_bge .Q =_gfbe .Get ("\u0051");_bge .RC =_gfbe .Get ("\u0052\u0043");_bge .DS =_gfbe .Get ("\u0044\u0053");_bge .CL =_gfbe .Get ("\u0043\u004c");_bge .IT =_gfbe .Get ("\u0049\u0054");_bge .BE =_gfbe .Get ("\u0042\u0045");_bge .RD =_gfbe .Get ("\u0052\u0044");_bge .BS =_gfbe .Get ("\u0042\u0053");_bge .LE =_gfbe .Get ("\u004c\u0045");return &_bge ,nil ;};func (_edfbeg *PdfWriter )writeObject (_cbgfa int ,_aced _bcb .PdfObject ){_cga .Log .Trace ("\u0057\u0072\u0069\u0074\u0065\u0020\u006f\u0062\u006a \u0023\u0025\u0064\u000a",_cbgfa );if _caeed ,_dgcbda :=_aced .(*_bcb .PdfIndirectObject );_dgcbda {_edfbeg ._cddbc [_cbgfa ]=crossReference {Type :1,Offset :_edfbeg ._cdgbg ,Generation :_caeed .GenerationNumber };_dbfee :=_e .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cbgfa );if _fbab ,_edcda :=_caeed .PdfObject .(*pdfSignDictionary );_edcda {_fbab ._afgeg =_edfbeg ._cdgbg +int64 (len (_dbfee ));};if _caeed .PdfObject ==nil {_cga .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");_caeed .PdfObject =_bcb .MakeNull ();};_dbfee +=_caeed .PdfObject .WriteString ();_dbfee +="\u000a\u0065\u006e\u0064\u006f\u0062\u006a\u000a";_edfbeg .writeString (_dbfee );return ;};if _ccbea ,_aedcd :=_aced .(*_bcb .PdfObjectStream );_aedcd {_edfbeg ._cddbc [_cbgfa ]=crossReference {Type :1,Offset :_edfbeg ._cdgbg ,Generation :_ccbea .GenerationNumber };_bbbbea :=_e .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cbgfa );_bbbbea +=_ccbea .PdfObjectDictionary .WriteString ();_bbbbea +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_edfbeg .writeString (_bbbbea );_edfbeg .writeBytes (_ccbea .Stream );_edfbeg .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};if _gfegd ,_aegfa :=_aced .(*_bcb .PdfObjectStreams );_aegfa {_edfbeg ._cddbc [_cbgfa ]=crossReference {Type :1,Offset :_edfbeg ._cdgbg ,Generation :_gfegd .GenerationNumber };_geef :=_e .Sprintf ("\u0025d\u0020\u0030\u0020\u006f\u0062\u006a\n",_cbgfa );var _gbaa []string ;var _defff string ;var _aacef int64 ;for _dgace ,_ddacg :=range _gfegd .Elements (){_gbaae ,_acbfd :=_ddacg .(*_bcb .PdfIndirectObject );if !_acbfd {_cga .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",_cbgfa ,_ddacg );continue ;};_cadae :=_gbaae .PdfObject .WriteString ()+"\u0020";_defff =_defff +_cadae ;_gbaa =append (_gbaa ,_e .Sprintf ("\u0025\u0064\u0020%\u0064",_gbaae .ObjectNumber ,_aacef ));_edfbeg ._cddbc [int (_gbaae .ObjectNumber )]=crossReference {Type :2,ObjectNumber :_cbgfa ,Index :_dgace };_aacef =_aacef +int64 (len ([]byte (_cadae )));};_fdgf :=_gc .Join (_gbaa ,"\u0020")+"\u0020";_dedef :=_bcb .NewFlateEncoder ();_ecffd :=_dedef .MakeStreamDict ();_ecffd .Set (_bcb .PdfObjectName ("\u0054\u0079\u0070\u0065"),_bcb .MakeName ("\u004f\u0062\u006a\u0053\u0074\u006d"));_gcec :=int64 (_gfegd .Len ());_ecffd .Set (_bcb .PdfObjectName ("\u004e"),_bcb .MakeInteger (_gcec ));_fffac :=int64 (len (_fdgf ));_ecffd .Set (_bcb .PdfObjectName ("\u0046\u0069\u0072s\u0074"),_bcb .MakeInteger (_fffac ));_bebfge ,_ :=_dedef .EncodeBytes ([]byte (_fdgf +_defff ));_agef :=int64 (len (_bebfge ));_ecffd .Set (_bcb .PdfObjectName ("\u004c\u0065\u006e\u0067\u0074\u0068"),_bcb .MakeInteger (_agef ));_geef +=_ecffd .WriteString ();_geef +="\u000a\u0073\u0074\u0072\u0065\u0061\u006d\u000a";_edfbeg .writeString (_geef );_edfbeg .writeBytes (_bebfge );_edfbeg .writeString ("\u000ae\u006ed\u0073\u0074\u0072\u0065\u0061m\u000a\u0065n\u0064\u006f\u0062\u006a\u000a");return ;};_edfbeg .writeString (_aced .WriteString ());};func (_acggb *PdfReader )newPdfOutlineItemFromIndirectObject (_dgga *_bcb .PdfIndirectObject )(*PdfOutlineItem ,error ){_eaaba ,_fbcdg :=_dgga .PdfObject .(*_bcb .PdfObjectDictionary );if !_fbcdg {return nil ,_e .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");};_gafd :=NewPdfOutlineItem ();_gdfff :=_eaaba .Get ("\u0054\u0069\u0074l\u0065");if _gdfff ==nil {return nil ,_e .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");};_fbbb ,_deadb :=_bcb .GetString (_gdfff );if !_deadb {return nil ,_e .Errorf ("\u0074\u0069\u0074le\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0054\u0029",_gdfff );};_gafd .Title =_fbbb ;if _ecagf :=_eaaba .Get ("\u0043\u006f\u0075n\u0074");_ecagf !=nil {_bgbc ,_fcbdb :=_ecagf .(*_bcb .PdfObjectInteger );if !_fcbdb {return nil ,_e .Errorf ("\u0063o\u0075\u006e\u0074\u0020n\u006f\u0074\u0020\u0061\u006e \u0069n\u0074e\u0067\u0065\u0072\u0020\u0028\u0025\u0054)",_ecagf );};_bdab :=int64 (*_bgbc );_gafd .Count =&_bdab ;};if _bafdf :=_eaaba .Get ("\u0044\u0065\u0073\u0074");_bafdf !=nil {_gafd .Dest =_bcb .ResolveReference (_bafdf );if !_acggb ._abdcg {_afcgb :=_acggb .traverseObjectData (_gafd .Dest );if _afcgb !=nil {return nil ,_afcgb ;};};};if _aega :=_eaaba .Get ("\u0041");_aega !=nil {_gafd .A =_bcb .ResolveReference (_aega );if !_acggb ._abdcg {_dedd :=_acggb .traverseObjectData (_gafd .A );if _dedd !=nil {return nil ,_dedd ;};};};if _fgffb :=_eaaba .Get ("\u0053\u0045");_fgffb !=nil {_gafd .SE =nil ;};if _febb :=_eaaba .Get ("\u0043");_febb !=nil {_gafd .C =_bcb .ResolveReference (_febb );};if _dabgg :=_eaaba .Get ("\u0046");_dabgg !=nil {_gafd .F =_bcb .ResolveReference (_dabgg );};return _gafd ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_efgf *PdfAnnotation3D )ToPdfObject ()_bcb .PdfObject {_efgf .PdfAnnotation .ToPdfObject ();_agfe :=_efgf ._daa ;_bdca :=_agfe .PdfObject .(*_bcb .PdfObjectDictionary );_bdca .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0033\u0044"));_bdca .SetIfNotNil ("\u0033\u0044\u0044",_efgf .T3DD );_bdca .SetIfNotNil ("\u0033\u0044\u0056",_efgf .T3DV );_bdca .SetIfNotNil ("\u0033\u0044\u0041",_efgf .T3DA );_bdca .SetIfNotNil ("\u0033\u0044\u0049",_efgf .T3DI );_bdca .SetIfNotNil ("\u0033\u0044\u0042",_efgf .T3DB );return _agfe ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_gcgc *PdfColorspaceDeviceRGB )ToPdfObject ()_bcb .PdfObject {return _bcb .MakeName ("\u0044e\u0076\u0069\u0063\u0065\u0052\u0047B");};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_adfa *PdfColorCalRGB )ToInteger (bits int )[3]uint32 {_efgd :=_edb .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_efgd *_adfa .A ()),uint32 (_efgd *_adfa .B ()),uint32 (_efgd *_adfa .C ())};};
|
||
|
||
// 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 *_bcb .PdfIndirectObject ;SV *_bcb .PdfIndirectObject ;};func _ebdg (_fgafc _bcb .PdfObject )(*PdfPageResourcesColorspaces ,error ){_bcgaf :=&PdfPageResourcesColorspaces {};if _daadg ,_gbefb :=_fgafc .(*_bcb .PdfIndirectObject );_gbefb {_bcgaf ._fggf =_daadg ;_fgafc =_daadg .PdfObject ;};_geafa ,_bacb :=_bcb .GetDict (_fgafc );if !_bacb {return nil ,_ae .New ("\u0043\u0053\u0020at\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};_bcgaf .Names =[]string {};_bcgaf .Colorspaces =map[string ]PdfColorspace {};for _ ,_dceeab :=range _geafa .Keys (){_dbda :=_geafa .Get (_dceeab );_bcgaf .Names =append (_bcgaf .Names ,string (_dceeab ));_agcc ,_cgcad :=NewPdfColorspaceFromPdfObject (_dbda );if _cgcad !=nil {return nil ,_cgcad ;};_bcgaf .Colorspaces [string (_dceeab )]=_agcc ;};return _bcgaf ,nil ;};
|
||
|
||
// NewPdfAnnotation3D returns a new 3d annotation.
|
||
func NewPdfAnnotation3D ()*PdfAnnotation3D {_aecf :=NewPdfAnnotation ();_bfbg :=&PdfAnnotation3D {};_bfbg .PdfAnnotation =_aecf ;_aecf .SetContext (_bfbg );return _bfbg ;};
|
||
|
||
// PdfColorspaceDeviceCMYK represents a CMYK32 colorspace.
|
||
type PdfColorspaceDeviceCMYK struct{};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_cbdfd *PdfShadingType3 )ToPdfObject ()_bcb .PdfObject {_cbdfd .PdfShading .ToPdfObject ();_cedfe ,_bcgfe :=_cbdfd .getShadingDict ();if _bcgfe !=nil {_cga .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 _cbdfd .Coords !=nil {_cedfe .Set ("\u0043\u006f\u006f\u0072\u0064\u0073",_cbdfd .Coords );};if _cbdfd .Domain !=nil {_cedfe .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_cbdfd .Domain );};if _cbdfd .Function !=nil {if len (_cbdfd .Function )==1{_cedfe .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_cbdfd .Function [0].ToPdfObject ());}else {_face :=_bcb .MakeArray ();for _ ,_cafa :=range _cbdfd .Function {_face .Append (_cafa .ToPdfObject ());};_cedfe .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_face );};};if _cbdfd .Extend !=nil {_cedfe .Set ("\u0045\u0078\u0074\u0065\u006e\u0064",_cbdfd .Extend );};return _cbdfd ._eced ;};
|
||
|
||
// SetFilter sets compression filter. Decodes with current filter sets and
|
||
// encodes the data with the new filter.
|
||
func (_bcdfde *XObjectImage )SetFilter (encoder _bcb .StreamEncoder )error {_fgcdbd :=_bcdfde .Stream ;_agggd ,_fbfg :=_bcdfde .Filter .DecodeBytes (_fgcdbd );if _fbfg !=nil {return _fbfg ;};_bcdfde .Filter =encoder ;encoder .UpdateParams (_bcdfde .getParamsDict ());_fgcdbd ,_fbfg =encoder .EncodeBytes (_agggd );if _fbfg !=nil {return _fbfg ;};_bcdfde .Stream =_fgcdbd ;return nil ;};
|
||
|
||
// SetPdfAuthor sets the Author attribute of the output PDF.
|
||
func SetPdfAuthor (author string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_bafad =author };
|
||
|
||
// PdfBorderStyle represents a border style dictionary (12.5.4 Border Styles p. 394).
|
||
type PdfBorderStyle struct{W *float64 ;S *BorderStyle ;D *[]int ;_cec _bcb .PdfObject ;};
|
||
|
||
// NewXObjectImageFromStream builds the image xobject from a stream object.
|
||
// An image dictionary is the dictionary portion of a stream object representing an image XObject.
|
||
func NewXObjectImageFromStream (stream *_bcb .PdfObjectStream )(*XObjectImage ,error ){_fegfe :=&XObjectImage {};_fegfe ._gddag =stream ;_efggg :=*(stream .PdfObjectDictionary );_agcec ,_cgcbc :=_bcb .NewEncoderFromStream (stream );if _cgcbc !=nil {return nil ,_cgcbc ;};_fegfe .Filter =_agcec ;if _edfgdd :=_bcb .TraceToDirectObject (_efggg .Get ("\u0057\u0069\u0064t\u0068"));_edfgdd !=nil {_adgcf ,_fgeeb :=_edfgdd .(*_bcb .PdfObjectInteger );if !_fgeeb {return nil ,_ae .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");};_aebde :=int64 (*_adgcf );_fegfe .Width =&_aebde ;}else {return nil ,_ae .New ("\u0077\u0069\u0064\u0074\u0068\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _fcaa :=_bcb .TraceToDirectObject (_efggg .Get ("\u0048\u0065\u0069\u0067\u0068\u0074"));_fcaa !=nil {_aaeef ,_acba :=_fcaa .(*_bcb .PdfObjectInteger );if !_acba {return nil ,_ae .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_eaccb :=int64 (*_aaeef );_fegfe .Height =&_eaccb ;}else {return nil ,_ae .New ("\u0068\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0069s\u0073\u0069\u006e\u0067");};if _ffaac :=_bcb .TraceToDirectObject (_efggg .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065"));_ffaac !=nil {_adcb ,_dfdf :=NewPdfColorspaceFromPdfObject (_ffaac );if _dfdf !=nil {return nil ,_dfdf ;};_fegfe .ColorSpace =_adcb ;}else {_cga .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");_fegfe .ColorSpace =NewPdfColorspaceDeviceGray ();};if _bcfdg :=_bcb .TraceToDirectObject (_efggg .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"));_bcfdg !=nil {_gbbagb ,_beaag :=_bcfdg .(*_bcb .PdfObjectInteger );if !_beaag {return nil ,_ae .New ("i\u006e\u0076\u0061\u006c\u0069\u0064 \u0069\u006d\u0061\u0067\u0065\u0020\u0068\u0065\u0069g\u0068\u0074\u0020o\u0062j\u0065\u0063\u0074");};_cggga :=int64 (*_gbbagb );_fegfe .BitsPerComponent =&_cggga ;};_fegfe .Intent =_efggg .Get ("\u0049\u006e\u0074\u0065\u006e\u0074");_fegfe .ImageMask =_efggg .Get ("\u0049m\u0061\u0067\u0065\u004d\u0061\u0073k");_fegfe .Mask =_efggg .Get ("\u004d\u0061\u0073\u006b");_fegfe .Decode =_efggg .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");_fegfe .Interpolate =_efggg .Get ("I\u006e\u0074\u0065\u0072\u0070\u006f\u006c\u0061\u0074\u0065");_fegfe .Alternatives =_efggg .Get ("\u0041\u006c\u0074e\u0072\u006e\u0061\u0074\u0069\u0076\u0065\u0073");_fegfe .SMask =_efggg .Get ("\u0053\u004d\u0061s\u006b");_fegfe .SMaskInData =_efggg .Get ("S\u004d\u0061\u0073\u006b\u0049\u006e\u0044\u0061\u0074\u0061");_fegfe .Matte =_efggg .Get ("\u004d\u0061\u0074t\u0065");_fegfe .Name =_efggg .Get ("\u004e\u0061\u006d\u0065");_fegfe .StructParent =_efggg .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_fegfe .ID =_efggg .Get ("\u0049\u0044");_fegfe .OPI =_efggg .Get ("\u004f\u0050\u0049");_fegfe .Metadata =_efggg .Get ("\u004d\u0065\u0074\u0061\u0064\u0061\u0074\u0061");_fegfe .OC =_efggg .Get ("\u004f\u0043");_fegfe .Stream =stream .Stream ;return _fegfe ,nil ;};func (_aad *PdfReader )newPdfAnnotationInkFromDict (_dgff *_bcb .PdfObjectDictionary )(*PdfAnnotationInk ,error ){_dbaa :=PdfAnnotationInk {};_gcca ,_bbga :=_aad .newPdfAnnotationMarkupFromDict (_dgff );if _bbga !=nil {return nil ,_bbga ;};_dbaa .PdfAnnotationMarkup =_gcca ;_dbaa .InkList =_dgff .Get ("\u0049n\u006b\u004c\u0069\u0073\u0074");_dbaa .BS =_dgff .Get ("\u0042\u0053");return &_dbaa ,nil ;};func _ecggg (_effdc _bcb .PdfObject )(*_bcb .PdfObjectDictionary ,*fontCommon ,error ){_dbad :=&fontCommon {};if _ccaed ,_fdfe :=_effdc .(*_bcb .PdfIndirectObject );_fdfe {_dbad ._dgbe =_ccaed .ObjectNumber ;};_fcbdd ,_ggffb :=_bcb .GetDict (_effdc );if !_ggffb {_cga .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",_effdc );return nil ,nil ,ErrFontNotSupported ;};_gdbbb ,_ggffb :=_bcb .GetNameVal (_fcbdd .Get ("\u0054\u0079\u0070\u0065"));if !_ggffb {_cga .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 _gdbbb !="\u0046\u006f\u006e\u0074"{_cga .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.",_gdbbb ,"\u0046\u006f\u006e\u0074");return nil ,nil ,_bcb .ErrTypeError ;};_ffbgg ,_ggffb :=_bcb .GetNameVal (_fcbdd .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065"));if !_ggffb {_cga .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 ;};_dbad ._abgg =_ffbgg ;_decf ,_ggffb :=_bcb .GetNameVal (_fcbdd .Get ("\u004e\u0061\u006d\u0065"));if _ggffb {_dbad ._gbfc =_decf ;};if _ffbgg =="\u0054\u0079\u0070e\u0033"{_cga .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",_fcbdd );return _fcbdd ,_dbad ,ErrType3FontNotSupported ;};_fdcg ,_ggffb :=_bcb .GetNameVal (_fcbdd .Get ("\u0042\u0061\u0073\u0065\u0046\u006f\u006e\u0074"));if !_ggffb {_cga .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 _fcbdd ,_dbad ,ErrRequiredAttributeMissing ;};_dbad ._daeb =_fdcg ;_cfbgg :=_fcbdd .Get ("\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072");if _cfbgg !=nil {_cbdd ,_eeabg :=_edgc (_cfbgg );if _eeabg !=nil {_cga .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",_eeabg );return _fcbdd ,_dbad ,_eeabg ;};_dbad ._ecaed =_cbdd ;};_gdeb :=_fcbdd .Get ("\u0054o\u0055\u006e\u0069\u0063\u006f\u0064e");if _gdeb !=nil {_dbad ._ebfc =_bcb .TraceToDirectObject (_gdeb );_edcd ,_egcb :=_cfba (_dbad ._ebfc ,_dbad );if _egcb !=nil {return _fcbdd ,_dbad ,_egcb ;};_dbad ._ecbe =_edcd ;}else if _ffbgg =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0030"||_ffbgg =="\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032"{_adccd ,_eaffg :=_dc .NewCIDSystemInfo (_fcbdd .Get ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f"));if _eaffg !=nil {return _fcbdd ,_dbad ,_eaffg ;};_bfbf :=_e .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0055\u0043\u0053\u0032",_adccd .Registry ,_adccd .Ordering );if _dc .IsPredefinedCMap (_bfbf ){_dbad ._ecbe ,_eaffg =_dc .LoadPredefinedCMap (_bfbf );if _eaffg !=nil {_cga .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",_bfbf ,_eaffg );};};};return _fcbdd ,_dbad ,nil ;};
|
||
|
||
// SetPdfProducer sets the Producer attribute of the output PDF.
|
||
func SetPdfProducer (producer string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_ggdgb =producer };
|
||
|
||
// SetPdfSubject sets the Subject attribute of the output PDF.
|
||
func SetPdfSubject (subject string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_gedgd =subject };
|
||
|
||
// 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 (_feaa *PdfColorspaceDeviceRGB )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=3{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_cggc :=vals [0];if _cggc < 0.0||_cggc > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bgbbf :=vals [1];if _bgbbf < 0.0||_bgbbf > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_caf :=vals [2];if _caf < 0.0||_caf > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fgcg :=NewPdfColorDeviceRGB (_cggc ,_bgbbf ,_caf );return _fgcg ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
// Note: Call the sub-annotation's ToPdfObject to set both the generic and non-generic information.
|
||
func (_ggge *PdfAnnotation )ToPdfObject ()_bcb .PdfObject {_affd :=_ggge ._daa ;_gacbb :=_affd .PdfObject .(*_bcb .PdfObjectDictionary );_gacbb .Clear ();_gacbb .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0041\u006e\u006eo\u0074"));_gacbb .SetIfNotNil ("\u0052\u0065\u0063\u0074",_ggge .Rect );_gacbb .SetIfNotNil ("\u0043\u006f\u006e\u0074\u0065\u006e\u0074\u0073",_ggge .Contents );_gacbb .SetIfNotNil ("\u0050",_ggge .P );_gacbb .SetIfNotNil ("\u004e\u004d",_ggge .NM );_gacbb .SetIfNotNil ("\u004d",_ggge .M );_gacbb .SetIfNotNil ("\u0046",_ggge .F );_gacbb .SetIfNotNil ("\u0041\u0050",_ggge .AP );_gacbb .SetIfNotNil ("\u0041\u0053",_ggge .AS );_gacbb .SetIfNotNil ("\u0042\u006f\u0072\u0064\u0065\u0072",_ggge .Border );_gacbb .SetIfNotNil ("\u0043",_ggge .C );_gacbb .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_ggge .StructParent );_gacbb .SetIfNotNil ("\u004f\u0043",_ggge .OC );return _affd ;};
|
||
|
||
// NewReaderForText makes a new PdfReader for an input PDF content string. For use in testing.
|
||
func NewReaderForText (txt string )*PdfReader {return &PdfReader {_egfef :map[_bcb .PdfObject ]struct{}{},_dafbg :_ebgca (),_ecage :_bcb .NewParserFromString (txt )};};func _eggfc (_eaed *_bcb .PdfIndirectObject )(*PdfOutline ,error ){_ecfa ,_ffeb :=_eaed .PdfObject .(*_bcb .PdfObjectDictionary );if !_ffeb {return nil ,_e .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");};_fdggc :=NewPdfOutline ();if _fagd :=_ecfa .Get ("\u0054\u0079\u0070\u0065");_fagd !=nil {_cefd ,_caeb :=_fagd .(*_bcb .PdfObjectName );if _caeb {if *_cefd !="\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"{_cga .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",*_cefd );};};};if _gggae :=_ecfa .Get ("\u0043\u006f\u0075n\u0074");_gggae !=nil {_agfaf ,_abgcd :=_bcb .GetNumberAsInt64 (_gggae );if _abgcd !=nil {return nil ,_abgcd ;};_fdggc .Count =&_agfaf ;};return _fdggc ,nil ;};const (BorderStyleSolid BorderStyle =iota ;BorderStyleDashed BorderStyle =iota ;BorderStyleBeveled BorderStyle =iota ;BorderStyleInset BorderStyle =iota ;BorderStyleUnderline BorderStyle =iota ;);func _agcca (_dbdeb *_bcb .PdfObjectDictionary )(*PdfShadingType5 ,error ){_edfba :=PdfShadingType5 {};_ffaec :=_dbdeb .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065");if _ffaec ==nil {_cga .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 ;};_acdg ,_egfec :=_ffaec .(*_bcb .PdfObjectInteger );if !_egfec {_cga .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",_ffaec );return nil ,_bcb .ErrTypeError ;};_edfba .BitsPerCoordinate =_acdg ;_ffaec =_dbdeb .Get ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074");if _ffaec ==nil {_cga .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 ;};_acdg ,_egfec =_ffaec .(*_bcb .PdfObjectInteger );if !_egfec {_cga .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",_ffaec );return nil ,_bcb .ErrTypeError ;};_edfba .BitsPerComponent =_acdg ;_ffaec =_dbdeb .Get ("\u0056\u0065\u0072\u0074\u0069\u0063\u0065\u0073\u0050e\u0072\u0052\u006f\u0077");if _ffaec ==nil {_cga .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 ;};_acdg ,_egfec =_ffaec .(*_bcb .PdfObjectInteger );if !_egfec {_cga .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",_ffaec );return nil ,_bcb .ErrTypeError ;};_edfba .VerticesPerRow =_acdg ;_ffaec =_dbdeb .Get ("\u0044\u0065\u0063\u006f\u0064\u0065");if _ffaec ==nil {_cga .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 ;};_fdfecb ,_egfec :=_ffaec .(*_bcb .PdfObjectArray );if !_egfec {_cga .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",_ffaec );return nil ,_bcb .ErrTypeError ;};_edfba .Decode =_fdfecb ;if _ddde :=_dbdeb .Get ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e");_ddde !=nil {_edfba .Function =[]PdfFunction {};if _gcadf ,_eefe :=_ddde .(*_bcb .PdfObjectArray );_eefe {for _ ,_adbga :=range _gcadf .Elements (){_dcadc ,_dagcb :=_acdfd (_adbga );if _dagcb !=nil {_cga .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",_dagcb );return nil ,_dagcb ;};_edfba .Function =append (_edfba .Function ,_dcadc );};}else {_feccg ,_efcc :=_acdfd (_ddde );if _efcc !=nil {_cga .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",_efcc );return nil ,_efcc ;};_edfba .Function =append (_edfba .Function ,_feccg );};};return &_edfba ,nil ;};
|
||
|
||
// NewPdfActionJavaScript returns a new "javaScript" action.
|
||
func NewPdfActionJavaScript ()*PdfActionJavaScript {_gad :=NewPdfAction ();_cge :=&PdfActionJavaScript {};_cge .PdfAction =_gad ;_gad .SetContext (_cge );return _cge ;};
|
||
|
||
// VRI represents a Validation-Related Information dictionary.
|
||
// The VRI dictionary contains validation data in the form of
|
||
// certificates, OCSP and CRL information, for a single signature.
|
||
// See ETSI TS 102 778-4 V1.1.1 for more information.
|
||
type VRI struct{Cert []*_bcb .PdfObjectStream ;OCSP []*_bcb .PdfObjectStream ;CRL []*_bcb .PdfObjectStream ;TU *_bcb .PdfObjectString ;TS *_bcb .PdfObjectString ;};func (_bedea *PdfReader )loadOutlines ()(*PdfOutlineTreeNode ,error ){if _bedea ._ecage .GetCrypter ()!=nil &&!_bedea ._ecage .IsAuthenticated (){return nil ,_e .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");};_cabgg :=_bedea ._fccd ;_debgc :=_cabgg .Get ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");if _debgc ==nil {return nil ,nil ;};_cga .Log .Trace ("\u002d\u0048\u0061\u0073\u0020\u006f\u0075\u0074\u006c\u0069\u006e\u0065\u0073");_cgdd :=_bcb .ResolveReference (_debgc );_cga .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0020\u0072\u006f\u006f\u0074\u003a\u0020\u0025\u0076",_cgdd );if _gcceg :=_bcb .IsNullObject (_cgdd );_gcceg {_cga .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 ;};_gfgcg ,_ffgfg :=_cgdd .(*_bcb .PdfIndirectObject );if !_ffgfg {if _ ,_cefcb :=_bcb .GetDict (_cgdd );!_cefcb {_cga .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 ;};_cga .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");_gfgcg =_bcb .MakeIndirectObject (_cgdd );};_fdcgd ,_ffgfg :=_gfgcg .PdfObject .(*_bcb .PdfObjectDictionary );if !_ffgfg {return nil ,_ae .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");};_cga .Log .Trace ("O\u0075\u0074\u006c\u0069ne\u0020r\u006f\u006f\u0074\u0020\u0064i\u0063\u0074\u003a\u0020\u0025\u0076",_fdcgd );_edbc ,_ ,_bgbae :=_bedea .buildOutlineTree (_gfgcg ,nil ,nil ,nil );if _bgbae !=nil {return nil ,_bgbae ;};_cga .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",_edbc );return _edbc ,nil ;};
|
||
|
||
// GetContentStream returns the XObject Form's content stream.
|
||
func (_aacefg *XObjectForm )GetContentStream ()([]byte ,error ){_babab ,_agegg :=_bcb .DecodeStream (_aacefg ._egcgbg );if _agegg !=nil {return nil ,_agegg ;};return _babab ,nil ;};
|
||
|
||
// NewPdfAnnotation returns an initialized generic PDF annotation model.
|
||
func NewPdfAnnotation ()*PdfAnnotation {_fgde :=&PdfAnnotation {};_fgde ._daa =_bcb .MakeIndirectObject (_bcb .MakeDict ());return _fgde ;};
|
||
|
||
// DecodeArray returns the component range values for the Separation colorspace.
|
||
func (_dabfb *PdfColorspaceSpecialSeparation )DecodeArray ()[]float64 {return []float64 {0,1.0}};
|
||
|
||
// DecodeArray returns the range of color component values in DeviceRGB colorspace.
|
||
func (_bebf *PdfColorspaceDeviceRGB )DecodeArray ()[]float64 {return []float64 {0.0,1.0,0.0,1.0,0.0,1.0};};func _cfcbg (_dgeee _bcb .PdfObject )[]*_bcb .PdfObjectStream {if _dgeee ==nil {return nil ;};_fbfa ,_ceede :=_bcb .GetArray (_dgeee );if !_ceede ||_fbfa .Len ()==0{return nil ;};_bbcce :=make ([]*_bcb .PdfObjectStream ,0,_fbfa .Len ());for _ ,_bceee :=range _fbfa .Elements (){if _edaeg ,_abfe :=_bcb .GetStream (_bceee );_abfe {_bbcce =append (_bbcce ,_edaeg );};};return _bbcce ;};var _ebefc =false ;
|
||
|
||
// GetDescent returns the Descent of the font `descriptor`.
|
||
func (_dgad *PdfFontDescriptor )GetDescent ()(float64 ,error ){return _bcb .GetNumberAsFloat (_dgad .Descent );};
|
||
|
||
// SetContentStream sets the pattern cell's content stream.
|
||
func (_baceg *PdfTilingPattern )SetContentStream (content []byte ,encoder _bcb .StreamEncoder )error {_dggbc ,_fdeca :=_baceg ._becda .(*_bcb .PdfObjectStream );if !_fdeca {_cga .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",_baceg ._becda );return _bcb .ErrTypeError ;};if encoder ==nil {encoder =_bcb .NewRawEncoder ();};_efffa :=_dggbc .PdfObjectDictionary ;_bgabb :=encoder .MakeStreamDict ();_efffa .Merge (_bgabb );_ccff ,_edfgeg :=encoder .EncodeBytes (content );if _edfgeg !=nil {return _edfgeg ;};_efffa .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_ccff ))));_dggbc .Stream =_ccff ;return nil ;};
|
||
|
||
// NewPdfColorDeviceCMYK returns a new CMYK32 color.
|
||
func NewPdfColorDeviceCMYK (c ,m ,y ,k float64 )*PdfColorDeviceCMYK {_gdffb :=PdfColorDeviceCMYK {c ,m ,y ,k };return &_gdffb ;};
|
||
|
||
// ToPdfObject return the CalGray colorspace as a PDF object (name dictionary).
|
||
func (_ffdf *PdfColorspaceCalGray )ToPdfObject ()_bcb .PdfObject {_dbbe :=&_bcb .PdfObjectArray {};_dbbe .Append (_bcb .MakeName ("\u0043a\u006c\u0047\u0072\u0061\u0079"));_afcc :=_bcb .MakeDict ();if _ffdf .WhitePoint !=nil {_afcc .Set ("\u0057\u0068\u0069\u0074\u0065\u0050\u006f\u0069\u006e\u0074",_bcb .MakeArray (_bcb .MakeFloat (_ffdf .WhitePoint [0]),_bcb .MakeFloat (_ffdf .WhitePoint [1]),_bcb .MakeFloat (_ffdf .WhitePoint [2])));}else {_cga .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 _ffdf .BlackPoint !=nil {_afcc .Set ("\u0042\u006c\u0061\u0063\u006b\u0050\u006f\u0069\u006e\u0074",_bcb .MakeArray (_bcb .MakeFloat (_ffdf .BlackPoint [0]),_bcb .MakeFloat (_ffdf .BlackPoint [1]),_bcb .MakeFloat (_ffdf .BlackPoint [2])));};_afcc .Set ("\u0047\u0061\u006dm\u0061",_bcb .MakeFloat (_ffdf .Gamma ));_dbbe .Append (_afcc );if _ffdf ._ecgg !=nil {_ffdf ._ecgg .PdfObject =_dbbe ;return _ffdf ._ecgg ;};return _dbbe ;};
|
||
|
||
// PdfShadingType2 is an Axial shading.
|
||
type PdfShadingType2 struct{*PdfShading ;Coords *_bcb .PdfObjectArray ;Domain *_bcb .PdfObjectArray ;Function []PdfFunction ;Extend *_bcb .PdfObjectArray ;};
|
||
|
||
// ColorFromPdfObjects returns a new PdfColor based on the input slice of color
|
||
// components. The slice should contain a single PdfObjectFloat element.
|
||
func (_beag *PdfColorspaceSpecialSeparation )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fbef ,_aadd :=_bcb .GetNumbersAsFloat (objects );if _aadd !=nil {return nil ,_aadd ;};return _beag .ColorFromFloats (_fbef );};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_dfcd *PdfAnnotationFileAttachment )ToPdfObject ()_bcb .PdfObject {_dfcd .PdfAnnotation .ToPdfObject ();_dcgdf :=_dfcd ._daa ;_dcag :=_dcgdf .PdfObject .(*_bcb .PdfObjectDictionary );_dfcd .PdfAnnotationMarkup .appendToPdfDictionary (_dcag );_dcag .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u0069\u006c\u0065\u0041\u0074\u0074\u0061\u0063h\u006d\u0065\u006e\u0074"));_dcag .SetIfNotNil ("\u0046\u0053",_dfcd .FS );_dcag .SetIfNotNil ("\u004e\u0061\u006d\u0065",_dfcd .Name );return _dcgdf ;};func _ebdb (_dgdc *_bcb .PdfObjectStream )(*PdfFunctionType0 ,error ){_gdgce :=&PdfFunctionType0 {};_gdgce ._gdbc =_dgdc ;_dbcdf :=_dgdc .PdfObjectDictionary ;_fgcdb ,_bgbf :=_bcb .TraceToDirectObject (_dbcdf .Get ("\u0044\u006f\u006d\u0061\u0069\u006e")).(*_bcb .PdfObjectArray );if !_bgbf {_cga .Log .Error ("D\u006fm\u0061\u0069\u006e\u0020\u006e\u006f\u0074\u0020s\u0070\u0065\u0063\u0069fi\u0065\u0064");return nil ,_ae .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 _fgcdb .Len ()< 0||_fgcdb .Len ()%2!=0{_cga .Log .Error ("\u0044\u006f\u006d\u0061\u0069\u006e\u0020\u0069\u006ev\u0061\u006c\u0069\u0064");return nil ,_ae .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0064\u006f\u006da\u0069\u006e\u0020\u0072an\u0067\u0065");};_gdgce .NumInputs =_fgcdb .Len ()/2;_baceda ,_eggea :=_fgcdb .ToFloat64Array ();if _eggea !=nil {return nil ,_eggea ;};_gdgce .Domain =_baceda ;_fgcdb ,_bgbf =_bcb .TraceToDirectObject (_dbcdf .Get ("\u0052\u0061\u006eg\u0065")).(*_bcb .PdfObjectArray );if !_bgbf {_cga .Log .Error ("\u0052\u0061\u006e\u0067e \u006e\u006f\u0074\u0020\u0073\u0070\u0065\u0063\u0069\u0066\u0069\u0065\u0064");return nil ,_ae .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 _fgcdb .Len ()< 0||_fgcdb .Len ()%2!=0{return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065");};_gdgce .NumOutputs =_fgcdb .Len ()/2;_adbfcc ,_eggea :=_fgcdb .ToFloat64Array ();if _eggea !=nil {return nil ,_eggea ;};_gdgce .Range =_adbfcc ;_fgcdb ,_bgbf =_bcb .TraceToDirectObject (_dbcdf .Get ("\u0053\u0069\u007a\u0065")).(*_bcb .PdfObjectArray );if !_bgbf {_cga .Log .Error ("\u0053i\u007ae\u0020\u006e\u006f\u0074\u0020s\u0070\u0065c\u0069\u0066\u0069\u0065\u0064");return nil ,_ae .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");};_gbfad ,_eggea :=_fgcdb .ToIntegerArray ();if _eggea !=nil {return nil ,_eggea ;};if len (_gbfad )!=_gdgce .NumInputs {_cga .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 ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdgce .Size =_gbfad ;_cgda ,_bgbf :=_bcb .TraceToDirectObject (_dbcdf .Get ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0053\u0061\u006d\u0070\u006c\u0065")).(*_bcb .PdfObjectInteger );if !_bgbf {_cga .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 ,_ae .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 *_cgda !=1&&*_cgda !=2&&*_cgda !=4&&*_cgda !=8&&*_cgda !=12&&*_cgda !=16&&*_cgda !=24&&*_cgda !=32{_cga .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",*_cgda );return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdgce .BitsPerSample =int (*_cgda );_gdgce .Order =1;_ceda ,_bgbf :=_bcb .TraceToDirectObject (_dbcdf .Get ("\u004f\u0072\u0064e\u0072")).(*_bcb .PdfObjectInteger );if _bgbf {if *_ceda !=1&&*_ceda !=3{_cga .Log .Error ("\u0049n\u0076a\u006c\u0069\u0064\u0020\u006fr\u0064\u0065r\u0020\u0028\u0025\u0064\u0029",*_ceda );return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gdgce .Order =int (*_ceda );};_fgcdb ,_bgbf =_bcb .TraceToDirectObject (_dbcdf .Get ("\u0045\u006e\u0063\u006f\u0064\u0065")).(*_bcb .PdfObjectArray );if _bgbf {_dcbdb ,_facb :=_fgcdb .ToFloat64Array ();if _facb !=nil {return nil ,_facb ;};_gdgce .Encode =_dcbdb ;};_fgcdb ,_bgbf =_bcb .TraceToDirectObject (_dbcdf .Get ("\u0044\u0065\u0063\u006f\u0064\u0065")).(*_bcb .PdfObjectArray );if _bgbf {_agdf ,_eagc :=_fgcdb .ToFloat64Array ();if _eagc !=nil {return nil ,_eagc ;};_gdgce .Decode =_agdf ;};_eccge ,_eggea :=_bcb .DecodeStream (_dgdc );if _eggea !=nil {return nil ,_eggea ;};_gdgce ._cdcfa =_eccge ;return _gdgce ,nil ;};
|
||
|
||
// PdfAnnotationProjection represents Projection annotations.
|
||
type PdfAnnotationProjection struct{*PdfAnnotation ;*PdfAnnotationMarkup ;};
|
||
|
||
// PdfAnnotationRichMedia represents Rich Media annotations.
|
||
type PdfAnnotationRichMedia struct{*PdfAnnotation ;RichMediaSettings _bcb .PdfObject ;RichMediaContent _bcb .PdfObject ;};
|
||
|
||
// Val returns the value of the color.
|
||
func (_bfba *PdfColorCalGray )Val ()float64 {return float64 (*_bfba )};
|
||
|
||
// 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 (_egfe *Image )ConvertToBinary ()error {if _egfe .ColorComponents ==1&&_egfe .BitsPerComponent ==1{return nil ;};_adeeac ,_ffccc :=_egfe .ToGoImage ();if _ffccc !=nil {return _ffccc ;};_bgfac ,_ffccc :=_fgd .MonochromeConverter .Convert (_adeeac );if _ffccc !=nil {return _ffccc ;};_egfe .BitsPerComponent =1;_egfe .ColorComponents =1;_egfe .Data =_bgfac .Base ().Data ;return nil ;};type pdfFont interface{_acc .Font ;
|
||
|
||
// ToPdfObject returns a PDF representation of the font and implements interface Model.
|
||
ToPdfObject ()_bcb .PdfObject ;getFontDescriptor ()*PdfFontDescriptor ;baseFields ()*fontCommon ;};
|
||
|
||
// ToPdfObject recursively builds the Outline tree PDF object.
|
||
func (_edfea *PdfOutline )ToPdfObject ()_bcb .PdfObject {_baaea :=_edfea ._cdec ;_bdgdd :=_baaea .PdfObject .(*_bcb .PdfObjectDictionary );_bdgdd .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073"));if _edfea .First !=nil {_bdgdd .Set ("\u0046\u0069\u0072s\u0074",_edfea .First .ToPdfObject ());};if _edfea .Last !=nil {_bdgdd .Set ("\u004c\u0061\u0073\u0074",_edfea .Last .GetContext ().GetContainingPdfObject ());};if _edfea .Parent !=nil {_bdgdd .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_edfea .Parent .GetContext ().GetContainingPdfObject ());};if _edfea .Count !=nil {_bdgdd .Set ("\u0043\u006f\u0075n\u0074",_bcb .MakeInteger (*_edfea .Count ));};return _baaea ;};
|
||
|
||
// ToPdfObject returns a stream object.
|
||
func (_fgdg *XObjectForm )ToPdfObject ()_bcb .PdfObject {_fbege :=_fgdg ._egcgbg ;_dgefa :=_fbege .PdfObjectDictionary ;if _fgdg .Filter !=nil {_dgefa =_fgdg .Filter .MakeStreamDict ();_fbege .PdfObjectDictionary =_dgefa ;};_dgefa .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0058O\u0062\u006a\u0065\u0063\u0074"));_dgefa .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u006f\u0072\u006d"));_dgefa .SetIfNotNil ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065",_fgdg .FormType );_dgefa .SetIfNotNil ("\u0042\u0042\u006f\u0078",_fgdg .BBox );_dgefa .SetIfNotNil ("\u004d\u0061\u0074\u0072\u0069\u0078",_fgdg .Matrix );if _fgdg .Resources !=nil {_dgefa .SetIfNotNil ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s",_fgdg .Resources .ToPdfObject ());};_dgefa .SetIfNotNil ("\u0047\u0072\u006fu\u0070",_fgdg .Group );_dgefa .SetIfNotNil ("\u0052\u0065\u0066",_fgdg .Ref );_dgefa .SetIfNotNil ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061",_fgdg .MetaData );_dgefa .SetIfNotNil ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o",_fgdg .PieceInfo );_dgefa .SetIfNotNil ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064",_fgdg .LastModified );_dgefa .SetIfNotNil ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074",_fgdg .StructParent );_dgefa .SetIfNotNil ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073",_fgdg .StructParents );_dgefa .SetIfNotNil ("\u004f\u0050\u0049",_fgdg .OPI );_dgefa .SetIfNotNil ("\u004f\u0043",_fgdg .OC );_dgefa .SetIfNotNil ("\u004e\u0061\u006d\u0065",_fgdg .Name );_dgefa .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_fgdg .Stream ))));_fbege .Stream =_fgdg .Stream ;return _fbege ;};func _efbgag (_adaaf _bcb .PdfObject )(string ,error ){_adaaf =_bcb .TraceToDirectObject (_adaaf );switch _cfbaa :=_adaaf .(type ){case *_bcb .PdfObjectString :return _cfbaa .Str (),nil ;case *_bcb .PdfObjectStream :_eebf ,_gfdg :=_bcb .DecodeStream (_cfbaa );if _gfdg !=nil {return "",_gfdg ;};return string (_eebf ),nil ;};return "",_e .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",_adaaf );};func _cdgdf (_gdgge _bcb .PdfObject )(*PdfShading ,error ){_fcfaf :=&PdfShading {};var _ggdega *_bcb .PdfObjectDictionary ;if _edgfe ,_aafe :=_bcb .GetIndirect (_gdgge );_aafe {_fcfaf ._eced =_edgfe ;_dgcf ,_dfcgg :=_edgfe .PdfObject .(*_bcb .PdfObjectDictionary );if !_dfcgg {_cga .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 ,_bcb .ErrTypeError ;};_ggdega =_dgcf ;}else if _beffg ,_afgbb :=_bcb .GetStream (_gdgge );_afgbb {_fcfaf ._eced =_beffg ;_ggdega =_beffg .PdfObjectDictionary ;}else if _bcabg ,_aebdd :=_bcb .GetDict (_gdgge );_aebdd {_fcfaf ._eced =_bcabg ;_ggdega =_bcabg ;}else {_cga .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",_gdgge );return nil ,_bcb .ErrTypeError ;};if _ggdega ==nil {_cga .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_ae .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_gdgge =_ggdega .Get ("S\u0068\u0061\u0064\u0069\u006e\u0067\u0054\u0079\u0070\u0065");if _gdgge ==nil {_cga .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 ;};_gdgge =_bcb .TraceToDirectObject (_gdgge );_agfc ,_ccefb :=_gdgge .(*_bcb .PdfObjectInteger );if !_ccefb {_cga .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",_gdgge );return nil ,_bcb .ErrTypeError ;};if *_agfc < 1||*_agfc > 7{_cga .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",*_agfc );return nil ,_bcb .ErrTypeError ;};_fcfaf .ShadingType =_agfc ;_gdgge =_ggdega .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");if _gdgge ==nil {_cga .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 ;};_aagc ,_bbbfe :=NewPdfColorspaceFromPdfObject (_gdgge );if _bbbfe !=nil {_cga .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",_bbbfe );return nil ,_bbbfe ;};_fcfaf .ColorSpace =_aagc ;_gdgge =_ggdega .Get ("\u0042\u0061\u0063\u006b\u0067\u0072\u006f\u0075\u006e\u0064");if _gdgge !=nil {_gdgge =_bcb .TraceToDirectObject (_gdgge );_fgfg ,_gcadd :=_gdgge .(*_bcb .PdfObjectArray );if !_gcadd {_cga .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)",_gdgge );return nil ,_bcb .ErrTypeError ;};_fcfaf .Background =_fgfg ;};_gdgge =_ggdega .Get ("\u0042\u0042\u006f\u0078");if _gdgge !=nil {_gdgge =_bcb .TraceToDirectObject (_gdgge );_deeda ,_dbefg :=_gdgge .(*_bcb .PdfObjectArray );if !_dbefg {_cga .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)",_gdgge );return nil ,_bcb .ErrTypeError ;};_gcaaed ,_caged :=NewPdfRectangle (*_deeda );if _caged !=nil {_cga .Log .Debug ("\u0042\u0042\u006f\u0078\u0020\u0065\u0072\u0072\u006fr\u003a\u0020\u0025\u0076",_caged );return nil ,_caged ;};_fcfaf .BBox =_gcaaed ;};_gdgge =_ggdega .Get ("\u0041n\u0074\u0069\u0041\u006c\u0069\u0061s");if _gdgge !=nil {_gdgge =_bcb .TraceToDirectObject (_gdgge );_bgde ,_fagab :=_gdgge .(*_bcb .PdfObjectBool );if !_fagab {_cga .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",_gdgge );return nil ,_bcb .ErrTypeError ;};_fcfaf .AntiAlias =_bgde ;};switch *_agfc {case 1:_fcggf ,_bcacbdb :=_fgcb (_ggdega );if _bcacbdb !=nil {return nil ,_bcacbdb ;};_fcggf .PdfShading =_fcfaf ;_fcfaf ._gcbd =_fcggf ;return _fcfaf ,nil ;case 2:_cfdd ,_fbba :=_fcdab (_ggdega );if _fbba !=nil {return nil ,_fbba ;};_cfdd .PdfShading =_fcfaf ;_fcfaf ._gcbd =_cfdd ;return _fcfaf ,nil ;case 3:_bdbe ,_baagd :=_fagdd (_ggdega );if _baagd !=nil {return nil ,_baagd ;};_bdbe .PdfShading =_fcfaf ;_fcfaf ._gcbd =_bdbe ;return _fcfaf ,nil ;case 4:_gfdgc ,_dggg :=_adgcee (_ggdega );if _dggg !=nil {return nil ,_dggg ;};_gfdgc .PdfShading =_fcfaf ;_fcfaf ._gcbd =_gfdgc ;return _fcfaf ,nil ;case 5:_bbggd ,_dgfgbe :=_agcca (_ggdega );if _dgfgbe !=nil {return nil ,_dgfgbe ;};_bbggd .PdfShading =_fcfaf ;_fcfaf ._gcbd =_bbggd ;return _fcfaf ,nil ;case 6:_edfecb ,_gefaab :=_fbfe (_ggdega );if _gefaab !=nil {return nil ,_gefaab ;};_edfecb .PdfShading =_fcfaf ;_fcfaf ._gcbd =_edfecb ;return _fcfaf ,nil ;case 7:_bebdfa ,_degbd :=_eacde (_ggdega );if _degbd !=nil {return nil ,_degbd ;};_bebdfa .PdfShading =_fcfaf ;_fcfaf ._gcbd =_bebdfa ;return _fcfaf ,nil ;};return nil ,_ae .New ("u\u006ek\u006e\u006f\u0077\u006e\u0020\u0073\u0068\u0061d\u0069\u006e\u0067\u0020ty\u0070\u0065");};
|
||
|
||
// PdfFieldText represents a text field where user can enter text.
|
||
type PdfFieldText struct{*PdfField ;DA *_bcb .PdfObjectString ;Q *_bcb .PdfObjectInteger ;DS *_bcb .PdfObjectString ;RV _bcb .PdfObject ;MaxLen *_bcb .PdfObjectInteger ;};func _baced (_fbeeb *PdfField )[]*PdfField {_bcagb :=[]*PdfField {_fbeeb };for _ ,_gdce :=range _fbeeb .Kids {_bcagb =append (_bcagb ,_baced (_gdce )...);};return _bcagb ;};
|
||
|
||
// 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 (_fdbbg *PdfReader )RepairAcroForm (opts *AcroFormRepairOptions )error {var _afccfd []*PdfField ;_gbbb :=map[*_bcb .PdfIndirectObject ]struct{}{};for _ ,_edcad :=range _fdbbg .PageList {_acgdg ,_gbgda :=_edcad .GetAnnotations ();if _gbgda !=nil {return _gbgda ;};for _ ,_babg :=range _acgdg {var _fcfa *PdfField ;switch _bdedg :=_babg .GetContext ().(type ){case *PdfAnnotationWidget :if _bdedg ._cbgd !=nil {_fcfa =_bdedg ._cbgd ;break ;};if _eabdb ,_ecaac :=_bcb .GetIndirect (_bdedg .Parent );_ecaac {_fcfa ,_gbgda =_fdbbg .newPdfFieldFromIndirectObject (_eabdb ,nil );if _gbgda ==nil {break ;};_cga .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",_eabdb ,_gbgda );};if _bdedg ._daa !=nil {_fcfa ,_gbgda =_fdbbg .newPdfFieldFromIndirectObject (_bdedg ._daa ,nil );if _gbgda ==nil {break ;};_cga .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",_bdedg ._daa ,_gbgda );};};if _fcfa ==nil {continue ;};if _ ,_ebbf :=_gbbb [_fcfa ._gggf ];_ebbf {continue ;};_gbbb [_fcfa ._gggf ]=struct{}{};_afccfd =append (_afccfd ,_fcfa );};};if len (_afccfd )==0{return nil ;};if _fdbbg .AcroForm ==nil {_fdbbg .AcroForm =NewPdfAcroForm ();};_fdbbg .AcroForm .Fields =&_afccfd ;return nil ;};
|
||
|
||
// Write writes out the PDF.
|
||
func (_fcaed *PdfWriter )Write (writer _fb .Writer )error {_cga .Log .Trace ("\u0057r\u0069\u0074\u0065\u0028\u0029");_ddgfc :=_dd .GetLicenseKey ();if (_ddgfc ==nil ||!_ddgfc .IsLicensed ())&&!_ebefc {_e .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");_e .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 _ae .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 _fcaed ._eefac !=nil {_cga .Log .Trace ("\u004f\u0075t\u006c\u0069\u006ee\u0054\u0072\u0065\u0065\u003a\u0020\u0025\u002b\u0076",_fcaed ._eefac );_bbfdg :=_fcaed ._eefac .ToPdfObject ();_cga .Log .Trace ("\u004fu\u0074\u006c\u0069\u006e\u0065\u0073\u003a\u0020\u0025\u002b\u0076 \u0028\u0025\u0054\u002c\u0020\u0070\u003a\u0025\u0070\u0029",_bbfdg ,_bbfdg ,_bbfdg );_fcaed ._ggfec .Set ("\u004f\u0075\u0074\u006c\u0069\u006e\u0065\u0073",_bbfdg );_gdceg :=_fcaed .addObjects (_bbfdg );if _gdceg !=nil {return _gdceg ;};};if _fcaed ._gbbc !=nil {_cga .Log .Trace ("\u0057r\u0069t\u0069\u006e\u0067\u0020\u0061c\u0072\u006f \u0066\u006f\u0072\u006d\u0073");_beada :=_fcaed ._gbbc .ToPdfObject ();_cga .Log .Trace ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d\u003a\u0020\u0025\u002b\u0076",_beada );_fcaed ._ggfec .Set ("\u0041\u0063\u0072\u006f\u0046\u006f\u0072\u006d",_beada );_gagge :=_fcaed .addObjects (_beada );if _gagge !=nil {return _gagge ;};};for _gggfc ,_deffaa :=range _fcaed ._aabce {if !_fcaed .hasObject (_gggfc ){_cga .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",_gggfc ,_gggfc ,_gggfc );for _ ,_egaef :=range _deffaa {for _ ,_bdgf :=range _egaef .Keys (){_cfcga :=_egaef .Get (_bdgf );if _cfcga ==_gggfc {_cga .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");_egaef .Set (_bdgf ,_bcb .MakeNull ());break ;};};};};};_fcaed ._ggfec .Set ("\u0056e\u0072\u0073\u0069\u006f\u006e",_bcb .MakeName (_e .Sprintf ("\u0025\u0064\u002e%\u0064",_fcaed ._fcebf ,_fcaed ._cacaf )));_fcaed .copyObjects ();if _fcaed ._bgefd !=nil {var _afbc error ;_fcaed ._adbc ,_afbc =_fcaed ._bgefd .Optimize (_fcaed ._adbc );if _afbc !=nil {return _afbc ;};_bacef :=make (map[_bcb .PdfObject ]struct{},len (_fcaed ._adbc ));for _ ,_fgdab :=range _fcaed ._adbc {_bacef [_fgdab ]=struct{}{};};_fcaed ._affdb =_bacef ;};_fcaed ._cdgbg =_fcaed ._ddac ;_fcaed ._aefcaa =_ff .NewWriter (writer );_eafca :=_fcaed ._fcebf > 1||(_fcaed ._fcebf ==1&&_fcaed ._cacaf > 4);if _fcaed ._bgeec !=nil {_eafca =*_fcaed ._bgeec ;};_fgeg :=make (map[_bcb .PdfObject ]bool );for _ ,_fadf :=range _fcaed ._adbc {if _ccecb ,_acbdd :=_fadf .(*_bcb .PdfObjectStreams );_acbdd {_eafca =true ;for _ ,_fddca :=range _ccecb .Elements (){_fgeg [_fddca ]=true ;if _agebd ,_dfacd :=_fddca .(*_bcb .PdfIndirectObject );_dfacd {_fgeg [_agebd .PdfObject ]=true ;};};};};if _eafca &&_fcaed ._fcebf ==1&&_fcaed ._cacaf < 5{_fcaed ._cacaf =5;};if _fcaed ._addfe {_fcaed .writeString ("\u000a");}else {_fcaed .writeString (_e .Sprintf ("\u0025\u0025\u0050D\u0046\u002d\u0025\u0064\u002e\u0025\u0064\u000a",_fcaed ._fcebf ,_fcaed ._cacaf ));_fcaed .writeString ("\u0025\u00e2\u00e3\u00cf\u00d3\u000a");};_fcaed .updateObjectNumbers ();_cga .Log .Trace ("\u0057\u0072\u0069\u0074\u0069\u006e\u0067\u0020\u0025d\u0020\u006f\u0062\u006a",len (_fcaed ._adbc ));_fcaed ._cddbc =make (map[int ]crossReference );_fcaed ._cddbc [0]=crossReference {Type :0,ObjectNumber :0,Generation :0xFFFF};if _fcaed ._dbacc .ObjectMap !=nil {for _egbf ,_ebgad :=range _fcaed ._dbacc .ObjectMap {if _egbf ==0{continue ;};if _ebgad .XType ==_bcb .XrefTypeObjectStream {_adbbc :=crossReference {Type :2,ObjectNumber :_ebgad .OsObjNumber ,Index :_ebgad .OsObjIndex };_fcaed ._cddbc [_egbf ]=_adbbc ;};if _ebgad .XType ==_bcb .XrefTypeTableEntry {_bgce :=crossReference {Type :1,ObjectNumber :_ebgad .ObjectNumber ,Offset :_ebgad .Offset };_fcaed ._cddbc [_egbf ]=_bgce ;};};};for _ ,_fdaca :=range _fcaed ._adbc {if _egabfd :=_fgeg [_fdaca ];_egabfd {continue ;};_bdgg :=int64 (0);switch _egbd :=_fdaca .(type ){case *_bcb .PdfIndirectObject :_bdgg =_egbd .ObjectNumber ;case *_bcb .PdfObjectStream :_bdgg =_egbd .ObjectNumber ;case *_bcb .PdfObjectStreams :_bdgg =_egbd .ObjectNumber ;default:_cga .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",_fdaca );return ErrTypeCheck ;};if _fcaed ._bggda !=nil &&_fdaca !=_fcaed ._gbaeda {_gdad :=_fcaed ._bggda .Encrypt (_fdaca ,_bdgg ,0);if _gdad !=nil {_cga .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",_gdad );return _gdad ;};};_fcaed .writeObject (int (_bdgg ),_fdaca );};_aadgb :=_fcaed ._cdgbg ;var _gceabb int ;for _bcceg :=range _fcaed ._cddbc {if _bcceg > _gceabb {_gceabb =_bcceg ;};};if _eafca {_gabfg :=_gceabb +1;_fcaed ._cddbc [_gabfg ]=crossReference {Type :1,ObjectNumber :_gabfg ,Offset :_aadgb };_cadcg :=_ede .NewBuffer (nil );_bfdcd :=_bcb .MakeArray ();for _facgg :=0;_facgg <=_gceabb ;{for ;_facgg <=_gceabb ;_facgg ++{_dedag ,_fafe :=_fcaed ._cddbc [_facgg ];if _fafe &&(!_fcaed ._addfe ||_fcaed ._addfe &&(_dedag .Type ==1&&_dedag .Offset >=_fcaed ._acaeg ||_dedag .Type ==0)){break ;};};var _cefca int ;for _cefca =_facgg +1;_cefca <=_gceabb ;_cefca ++{_ddgb ,_fadbc :=_fcaed ._cddbc [_cefca ];if _fadbc &&(!_fcaed ._addfe ||_fcaed ._addfe &&(_ddgb .Type ==1&&_ddgb .Offset > _fcaed ._acaeg )){continue ;};break ;};_bfdcd .Append (_bcb .MakeInteger (int64 (_facgg )),_bcb .MakeInteger (int64 (_cefca -_facgg )));for _dbgdf :=_facgg ;_dbgdf < _cefca ;_dbgdf ++{_efge :=_fcaed ._cddbc [_dbgdf ];switch _efge .Type {case 0:_g .Write (_cadcg ,_g .BigEndian ,byte (0));_g .Write (_cadcg ,_g .BigEndian ,uint32 (0));_g .Write (_cadcg ,_g .BigEndian ,uint16 (0xFFFF));case 1:_g .Write (_cadcg ,_g .BigEndian ,byte (1));_g .Write (_cadcg ,_g .BigEndian ,uint32 (_efge .Offset ));_g .Write (_cadcg ,_g .BigEndian ,uint16 (_efge .Generation ));case 2:_g .Write (_cadcg ,_g .BigEndian ,byte (2));_g .Write (_cadcg ,_g .BigEndian ,uint32 (_efge .ObjectNumber ));_g .Write (_cadcg ,_g .BigEndian ,uint16 (_efge .Index ));};};_facgg =_cefca +1;};_daffd ,_egbaf :=_bcb .MakeStream (_cadcg .Bytes (),_bcb .NewFlateEncoder ());if _egbaf !=nil {return _egbaf ;};_daffd .ObjectNumber =int64 (_gabfg );_daffd .PdfObjectDictionary .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0058\u0052\u0065\u0066"));_daffd .PdfObjectDictionary .Set ("\u0057",_bcb .MakeArray (_bcb .MakeInteger (1),_bcb .MakeInteger (4),_bcb .MakeInteger (2)));_daffd .PdfObjectDictionary .Set ("\u0049\u006e\u0064e\u0078",_bfdcd );_daffd .PdfObjectDictionary .Set ("\u0053\u0069\u007a\u0065",_bcb .MakeInteger (int64 (_gabfg +1)));_daffd .PdfObjectDictionary .Set ("\u0049\u006e\u0066\u006f",_fcaed ._gbfff );_daffd .PdfObjectDictionary .Set ("\u0052\u006f\u006f\u0074",_fcaed ._edecd );if _fcaed ._addfe &&_fcaed ._ecded > 0{_daffd .PdfObjectDictionary .Set ("\u0050\u0072\u0065\u0076",_bcb .MakeInteger (_fcaed ._ecded ));};if _fcaed ._bggda !=nil {_daffd .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_fcaed ._gbaeda );_daffd .Set ("\u0049\u0044",_fcaed ._ccbeb );_cga .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_fcaed ._ccbeb );};_fcaed .writeObject (int (_daffd .ObjectNumber ),_daffd );}else {_fcaed .writeString ("\u0078\u0072\u0065\u0066\u000d\u000a");for _cfcbf :=0;_cfcbf <=_gceabb ;{for ;_cfcbf <=_gceabb ;_cfcbf ++{_acefcd ,_bgebcf :=_fcaed ._cddbc [_cfcbf ];if _bgebcf &&(!_fcaed ._addfe ||_fcaed ._addfe &&(_acefcd .Type ==1&&_acefcd .Offset >=_fcaed ._acaeg ||_acefcd .Type ==0)){break ;};};var _dgaed int ;for _dgaed =_cfcbf +1;_dgaed <=_gceabb ;_dgaed ++{_cafd ,_gbde :=_fcaed ._cddbc [_dgaed ];if _gbde &&(!_fcaed ._addfe ||_fcaed ._addfe &&(_cafd .Type ==1&&_cafd .Offset > _fcaed ._acaeg )){continue ;};break ;};_gafga :=_e .Sprintf ("\u0025d\u0020\u0025\u0064\u000d\u000a",_cfcbf ,_dgaed -_cfcbf );_fcaed .writeString (_gafga );for _edcbd :=_cfcbf ;_edcbd < _dgaed ;_edcbd ++{_cccfa :=_fcaed ._cddbc [_edcbd ];switch _cccfa .Type {case 0:_gafga =_e .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u0066\u000d\u000a",0,65535);_fcaed .writeString (_gafga );case 1:_gafga =_e .Sprintf ("\u0025\u002e\u0031\u0030\u0064\u0020\u0025\u002e\u0035d\u0020\u006e\u000d\u000a",_cccfa .Offset ,0);_fcaed .writeString (_gafga );};};_cfcbf =_dgaed +1;};_deacd :=_bcb .MakeDict ();_deacd .Set ("\u0049\u006e\u0066\u006f",_fcaed ._gbfff );_deacd .Set ("\u0052\u006f\u006f\u0074",_fcaed ._edecd );_deacd .Set ("\u0053\u0069\u007a\u0065",_bcb .MakeInteger (int64 (_gceabb +1)));if _fcaed ._addfe &&_fcaed ._ecded > 0{_deacd .Set ("\u0050\u0072\u0065\u0076",_bcb .MakeInteger (_fcaed ._ecded ));};if _fcaed ._bggda !=nil {_deacd .Set ("\u0045n\u0063\u0072\u0079\u0070\u0074",_fcaed ._gbaeda );_deacd .Set ("\u0049\u0044",_fcaed ._ccbeb );_cga .Log .Trace ("\u0049d\u0073\u003a\u0020\u0025\u0073",_fcaed ._ccbeb );};_fcaed .writeString ("\u0074\u0072\u0061\u0069\u006c\u0065\u0072\u000a");_fcaed .writeString (_deacd .WriteString ());_fcaed .writeString ("\u000a");};_cdgac :=_e .Sprintf ("\u0073\u0074\u0061\u0072\u0074\u0078\u0072\u0065\u0066\u000a\u0025\u0064\u000a",_aadgb );_fcaed .writeString (_cdgac );_fcaed .writeString ("\u0025\u0025\u0045\u004f\u0046\u000a");if _fcaed ._gaacd ==nil {_fcaed ._gaacd =_fcaed ._aefcaa .Flush ();};return _fcaed ._gaacd ;};func (_gba *PdfReader )newPdfAnnotationLineFromDict (_bcae *_bcb .PdfObjectDictionary )(*PdfAnnotationLine ,error ){_bba :=PdfAnnotationLine {};_fag ,_ffc :=_gba .newPdfAnnotationMarkupFromDict (_bcae );if _ffc !=nil {return nil ,_ffc ;};_bba .PdfAnnotationMarkup =_fag ;_bba .L =_bcae .Get ("\u004c");_bba .BS =_bcae .Get ("\u0042\u0053");_bba .LE =_bcae .Get ("\u004c\u0045");_bba .IC =_bcae .Get ("\u0049\u0043");_bba .LL =_bcae .Get ("\u004c\u004c");_bba .LLE =_bcae .Get ("\u004c\u004c\u0045");_bba .Cap =_bcae .Get ("\u0043\u0061\u0070");_bba .IT =_bcae .Get ("\u0049\u0054");_bba .LLO =_bcae .Get ("\u004c\u004c\u004f");_bba .CP =_bcae .Get ("\u0043\u0050");_bba .Measure =_bcae .Get ("\u004de\u0061\u0073\u0075\u0072\u0065");_bba .CO =_bcae .Get ("\u0043\u004f");return &_bba ,nil ;};
|
||
|
||
// M returns the value of the magenta component of the color.
|
||
func (_dcdgd *PdfColorDeviceCMYK )M ()float64 {return _dcdgd [1]};
|
||
|
||
// 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 *_bcb .PdfIndirectObject `json:"-"`;Page int64 `json:"page"`;Mode string `json:"mode"`;X float64 `json:"x"`;Y float64 `json:"y"`;Zoom float64 `json:"zoom"`;};
|
||
|
||
// Encrypt encrypts the output file with a specified user/owner password.
|
||
func (_aabgc *PdfWriter )Encrypt (userPass ,ownerPass []byte ,options *EncryptOptions )error {_bgebce :=RC4_128bit ;if options !=nil {_bgebce =options .Algorithm ;};_cabdgg :=_aec .PermOwner ;if options !=nil {_cabdgg =options .Permissions ;};var _bgffa _fg .Filter ;switch _bgebce {case RC4_128bit :_bgffa =_fg .NewFilterV2 (16);case AES_128bit :_bgffa =_fg .NewFilterAESV2 ();case AES_256bit :_bgffa =_fg .NewFilterAESV3 ();default:return _e .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020a\u006cg\u006fr\u0069\u0074\u0068\u006d\u003a\u0020\u0025v",options .Algorithm );};_faceg ,_adeca ,_fdcge :=_bcb .PdfCryptNewEncrypt (_bgffa ,userPass ,ownerPass ,_cabdgg );if _fdcge !=nil {return _fdcge ;};_aabgc ._bggda =_faceg ;if _adeca .Major !=0{_aabgc .SetVersion (_adeca .Major ,_adeca .Minor );};_aabgc ._adaeb =_adeca .Encrypt ;_aabgc ._ccbeb =_bcb .MakeArray (_bcb .MakeHexString (_adeca .ID0 ),_bcb .MakeHexString (_adeca .ID1 ));_cbcbbb :=_bcb .MakeIndirectObject (_adeca .Encrypt );_aabgc ._gbaeda =_cbcbbb ;_aabgc .addObject (_cbcbbb );return nil ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_dcea *PdfShadingType7 )ToPdfObject ()_bcb .PdfObject {_dcea .PdfShading .ToPdfObject ();_cebg ,_ebafdd :=_dcea .getShadingDict ();if _ebafdd !=nil {_cga .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 _dcea .BitsPerCoordinate !=nil {_cebg .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_dcea .BitsPerCoordinate );};if _dcea .BitsPerComponent !=nil {_cebg .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_dcea .BitsPerComponent );};if _dcea .BitsPerFlag !=nil {_cebg .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_dcea .BitsPerFlag );};if _dcea .Decode !=nil {_cebg .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_dcea .Decode );};if _dcea .Function !=nil {if len (_dcea .Function )==1{_cebg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dcea .Function [0].ToPdfObject ());}else {_eccab :=_bcb .MakeArray ();for _ ,_gfddf :=range _dcea .Function {_eccab .Append (_gfddf .ToPdfObject ());};_cebg .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_eccab );};};return _dcea ._eced ;};func (_ebdcd PdfFont )actualFont ()pdfFont {if _ebdcd ._fgge ==nil {_cga .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",_ebdcd );};return _ebdcd ._fgge ;};
|
||
|
||
// PdfAnnotationPopup represents Popup annotations.
|
||
// (Section 12.5.6.14).
|
||
type PdfAnnotationPopup struct{*PdfAnnotation ;Parent _bcb .PdfObject ;Open _bcb .PdfObject ;};func _agad (_eccd *_bcb .PdfObjectDictionary )*VRI {_gefd ,_ :=_bcb .GetString (_eccd .Get ("\u0054\u0055"));_cbbf ,_ :=_bcb .GetString (_eccd .Get ("\u0054\u0053"));return &VRI {Cert :_cfcbg (_eccd .Get ("\u0043\u0065\u0072\u0074")),OCSP :_cfcbg (_eccd .Get ("\u004f\u0043\u0053\u0050")),CRL :_cfcbg (_eccd .Get ("\u0043\u0052\u004c")),TU :_gefd ,TS :_cbbf };};func (_cccf *PdfAppender )mergeResources (_bbdff ,_gfedg _bcb .PdfObject ,_fdbg map[_bcb .PdfObjectName ]_bcb .PdfObjectName )_bcb .PdfObject {if _gfedg ==nil &&_bbdff ==nil {return nil ;};if _gfedg ==nil {return _bbdff ;};_gbeb ,_ecgbb :=_bcb .GetDict (_gfedg );if !_ecgbb {return _bbdff ;};if _bbdff ==nil {_bga :=_bcb .MakeDict ();_bga .Merge (_gbeb );return _gfedg ;};_adgc ,_ecgbb :=_bcb .GetDict (_bbdff );if !_ecgbb {_cga .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");_adgc =_bcb .MakeDict ();};for _ ,_daaf :=range _gbeb .Keys (){if _eaca ,_ebda :=_fdbg [_daaf ];_ebda {_adgc .Set (_eaca ,_gbeb .Get (_daaf ));}else {_adgc .Set (_daaf ,_gbeb .Get (_daaf ));};};return _adgc ;};func (_dega *XObjectImage )getParamsDict ()*_bcb .PdfObjectDictionary {_fgdf :=_bcb .MakeDict ();_fgdf .Set ("\u0057\u0069\u0064t\u0068",_bcb .MakeInteger (*_dega .Width ));_fgdf .Set ("\u0048\u0065\u0069\u0067\u0068\u0074",_bcb .MakeInteger (*_dega .Height ));_fgdf .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_bcb .MakeInteger (int64 (_dega .ColorSpace .GetNumComponents ())));_fgdf .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_bcb .MakeInteger (*_dega .BitsPerComponent ));return _fgdf ;};
|
||
|
||
// SetDate sets the `M` field of the signature.
|
||
func (_adfge *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";};_adfge .M =_bcb .MakeString (date .Format (format ));};
|
||
|
||
// ToPdfObject returns the PDF representation of the function.
|
||
func (_bfcca *PdfFunctionType4 )ToPdfObject ()_bcb .PdfObject {_gacd :=_bfcca ._bbffg ;if _gacd ==nil {_bfcca ._bbffg =&_bcb .PdfObjectStream {};_gacd =_bfcca ._bbffg ;};_fgabf :=_bcb .MakeDict ();_fgabf .Set ("\u0046\u0075\u006ec\u0074\u0069\u006f\u006e\u0054\u0079\u0070\u0065",_bcb .MakeInteger (4));_gfafb :=&_bcb .PdfObjectArray {};for _ ,_bcaaf :=range _bfcca .Domain {_gfafb .Append (_bcb .MakeFloat (_bcaaf ));};_fgabf .Set ("\u0044\u006f\u006d\u0061\u0069\u006e",_gfafb );_dbff :=&_bcb .PdfObjectArray {};for _ ,_aegd :=range _bfcca .Range {_dbff .Append (_bcb .MakeFloat (_aegd ));};_fgabf .Set ("\u0052\u0061\u006eg\u0065",_dbff );if _bfcca ._gfdef ==nil &&_bfcca .Program !=nil {_bfcca ._gfdef =[]byte (_bfcca .Program .String ());};_fgabf .Set ("\u004c\u0065\u006e\u0067\u0074\u0068",_bcb .MakeInteger (int64 (len (_bfcca ._gfdef ))));_gacd .Stream =_bfcca ._gfdef ;_gacd .PdfObjectDictionary =_fgabf ;return _gacd ;};
|
||
|
||
// ColorToRGB converts a color in Separation colorspace to RGB colorspace.
|
||
func (_eaefe *PdfColorspaceSpecialSeparation )ColorToRGB (color PdfColor )(PdfColor ,error ){if _eaefe .AlternateSpace ==nil {return nil ,_ae .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 _eaefe .AlternateSpace .ColorToRGB (color );};
|
||
|
||
// 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 (_gbggd *PdfReader )GetObjectNums ()[]int {return _gbggd ._ecage .GetObjectNums ()};
|
||
|
||
// GetRuneMetrics returns the character metrics for the specified rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_aedd pdfCIDFontType0 )GetRuneMetrics (r rune )(_acc .CharMetrics ,bool ){return _acc .CharMetrics {Wx :_aedd ._becg },true ;};
|
||
|
||
// AddPage adds a page to the PDF file. The new page should be an indirect object.
|
||
func (_fbde *PdfWriter )AddPage (page *PdfPage )error {_bdba (page );_egabf :=page .ToPdfObject ();_cga .Log .Trace ("\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d");_cga .Log .Trace ("\u0041p\u0070\u0065\u006e\u0064i\u006e\u0067\u0020\u0074\u006f \u0070a\u0067e\u0020\u006c\u0069\u0073\u0074\u0020\u0025T",_egabf );_ecddd ,_dggag :=_bcb .GetIndirect (_egabf );if !_dggag {return _ae .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");};_cga .Log .Trace ("\u0025\u0073",_ecddd );_cga .Log .Trace ("\u0025\u0073",_ecddd .PdfObject );_bbfbe ,_dggag :=_bcb .GetDict (_ecddd .PdfObject );if !_dggag {return _ae .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");};_cacg ,_dggag :=_bcb .GetName (_bbfbe .Get ("\u0054\u0079\u0070\u0065"));if !_dggag {return _e .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",_bbfbe .Get ("\u0054\u0079\u0070\u0065"));};if _cacg .String ()!="\u0050\u0061\u0067\u0065"{return _ae .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");};_bcfec :=[]_bcb .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"};_cabdd ,_aebac :=_bcb .GetIndirect (_bbfbe .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_cga .Log .Trace ("P\u0061g\u0065\u0020\u0050\u0061\u0072\u0065\u006e\u0074:\u0020\u0025\u0054\u0020(%\u0076\u0029",_bbfbe .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"),_aebac );for _aebac {_cga .Log .Trace ("\u0050a\u0067e\u0020\u0050\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_cabdd );_affb ,_bdbgc :=_bcb .GetDict (_cabdd .PdfObject );if !_bdbgc {return _ae .New ("i\u006e\u0076\u0061\u006cid\u0020P\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};for _ ,_cdbceb :=range _bcfec {_cga .Log .Trace ("\u0046\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_cdbceb );if _bbfbe .Get (_cdbceb )!=nil {_cga .Log .Trace ("\u002d \u0070a\u0067\u0065\u0020\u0068\u0061s\u0020\u0061l\u0072\u0065\u0061\u0064\u0079");continue ;};if _gceag :=_affb .Get (_cdbceb );_gceag !=nil {_cga .Log .Trace ("\u0049\u006e\u0068\u0065ri\u0074\u0069\u006e\u0067\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u0025\u0073",_cdbceb );_bbfbe .Set (_cdbceb ,_gceag );};};_cabdd ,_aebac =_bcb .GetIndirect (_affb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));_cga .Log .Trace ("\u004ee\u0078t\u0020\u0070\u0061\u0072\u0065\u006e\u0074\u003a\u0020\u0025\u0054",_affb .Get ("\u0050\u0061\u0072\u0065\u006e\u0074"));};_cga .Log .Trace ("\u0054\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c \u0064\u006f\u006e\u0065");_bbfbe .Set ("\u0050\u0061\u0072\u0065\u006e\u0074",_fbde ._gbff );_ecddd .PdfObject =_bbfbe ;_ecbeg ,_dggag :=_bcb .GetDict (_fbde ._gbff .PdfObject );if !_dggag {return _ae .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");};_gdbdc ,_dggag :=_bcb .GetArray (_ecbeg .Get ("\u004b\u0069\u0064\u0073"));if !_dggag {return _ae .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");};_gdbdc .Append (_ecddd );_fbde ._ddcfa [_bbfbe ]=struct{}{};_ecbf ,_dggag :=_bcb .GetInt (_ecbeg .Get ("\u0043\u006f\u0075n\u0074"));if !_dggag {return _ae .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");};*_ecbf =*_ecbf +1;_fbde .addObject (_ecddd );_ebace :=_fbde .addObjects (_bbfbe );if _ebace !=nil {return _ebace ;};return nil ;};func _ggbaa (_eccbe _bcb .PdfObject ){_cga .Log .Debug ("\u006f\u0062\u006a\u003a\u0020\u0025\u0054\u0020\u0025\u0073",_eccbe ,_eccbe .String ());if _dbdg ,_fedad :=_eccbe .(*_bcb .PdfObjectStream );_fedad {_egeef ,_ececg :=_bcb .DecodeStream (_dbdg );if _ececg !=nil {_cga .Log .Debug ("\u0045r\u0072\u006f\u0072\u003a\u0020\u0025v",_ececg );return ;};_cga .Log .Debug ("D\u0065\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0073",_egeef );}else if _bgebcd ,_febbe :=_eccbe .(*_bcb .PdfIndirectObject );_febbe {_cga .Log .Debug ("\u0025\u0054\u0020%\u0076",_bgebcd .PdfObject ,_bgebcd .PdfObject );_cga .Log .Debug ("\u0025\u0073",_bgebcd .PdfObject .String ());};};
|
||
|
||
// NewXObjectImage returns a new XObjectImage.
|
||
func NewXObjectImage ()*XObjectImage {_cfegea :=&XObjectImage {};_ffdc :=&_bcb .PdfObjectStream {};_ffdc .PdfObjectDictionary =_bcb .MakeDict ();_cfegea ._gddag =_ffdc ;return _cfegea ;};func (_gbed *PdfPage )getParentResources ()(*PdfPageResources ,error ){_aaabgg :=_gbed .Parent ;for _aaabgg !=nil {_bfad ,_ffae :=_bcb .GetDict (_aaabgg );if !_ffae {_cga .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 ,_ae .New ("i\u006e\u0076\u0061\u006cid\u0020p\u0061\u0072\u0065\u006e\u0074 \u006f\u0062\u006a\u0065\u0063\u0074");};if _acaaf :=_bfad .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_acaaf !=nil {_fffbf ,_dcfg :=_bcb .GetDict (_acaaf );if !_dcfg {return nil ,_ae .New ("i\u006e\u0076\u0061\u006cid\u0020r\u0065\u0073\u006f\u0075\u0072c\u0065\u0020\u0064\u0069\u0063\u0074");};_ffgf ,_ddefe :=NewPdfPageResourcesFromDict (_fffbf );if _ddefe !=nil {return nil ,_ddefe ;};return _ffgf ,nil ;};_aaabgg =_bfad .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,nil ;};
|
||
|
||
// Hasher is the interface that wraps the basic Write method.
|
||
type Hasher interface{Write (_gadee []byte )(_agaf int ,_ccgg error );};func (_gbeed *pdfCIDFontType2 )getFontDescriptor ()*PdfFontDescriptor {return _gbeed ._ecaed };
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bfc *PdfAnnotationFreeText )ToPdfObject ()_bcb .PdfObject {_bfc .PdfAnnotation .ToPdfObject ();_fdce :=_bfc ._daa ;_ebdc :=_fdce .PdfObject .(*_bcb .PdfObjectDictionary );_bfc .PdfAnnotationMarkup .appendToPdfDictionary (_ebdc );_ebdc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0046\u0072\u0065\u0065\u0054\u0065\u0078\u0074"));_ebdc .SetIfNotNil ("\u0044\u0041",_bfc .DA );_ebdc .SetIfNotNil ("\u0051",_bfc .Q );_ebdc .SetIfNotNil ("\u0052\u0043",_bfc .RC );_ebdc .SetIfNotNil ("\u0044\u0053",_bfc .DS );_ebdc .SetIfNotNil ("\u0043\u004c",_bfc .CL );_ebdc .SetIfNotNil ("\u0049\u0054",_bfc .IT );_ebdc .SetIfNotNil ("\u0042\u0045",_bfc .BE );_ebdc .SetIfNotNil ("\u0052\u0044",_bfc .RD );_ebdc .SetIfNotNil ("\u0042\u0053",_bfc .BS );_ebdc .SetIfNotNil ("\u004c\u0045",_bfc .LE );return _fdce ;};
|
||
|
||
// GetCerts returns the signature certificate chain.
|
||
func (_afccfe *PdfSignature )GetCerts ()([]*_ffg .Certificate ,error ){var _defcc []func ()([]*_ffg .Certificate ,error );switch _gddec ,_ :=_bcb .GetNameVal (_afccfe .SubFilter );_gddec {case "\u0061\u0064\u0062\u0065.p\u006b\u0063\u0073\u0037\u002e\u0064\u0065\u0074\u0061\u0063\u0068\u0065\u0064","\u0045\u0054\u0053\u0049.C\u0041\u0064\u0045\u0053\u002e\u0064\u0065\u0074\u0061\u0063\u0068\u0065\u0064":_defcc =append (_defcc ,_afccfe .extractChainFromPKCS7 ,_afccfe .extractChainFromCert );case "\u0061d\u0062e\u002e\u0078\u0035\u0030\u0039.\u0072\u0073a\u005f\u0073\u0068\u0061\u0031":_defcc =append (_defcc ,_afccfe .extractChainFromCert );case "\u0045\u0054\u0053I\u002e\u0052\u0046\u0043\u0033\u0031\u0036\u0031":_defcc =append (_defcc ,_afccfe .extractChainFromPKCS7 );default:return nil ,_e .Errorf ("\u0075n\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020S\u0075b\u0046i\u006c\u0074\u0065\u0072\u003a\u0020\u0025s",_gddec );};for _ ,_dabbg :=range _defcc {_ebggc ,_gaffd :=_dabbg ();if _gaffd !=nil {return nil ,_gaffd ;};if len (_ebggc )> 0{return _ebggc ,nil ;};};return nil ,ErrSignNoCertificates ;};func (_bafg *PdfReader )newPdfAnnotationPopupFromDict (_eaabd *_bcb .PdfObjectDictionary )(*PdfAnnotationPopup ,error ){_gaac :=PdfAnnotationPopup {};_gaac .Parent =_eaabd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");_gaac .Open =_eaabd .Get ("\u004f\u0070\u0065\u006e");return &_gaac ,nil ;};
|
||
|
||
// GetCharMetrics returns the char metrics for character code `code`.
|
||
func (_fcbe pdfFontType0 )GetCharMetrics (code _ddd .CharCode )(_acc .CharMetrics ,bool ){if _fcbe .DescendantFont ==nil {_cga .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",_fcbe );return _acc .CharMetrics {},false ;};return _fcbe .DescendantFont .GetCharMetrics (code );};
|
||
|
||
// 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 *_bcb .PdfObjectName ;Colorants _bcb .PdfObject ;Process _bcb .PdfObject ;MixingHints _bcb .PdfObject ;_dbgdg *_bcb .PdfIndirectObject ;};
|
||
|
||
// G returns the value of the green component of the color.
|
||
func (_gcade *PdfColorDeviceRGB )G ()float64 {return _gcade [1]};
|
||
|
||
// GetNumComponents returns the number of color components (1 for grayscale).
|
||
func (_aacc *PdfColorDeviceGray )GetNumComponents ()int {return 1};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cc *PdfActionSubmitForm )ToPdfObject ()_bcb .PdfObject {_cc .PdfAction .ToPdfObject ();_accg :=_cc ._dce ;_fgc :=_accg .PdfObject .(*_bcb .PdfObjectDictionary );_fgc .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeSubmitForm )));if _cc .F !=nil {_fgc .Set ("\u0046",_cc .F .ToPdfObject ());};_fgc .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_cc .Fields );_fgc .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_cc .Flags );return _accg ;};
|
||
|
||
// 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 (_agda *PdfColorspaceDeviceCMYK )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=4{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fcbg :=vals [0];if _fcbg < 0.0||_fcbg > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_fcag :=vals [1];if _fcag < 0.0||_fcag > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_eccf :=vals [2];if _eccf < 0.0||_eccf > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_abdc :=vals [3];if _abdc < 0.0||_abdc > 1.0{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_ebbb :=NewPdfColorDeviceCMYK (_fcbg ,_fcag ,_eccf ,_abdc );return _ebbb ,nil ;};
|
||
|
||
// ColorFromPdfObjects gets the color from a series of pdf objects (4 for cmyk).
|
||
func (_gae *PdfColorspaceDeviceCMYK )ColorFromPdfObjects (objects []_bcb .PdfObject )(PdfColor ,error ){if len (objects )!=4{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_bdbb ,_fbcca :=_bcb .GetNumbersAsFloat (objects );if _fbcca !=nil {return nil ,_fbcca ;};return _gae .ColorFromFloats (_bdbb );};func (_dbc *PdfReader )newPdfActionGotoRFromDict (_agcb *_bcb .PdfObjectDictionary )(*PdfActionGoToR ,error ){_efcg ,_eef :=_geg (_agcb .Get ("\u0046"));if _eef !=nil {return nil ,_eef ;};return &PdfActionGoToR {D :_agcb .Get ("\u0044"),NewWindow :_agcb .Get ("\u004ee\u0077\u0057\u0069\u006e\u0064\u006fw"),F :_efcg },nil ;};func (_ffdfd *LTV )enable (_gdfcg ,_fgfe []*_ffg .Certificate ,_ddbg string )error {_abdb ,_cbbb ,_decba :=_ffdfd .buildCertChain (_gdfcg ,_fgfe );if _decba !=nil {return _decba ;};_egeaf ,_decba :=_ffdfd .getCerts (_abdb );if _decba !=nil {return _decba ;};_ggga ,_decba :=_ffdfd .getOCSPs (_abdb ,_cbbb );if _decba !=nil {return _decba ;};_adbgb ,_decba :=_ffdfd .getCRLs (_abdb );if _decba !=nil {return _decba ;};_gddg :=_ffdfd ._gddf ;_gdbbf ,_decba :=_gddg .addCerts (_egeaf );if _decba !=nil {return _decba ;};_gfafbf ,_decba :=_gddg .addOCSPs (_ggga );if _decba !=nil {return _decba ;};_cdgga ,_decba :=_gddg .addCRLs (_adbgb );if _decba !=nil {return _decba ;};if _ddbg !=""{_gddg .VRI [_ddbg ]=&VRI {Cert :_gdbbf ,OCSP :_gfafbf ,CRL :_cdgga };};_ffdfd ._dfegg .SetDSS (_gddg );return nil ;};func (_edgf *fontFile )parseASCIIPart (_adfe []byte )error {if len (_adfe )< 2||string (_adfe [:2])!="\u0025\u0021"{return _ae .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");};_gcgbd ,_faefg ,_aacga :=_cgfef (_adfe );if _aacga !=nil {return _aacga ;};_gedg :=_ffbd (_gcgbd );_edgf ._cfgbe =_gedg ["\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065"];if _edgf ._cfgbe ==""{_cga .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 _faefg !=""{_bfdbd ,_agcgc :=_bgcc (_faefg );if _agcgc !=nil {return _agcgc ;};_ggdea ,_agcgc :=_ddd .NewCustomSimpleTextEncoder (_bfdbd ,nil );if _agcgc !=nil {_cga .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",_agcgc );return nil ;};_edgf ._ecge =_ggdea ;};return nil ;};
|
||
|
||
// Register registers (caches) a model to primitive object relationship.
|
||
func (_bbagd *modelManager )Register (primitive _bcb .PdfObject ,model PdfModel ){_bbagd ._eccaga [model ]=primitive ;_bbagd ._ecfgbb [primitive ]=model ;};func (_fbcdda *PdfSignature )extractChainFromPKCS7 ()([]*_ffg .Certificate ,error ){_gggdb ,_acgcd :=_ce .Parse (_fbcdda .Contents .Bytes ());if _acgcd !=nil {return nil ,_acgcd ;};return _gggdb .Certificates ,nil ;};
|
||
|
||
// GetNumPages returns the number of pages in the document.
|
||
func (_egcea *PdfReader )GetNumPages ()(int ,error ){if _egcea ._ecage .GetCrypter ()!=nil &&!_egcea ._ecage .IsAuthenticated (){return 0,_e .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 (_egcea ._fcff ),nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddbe *PdfAnnotationRichMedia )ToPdfObject ()_bcb .PdfObject {_ddbe .PdfAnnotation .ToPdfObject ();_gfcc :=_ddbe ._daa ;_bcgac :=_gfcc .PdfObject .(*_bcb .PdfObjectDictionary );_bcgac .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0052i\u0063\u0068\u004d\u0065\u0064\u0069a"));_bcgac .SetIfNotNil ("\u0052\u0069\u0063\u0068\u004d\u0065\u0064\u0069\u0061\u0053\u0065\u0074t\u0069\u006e\u0067\u0073",_ddbe .RichMediaSettings );_bcgac .SetIfNotNil ("\u0052\u0069c\u0068\u004d\u0065d\u0069\u0061\u0043\u006f\u006e\u0074\u0065\u006e\u0074",_ddbe .RichMediaContent );return _gfcc ;};
|
||
|
||
// BorderEffect represents a border effect (Table 167 p. 395).
|
||
type BorderEffect int ;
|
||
|
||
// Decrypt decrypts the PDF file with a specified password. Also tries to
|
||
// decrypt with an empty password. Returns true if successful,
|
||
// false otherwise.
|
||
func (_fgeda *PdfReader )Decrypt (password []byte )(bool ,error ){_baee ,_dfccb :=_fgeda ._ecage .Decrypt (password );if _dfccb !=nil {return false ,_dfccb ;};if !_baee {return false ,nil ;};_dfccb =_fgeda .loadStructure ();if _dfccb !=nil {_cga .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",_dfccb );return false ,_dfccb ;};return true ,nil ;};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_gdfec *PdfFont )Encoder ()_ddd .TextEncoder {_beaab :=_gdfec .actualFont ();if _beaab ==nil {_cga .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",_gdfec ._fgge );return nil ;};return _beaab .Encoder ();};
|
||
|
||
// AddFont adds a font dictionary to the Font resources.
|
||
func (_gfggg *PdfPage )AddFont (name _bcb .PdfObjectName ,font _bcb .PdfObject )error {if _gfggg .Resources ==nil {_gfggg .Resources =NewPdfPageResources ();};if _gfggg .Resources .Font ==nil {_gfggg .Resources .Font =_bcb .MakeDict ();};_eegbb ,_cfgag :=_bcb .TraceToDirectObject (_gfggg .Resources .Font ).(*_bcb .PdfObjectDictionary );if !_cfgag {_cga .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",_bcb .TraceToDirectObject (_gfggg .Resources .Font ));return _ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_eegbb .Set (name ,font );return nil ;};
|
||
|
||
// ToPdfObject returns a PDF object representation of the outline item.
|
||
func (_faeec *OutlineItem )ToPdfObject ()_bcb .PdfObject {_afaad ,_ :=_faeec .ToPdfOutlineItem ();return _afaad .ToPdfObject ();};
|
||
|
||
// AddExtGState adds a graphics state to the XObject resources.
|
||
func (_bcgf *PdfPage )AddExtGState (name _bcb .PdfObjectName ,egs *_bcb .PdfObjectDictionary )error {if _bcgf .Resources ==nil {_bcgf .Resources =NewPdfPageResources ();};if _bcgf .Resources .ExtGState ==nil {_bcgf .Resources .ExtGState =_bcb .MakeDict ();};_ebed ,_fddb :=_bcb .TraceToDirectObject (_bcgf .Resources .ExtGState ).(*_bcb .PdfObjectDictionary );if !_fddb {_cga .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",_bcb .TraceToDirectObject (_bcgf .Resources .ExtGState ));return _ae .New ("\u0074\u0079p\u0065\u0020\u0063h\u0065\u0063\u006b\u0020\u0065\u0072\u0072\u006f\u0072");};_ebed .Set (name ,egs );return nil ;};func _aga (_dfed _bcb .PdfObject )(*PdfColorspaceDeviceN ,error ){_cdacd :=NewPdfColorspaceDeviceN ();if _gbda ,_dagd :=_dfed .(*_bcb .PdfIndirectObject );_dagd {_cdacd ._dcfed =_gbda ;};_dfed =_bcb .TraceToDirectObject (_dfed );_beac ,_dbac :=_dfed .(*_bcb .PdfObjectArray );if !_dbac {return nil ,_e .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 _beac .Len ()!=4&&_beac .Len ()!=5{return nil ,_e .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");};_dfed =_beac .Get (0);_bafdd ,_dbac :=_dfed .(*_bcb .PdfObjectName );if !_dbac {return nil ,_e .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 *_bafdd !="\u0044e\u0076\u0069\u0063\u0065\u004e"{return nil ,_e .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");};_dfed =_beac .Get (1);_dfed =_bcb .TraceToDirectObject (_dfed );_cgcd ,_dbac :=_dfed .(*_bcb .PdfObjectArray );if !_dbac {return nil ,_e .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");};_cdacd .ColorantNames =_cgcd ;_dfed =_beac .Get (2);_eeeb ,_efbaf :=NewPdfColorspaceFromPdfObject (_dfed );if _efbaf !=nil {return nil ,_efbaf ;};_cdacd .AlternateSpace =_eeeb ;_gdefc ,_efbaf :=_acdfd (_beac .Get (3));if _efbaf !=nil {return nil ,_efbaf ;};_cdacd .TintTransform =_gdefc ;if _beac .Len ()==5{_eada ,_caeec :=_egdf (_beac .Get (4));if _caeec !=nil {return nil ,_caeec ;};_cdacd .Attributes =_eada ;};return _cdacd ,nil ;};
|
||
|
||
// String returns a string representation of what flags are set.
|
||
func (_geag FieldFlag )String ()string {_fcfc :="";if _geag ==FieldFlagClear {_fcfc ="\u0043\u006c\u0065a\u0072";return _fcfc ;};if _geag &FieldFlagReadOnly > 0{_fcfc +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _geag &FieldFlagRequired > 0{_fcfc +="\u007cR\u0065\u0061\u0064\u004f\u006e\u006cy";};if _geag &FieldFlagNoExport > 0{_fcfc +="\u007cN\u006f\u0045\u0078\u0070\u006f\u0072t";};if _geag &FieldFlagNoToggleToOff > 0{_fcfc +="\u007c\u004e\u006f\u0054\u006f\u0067\u0067\u006c\u0065T\u006f\u004f\u0066\u0066";};if _geag &FieldFlagRadio > 0{_fcfc +="\u007c\u0052\u0061\u0064\u0069\u006f";};if _geag &FieldFlagPushbutton > 0{_fcfc +="|\u0050\u0075\u0073\u0068\u0062\u0075\u0074\u0074\u006f\u006e";};if _geag &FieldFlagRadiosInUnision > 0{_fcfc +="\u007c\u0052a\u0064\u0069\u006fs\u0049\u006e\u0055\u006e\u0069\u0073\u0069\u006f\u006e";};if _geag &FieldFlagMultiline > 0{_fcfc +="\u007c\u004d\u0075\u006c\u0074\u0069\u006c\u0069\u006e\u0065";};if _geag &FieldFlagPassword > 0{_fcfc +="\u007cP\u0061\u0073\u0073\u0077\u006f\u0072d";};if _geag &FieldFlagFileSelect > 0{_fcfc +="|\u0046\u0069\u006c\u0065\u0053\u0065\u006c\u0065\u0063\u0074";};if _geag &FieldFlagDoNotScroll > 0{_fcfc +="\u007c\u0044\u006fN\u006f\u0074\u0053\u0063\u0072\u006f\u006c\u006c";};if _geag &FieldFlagComb > 0{_fcfc +="\u007c\u0043\u006fm\u0062";};if _geag &FieldFlagRichText > 0{_fcfc +="\u007cR\u0069\u0063\u0068\u0054\u0065\u0078t";};if _geag &FieldFlagDoNotSpellCheck > 0{_fcfc +="\u007c\u0044o\u004e\u006f\u0074S\u0070\u0065\u006c\u006c\u0043\u0068\u0065\u0063\u006b";};if _geag &FieldFlagCombo > 0{_fcfc +="\u007c\u0043\u006f\u006d\u0062\u006f";};if _geag &FieldFlagEdit > 0{_fcfc +="\u007c\u0045\u0064i\u0074";};if _geag &FieldFlagSort > 0{_fcfc +="\u007c\u0053\u006fr\u0074";};if _geag &FieldFlagMultiSelect > 0{_fcfc +="\u007c\u004d\u0075l\u0074\u0069\u0053\u0065\u006c\u0065\u0063\u0074";};if _geag &FieldFlagCommitOnSelChange > 0{_fcfc +="\u007cC\u006fm\u006d\u0069\u0074\u004f\u006eS\u0065\u006cC\u0068\u0061\u006e\u0067\u0065";};return _gc .Trim (_fcfc ,"\u007c");};
|
||
|
||
// 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 *_bcb .PdfObjectStream ;Data []byte ;_aaadb *_bcb .PdfIndirectObject ;_gdgc *_bcb .PdfObjectStream ;};
|
||
|
||
// PdfActionThread represents a thread action.
|
||
type PdfActionThread struct{*PdfAction ;F *PdfFilespec ;D _bcb .PdfObject ;B _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ddaf *PdfAnnotationMovie )ToPdfObject ()_bcb .PdfObject {_ddaf .PdfAnnotation .ToPdfObject ();_dgbb :=_ddaf ._daa ;_efbg :=_dgbb .PdfObject .(*_bcb .PdfObjectDictionary );_efbg .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u004d\u006f\u0076i\u0065"));_efbg .SetIfNotNil ("\u0054",_ddaf .T );_efbg .SetIfNotNil ("\u004d\u006f\u0076i\u0065",_ddaf .Movie );_efbg .SetIfNotNil ("\u0041",_ddaf .A );return _dgbb ;};
|
||
|
||
// ToPdfObject returns a PdfObject representation of PdfColorspaceDeviceNAttributes as a PdfObjectDictionary directly
|
||
// or indirectly within an indirect object container.
|
||
func (_fcgac *PdfColorspaceDeviceNAttributes )ToPdfObject ()_bcb .PdfObject {_ddafb :=_bcb .MakeDict ();if _fcgac .Subtype !=nil {_ddafb .Set ("\u0053u\u0062\u0074\u0079\u0070\u0065",_fcgac .Subtype );};_ddafb .SetIfNotNil ("\u0043o\u006c\u006f\u0072\u0061\u006e\u0074s",_fcgac .Colorants );_ddafb .SetIfNotNil ("\u0050r\u006f\u0063\u0065\u0073\u0073",_fcgac .Process );_ddafb .SetIfNotNil ("M\u0069\u0078\u0069\u006e\u0067\u0048\u0069\u006e\u0074\u0073",_fcgac .MixingHints );if _fcgac ._dbgdg !=nil {_fcgac ._dbgdg .PdfObject =_ddafb ;return _fcgac ._dbgdg ;};return _ddafb ;};
|
||
|
||
// PdfActionRendition represents a Rendition action.
|
||
type PdfActionRendition struct{*PdfAction ;R _bcb .PdfObject ;AN _bcb .PdfObject ;OP _bcb .PdfObject ;JS _bcb .PdfObject ;};func (_bfagge *PdfWriter )addObject (_aafb _bcb .PdfObject )bool {_cedffe :=_bfagge .hasObject (_aafb );if !_cedffe {_dfdg :=_bcb .ResolveReferencesDeep (_aafb ,_bfagge ._fddc );if _dfdg !=nil {_cga .Log .Debug ("E\u0052R\u004f\u0052\u003a\u0020\u0025\u0076\u0020\u002d \u0073\u006b\u0069\u0070pi\u006e\u0067",_dfdg );};_bfagge ._adbc =append (_bfagge ._adbc ,_aafb );_bfagge ._affdb [_aafb ]=struct{}{};return true ;};return false ;};
|
||
|
||
// GetNumComponents returns the number of color components (3 for Lab).
|
||
func (_fdde *PdfColorLab )GetNumComponents ()int {return 3};func (_fabc *DSS )generateHashMap (_ccfdg []*_bcb .PdfObjectStream )(map[string ]*_bcb .PdfObjectStream ,error ){_cdacb :=map[string ]*_bcb .PdfObjectStream {};for _ ,_agdg :=range _ccfdg {_gegg ,_gbab :=_bcb .DecodeStream (_agdg );if _gbab !=nil {return nil ,_gbab ;};_edfb ,_gbab :=_ebeed (_gegg );if _gbab !=nil {return nil ,_gbab ;};_cdacb [string (_edfb )]=_agdg ;};return _cdacb ,nil ;};
|
||
|
||
// NewPdfColorspaceLab returns a new Lab colorspace object.
|
||
func NewPdfColorspaceLab ()*PdfColorspaceLab {_fcgge :=&PdfColorspaceLab {};_fcgge .BlackPoint =[]float64 {0.0,0.0,0.0};_fcgge .Range =[]float64 {-100,100,-100,100};return _fcgge ;};
|
||
|
||
// IsTerminal returns true for terminal fields, false otherwise.
|
||
// Terminal fields are fields whose descendants are only widget annotations.
|
||
func (_geaae *PdfField )IsTerminal ()bool {return len (_geaae .Kids )==0};
|
||
|
||
// NewXObjectForm creates a brand new XObject Form. Creates a new underlying PDF object stream primitive.
|
||
func NewXObjectForm ()*XObjectForm {_egefa :=&XObjectForm {};_dabede :=&_bcb .PdfObjectStream {};_dabede .PdfObjectDictionary =_bcb .MakeDict ();_egefa ._egcgbg =_dabede ;return _egefa ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cfg *PdfActionResetForm )ToPdfObject ()_bcb .PdfObject {_cfg .PdfAction .ToPdfObject ();_ggf :=_cfg ._dce ;_bgc :=_ggf .PdfObject .(*_bcb .PdfObjectDictionary );_bgc .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeResetForm )));_bgc .SetIfNotNil ("\u0046\u0069\u0065\u006c\u0064\u0073",_cfg .Fields );_bgc .SetIfNotNil ("\u0046\u006c\u0061g\u0073",_cfg .Flags );return _ggf ;};
|
||
|
||
// 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 };};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gcaf *PdfAnnotationWidget )ToPdfObject ()_bcb .PdfObject {_gcaf .PdfAnnotation .ToPdfObject ();_efae :=_gcaf ._daa ;_affe :=_efae .PdfObject .(*_bcb .PdfObjectDictionary );if _gcaf ._eaa {return _efae ;};_gcaf ._eaa =true ;_affe .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0057\u0069\u0064\u0067\u0065\u0074"));_affe .SetIfNotNil ("\u0048",_gcaf .H );_affe .SetIfNotNil ("\u004d\u004b",_gcaf .MK );_affe .SetIfNotNil ("\u0041",_gcaf .A );_affe .SetIfNotNil ("\u0041\u0041",_gcaf .AA );_affe .SetIfNotNil ("\u0042\u0053",_gcaf .BS );_eacd :=_gcaf .Parent ;if _gcaf ._cbgd !=nil {if _gcaf ._cbgd ._gggf ==_gcaf ._daa {_gcaf ._cbgd .ToPdfObject ();};_eacd =_gcaf ._cbgd .GetContainingPdfObject ();};if _eacd !=_efae {_affe .SetIfNotNil ("\u0050\u0061\u0072\u0065\u006e\u0074",_eacd );};_gcaf ._eaa =false ;return _efae ;};
|
||
|
||
// 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 ;
|
||
|
||
// PdfActionResetForm represents a resetForm action.
|
||
type PdfActionResetForm struct{*PdfAction ;Fields _bcb .PdfObject ;Flags _bcb .PdfObject ;};
|
||
|
||
// CustomKeys returns all custom info keys as list.
|
||
func (_aebg *PdfInfo )CustomKeys ()[]string {if _aebg ._affda ==nil {return nil ;};_gaafe :=make ([]string ,len (_aebg ._affda .Keys ()));for _ ,_ccdc :=range _aebg ._affda .Keys (){_gaafe =append (_gaafe ,_ccdc .String ());};return _gaafe ;};
|
||
|
||
// PdfColorspaceCalGray represents CalGray color space.
|
||
type PdfColorspaceCalGray struct{WhitePoint []float64 ;BlackPoint []float64 ;Gamma float64 ;_ecgg *_bcb .PdfIndirectObject ;};
|
||
|
||
// NewOutlineItem returns a new outline item instance.
|
||
func NewOutlineItem (title string ,dest OutlineDest )*OutlineItem {return &OutlineItem {Title :title ,Dest :dest };};
|
||
|
||
// NewXObjectFormFromStream builds the Form XObject from a stream object.
|
||
// TODO: Should this be exposed? Consider different access points.
|
||
func NewXObjectFormFromStream (stream *_bcb .PdfObjectStream )(*XObjectForm ,error ){_fdaab :=&XObjectForm {};_fdaab ._egcgbg =stream ;_dfab :=*(stream .PdfObjectDictionary );_bgca ,_eeef :=_bcb .NewEncoderFromStream (stream );if _eeef !=nil {return nil ,_eeef ;};_fdaab .Filter =_bgca ;if _fagae :=_dfab .Get ("\u0053u\u0062\u0074\u0079\u0070\u0065");_fagae !=nil {_bfbbg ,_cadba :=_fagae .(*_bcb .PdfObjectName );if !_cadba {return nil ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0065\u0072\u0072\u006f\u0072");};if *_bfbbg !="\u0046\u006f\u0072\u006d"{_cga .Log .Debug ("I\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");return nil ,_ae .New ("i\u006ev\u0061\u006c\u0069\u0064\u0020\u0066\u006f\u0072m\u0020\u0073\u0075\u0062ty\u0070\u0065");};};if _dfbed :=_dfab .Get ("\u0046\u006f\u0072\u006d\u0054\u0079\u0070\u0065");_dfbed !=nil {_fdaab .FormType =_dfbed ;};if _ddaec :=_dfab .Get ("\u0042\u0042\u006f\u0078");_ddaec !=nil {_fdaab .BBox =_ddaec ;};if _efcf :=_dfab .Get ("\u004d\u0061\u0074\u0072\u0069\u0078");_efcf !=nil {_fdaab .Matrix =_efcf ;};if _ececa :=_dfab .Get ("\u0052e\u0073\u006f\u0075\u0072\u0063\u0065s");_ececa !=nil {_ececa =_bcb .TraceToDirectObject (_ececa );_defa ,_beeda :=_ececa .(*_bcb .PdfObjectDictionary );if !_beeda {_cga .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 ,_bcb .ErrTypeError ;};_fdcb ,_efcbe :=NewPdfPageResourcesFromDict (_defa );if _efcbe !=nil {_cga .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 ,_efcbe ;};_fdaab .Resources =_fdcb ;_cga .Log .Trace ("\u0046\u006f\u0072\u006d r\u0065\u0073\u006f\u0075\u0072\u0063\u0065\u0073\u003a\u0020\u0025\u0023\u0076",_fdaab .Resources );};_fdaab .Group =_dfab .Get ("\u0047\u0072\u006fu\u0070");_fdaab .Ref =_dfab .Get ("\u0052\u0065\u0066");_fdaab .MetaData =_dfab .Get ("\u004d\u0065\u0074\u0061\u0044\u0061\u0074\u0061");_fdaab .PieceInfo =_dfab .Get ("\u0050i\u0065\u0063\u0065\u0049\u006e\u0066o");_fdaab .LastModified =_dfab .Get ("\u004c\u0061\u0073t\u004d\u006f\u0064\u0069\u0066\u0069\u0065\u0064");_fdaab .StructParent =_dfab .Get ("\u0053\u0074\u0072u\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074");_fdaab .StructParents =_dfab .Get ("\u0053\u0074\u0072\u0075\u0063\u0074\u0050\u0061\u0072\u0065\u006e\u0074\u0073");_fdaab .OPI =_dfab .Get ("\u004f\u0050\u0049");_fdaab .OC =_dfab .Get ("\u004f\u0043");_fdaab .Name =_dfab .Get ("\u004e\u0061\u006d\u0065");_fdaab .Stream =stream .Stream ;return _fdaab ,nil ;};
|
||
|
||
// NewPdfActionURI returns a new "Uri" action.
|
||
func NewPdfActionURI ()*PdfActionURI {_agc :=NewPdfAction ();_acd :=&PdfActionURI {};_acd .PdfAction =_agc ;_agc .SetContext (_acd );return _acd ;};func (_fbefe *PdfFilespec )getDict ()*_bcb .PdfObjectDictionary {if _gcfcf ,_bgeg :=_fbefe ._dcgf .(*_bcb .PdfIndirectObject );_bgeg {_eeaaa ,_cadcb :=_gcfcf .PdfObject .(*_bcb .PdfObjectDictionary );if !_cadcb {return nil ;};return _eeaaa ;}else if _dafga ,_fcae :=_fbefe ._dcgf .(*_bcb .PdfObjectDictionary );_fcae {return _dafga ;}else {_cga .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",_fbefe ._dcgf );return nil ;};};
|
||
|
||
// NewPdfPageResources returns a new PdfPageResources object.
|
||
func NewPdfPageResources ()*PdfPageResources {_bedcd :=&PdfPageResources {};_bedcd ._daggd =_bcb .MakeDict ();return _bedcd ;};func (_degb *PdfReader )newPdfAnnotationTrapNetFromDict (_dgg *_bcb .PdfObjectDictionary )(*PdfAnnotationTrapNet ,error ){_adadf :=PdfAnnotationTrapNet {};return &_adadf ,nil ;};func (_eaggc *pdfFontSimple )updateStandard14Font (){_aeaac ,_fceadd :=_eaggc .Encoder ().(_ddd .SimpleEncoder );if !_fceadd {_cga .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",_eaggc .Encoder (),_eaggc );return ;};_cccb :=_aeaac .Charcodes ();_eaggc ._dgdfc =make (map[_ddd .CharCode ]float64 ,len (_cccb ));for _ ,_ebee :=range _cccb {_gecad ,_ :=_aeaac .CharcodeToRune (_ebee );_eaggc ._dgdfc [_ebee ]=_eaggc ._gbggc [_gecad ].Wx ;};};
|
||
|
||
// GetContainingPdfObject returns the container of the image object (indirect object).
|
||
func (_dgaf *XObjectImage )GetContainingPdfObject ()_bcb .PdfObject {return _dgaf ._gddag };
|
||
|
||
// ImageToRGB converts an image in CMYK32 colorspace to an RGB image.
|
||
func (_cead *PdfColorspaceDeviceCMYK )ImageToRGB (img Image )(Image ,error ){_cga .Log .Trace ("\u0043\u004d\u0059\u004b\u0033\u0032\u0020\u002d\u003e\u0020\u0052\u0047\u0042");_cga .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 );_cga .Log .Trace ("\u004c\u0065\u006e \u0064\u0061\u0074\u0061\u003a\u0020\u0025\u0064",len (img .Data ));_cga .Log .Trace ("H\u0065\u0069\u0067\u0068t:\u0020%\u0064\u002c\u0020\u0057\u0069d\u0074\u0068\u003a\u0020\u0025\u0064",img .Height ,img .Width );_dbdb ,_eegd :=_fgd .NewImage (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),img .ColorComponents ,img .Data ,img ._cdeb ,img ._fdggf );if _eegd !=nil {return Image {},_eegd ;};_aacd ,_eegd :=_fgd .NRGBAConverter .Convert (_dbdb );if _eegd !=nil {return Image {},_eegd ;};return _gagca (_aacd .Base ()),nil ;};
|
||
|
||
// GetAllContentStreams gets all the content streams for a page as one string.
|
||
func (_ecaea *PdfPage )GetAllContentStreams ()(string ,error ){_ccbeg ,_gddcfd :=_ecaea .GetContentStreams ();if _gddcfd !=nil {return "",_gddcfd ;};return _gc .Join (_ccbeg ,"\u0020"),nil ;};func _cgfef (_bade []byte )(_gbcf ,_caba string ,_acbde error ){_cga .Log .Trace ("g\u0065\u0074\u0041\u0053CI\u0049S\u0065\u0063\u0074\u0069\u006fn\u0073\u003a\u0020\u0025\u0064\u0020",len (_bade ));_fbdac :=_gebfd .FindIndex (_bade );if _fbdac ==nil {_cga .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 "","",_bcb .ErrTypeError ;};_agdad :=_fbdac [1];_cbfba :=_gc .Index (string (_bade [_agdad :]),_dgbdb );if _cbfba < 0{_gbcf =string (_bade [_agdad :]);return _gbcf ,"",nil ;};_dbcdg :=_agdad +_cbfba ;_gbcf =string (_bade [_agdad :_dbcdg ]);_bdbdf :=_dbcdg ;_cbfba =_gc .Index (string (_bade [_bdbdf :]),_gdgb );if _cbfba < 0{_cga .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",_acbde );return "","",_bcb .ErrTypeError ;};_acadc :=_bdbdf +_cbfba ;_caba =string (_bade [_bdbdf :_acadc ]);return _gbcf ,_caba ,nil ;};
|
||
|
||
// EncryptionAlgorithm is used in EncryptOptions to change the default algorithm used to encrypt the document.
|
||
type EncryptionAlgorithm int ;
|
||
|
||
// ImageToRGB converts an image with samples in Separation CS to an image with samples specified in
|
||
// DeviceRGB CS.
|
||
func (_cef *PdfColorspaceSpecialSeparation )ImageToRGB (img Image )(Image ,error ){_agfd :=_cgb .NewReader (img .getBase ());_cbce :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),_cef .AlternateSpace .GetNumComponents (),nil ,img ._cdeb ,nil );_eedb :=_cgb .NewWriter (_cbce );_ggfd :=_edb .Pow (2,float64 (img .BitsPerComponent ))-1;_cga .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");_cga .Log .Trace ("\u0054i\u006et\u0054\u0072\u0061\u006e\u0073f\u006f\u0072m\u003a\u0020\u0025\u002b\u0076",_cef .TintTransform );_eedg :=_cef .AlternateSpace .DecodeArray ();var (_fcdad uint32 ;_adeb error ;);for {_fcdad ,_adeb =_agfd .ReadSample ();if _adeb ==_fb .EOF {break ;};if _adeb !=nil {return img ,_adeb ;};_aggc :=float64 (_fcdad )/_ggfd ;_agcgb ,_gadd :=_cef .TintTransform .Evaluate ([]float64 {_aggc });if _gadd !=nil {return img ,_gadd ;};for _gfba ,_beeed :=range _agcgb {_edebd :=_fgd .LinearInterpolate (_beeed ,_eedg [_gfba *2],_eedg [_gfba *2+1],0,1);if _gadd =_eedb .WriteSample (uint32 (_edebd *_ggfd ));_gadd !=nil {return img ,_gadd ;};};};return _cef .AlternateSpace .ImageToRGB (_gagca (&_cbce ));};
|
||
|
||
// GetContainingPdfObject returns the container of the pattern object (indirect object).
|
||
func (_afef *PdfPattern )GetContainingPdfObject ()_bcb .PdfObject {return _afef ._becda };
|
||
|
||
// PdfAnnotationScreen represents Screen annotations.
|
||
// (Section 12.5.6.18).
|
||
type PdfAnnotationScreen struct{*PdfAnnotation ;T _bcb .PdfObject ;MK _bcb .PdfObject ;A _bcb .PdfObject ;AA _bcb .PdfObject ;};
|
||
|
||
// DecodeArray returns the component range values for the Indexed colorspace.
|
||
func (_daab *PdfColorspaceSpecialIndexed )DecodeArray ()[]float64 {return []float64 {0,float64 (_daab .HiVal )};};
|
||
|
||
// GetContainingPdfObject implements interface PdfModel.
|
||
func (_db *PdfAction )GetContainingPdfObject ()_bcb .PdfObject {return _db ._dce };func _dcde (_egefe *[]*PdfField ,_cdbfc FieldFilterFunc ,_abfg bool )[]*PdfField {if _egefe ==nil {return nil ;};_gddac :=*_egefe ;if len (*_egefe )==0{return nil ;};_bgbgf :=_gddac [:0];if _cdbfc ==nil {_cdbfc =func (*PdfField )bool {return true };};var _ecff []*PdfField ;for _ ,_ggfdd :=range _gddac {_ffefb :=_cdbfc (_ggfdd );if _ffefb {_ecff =append (_ecff ,_ggfdd );if len (_ggfdd .Kids )> 0{_ecff =append (_ecff ,_dcde (&_ggfdd .Kids ,_cdbfc ,_abfg )...);};};if !_abfg ||!_ffefb ||len (_ggfdd .Kids )> 0{_bgbgf =append (_bgbgf ,_ggfdd );};};*_egefe =_bgbgf ;return _ecff ;};
|
||
|
||
// GetMediaBox gets the inheritable media box value, either from the page
|
||
// or a higher up page/pages struct.
|
||
func (_dagcc *PdfPage )GetMediaBox ()(*PdfRectangle ,error ){if _dagcc .MediaBox !=nil {return _dagcc .MediaBox ,nil ;};_eggde :=_dagcc .Parent ;for _eggde !=nil {_bgaabc ,_gecb :=_bcb .GetDict (_eggde );if !_gecb {return nil ,_ae .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 _cfdcd :=_bgaabc .Get ("\u004d\u0065\u0064\u0069\u0061\u0042\u006f\u0078");_cfdcd !=nil {_gbfgf ,_dcbace :=_bcb .GetArray (_cfdcd );if !_dcbace {return nil ,_ae .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u006d\u0065\u0064\u0069a\u0020\u0062\u006f\u0078");};_fbcgg ,_ageda :=NewPdfRectangle (*_gbfgf );if _ageda !=nil {return nil ,_ageda ;};return _fbcgg ,nil ;};_eggde =_bgaabc .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");};return nil ,_ae .New ("m\u0065\u0064\u0069\u0061 b\u006fx\u0020\u006e\u006f\u0074\u0020d\u0065\u0066\u0069\u006e\u0065\u0064");};
|
||
|
||
// NewPdfPageResourcesFromDict creates and returns a new PdfPageResources object
|
||
// from the input dictionary.
|
||
func NewPdfPageResourcesFromDict (dict *_bcb .PdfObjectDictionary )(*PdfPageResources ,error ){_ecfbf :=NewPdfPageResources ();if _ccccg :=dict .Get ("\u0045x\u0074\u0047\u0053\u0074\u0061\u0074e");_ccccg !=nil {_ecfbf .ExtGState =_ccccg ;};if _bcafd :=dict .Get ("\u0043\u006f\u006c\u006f\u0072\u0053\u0070\u0061\u0063\u0065");_bcafd !=nil &&!_bcb .IsNullObject (_bcafd ){_ecfbf .ColorSpace =_bcafd ;};if _acfe :=dict .Get ("\u0050a\u0074\u0074\u0065\u0072\u006e");_acfe !=nil {_ecfbf .Pattern =_acfe ;};if _eccbb :=dict .Get ("\u0053h\u0061\u0064\u0069\u006e\u0067");_eccbb !=nil {_ecfbf .Shading =_eccbb ;};if _dbgdb :=dict .Get ("\u0058O\u0062\u006a\u0065\u0063\u0074");_dbgdb !=nil {_ecfbf .XObject =_dbgdb ;};if _dbcdgg :=_bcb .ResolveReference (dict .Get ("\u0046\u006f\u006e\u0074"));_dbcdgg !=nil {_ecfbf .Font =_dbcdgg ;};if _fcfdf :=dict .Get ("\u0050r\u006f\u0063\u0053\u0065\u0074");_fcfdf !=nil {_ecfbf .ProcSet =_fcfdf ;};if _ceaf :=dict .Get ("\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073");_ceaf !=nil {_ecfbf .Properties =_ceaf ;};return _ecfbf ,nil ;};func _affcd ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();if len (_aacca )> 0{return _aacca ;};return "\u0055n\u0069\u0044\u006f\u0063 \u002d\u0020\u0068\u0074\u0074p\u003a/\u002fu\u006e\u0069\u0064\u006f\u0063\u002e\u0069o";};
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_fcf *PdfColorDeviceRGB )ToInteger (bits int )[3]uint32 {_ggbbg :=_edb .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_ggbbg *_fcf .R ()),uint32 (_ggbbg *_fcf .G ()),uint32 (_ggbbg *_fcf .B ())};};func (_eefb *PdfReader )loadAction (_cccc _bcb .PdfObject )(*PdfAction ,error ){if _bed ,_bbbd :=_bcb .GetIndirect (_cccc );_bbbd {_gcf ,_edda :=_eefb .newPdfActionFromIndirectObject (_bed );if _edda !=nil {return nil ,_edda ;};return _gcf ,nil ;}else if !_bcb .IsNullObject (_cccc ){return nil ,_ae .New ("\u0061\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0070\u006f\u0069\u006e\u0074 \u0074\u006f\u0020\u0061\u006e\u0020\u0069\u006e\u0064\u0069\u0072\u0065\u0063\u0074\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};return nil ,nil ;};func _edgc (_debd _bcb .PdfObject )(*PdfFontDescriptor ,error ){_ccbe :=&PdfFontDescriptor {};_debd =_bcb .ResolveReference (_debd );if _geaec ,_beaaf :=_debd .(*_bcb .PdfIndirectObject );_beaaf {_ccbe ._aaed =_geaec ;_debd =_geaec .PdfObject ;};_dfbe ,_fegg :=_bcb .GetDict (_debd );if !_fegg {_cga .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",_debd );return nil ,_bcb .ErrTypeError ;};if _bdaf :=_dfbe .Get ("\u0046\u006f\u006e\u0074\u004e\u0061\u006d\u0065");_bdaf !=nil {_ccbe .FontName =_bdaf ;}else {_cga .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");};_cgefc ,_ :=_bcb .GetName (_ccbe .FontName );if _cecg :=_dfbe .Get ("\u0054\u0079\u0070\u0065");_cecg !=nil {_bdgba ,_acadg :=_cecg .(*_bcb .PdfObjectName );if !_acadg ||string (*_bdgba )!="\u0046\u006f\u006e\u0074\u0044\u0065\u0073\u0063\u0072i\u0070\u0074\u006f\u0072"{_cga .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",_cecg ,_cgefc ,_ccbe .FontName );};}else {_cga .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",_cgefc ,_ccbe .FontName );};_ccbe .FontFamily =_dfbe .Get ("\u0046\u006f\u006e\u0074\u0046\u0061\u006d\u0069\u006c\u0079");_ccbe .FontStretch =_dfbe .Get ("F\u006f\u006e\u0074\u0053\u0074\u0072\u0065\u0074\u0063\u0068");_ccbe .FontWeight =_dfbe .Get ("\u0046\u006f\u006e\u0074\u0057\u0065\u0069\u0067\u0068\u0074");_ccbe .Flags =_dfbe .Get ("\u0046\u006c\u0061g\u0073");_ccbe .FontBBox =_dfbe .Get ("\u0046\u006f\u006e\u0074\u0042\u0042\u006f\u0078");_ccbe .ItalicAngle =_dfbe .Get ("I\u0074\u0061\u006c\u0069\u0063\u0041\u006e\u0067\u006c\u0065");_ccbe .Ascent =_dfbe .Get ("\u0041\u0073\u0063\u0065\u006e\u0074");_ccbe .Descent =_dfbe .Get ("\u0044e\u0073\u0063\u0065\u006e\u0074");_ccbe .Leading =_dfbe .Get ("\u004ce\u0061\u0064\u0069\u006e\u0067");_ccbe .CapHeight =_dfbe .Get ("\u0043a\u0070\u0048\u0065\u0069\u0067\u0068t");_ccbe .XHeight =_dfbe .Get ("\u0058H\u0065\u0069\u0067\u0068\u0074");_ccbe .StemV =_dfbe .Get ("\u0053\u0074\u0065m\u0056");_ccbe .StemH =_dfbe .Get ("\u0053\u0074\u0065m\u0048");_ccbe .AvgWidth =_dfbe .Get ("\u0041\u0076\u0067\u0057\u0069\u0064\u0074\u0068");_ccbe .MaxWidth =_dfbe .Get ("\u004d\u0061\u0078\u0057\u0069\u0064\u0074\u0068");_ccbe .MissingWidth =_dfbe .Get ("\u004d\u0069\u0073s\u0069\u006e\u0067\u0057\u0069\u0064\u0074\u0068");_ccbe .FontFile =_dfbe .Get ("\u0046\u006f\u006e\u0074\u0046\u0069\u006c\u0065");_ccbe .FontFile2 =_dfbe .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00652");_ccbe .FontFile3 =_dfbe .Get ("\u0046o\u006e\u0074\u0046\u0069\u006c\u00653");_ccbe .CharSet =_dfbe .Get ("\u0043h\u0061\u0072\u0053\u0065\u0074");_ccbe .Style =_dfbe .Get ("\u0053\u0074\u0079l\u0065");_ccbe .Lang =_dfbe .Get ("\u004c\u0061\u006e\u0067");_ccbe .FD =_dfbe .Get ("\u0046\u0044");_ccbe .CIDSet =_dfbe .Get ("\u0043\u0049\u0044\u0053\u0065\u0074");if _ccbe .Flags !=nil {if _bbaf ,_eafa :=_bcb .GetIntVal (_ccbe .Flags );_eafa {_ccbe ._fefb =_bbaf ;};};if _ccbe .MissingWidth !=nil {if _gaab ,_adae :=_bcb .GetNumberAsFloat (_ccbe .MissingWidth );_adae ==nil {_ccbe ._adfb =_gaab ;};};if _ccbe .FontFile !=nil {_aaca ,_geafe :=_efed (_ccbe .FontFile );if _geafe !=nil {return _ccbe ,_geafe ;};_cga .Log .Trace ("f\u006f\u006e\u0074\u0046\u0069\u006c\u0065\u003d\u0025\u0073",_aaca );_ccbe .fontFile =_aaca ;};if _ccbe .FontFile2 !=nil {_fgecg ,_efgdf :=_acc .NewFontFile2FromPdfObject (_ccbe .FontFile2 );if _efgdf !=nil {return _ccbe ,_efgdf ;};_cga .Log .Trace ("\u0066\u006f\u006et\u0046\u0069\u006c\u0065\u0032\u003d\u0025\u0073",_fgecg .String ());_ccbe ._bdecf =&_fgecg ;};return _ccbe ,nil ;};
|
||
|
||
// ImageToRGB converts Lab colorspace image to RGB and returns the result.
|
||
func (_afbge *PdfColorspaceLab )ImageToRGB (img Image )(Image ,error ){_fgbb :=func (_abb float64 )float64 {if _abb >=6.0/29{return _abb *_abb *_abb ;};return 108.0/841*(_abb -4/29);};_fecda :=img ._fdggf ;if len (_fecda )!=6{_cga .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");_fecda =_afbge .DecodeArray ();};_bebfa :=_cgb .NewReader (img .getBase ());_afga :=_fgd .NewImageBase (int (img .Width ),int (img .Height ),int (img .BitsPerComponent ),3,nil ,img ._cdeb ,img ._fdggf );_ggda :=_cgb .NewWriter (_afga );_dcdb :=_edb .Pow (2,float64 (img .BitsPerComponent ))-1;_cdf :=make ([]uint32 ,3);var (_bfeb error ;Ls ,As ,Bs ,L ,M ,N ,X ,Y ,Z ,_gfcce ,_bgeea ,_gddc float64 ;);for {_bfeb =_bebfa .ReadSamples (_cdf );if _bfeb ==_fb .EOF {break ;}else if _bfeb !=nil {return img ,_bfeb ;};Ls =float64 (_cdf [0])/_dcdb ;As =float64 (_cdf [1])/_dcdb ;Bs =float64 (_cdf [2])/_dcdb ;Ls =_fgd .LinearInterpolate (Ls ,0.0,1.0,_fecda [0],_fecda [1]);As =_fgd .LinearInterpolate (As ,0.0,1.0,_fecda [2],_fecda [3]);Bs =_fgd .LinearInterpolate (Bs ,0.0,1.0,_fecda [4],_fecda [5]);L =(Ls +16)/116+As /500;M =(Ls +16)/116;N =(Ls +16)/116-Bs /200;X =_afbge .WhitePoint [0]*_fgbb (L );Y =_afbge .WhitePoint [1]*_fgbb (M );Z =_afbge .WhitePoint [2]*_fgbb (N );_gfcce =3.240479*X +-1.537150*Y +-0.498535*Z ;_bgeea =-0.969256*X +1.875992*Y +0.041556*Z ;_gddc =0.055648*X +-0.204043*Y +1.057311*Z ;_gfcce =_edb .Min (_edb .Max (_gfcce ,0),1.0);_bgeea =_edb .Min (_edb .Max (_bgeea ,0),1.0);_gddc =_edb .Min (_edb .Max (_gddc ,0),1.0);_cdf [0]=uint32 (_gfcce *_dcdb );_cdf [1]=uint32 (_bgeea *_dcdb );_cdf [2]=uint32 (_gddc *_dcdb );if _bfeb =_ggda .WriteSamples (_cdf );_bfeb !=nil {return img ,_bfeb ;};};return _gagca (&_afga ),nil ;};func (_aeffe *PdfWriter )copyObject (_agfff _bcb .PdfObject ,_gbbfd map[_bcb .PdfObject ]_bcb .PdfObject ,_cebbg map[_bcb .PdfObject ]struct{},_cfbd bool )_bcb .PdfObject {_bgccc :=!_aeffe ._addfe &&_cebbg !=nil ;if _ggade ,_eceea :=_gbbfd [_agfff ];_eceea {if _bgccc &&!_cfbd {delete (_cebbg ,_agfff );};return _ggade ;};_afbba :=_agfff ;switch _addcf :=_agfff .(type ){case *_bcb .PdfObjectArray :_cdgf :=_bcb .MakeArray ();_afbba =_cdgf ;_gbbfd [_agfff ]=_afbba ;for _ ,_gbcd :=range _addcf .Elements (){_cdgf .Append (_aeffe .copyObject (_gbcd ,_gbbfd ,_cebbg ,_cfbd ));};case *_bcb .PdfObjectStreams :_bfga :=&_bcb .PdfObjectStreams {PdfObjectReference :_addcf .PdfObjectReference };_afbba =_bfga ;_gbbfd [_agfff ]=_afbba ;for _ ,_dabgb :=range _addcf .Elements (){_bfga .Append (_aeffe .copyObject (_dabgb ,_gbbfd ,_cebbg ,_cfbd ));};case *_bcb .PdfObjectStream :_abadc :=&_bcb .PdfObjectStream {Stream :_addcf .Stream ,PdfObjectReference :_addcf .PdfObjectReference };_afbba =_abadc ;_gbbfd [_agfff ]=_afbba ;_abadc .PdfObjectDictionary =_aeffe .copyObject (_addcf .PdfObjectDictionary ,_gbbfd ,_cebbg ,_cfbd ).(*_bcb .PdfObjectDictionary );case *_bcb .PdfObjectDictionary :var _caebe bool ;if _bgccc &&!_cfbd {if _dccdf ,_ :=_bcb .GetNameVal (_addcf .Get ("\u0054\u0079\u0070\u0065"));_dccdf =="\u0050\u0061\u0067\u0065"{_ ,_gbgef :=_aeffe ._ddcfa [_addcf ];_cfbd =!_gbgef ;_caebe =_cfbd ;};};_aaefd :=_bcb .MakeDict ();_afbba =_aaefd ;_gbbfd [_agfff ]=_afbba ;for _ ,_abbd :=range _addcf .Keys (){_aaefd .Set (_abbd ,_aeffe .copyObject (_addcf .Get (_abbd ),_gbbfd ,_cebbg ,_cfbd ));};if _caebe {_afbba =_bcb .MakeNull ();_cfbd =false ;};case *_bcb .PdfIndirectObject :_fcfdd :=&_bcb .PdfIndirectObject {PdfObjectReference :_addcf .PdfObjectReference };_afbba =_fcfdd ;_gbbfd [_agfff ]=_afbba ;_fcfdd .PdfObject =_aeffe .copyObject (_addcf .PdfObject ,_gbbfd ,_cebbg ,_cfbd );case *_bcb .PdfObjectString :_eeabe :=*_addcf ;_afbba =&_eeabe ;_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectName :_bcafa :=*_addcf ;_afbba =&_bcafa ;_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectNull :_afbba =_bcb .MakeNull ();_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectInteger :_decagc :=*_addcf ;_afbba =&_decagc ;_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectReference :_aeea :=*_addcf ;_afbba =&_aeea ;_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectFloat :_gceea :=*_addcf ;_afbba =&_gceea ;_gbbfd [_agfff ]=_afbba ;case *_bcb .PdfObjectBool :_eedgc :=*_addcf ;_afbba =&_eedgc ;_gbbfd [_agfff ]=_afbba ;case *pdfSignDictionary :_gbedb :=&pdfSignDictionary {PdfObjectDictionary :_bcb .MakeDict (),_afebe :_addcf ._afebe ,_dgcc :_addcf ._dgcc };_afbba =_gbedb ;_gbbfd [_agfff ]=_afbba ;for _ ,_fecdb :=range _addcf .Keys (){_gbedb .Set (_fecdb ,_aeffe .copyObject (_addcf .Get (_fecdb ),_gbbfd ,_cebbg ,_cfbd ));};default:_cga .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",_agfff );};if _bgccc &&_cfbd {_cebbg [_agfff ]=struct{}{};};return _afbba ;};var _fegbg =map[string ]struct{}{"\u0054\u0069\u0074l\u0065":{},"\u0041\u0075\u0074\u0068\u006f\u0072":{},"\u0053u\u0062\u006a\u0065\u0063\u0074":{},"\u004b\u0065\u0079\u0077\u006f\u0072\u0064\u0073":{},"\u0043r\u0065\u0061\u0074\u006f\u0072":{},"\u0050\u0072\u006f\u0064\u0075\u0063\u0065\u0072":{},"\u0054r\u0061\u0070\u0070\u0065\u0064":{},"\u0043\u0072\u0065a\u0074\u0069\u006f\u006e\u0044\u0061\u0074\u0065":{},"\u004do\u0064\u0044\u0061\u0074\u0065":{}};func (_fdge *PdfReader )newPdfAnnotationWidgetFromDict (_bafd *_bcb .PdfObjectDictionary )(*PdfAnnotationWidget ,error ){_dgc :=PdfAnnotationWidget {};_dgc .H =_bafd .Get ("\u0048");_dgc .MK =_bafd .Get ("\u004d\u004b");_dgc .A =_bafd .Get ("\u0041");_dgc .AA =_bafd .Get ("\u0041\u0041");_dgc .BS =_bafd .Get ("\u0042\u0053");_dgc .Parent =_bafd .Get ("\u0050\u0061\u0072\u0065\u006e\u0074");return &_dgc ,nil ;};
|
||
|
||
// Insert adds an outline item as a child of the current outline item,
|
||
// at the specified index.
|
||
func (_bcbe *OutlineItem )Insert (index uint ,item *OutlineItem ){_agae :=uint (len (_bcbe .Entries ));if index > _agae {index =_agae ;};_bcbe .Entries =append (_bcbe .Entries [:index ],append ([]*OutlineItem {item },_bcbe .Entries [index :]...)...);};
|
||
|
||
// Encoder returns the font's text encoder.
|
||
func (_eabg pdfFontType0 )Encoder ()_ddd .TextEncoder {return _eabg ._cfaee };
|
||
|
||
// ToInteger convert to an integer format.
|
||
func (_gceab *PdfColorLab )ToInteger (bits int )[3]uint32 {_aefg :=_edb .Pow (2,float64 (bits ))-1;return [3]uint32 {uint32 (_aefg *_gceab .L ()),uint32 (_aefg *_gceab .A ()),uint32 (_aefg *_gceab .B ())};};
|
||
|
||
// GetContentStreamWithEncoder returns the pattern cell's content stream and its encoder
|
||
func (_bcgfb *PdfTilingPattern )GetContentStreamWithEncoder ()([]byte ,_bcb .StreamEncoder ,error ){_bfeaa ,_abdgg :=_bcgfb ._becda .(*_bcb .PdfObjectStream );if !_abdgg {_cga .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",_bcgfb ._becda );return nil ,nil ,_bcb .ErrTypeError ;};_baade ,_cbea :=_bcb .DecodeStream (_bfeaa );if _cbea !=nil {_cga .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",_cbea );return nil ,nil ,_cbea ;};_becc ,_cbea :=_bcb .NewEncoderFromStream (_bfeaa );if _cbea !=nil {_cga .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",_cbea );return nil ,nil ,_cbea ;};return _baade ,_becc ,nil ;};
|
||
|
||
// PdfBorderEffect represents a PDF border effect.
|
||
type PdfBorderEffect struct{S *BorderEffect ;I *float64 ;};
|
||
|
||
// NewOutlineBookmark returns an initialized PdfOutlineItem for a given bookmark title and page.
|
||
func NewOutlineBookmark (title string ,page *_bcb .PdfIndirectObject )*PdfOutlineItem {_ecab :=PdfOutlineItem {};_ecab ._bfagd =&_ecab ;_ecab .Title =_bcb .MakeString (title );_dcgba :=_bcb .MakeArray ();_dcgba .Append (page );_dcgba .Append (_bcb .MakeName ("\u0046\u0069\u0074"));_ecab .Dest =_dcgba ;return &_ecab ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_cad *PdfAnnotationSquiggly )ToPdfObject ()_bcb .PdfObject {_cad .PdfAnnotation .ToPdfObject ();_ece :=_cad ._daa ;_dbgb :=_ece .PdfObject .(*_bcb .PdfObjectDictionary );_cad .PdfAnnotationMarkup .appendToPdfDictionary (_dbgb );_dbgb .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053\u0071\u0075\u0069\u0067\u0067\u006c\u0079"));_dbgb .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_cad .QuadPoints );return _ece ;};
|
||
|
||
// GetNumComponents returns the number of color components (1 for CalGray).
|
||
func (_aebc *PdfColorCalGray )GetNumComponents ()int {return 1};
|
||
|
||
// String implements interface PdfObject.
|
||
func (_ag *PdfAction )String ()string {_ebd ,_be :=_ag .ToPdfObject ().(*_bcb .PdfIndirectObject );if _be {return _e .Sprintf ("\u0025\u0054\u003a\u0020\u0025\u0073",_ag ._dda ,_ebd .PdfObject .String ());};return "";};
|
||
|
||
// PdfAnnotationText represents Text annotations.
|
||
// (Section 12.5.6.4 p. 402).
|
||
type PdfAnnotationText struct{*PdfAnnotation ;*PdfAnnotationMarkup ;Open _bcb .PdfObject ;Name _bcb .PdfObject ;State _bcb .PdfObject ;StateModel _bcb .PdfObject ;};
|
||
|
||
// ToPdfObject converts the pdfCIDFontType2 to a PDF representation.
|
||
func (_gdbbbb *pdfCIDFontType2 )ToPdfObject ()_bcb .PdfObject {if _gdbbbb ._egegg ==nil {_gdbbbb ._egegg =&_bcb .PdfIndirectObject {};};_agba :=_gdbbbb .baseFields ().asPdfObjectDictionary ("\u0043\u0049\u0044F\u006f\u006e\u0074\u0054\u0079\u0070\u0065\u0032");_gdbbbb ._egegg .PdfObject =_agba ;if _gdbbbb .CIDSystemInfo !=nil {_agba .Set ("\u0043\u0049\u0044\u0053\u0079\u0073\u0074\u0065\u006d\u0049\u006e\u0066\u006f",_gdbbbb .CIDSystemInfo );};if _gdbbbb .DW !=nil {_agba .Set ("\u0044\u0057",_gdbbbb .DW );};if _gdbbbb .DW2 !=nil {_agba .Set ("\u0044\u0057\u0032",_gdbbbb .DW2 );};if _gdbbbb .W !=nil {_agba .Set ("\u0057",_gdbbbb .W );};if _gdbbbb .W2 !=nil {_agba .Set ("\u0057\u0032",_gdbbbb .W2 );};if _gdbbbb .CIDToGIDMap !=nil {_agba .Set ("C\u0049\u0044\u0054\u006f\u0047\u0049\u0044\u004d\u0061\u0070",_gdbbbb .CIDToGIDMap );};return _gdbbbb ._egegg ;};
|
||
|
||
// Flags returns the field flags for the field accounting for any inherited flags.
|
||
func (_befff *PdfField )Flags ()FieldFlag {var _afdg FieldFlag ;_acecc ,_ababa :=_befff .inherit (func (_cfgd *PdfField )bool {if _cfgd .Ff !=nil {_afdg =FieldFlag (*_befff .Ff );return true ;};return false ;});if _ababa !=nil {_cga .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",_ababa );};if !_acecc {_cga .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 _afdg ;};func (_gfa *PdfReader )newPdfActionJavaScriptFromDict (_cfac *_bcb .PdfObjectDictionary )(*PdfActionJavaScript ,error ){return &PdfActionJavaScript {JS :_cfac .Get ("\u004a\u0053")},nil ;};
|
||
|
||
// NewPdfFilespecFromObj creates and returns a new PdfFilespec object.
|
||
func NewPdfFilespecFromObj (obj _bcb .PdfObject )(*PdfFilespec ,error ){_eegea :=&PdfFilespec {};var _eedgd *_bcb .PdfObjectDictionary ;if _dgbc ,_efdc :=_bcb .GetIndirect (obj );_efdc {_eegea ._dcgf =_dgbc ;_bcgdd ,_aace :=_bcb .GetDict (_dgbc .PdfObject );if !_aace {_cga .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 ,_bcb .ErrTypeError ;};_eedgd =_bcgdd ;}else if _cbeb ,_efabfd :=_bcb .GetDict (obj );_efabfd {_eegea ._dcgf =_cbeb ;_eedgd =_cbeb ;}else {_cga .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 ,_bcb .ErrTypeError ;};if _eedgd ==nil {_cga .Log .Debug ("\u0044i\u0063t\u0069\u006f\u006e\u0061\u0072y\u0020\u006di\u0073\u0073\u0069\u006e\u0067");return nil ,_ae .New ("\u0064\u0069\u0063t\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};if _dggf :=_eedgd .Get ("\u0054\u0079\u0070\u0065");_dggf !=nil {_adcdc ,_gcebf :=_dggf .(*_bcb .PdfObjectName );if !_gcebf {_cga .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",_dggf );}else {if *_adcdc !="\u0046\u0069\u006c\u0065\u0073\u0070\u0065\u0063"{_cga .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",*_adcdc );};};};if _gbbg :=_eedgd .Get ("\u0046\u0053");_gbbg !=nil {_eegea .FS =_gbbg ;};if _fgced :=_eedgd .Get ("\u0046");_fgced !=nil {_eegea .F =_fgced ;};if _baec :=_eedgd .Get ("\u0055\u0046");_baec !=nil {_eegea .UF =_baec ;};if _adbf :=_eedgd .Get ("\u0044\u004f\u0053");_adbf !=nil {_eegea .DOS =_adbf ;};if _gdea :=_eedgd .Get ("\u004d\u0061\u0063");_gdea !=nil {_eegea .Mac =_gdea ;};if _gaagc :=_eedgd .Get ("\u0055\u006e\u0069\u0078");_gaagc !=nil {_eegea .Unix =_gaagc ;};if _dge :=_eedgd .Get ("\u0049\u0044");_dge !=nil {_eegea .ID =_dge ;};if _edff :=_eedgd .Get ("\u0056");_edff !=nil {_eegea .V =_edff ;};if _ggfg :=_eedgd .Get ("\u0045\u0046");_ggfg !=nil {_eegea .EF =_ggfg ;};if _deee :=_eedgd .Get ("\u0052\u0046");_deee !=nil {_eegea .RF =_deee ;};if _abdf :=_eedgd .Get ("\u0044\u0065\u0073\u0063");_abdf !=nil {_eegea .Desc =_abdf ;};if _bbgg :=_eedgd .Get ("\u0043\u0049");_bbgg !=nil {_eegea .CI =_bbgg ;};return _eegea ,nil ;};
|
||
|
||
// SetFlag sets the flag for the field.
|
||
func (_bbdfg *PdfField )SetFlag (flag FieldFlag ){_bbdfg .Ff =_bcb .MakeInteger (int64 (flag ))};
|
||
|
||
// SetPdfCreator sets the Creator attribute of the output PDF.
|
||
func SetPdfCreator (creator string ){_dgagfb .Lock ();defer _dgagfb .Unlock ();_aacca =creator };
|
||
|
||
// GetRuneMetrics returns the character metrics for the rune.
|
||
// A bool flag is returned to indicate whether or not the entry was found.
|
||
func (_efbee pdfFontSimple )GetRuneMetrics (r rune )(_acc .CharMetrics ,bool ){if _efbee ._gbggc !=nil {_cdgca ,_abgcg :=_efbee ._gbggc [r ];if _abgcg {return _cdgca ,true ;};};_bfccc :=_efbee .Encoder ();if _bfccc ==nil {_cga .Log .Debug ("\u004e\u006f\u0020en\u0063\u006f\u0064\u0065\u0072\u0020\u0066\u006f\u0072\u0020\u0066\u006f\u006e\u0074\u0073\u003d\u0025\u0073",_efbee );return _acc .CharMetrics {},false ;};_adec ,_acfc :=_bfccc .RuneToCharcode (r );if !_acfc {if r !=' '{_cga .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 ,_efbee );};return _acc .CharMetrics {},false ;};_cfcfa ,_fged :=_efbee .GetCharMetrics (_adec );return _cfcfa ,_fged ;};func (_dcgg *PdfColorspaceICCBased )String ()string {return "\u0049\u0043\u0043\u0042\u0061\u0073\u0065\u0064";};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_deb *PdfActionRendition )ToPdfObject ()_bcb .PdfObject {_deb .PdfAction .ToPdfObject ();_fff :=_deb ._dce ;_afg :=_fff .PdfObject .(*_bcb .PdfObjectDictionary );_afg .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeRendition )));_afg .SetIfNotNil ("\u0052",_deb .R );_afg .SetIfNotNil ("\u0041\u004e",_deb .AN );_afg .SetIfNotNil ("\u004f\u0050",_deb .OP );_afg .SetIfNotNil ("\u004a\u0053",_deb .JS );return _fff ;};func (_ceef fontCommon )coreString ()string {_dcge :="";if _ceef ._ecaed !=nil {_dcge =_ceef ._ecaed .String ();};return _e .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",_ceef ._abgg ,_ceef ._daeb ,_ceef ._gbfc ,_ceef ._dgbe ,_ceef ._ebfc !=nil ,_ceef .fontFlags (),_dcge );};func _acbff (_ebgb _bcb .PdfObject )(*PdfBorderStyle ,error ){_edgb :=&PdfBorderStyle {};_edgb ._cec =_ebgb ;var _cabfg *_bcb .PdfObjectDictionary ;_ebgb =_bcb .TraceToDirectObject (_ebgb );_cabfg ,_edc :=_ebgb .(*_bcb .PdfObjectDictionary );if !_edc {return nil ,_ae .New ("\u0074\u0079\u0070\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};if _feda :=_cabfg .Get ("\u0054\u0079\u0070\u0065");_feda !=nil {_ffggb ,_edcf :=_feda .(*_bcb .PdfObjectName );if !_edcf {_cga .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",_feda );}else {if *_ffggb !="\u0042\u006f\u0072\u0064\u0065\u0072"{_cga .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",*_ffggb );};};};if _dgfb :=_cabfg .Get ("\u0057");_dgfb !=nil {_ggbe ,_aef :=_bcb .GetNumberAsFloat (_dgfb );if _aef !=nil {_cga .Log .Debug ("\u0045\u0072\u0072\u006fr \u0072\u0065\u0074\u0072\u0069\u0065\u0076\u0069\u006e\u0067\u0020\u0057\u003a\u0020%\u0076",_aef );return nil ,_aef ;};_edgb .W =&_ggbe ;};if _bfdb :=_cabfg .Get ("\u0053");_bfdb !=nil {_eabd ,_ggfa :=_bfdb .(*_bcb .PdfObjectName );if !_ggfa {return nil ,_ae .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 _bffb BorderStyle ;switch *_eabd {case "\u0053":_bffb =BorderStyleSolid ;case "\u0044":_bffb =BorderStyleDashed ;case "\u0042":_bffb =BorderStyleBeveled ;case "\u0049":_bffb =BorderStyleInset ;case "\u0055":_bffb =BorderStyleUnderline ;default:_cga .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020s\u0074\u0079\u006c\u0065\u0020n\u0061\u006d\u0065\u0020\u0025\u0073",*_eabd );return nil ,_ae .New ("\u0073\u0074\u0079\u006ce \u0074\u0079\u0070\u0065\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065c\u006b");};_edgb .S =&_bffb ;};if _eagb :=_cabfg .Get ("\u0044");_eagb !=nil {_gbdge ,_cfbc :=_eagb .(*_bcb .PdfObjectArray );if !_cfbc {_cga .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",_eagb );return nil ,_ae .New ("\u0062o\u0072\u0064\u0065\u0072 \u0044\u0020\u0074\u0079\u0070e\u0020c\u0068e\u0063\u006b\u0020\u0065\u0072\u0072\u006fr");};_ddga ,_bbag :=_gbdge .ToIntegerArray ();if _bbag !=nil {_cga .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",_bbag );return nil ,_bbag ;};_edgb .D =&_ddga ;};return _edgb ,nil ;};
|
||
|
||
// DecodeArray returns an empty slice as there are no components associated with pattern colorspace.
|
||
func (_fbdd *PdfColorspaceSpecialPattern )DecodeArray ()[]float64 {return []float64 {}};
|
||
|
||
// 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 (_eabc *Image )GetSamples ()[]uint32 {_addab :=_cgb .ResampleBytes (_eabc .Data ,int (_eabc .BitsPerComponent ));if _eabc .BitsPerComponent < 8{_addab =_eabc .samplesTrimPadding (_addab );};_ddce :=int (_eabc .Width )*int (_eabc .Height )*_eabc .ColorComponents ;if len (_addab )< _ddce {_cga .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 (_addab ),_ddce );return _addab ;}else if len (_addab )> _ddce {_cga .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 (_addab ),_ddce );_addab =_addab [:_ddce ];};return _addab ;};
|
||
|
||
// ToPdfObject returns the PDF representation of the shading dictionary.
|
||
func (_dddgf *PdfShadingType6 )ToPdfObject ()_bcb .PdfObject {_dddgf .PdfShading .ToPdfObject ();_cgce ,_gdefcf :=_dddgf .getShadingDict ();if _gdefcf !=nil {_cga .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 _dddgf .BitsPerCoordinate !=nil {_cgce .Set ("\u0042\u0069\u0074\u0073\u0050\u0065\u0072\u0043\u006f\u006f\u0072\u0064i\u006e\u0061\u0074\u0065",_dddgf .BitsPerCoordinate );};if _dddgf .BitsPerComponent !=nil {_cgce .Set ("\u0042\u0069t\u0073\u0050\u0065r\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074",_dddgf .BitsPerComponent );};if _dddgf .BitsPerFlag !=nil {_cgce .Set ("B\u0069\u0074\u0073\u0050\u0065\u0072\u0046\u006c\u0061\u0067",_dddgf .BitsPerFlag );};if _dddgf .Decode !=nil {_cgce .Set ("\u0044\u0065\u0063\u006f\u0064\u0065",_dddgf .Decode );};if _dddgf .Function !=nil {if len (_dddgf .Function )==1{_cgce .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_dddgf .Function [0].ToPdfObject ());}else {_aegce :=_bcb .MakeArray ();for _ ,_gbebc :=range _dddgf .Function {_aegce .Append (_gbebc .ToPdfObject ());};_cgce .Set ("\u0046\u0075\u006e\u0063\u0074\u0069\u006f\u006e",_aegce );};};return _dddgf ._eced ;};
|
||
|
||
// 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 (_gfec *PdfColorspaceDeviceGray )ColorFromFloats (vals []float64 )(PdfColor ,error ){if len (vals )!=1{return nil ,_ae .New ("r\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b");};_gcbe :=vals [0];if _gcbe < 0.0||_gcbe > 1.0{_cga .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 _gcbe < 0.0{_gcbe =0.0;}else if _gcbe > 1.0{_gcbe =1.0;};return NewPdfColorDeviceGray (_gcbe ),nil ;};
|
||
|
||
// FieldValueProvider provides field values from a data source such as FDF, JSON or any other.
|
||
type FieldValueProvider interface{FieldValues ()(map[string ]_bcb .PdfObject ,error );};
|
||
|
||
// Add appends an outline item as a child of the current outline item.
|
||
func (_gbcee *OutlineItem )Add (item *OutlineItem ){_gbcee .Entries =append (_gbcee .Entries ,item )};
|
||
|
||
// PdfActionLaunch represents a launch action.
|
||
type PdfActionLaunch struct{*PdfAction ;F *PdfFilespec ;Win _bcb .PdfObject ;Mac _bcb .PdfObject ;Unix _bcb .PdfObject ;NewWindow _bcb .PdfObject ;};
|
||
|
||
// Initialize initializes the PdfSignature.
|
||
func (_gdgcg *PdfSignature )Initialize ()error {if _gdgcg .Handler ==nil {return _ae .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 _gdgcg .Handler .InitSignature (_gdgcg );};
|
||
|
||
// GetContext returns the action context which contains the specific type-dependent context.
|
||
// The context represents the subaction.
|
||
func (_gbf *PdfAction )GetContext ()PdfModel {if _gbf ==nil {return nil ;};return _gbf ._dda ;};
|
||
|
||
// GetXObjectByName gets XObject by name.
|
||
func (_ggaad *PdfPage )GetXObjectByName (name _bcb .PdfObjectName )(_bcb .PdfObject ,bool ){_dgca ,_eeee :=_ggaad .Resources .XObject .(*_bcb .PdfObjectDictionary );if !_eeee {return nil ,false ;};if _fbfb :=_dgca .Get (name );_fbfb !=nil {return _fbfb ,true ;};return nil ,false ;};func _ddggc ()string {_cgfcg :="\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 _bfaf _ede .Buffer ;for _deab :=0;_deab < 6;_deab ++{_bfaf .WriteRune (rune (_cgfcg [_ad .Intn (len (_cgfcg ))]));};return _bfaf .String ();};var _ pdfFont =(*pdfCIDFontType2 )(nil );
|
||
|
||
// GetContainingPdfObject returns the page as a dictionary within an PdfIndirectObject.
|
||
func (_adcfe *PdfPage )GetContainingPdfObject ()_bcb .PdfObject {return _adcfe ._cfabg };
|
||
|
||
// PdfFieldButton represents a button field which includes push buttons, checkboxes, and radio buttons.
|
||
type PdfFieldButton struct{*PdfField ;Opt *_bcb .PdfObjectArray ;};
|
||
|
||
// ButtonType represents the subtype of a button field, can be one of:
|
||
// - Checkbox (ButtonTypeCheckbox)
|
||
// - PushButton (ButtonTypePushButton)
|
||
// - RadioButton (ButtonTypeRadioButton)
|
||
type ButtonType int ;
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fdg *PdfActionSound )ToPdfObject ()_bcb .PdfObject {_fdg .PdfAction .ToPdfObject ();_cegf :=_fdg ._dce ;_bb :=_cegf .PdfObject .(*_bcb .PdfObjectDictionary );_bb .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeSound )));_bb .SetIfNotNil ("\u0053\u006f\u0075n\u0064",_fdg .Sound );_bb .SetIfNotNil ("\u0056\u006f\u006c\u0075\u006d\u0065",_fdg .Volume );_bb .SetIfNotNil ("S\u0079\u006e\u0063\u0068\u0072\u006f\u006e\u006f\u0075\u0073",_fdg .Synchronous );_bb .SetIfNotNil ("\u0052\u0065\u0070\u0065\u0061\u0074",_fdg .Repeat );_bb .SetIfNotNil ("\u004d\u0069\u0078",_fdg .Mix );return _cegf ;};
|
||
|
||
// PdfActionJavaScript represents a javaScript action.
|
||
type PdfActionJavaScript struct{*PdfAction ;JS _bcb .PdfObject ;};
|
||
|
||
// ToGray returns a PdfColorDeviceGray color based on the current RGB color.
|
||
func (_cegfb *PdfColorDeviceRGB )ToGray ()*PdfColorDeviceGray {_bbgc :=0.3*_cegfb .R ()+0.59*_cegfb .G ()+0.11*_cegfb .B ();_bbgc =_edb .Min (_edb .Max (_bbgc ,0.0),1.0);return NewPdfColorDeviceGray (_bbgc );};
|
||
|
||
// B returns the value of the B component of the color.
|
||
func (_bacg *PdfColorLab )B ()float64 {return _bacg [2]};
|
||
|
||
// NewPdfColorspaceDeviceGray returns a new grayscale colorspace.
|
||
func NewPdfColorspaceDeviceGray ()*PdfColorspaceDeviceGray {return &PdfColorspaceDeviceGray {}};
|
||
|
||
// ToPdfObject returns the PDF representation of the pattern.
|
||
func (_abdce *PdfPattern )ToPdfObject ()_bcb .PdfObject {_abaa :=_abdce .getDict ();_abaa .Set ("\u0054\u0079\u0070\u0065",_bcb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_abaa .Set ("P\u0061\u0074\u0074\u0065\u0072\u006e\u0054\u0079\u0070\u0065",_bcb .MakeInteger (_abdce .PatternType ));return _abdce ._becda ;};func (_cdff *LTV )getCRLs (_afdfg []*_ffg .Certificate )([][]byte ,error ){_cfbe :=make ([][]byte ,0,len (_afdfg ));for _ ,_eabaf :=range _afdfg {for _ ,_bgcffg :=range _eabaf .CRLDistributionPoints {if _cdff .CertClient .IsCA (_eabaf ){continue ;};_ecbea ,_fgcgf :=_cdff .CRLClient .MakeRequest (_bgcffg ,_eabaf );if _fgcgf !=nil {_cga .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0043R\u004c\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074 \u0065\u0072\u0072o\u0072:\u0020\u0025\u0076",_fgcgf );continue ;};_cfbe =append (_cfbe ,_ecbea );};};return _cfbe ,nil ;};func (_beeg *fontFile )loadFromSegments (_dgcg ,_aefcf []byte )error {_cga .Log .Trace ("\u006c\u006f\u0061dF\u0072\u006f\u006d\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0064\u0020\u0025\u0064",len (_dgcg ),len (_aefcf ));_dafcc :=_beeg .parseASCIIPart (_dgcg );if _dafcc !=nil {return _dafcc ;};_cga .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_beeg );if len (_aefcf )==0{return nil ;};_cga .Log .Trace ("f\u006f\u006e\u0074\u0066\u0069\u006c\u0065\u003d\u0025\u0073",_beeg );return nil ;};func (_fccg *PdfReader )buildOutlineTree (_eccdf _bcb .PdfObject ,_cdfef *PdfOutlineTreeNode ,_beffd *PdfOutlineTreeNode ,_bcfgg map[_bcb .PdfObject ]struct{})(*PdfOutlineTreeNode ,*PdfOutlineTreeNode ,error ){if _bcfgg ==nil {_bcfgg =map[_bcb .PdfObject ]struct{}{};};_bcfgg [_eccdf ]=struct{}{};_gfcaa ,_abfbb :=_eccdf .(*_bcb .PdfIndirectObject );if !_abfbb {return nil ,nil ,_e .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",_eccdf );};_fbdgf ,_fgbca :=_gfcaa .PdfObject .(*_bcb .PdfObjectDictionary );if !_fgbca {return nil ,nil ,_ae .New ("\u006e\u006f\u0074 a\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006f\u0062\u006a\u0065\u0063\u0074");};_cga .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",_fbdgf ,_gfcaa ,_gfcaa );if _bfacd :=_fbdgf .Get ("\u0054\u0069\u0074l\u0065");_bfacd !=nil {_beeb ,_efdfc :=_fccg .newPdfOutlineItemFromIndirectObject (_gfcaa );if _efdfc !=nil {return nil ,nil ,_efdfc ;};_beeb .Parent =_cdfef ;_beeb .Prev =_beffd ;_bgabc :=_bcb .ResolveReference (_fbdgf .Get ("\u0046\u0069\u0072s\u0074"));if _ ,_bdde :=_bcfgg [_bgabc ];_bgabc !=nil &&_bgabc !=_gfcaa &&!_bdde {if !_bcb .IsNullObject (_bgabc ){_gaaea ,_cbcdf ,_ebdff :=_fccg .buildOutlineTree (_bgabc ,&_beeb .PdfOutlineTreeNode ,nil ,_bcfgg );if _ebdff !=nil {_cga .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",_ebdff );}else {_beeb .First =_gaaea ;_beeb .Last =_cbcdf ;};};};_bfeba :=_bcb .ResolveReference (_fbdgf .Get ("\u004e\u0065\u0078\u0074"));if _ ,_bfacb :=_bcfgg [_bfeba ];_bfeba !=nil &&_bfeba !=_gfcaa &&!_bfacb {if !_bcb .IsNullObject (_bfeba ){_caebf ,_eadcf ,_fbfba :=_fccg .buildOutlineTree (_bfeba ,_cdfef ,&_beeb .PdfOutlineTreeNode ,_bcfgg );if _fbfba !=nil {_cga .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",_fbfba );}else {_beeb .Next =_caebf ;return &_beeb .PdfOutlineTreeNode ,_eadcf ,nil ;};};};return &_beeb .PdfOutlineTreeNode ,&_beeb .PdfOutlineTreeNode ,nil ;};_ecdbe ,_gebgb :=_eggfc (_gfcaa );if _gebgb !=nil {return nil ,nil ,_gebgb ;};_ecdbe .Parent =_cdfef ;if _gcede :=_fbdgf .Get ("\u0046\u0069\u0072s\u0074");_gcede !=nil {_gcede =_bcb .ResolveReference (_gcede );if _ ,_fccf :=_bcfgg [_gcede ];_gcede !=nil &&_gcede !=_gfcaa &&!_fccf {_gefb :=_bcb .TraceToDirectObject (_gcede );if _ ,_dcacg :=_gefb .(*_bcb .PdfObjectNull );!_dcacg &&_gefb !=nil {_fccda ,_dbfcf ,_ccga :=_fccg .buildOutlineTree (_gcede ,&_ecdbe .PdfOutlineTreeNode ,nil ,_bcfgg );if _ccga !=nil {_cga .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",_ccga );}else {_ecdbe .First =_fccda ;_ecdbe .Last =_dbfcf ;};};};};return &_ecdbe .PdfOutlineTreeNode ,&_ecdbe .PdfOutlineTreeNode ,nil ;};func (_dfbae *PdfReader )loadAnnotations (_aecdaf _bcb .PdfObject )([]*PdfAnnotation ,error ){_beedf ,_dbeg :=_bcb .GetArray (_aecdaf );if !_dbeg {return nil ,_e .Errorf ("\u0041\u006e\u006e\u006fts\u0020\u006e\u006f\u0074\u0020\u0061\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};var _ccbbdf []*PdfAnnotation ;for _ ,_cfgddf :=range _beedf .Elements (){_cfgddf =_bcb .ResolveReference (_cfgddf );if _ ,_fcedb :=_cfgddf .(*_bcb .PdfObjectNull );_fcedb {continue ;};_dffac ,_fffb :=_cfgddf .(*_bcb .PdfObjectDictionary );_eccaaf ,_bbdc :=_cfgddf .(*_bcb .PdfIndirectObject );if _fffb {_eccaaf =&_bcb .PdfIndirectObject {};_eccaaf .PdfObject =_dffac ;}else {if !_bbdc {return nil ,_e .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");};};_eegc ,_ecece :=_dfbae .newPdfAnnotationFromIndirectObject (_eccaaf );if _ecece !=nil {return nil ,_ecece ;};switch _cfee :=_eegc .GetContext ().(type ){case *PdfAnnotationWidget :for _ ,_bdcbb :=range _dfbae .AcroForm .AllFields (){if _bdcbb ._gggf ==_cfee .Parent {_cfee ._cbgd =_bdcbb ;break ;};};};if _eegc !=nil {_ccbbdf =append (_ccbbdf ,_eegc );};};return _ccbbdf ,nil ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_bgbb *PdfAnnotationStrikeOut )ToPdfObject ()_bcb .PdfObject {_bgbb .PdfAnnotation .ToPdfObject ();_agbg :=_bgbb ._daa ;_ggcf :=_agbg .PdfObject .(*_bcb .PdfObjectDictionary );_bgbb .PdfAnnotationMarkup .appendToPdfDictionary (_ggcf );_ggcf .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053t\u0072\u0069\u006b\u0065\u004f\u0075t"));_ggcf .SetIfNotNil ("\u0051\u0075\u0061\u0064\u0050\u006f\u0069\u006e\u0074\u0073",_bgbb .QuadPoints );return _agbg ;};func _caafe ()string {_dgagfb .Lock ();defer _dgagfb .Unlock ();return _eafae };
|
||
|
||
// ToImage converts an object to an Image which can be transformed or saved out.
|
||
// The image data is decoded and the Image returned.
|
||
func (_agacf *XObjectImage )ToImage ()(*Image ,error ){_daaad :=&Image {};if _agacf .Height ==nil {return nil ,_ae .New ("\u0068e\u0069\u0067\u0068\u0074\u0020\u0061\u0074\u0074\u0072\u0069\u0062u\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_daaad .Height =*_agacf .Height ;if _agacf .Width ==nil {return nil ,_ae .New ("\u0077\u0069\u0064th\u0020\u0061\u0074\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0020\u006d\u0069\u0073\u0073\u0069\u006e\u0067");};_daaad .Width =*_agacf .Width ;if _agacf .BitsPerComponent ==nil {return nil ,_ae .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");};_daaad .BitsPerComponent =*_agacf .BitsPerComponent ;_daaad .ColorComponents =_agacf .ColorSpace .GetNumComponents ();_agacf ._gddag .Set ("\u0043o\u006co\u0072\u0043\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074\u0073",_bcb .MakeInteger (int64 (_daaad .ColorComponents )));_cdaadc ,_febfc :=_bcb .DecodeStream (_agacf ._gddag );if _febfc !=nil {return nil ,_febfc ;};_daaad .Data =_cdaadc ;if _agacf .Decode !=nil {_abdee ,_eadbb :=_agacf .Decode .(*_bcb .PdfObjectArray );if !_eadbb {_cga .Log .Debug ("I\u006e\u0076\u0061\u006cid\u0020D\u0065\u0063\u006f\u0064\u0065 \u006f\u0062\u006a\u0065\u0063\u0074");return nil ,_ae .New ("\u0069\u006e\u0076a\u006c\u0069\u0064\u0020\u0074\u0079\u0070\u0065");};_ggaea ,_geff :=_abdee .ToFloat64Array ();if _geff !=nil {return nil ,_geff ;};_daaad ._fdggf =_ggaea ;};return _daaad ,nil ;};
|
||
|
||
// ColorFromFloats returns a new PdfColor based on the input slice of color
|
||
// components.
|
||
func (_bbcg *PdfColorspaceSpecialPattern )ColorFromFloats (vals []float64 )(PdfColor ,error ){if _bbcg .UnderlyingCS ==nil {return nil ,_ae .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 _bbcg .UnderlyingCS .ColorFromFloats (vals );};
|
||
|
||
// DecodeArray returns the range of color component values in the ICCBased colorspace.
|
||
func (_faaad *PdfColorspaceICCBased )DecodeArray ()[]float64 {return _faaad .Range };
|
||
|
||
// ToPdfObject returns the PDF representation of the colorspace.
|
||
func (_bcfg *PdfColorspaceSpecialPattern )ToPdfObject ()_bcb .PdfObject {if _bcfg .UnderlyingCS ==nil {return _bcb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e");};_aaae :=_bcb .MakeArray (_bcb .MakeName ("\u0050a\u0074\u0074\u0065\u0072\u006e"));_aaae .Append (_bcfg .UnderlyingCS .ToPdfObject ());if _bcfg ._ebgf !=nil {_bcfg ._ebgf .PdfObject =_aaae ;return _bcfg ._ebgf ;};return _aaae ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_fdec *PdfAnnotationPrinterMark )ToPdfObject ()_bcb .PdfObject {_fdec .PdfAnnotation .ToPdfObject ();_efcb :=_fdec ._daa ;_ffde :=_efcb .PdfObject .(*_bcb .PdfObjectDictionary );_ffde .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("P\u0072\u0069\u006e\u0074\u0065\u0072\u004d\u0061\u0072\u006b"));_ffde .SetIfNotNil ("\u004d\u004e",_fdec .MN );return _efcb ;};
|
||
|
||
// HasExtGState checks whether a font is defined by the specified keyName.
|
||
func (_aceg *PdfPageResources )HasExtGState (keyName _bcb .PdfObjectName )bool {_ ,_gdcef :=_aceg .GetFontByName (keyName );return _gdcef ;};
|
||
|
||
// Evaluate runs the function on the passed in slice and returns the results.
|
||
func (_aadaf *PdfFunctionType0 )Evaluate (x []float64 )([]float64 ,error ){if len (x )!=_aadaf .NumInputs {_cga .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 ,_ae .New ("\u0072\u0061\u006e\u0067\u0065\u0020\u0063\u0068\u0065\u0063\u006b\u0020e\u0072\u0072\u006f\u0072");};if _aadaf ._agdbe ==nil {_ffbag :=_aadaf .processSamples ();if _ffbag !=nil {return nil ,_ffbag ;};};_defc :=_aadaf .Encode ;if _defc ==nil {_defc =[]float64 {};for _egdg :=0;_egdg < len (_aadaf .Size );_egdg ++{_defc =append (_defc ,0);_defc =append (_defc ,float64 (_aadaf .Size [_egdg ]-1));};};_cebde :=_aadaf .Decode ;if _cebde ==nil {_cebde =_aadaf .Range ;};_adadd :=make ([]int ,len (x ));for _gfde :=0;_gfde < len (x );_gfde ++{_eeff :=x [_gfde ];_gcdd :=_edb .Min (_edb .Max (_eeff ,_aadaf .Domain [2*_gfde ]),_aadaf .Domain [2*_gfde +1]);_cegdf :=_fgd .LinearInterpolate (_gcdd ,_aadaf .Domain [2*_gfde ],_aadaf .Domain [2*_gfde +1],_defc [2*_gfde ],_defc [2*_gfde +1]);_decb :=_edb .Min (_edb .Max (_cegdf ,0),float64 (_aadaf .Size [_gfde ]-1));_fbcf :=int (_edb .Floor (_decb +0.5));if _fbcf < 0{_fbcf =0;}else if _fbcf > _aadaf .Size [_gfde ]{_fbcf =_aadaf .Size [_gfde ]-1;};_adadd [_gfde ]=_fbcf ;};_gdca :=_adadd [0];for _egbe :=1;_egbe < _aadaf .NumInputs ;_egbe ++{_fcfcf :=_adadd [_egbe ];for _bfeda :=0;_bfeda < _egbe ;_bfeda ++{_fcfcf *=_aadaf .Size [_bfeda ];};_gdca +=_fcfcf ;};_gdca *=_aadaf .NumOutputs ;var _defgg []float64 ;for _abfgf :=0;_abfgf < _aadaf .NumOutputs ;_abfgf ++{_gfag :=_gdca +_abfgf ;if _gfag >=len (_aadaf ._agdbe ){_cga .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 ;};_cffgd :=_aadaf ._agdbe [_gfag ];_bddgf :=_fgd .LinearInterpolate (float64 (_cffgd ),0,_edb .Pow (2,float64 (_aadaf .BitsPerSample )),_cebde [2*_abfgf ],_cebde [2*_abfgf +1]);_gaff :=_edb .Min (_edb .Max (_bddgf ,_aadaf .Range [2*_abfgf ]),_aadaf .Range [2*_abfgf +1]);_defgg =append (_defgg ,_gaff );};return _defgg ,nil ;};
|
||
|
||
// DefaultFont returns the default font, which is currently the built in Helvetica.
|
||
func DefaultFont ()*PdfFont {_gffdd ,_gcbg :=_acc .NewStdFontByName (HelveticaName );if !_gcbg {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");};_afdfe :=_egdb (_gffdd );return &PdfFont {_fgge :&_afdfe };};
|
||
|
||
// SetName sets the `Name` field of the signature.
|
||
func (_adbeg *PdfSignature )SetName (name string ){_adbeg .Name =_bcb .MakeString (name )};var _cgcc =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"};
|
||
|
||
// GetContainingPdfObject returns the container of the PdfAcroForm (indirect object).
|
||
func (_agbga *PdfAcroForm )GetContainingPdfObject ()_bcb .PdfObject {return _agbga ._gacgf };
|
||
|
||
// AddCustomInfo adds a custom info into document info dictionary.
|
||
func (_eaaa *PdfInfo )AddCustomInfo (name string ,value string )error {if _eaaa ._affda ==nil {_eaaa ._affda =_bcb .MakeDict ();};if _ ,_gdega :=_fegbg [name ];_gdega {return _e .Errorf ("\u0063\u0061\u006e\u006e\u006ft\u0020\u0075\u0073\u0065\u0020\u0073\u0074\u0061\u006e\u0064\u0061\u0072\u0064 \u0069\u006e\u0066\u006f\u0020\u006b\u0065\u0079\u0020\u0025\u0073\u0020\u0061\u0073\u0020\u0063\u0075\u0073\u0074\u006f\u006d\u0020\u0066\u0069\u0065\u006c\u0064\u0020\u006b\u0065y",name );};_eaaa ._affda .SetIfNotNil (*_bcb .MakeName (name ),_bcb .MakeString (value ));return nil ;};func _abgda (_fgdad *fontCommon )*pdfCIDFontType0 {return &pdfCIDFontType0 {fontCommon :*_fgdad }};
|
||
|
||
// NewPdfAnnotationInk returns a new ink annotation.
|
||
func NewPdfAnnotationInk ()*PdfAnnotationInk {_cfad :=NewPdfAnnotation ();_gbg :=&PdfAnnotationInk {};_gbg .PdfAnnotation =_cfad ;_gbg .PdfAnnotationMarkup =&PdfAnnotationMarkup {};_cfad .SetContext (_gbg );return _gbg ;};func (_degbc *PdfReader )lookupPageByObject (_baaag _bcb .PdfObject )(*PdfPage ,error ){return nil ,_ae .New ("\u0070\u0061\u0067\u0065\u0020\u006e\u006f\u0074\u0020f\u006f\u0075\u006e\u0064");};
|
||
|
||
// 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 *_bcb .PdfObjectArray ;AlternateSpace PdfColorspace ;TintTransform PdfFunction ;Attributes *PdfColorspaceDeviceNAttributes ;_dcfed *_bcb .PdfIndirectObject ;};
|
||
|
||
// GetColorspaceByName returns the colorspace with the specified name from the page resources.
|
||
func (_afegd *PdfPageResources )GetColorspaceByName (keyName _bcb .PdfObjectName )(PdfColorspace ,bool ){_ebadf ,_edaea :=_afegd .GetColorspaces ();if _edaea !=nil {_cga .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",_edaea );return nil ,false ;};if _ebadf ==nil {return nil ,false ;};_dbbed ,_acbb :=_ebadf .Colorspaces [string (keyName )];if !_acbb {return nil ,false ;};return _dbbed ,true ;};
|
||
|
||
// 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 _bcb .PdfObjectArray )(*PdfRectangle ,error ){_gfeced :=PdfRectangle {};if arr .Len ()!=4{return nil ,_ae .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 _deccc error ;_gfeced .Llx ,_deccc =_bcb .GetNumberAsFloat (arr .Get (0));if _deccc !=nil {return nil ,_deccc ;};_gfeced .Lly ,_deccc =_bcb .GetNumberAsFloat (arr .Get (1));if _deccc !=nil {return nil ,_deccc ;};_gfeced .Urx ,_deccc =_bcb .GetNumberAsFloat (arr .Get (2));if _deccc !=nil {return nil ,_deccc ;};_gfeced .Ury ,_deccc =_bcb .GetNumberAsFloat (arr .Get (3));if _deccc !=nil {return nil ,_deccc ;};return &_gfeced ,nil ;};func _fbgf (_gbac []rune ,_eceg map[rune ]int ,_gefg map[rune ]_acc .GID )*_bcb .PdfObjectArray {_acga :=&_bcb .PdfObjectArray {};for _efeeb :=0;_efeeb < len (_gbac );{_aefea :=_eceg [_gbac [_efeeb ]];_gdaca :=_efeeb ;for _cdaa :=_efeeb +1;_cdaa < len (_gbac );_cdaa ++{_gcfag :=_eceg [_gbac [_cdaa ]];if _aefea ==_gcfag {_gdaca =_cdaa ;}else {break ;};};_bfac :=_gefg [_gbac [_efeeb ]];_abefe :=_gefg [_gbac [_gdaca ]];_acga .Append (_bcb .MakeInteger (int64 (_bfac )));_acga .Append (_bcb .MakeInteger (int64 (_abefe )));_acga .Append (_bcb .MakeInteger (int64 (_aefea )));_efeeb =_gdaca +1;};return _acga ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_gab *PdfActionMovie )ToPdfObject ()_bcb .PdfObject {_gab .PdfAction .ToPdfObject ();_eega :=_gab ._dce ;_fcd :=_eega .PdfObject .(*_bcb .PdfObjectDictionary );_fcd .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeMovie )));_fcd .SetIfNotNil ("\u0041\u006e\u006e\u006f\u0074\u0061\u0074\u0069\u006f\u006e",_gab .Annotation );_fcd .SetIfNotNil ("\u0054",_gab .T );_fcd .SetIfNotNil ("\u004fp\u0065\u0072\u0061\u0074\u0069\u006fn",_gab .Operation );return _eega ;};const (_dbfb =0x00001;_gdgfcf =0x00002;_cedf =0x00004;_aacge =0x00008;_eccbf =0x00020;_egac =0x00040;_agfde =0x10000;_bcgg =0x20000;_ebgag =0x40000;);
|
||
|
||
// Subtype returns the font's "Subtype" field.
|
||
func (_agecd *PdfFont )Subtype ()string {_aagfc :=_agecd .baseFields ()._abgg ;if _dfea ,_gaf :=_agecd ._fgge .(*pdfFontType0 );_gaf {_aagfc =_aagfc +"\u003a"+_dfea .DescendantFont .Subtype ();};return _aagfc ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_ggc *PdfActionGoTo3DView )ToPdfObject ()_bcb .PdfObject {_ggc .PdfAction .ToPdfObject ();_ged :=_ggc ._dce ;_gge :=_ged .PdfObject .(*_bcb .PdfObjectDictionary );_gge .SetIfNotNil ("\u0053",_bcb .MakeName (string (ActionTypeGoTo3DView )));_gge .SetIfNotNil ("\u0054\u0041",_ggc .TA );_gge .SetIfNotNil ("\u0056",_ggc .V );return _ged ;};
|
||
|
||
// ToPdfObject implements interface PdfModel.
|
||
func (_edfa *PdfAnnotationStamp )ToPdfObject ()_bcb .PdfObject {_edfa .PdfAnnotation .ToPdfObject ();_fab :=_edfa ._daa ;_eebc :=_fab .PdfObject .(*_bcb .PdfObjectDictionary );_edfa .PdfAnnotationMarkup .appendToPdfDictionary (_eebc );_eebc .SetIfNotNil ("\u0053u\u0062\u0074\u0079\u0070\u0065",_bcb .MakeName ("\u0053\u0074\u0061m\u0070"));_eebc .SetIfNotNil ("\u004e\u0061\u006d\u0065",_edfa .Name );return _fab ;};
|
||
|
||
// NewPdfAnnotationLink returns a new link annotation.
|
||
func NewPdfAnnotationLink ()*PdfAnnotationLink {_cea :=NewPdfAnnotation ();_bbg :=&PdfAnnotationLink {};_bbg .PdfAnnotation =_cea ;_cea .SetContext (_bbg );return _bbg ;};
|
||
|
||
// GetAlphabet returns a map of the runes in `text` and their frequencies.
|
||
func GetAlphabet (text string )map[rune ]int {_eeea :=map[rune ]int {};for _ ,_efbce :=range text {_eeea [_efbce ]++;};return _eeea ;}; |