I have an angular4 app, on pressing ctrl+p on browser I need to customize the print page view instead default view. The page which I need to print has only angular components, I tried by writing @media print in each component css but it didn't work.
Asked
Active
Viewed 1,559 times
2 Answers
0
You have a similar case in here. They have an example on angularJS and angular.
Then, you can check the ctrl+p key press by access to this post.

Ricardo Rocha
- 14,612
- 20
- 74
- 130
0
You could simply use a plugin called printThis.js and save lots of coding time.
Add the script to your html:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/printThis/1.14.0/printThis.min.js"></script>
Add the print button and give it an id
you'll use with printThis:
<button id="print-button-id" type="button" class="btn btn-success">Print</button>
Then use this script to print your page:
$('#print-button-id').on("click", function () {
$('#print-section-id').printThis({
debug: false,
importCSS: true,
importStyle: true,
printContainer: true,
loadCSS: "your-custom-style-for-printing.css",
pageTitle: "Your print title",
removeInline: false,
printDelay: 333,
header: null,
formValues: true
});
});
Finally, as you can see from the script, it's printing the element with the id="print-section-id"
, so you'll want to use in place of that the id of the element that encloses the section you want to print.

Clint_A
- 518
- 2
- 11
- 35