Service returns you an instance of the function declared. Provider makes an instance of the declared function and the provides the return argument of this objects .$get() function.
(It's better explained here: https://stackoverflow.com/questions/15666048/angular-js-service-vs-provider-vs-factory)
So essentially this line is the same as:
module.provider('gaPrintService', function() { this.$get = function() { return new Print() };})