Ниже приведенный ниже код будет полезен для вашей проблемы. Он будет отлично работать для вашего требования.
var lMargin=15; //left margin in mm
var rMargin=15; //right margin in mm
var pdfInMM=210; // width of A4 in mm
function getPDF() {
\t var doc = new jsPDF("p","mm","a4");
\t var paragraph="Apple's iPhone 7 is officially upon us. After a week of pre-orders, the latest in the iPhone lineup officially launches today.\n\nEager Apple fans will be lining up out the door at Apple and carrier stores around the country to grab up the iPhone 7 and iPhone 7 Plus, while Android owners look on bemusedly.\n\nDuring the Apple Event last week, the tech giant revealed a number of big, positive changes coming to the iPhone 7. It's thinner. The camera is better. And, perhaps best of all, the iPhone 7 is finally water resistant.\n\nStill, while there may be plenty to like about the new iPhone, there's plenty more that's left us disappointed. Enough, at least, to make smartphone shoppers consider waiting until 2017, when Apple is reportedly going to let loose on all cylinders with an all-glass chassis design.";
\t \t
var lines =doc.splitTextToSize(paragraph, (pdfInMM-lMargin-rMargin));
\t doc.text(lMargin,20,lines);
\t doc.save('Generated.pdf');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
<button id="getPDF" onclick="getPDF()">Get PDF</button>
Для splitTextToSize
:
Как вы сказали doc.splitTextToSize(text,size)
нет в jspdf 1.2.60 апи.
Причина: Это doc.splitTextToSize(text,size)
присутствует в jspdf 1.2.60 Lib но не в jspdf.js. Он представлен в jspdf.debug.js и в его миниатюре vesion jspdf.min.js. Вот почему вы не находите splitTextToSize
в своем jspdf.js
. Вы искали его в неправильном файле. Вы можете заменить jspdf.js
на jspdf.debug.js
, и ваш код будет работать отлично.
jspdf.debug.js и jspdf.min.js присутствуют в \jsPDF-master\dist
месте в апи почтовый файл.
Примечание: я предоставил вам код для разделения своего длинного абзаца на нескольких строках. Здесь я разделил линию после 180 мм (210 мм-15 мм-15 мм), если текст выходит за пределы 180 мм, тогда текст будет идти в новой строке. Вы можете изменить параметры в соответствии с вашим использованием.
Ниже приведен снимок экрана для справки, который содержит splitTextToSize
определение функции в jspdf.debug.js
.
Дайте мне знать, если вам нужна помощь. Счастливое кодирование ...!
Почему вы не используете jspdf 1.2.61 вместо этого? – Lotus91
Можете ли вы разместить сообщение об ошибке, которое вы получили? –
@ Lotus91 На своем официальном сайте они предлагают загрузить 1.2.60, в то время как ** CDN ** s дают 1.2.61 в настоящее время, но это не делает большой diff для 'splitTextToSize' –