Я пытаюсь создать веб-страницу, которая экспортирует информацию базы данных в PDF, с таблицами, которые извлекаются из базы данных с помощью PHP и MySQL.
Мои таблицы имеют переменной длины и могут иногда включать более одной таблицы, потенциально до 3 + таблиц .
В случае, если исходная таблица будет занимать большой объем пространства на странице, что вторая таблица будет разбита на последующие страницы, как бы я сказал jspdf вернуться к предыдущему тегу <table>
и вставить перед страницей? (то есть, если какая-либо строка таблицы 2+ сломается и переместится на следующую страницу, переместите всю таблицу на следующую страницу).
Я рассмотрел попытку сканирования и подсчета тегов <tr>
, чтобы получить счетчик, и пытался установить оператор if-else для отправки таблицы на следующую страницу, но я не знаю, как это будет работать для более чем двух таблиц.
<script>
//this my current idea of the code, none of it is implemented or tested
$(document).on('load', function(e) { //when the pages loads, execute this function
var PDF_WIDTH = 816;
var PDF_HEIGHT = (PDF_Width * 1.2941); //for a 8.5*11 Letter sized pdf
var rowCount = 0;
var tableCount = 0;
$(tr).each(function(e) { //counts all the rows that exists on the page
var rowCount++;
});
$(table).each(function(e) { //counts all the tables that exist on the page
var tableCount++;
});
if (rowcount > 36) { //if the total number of rows would exceed the amount of rows displayed on the page
var pdf = new jsPDF('p', 'pt' [PDF_WIDTH, PDF_HEIGHT]);
//??? trying to select the table that would break
//??? add a page break before the second table
//alternatively append a page break after the first table
}
});
</script>