Измените размер HTML перед экспортом в PDF с помощью метода jspdf .html (). - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь выяснить, как изменить размер HTML-элемента с помощью метода jsPDF .html().

Я попытался с помощью приведенного ниже кода, но опция width, кажется, невнесите любые изменения в вывод.

Я просто предполагаю, что width является опцией .html(), к сожалению, на данный момент нет документации по этому методу, и предполагается, что он угадывает из кода .

Кроме того, мне кажется, он должен использовать опцию из html2canvas параметров , поэтому я попытался с width.

В любом случае, код:

var legend = document.getElementById("my-table");
var pdf = new jsPDF(orientation, undefined, format);
pdf.html(legend, {
    width: 200,
    callback: function () {
        window.open(pdf.output('bloburl'));
     }
});

# my-table

<table>
    <tr>
        <td><img src="image1.jpeg"></td>
    </tr>
    <tr>
        <td><img src="image2.jpeg"></td>
    </tr>
    ...
</table>

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Передача параметров в html2canvas:

pdf.html(legend, {
    html2canvas: {
        // insert html2canvas options here, e.g.
        width: 200
    },
    callback: function () {
        // ...
    }
});

Для меня опция scale отлично работает для изменения размера.Вы можете извлечь размер страницы по умолчанию , указанный в источнике , чтобы рассчитать необходимый коэффициент масштабирования.

0 голосов
/ 21 февраля 2019

Я не знаю точно, что такое jspdf, но, похоже, вы пропустили здесь

var legend = document.getElementsById("my-table");

.

var legend = document.getElementById("my-table");

и, возможно, вы можете изменить размер этих таблиц с помощью атрибута css или style.

<table style="width:200;">
    <tr>
        <td><img src="image1.jpeg"></td>
    </tr>
    <tr>
        <td><img src="image2.jpeg"></td>
    </tr>
    ...
</table>

с использованием css

#my-table {
 width:200;
}
...