Jack, thanks for you contribution but I am referring to the saving or printing of the complete notebook as pdf.
I have finally solved the issue by saving the file as pdf with the extension tmp and then converting the tmp to pdf using Ghostscript. I enclose the function compressPDF which works amazingly reducing the file size from a typical 60MB to 2MB.
compressPDF[filein_,fileout_]:=Module[{},
RunProcess[{"/usr/local/bin/gs","-sDEVICE=pdfwrite","-dCompatibilityLevel=1.4","-dPDFSETTINGS=/ebook",
"-dNOPAUSE","-dQUIET","-dBATCH","-sOutputFile="<>fileout,filein}]]