How to fix error: The message received from the server could not be parsed

If you have the button inside updatepanel this maybe causing this, if don´t want to move it, just add a trigger for the button on the updatepanel, a postback trigger.

Set your button to cause full postback like this:

<asp:PostBackTrigger ControlID="PrintButton" />

Keep your button outside the update panel. Then it works fine.

The action that causes this code to execute MUST be a postback event, and not an AJAX call.

This is due to the nature of the way AJAX requests are processed.