In addition to Pawel's and Arthur's solutions, you can use the solution in this question to get auto-resizing functionality back.
I have needed to deal with a very similar issue (though in my case it was printing a whole page, which happened to contain a highchart, not printing a chart specifically)
I came across a variety of useful bits of info which future developers may benefit from:
Extracting current Chart size:
For the purpose of resetting the chart after the printing, you can collect (and thus store for later resetting) the current size of the chart by calling chart.chartHeight
or chart.chartWidth
(where var chart = $('#chart-container').highcharts();
)
Returning to auto-resizing after setting size:
After you've called setSize()
post-print, the chart will no-longer auto-size itself if the window changes. You can fix that by using the 'hack' detailed here:
Is modifying chart.hasUserSize a bad idea after calling Chart.setSize()?
Which involves setting chart.hasUserSize = false;
Hooking into before and after print events
Is handled on this Question: Do modern browsers support onbeforeprint / onafterprint HTML events? and the answer is (indirectly) yes, but you have to use a combination of the onbeforeprint events and watchMedia eventHandler API.
Hope this is valuable to someone?