Я изо всех сил пытаюсь найти хорошее решение моей проблемы, где я должен предоставить кнопку загрузки, которая загрузит шаблон компонента (который содержит CSS и динамический контент) в формате PDF. Я использую Angular 6 в качестве внешнего интерфейса и пружинную загрузку в качестве внутреннего.
Я исследовал и нашел jspdf с html2canvas, но это печатает мой документ только на одной странице с низким качеством. Так есть ли способ добиться этого с помощью любой библиотеки JavaScript?
Я также пробовал window.print (), но у него также есть ограничения, такие как: -
Включает ссылки и заголовки
Различные форматы в разных браузерах
Используется @page {size: auto; поле: 0 мм; } для удаления заголовков, но это заставляет текст придерживаться границ. Я хочу маржу. (Если это возможно, скажите, пожалуйста).
Или мне нужно отправить свой шаблон в spring и заставить spring преобразовать мой html + css в pdf и отправить его обратно в angular? Если да, то как этого добиться?
Было бы лучше, если бы я мог сделать это на стороне клиента.
угловой шаблон (мне нужно сделать 'router-outlet' в pdf)
<div class="htmlToPdf-div">
<div id="htmlToPdf" #htmlToPdf>
<router-outlet></router-outlet>
</div>
</div>