github.com/signintech/pdft@v0.5.0/pdf_image_data.go (about) 1 package pdft 2 3 import ( 4 "bytes" 5 "encoding/base64" 6 7 gopdf "github.com/signintech/pdft/minigopdf" 8 ) 9 10 // PDFImageData pdf img 11 type PDFImageData struct { 12 objID int 13 imgObj gopdf.ImageObj 14 xObjChar string 15 xObjIndex int 16 } 17 18 /* 19 func (p *PDFImageData) setImgBase64(base64str string) error { 20 21 r := base64.NewDecoder(base64.StdEncoding, bytes.NewBuffer([]byte(base64str))) 22 err := p.imgObj.SetImage(r) 23 if err != nil { 24 return err 25 } 26 27 err = p.imgObj.Parse() 28 if err != nil { 29 return err 30 } 31 32 err = p.imgObj.Build(p.objID) 33 if err != nil { 34 return err 35 } 36 37 return nil 38 }*/ 39 40 func createImgObjFromImgBase64(base64str string) (gopdf.ImageObj, *gopdf.SMask, error) { 41 r := base64.NewDecoder(base64.StdEncoding, bytes.NewBuffer([]byte(base64str))) 42 var imgObj gopdf.ImageObj 43 err := imgObj.SetImage(r) 44 if err != nil { 45 return gopdf.ImageObj{}, nil, err 46 } 47 err = imgObj.Parse() 48 if err != nil { 49 return gopdf.ImageObj{}, nil, err 50 } 51 smask, err := imgObj.CreateSMask() 52 if err != nil { 53 return gopdf.ImageObj{}, nil, err 54 } 55 return imgObj, smask, nil 56 } 57 58 func createImgObjFromBytes(img []byte) (gopdf.ImageObj, *gopdf.SMask, error) { 59 buff := bytes.NewBuffer(img) 60 var imgObj gopdf.ImageObj 61 err := imgObj.SetImage(buff) 62 if err != nil { 63 return gopdf.ImageObj{}, nil, err 64 } 65 err = imgObj.Parse() 66 if err != nil { 67 return gopdf.ImageObj{}, nil, err 68 } 69 smask, err := imgObj.CreateSMask() 70 if err != nil { 71 return gopdf.ImageObj{}, nil, err 72 } 73 return imgObj, smask, nil 74 } 75 76 func (p *PDFImageData) setImgObj(imgObj gopdf.ImageObj) error { 77 p.imgObj = imgObj 78 err := p.imgObj.Build(p.objID) 79 if err != nil { 80 return err 81 } 82 return nil 83 } 84 85 /* 86 func (p *PDFImageData) setImg(img []byte) error { 87 88 buff := bytes.NewBuffer(img) 89 err := p.imgObj.SetImage(buff) 90 if err != nil { 91 return err 92 } 93 94 err = p.imgObj.Parse() 95 if err != nil { 96 return err 97 } 98 99 err = p.imgObj.Build(p.objID) 100 if err != nil { 101 return err 102 } 103 104 return nil 105 } 106 */