Экспорт в PDF с помощью AngularJS

У меня есть приложение angularjs, в котором есть таблица с нумерацией страниц. Это приложение вызывает REST API, который возвращает данные в формате JSON в мое угловое приложение. Эти данные представлены в виде таблицы с нумерацией страниц. (Допустим, приложение) Мне нужно экспортировать все эти данные в pdf.

До сих пор я использовал подход, который нашел здесь.

Мне удалось экспортировать в pdf, но экспортируется только первая страница, а не страницы с нумерацией страниц.

Я нашел много ссылок с stackoverflow для экспорта в pdf с помощью angularjs. Но ни у кого из них не было информации об обработке части пагинации.

Может ли кто-нибудь помочь мне получить всю таблицу (которая отображается с нумерацией страниц) в pdf? Любой другой подход также подойдет.


person RITZ XAVI    schedule 04.08.2016    source источник
comment
Это слишком широко. Вы захотите, по крайней мере, попробовать разные подходы и обсудить их, предоставляя код, который работал частично или не работал вообще. В противном случае вы просто просите кого-то написать полное решение.   -  person Lynn Crumbling    schedule 04.08.2016


Ответы (1)


Я была такая же проблема. Как я это решил, я создал другую страницу .html, которая распечатала бы всю таблицу (без разбиения на страницы, потому что то, что вы используете для экспорта таблицы, печатает только то, что находится в DOM). Таким образом, с вашего контроллера вы можете отправить свои $scope.tableData на новую страницу .html, распечатать таблицу, загрузить файл и закрыть страницу html. Да, для этого требуется открыть новую вкладку, и после ее загрузки вы можете автоматически закрыться.

Мой код выглядел примерно так

$window.localStorage['tableData'] = JSON.stringify($scope.tableData); $window.open('#/download'); и в том же контроллере, что у меня был

if ($location.path() === '/download')...//download function and 
$window.close();

Я использовал $window.localStorage, чтобы получить данные на новую вкладку, потому что мои данные были довольно большими, я не знаю, разумно ли это использовать или нет, но в то время это было решением.

person Hristijan Vlasevski    schedule 26.09.2017