window.print()
не будет печатать в PDF сам по себе, он просто вызовет диалоговое окно печати, в котором вы можете выбрать конечный принтер, который может включать в себя физический принтер или программное обеспечение принтера PDF, которое вы, возможно, установили.
Если вы довольны этим решением, и вас беспокоит только то, что печатаются верхние и нижние колонтитулы, вам следует использовать медиазапросы CSS. Медиа-запросы CSS позволяют указывать разные стили для отображения на экране и печати на бумаге (и в других случаях).
В вашей таблице стилей, предполагая, что ваши элементы верхнего и нижнего колонтитула так же называются, вы можете сделать:
@media print {
header, footer { display: none; }
}
Вы также можете сделать их стилизованными по-другому (например, стройнее), вместо того, чтобы полностью скрыть.
Подробнее: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries