wangyy
wangyy

Reputation: 9

convert pdf to jpg using imagick in golang.but using memory is too much in lunix. how to solve it?

import "gopkg.in/gographics/imagick.v3/imagick"

func LoadParsePdf(lessonName string, validPageNos []int, localFolder string, pdfName string, imgPrefix string, imgSuffix string) (int, error) {

    support.Debug("begin convert pdf %s to img ",  pdfName)
    imagick.Initialize()
    defer imagick.Terminate()
    mw := imagick.NewMagickWand()
    defer mw.Destroy()
    if err := mw.SetResourceLimit(imagick.RESOURCE_MEMORY, 50*1024*1024); err != nil {
        return 0, err
    }
    if err := mw.SetResolution(50, 50); err != nil {
        return 0, err
    }
    support.Debug("lesson %s , begin read pdf ", lessonName)
    if err := mw.ReadImage(util.JoinPath(localFolder, pdfName)); err != nil {
        return 0, err
    }
    support.Debug("end read pdf ")
    ....
    ...
}

I try to use “mw.SetResourceLimit(imagick.RESOURCE_MEMORY, xxx)” to solve this memory.In windows,it's ok,using 50M. But in lunix ,it is failed. who can help me to solve it? Thank you

Upvotes: 0

Views: 709

Answers (0)

Related Questions