I know that i might be a little bit late to the party but I hope that this would help others in future.
The solution for this problem is to overwrite default ionic components styling.
In defaults, some properties could broke our print preview like: position, height, overflow.
It’s a must to remember that for printing:
height: 100%,
position: fixed/absolute/relative (in some cases),
overflow: hidden,
are ‘the last nail in the coffin’.
None of container should have them set.
For position you can use static, for height use fixed values or just leave an auto option. Always remember to set overflow: visible. Otherwise the thing we want to print could be hidden.