Commit ade72afa authored by Babin Egor's avatar Babin Egor

add PDF makes

parent 20faeda2
......@@ -56,6 +56,7 @@ ready(function(){
parent.dispatchEvent(new CustomEvent('fileSetChanged',{
detail: {}
}))
}
// Событие change, выбор файла
......
// const ready = require('./utils/documentReady.js');
// ready(function(){
// console.log('DOM героически построен!');
// });
// const $ = require('jquery');
// $( document ).ready(function() {});
import jsPDF from 'jspdf';
import "@babel/polyfill";
import $ from 'jquery';
import html2canvas from "html2canvas";
let orderPdf = document.querySelector('#orderPdf');
let tableResult = document.querySelector('#table-content');
let tableResult = $('#table-content');
orderPdf.addEventListener('click', function(e)
{
e.preventDefault();
html2canvas(tableResult).then(function(canvas) {
let pdfData = canvas.toDataURL('image/png');
console.log(pdfData);
document.body.append(canvas);
});
/*
let byteChars = atob(pdfData);
let bytes = [];
document.body.scrollTop = 0; // For Safari
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
var HTML_Width = $(".canvas_div_pdf").width();
var HTML_Height = $(".canvas_div_pdf").height();
var top_left_margin = 15;
var PDF_Width = HTML_Width+(top_left_margin*2);
var PDF_Height = (PDF_Width*1.5)+(top_left_margin*2);
var canvas_image_width = HTML_Width;
var canvas_image_height = HTML_Height;
var totalPDFPages = Math.ceil(HTML_Height/PDF_Height)-1;
for (let i = 0; i < byteChars.length; i++)
bytes[i] = byteChars.charCodeAt(i);
html2canvas($(".canvas_div_pdf")[0],{allowTaint:true}).then(function(canvas){
let blob = new Blob([new Uint8Array(bytes)], {type: 'application/pdf'});
// создаём object URL из Blob
let downloadUrl = URL.createObjectURL(blob);
canvas.getContext('2d');
console.log('File Size:', Math.round(byteChars.length / 1024), 'KB');
console.log(byteChars);
if(window.navigator && window.navigator.msSaveOrOpenBlob)
window.navigator.msSaveOrOpenBlob(blob);
else
{
let newWin = window.open(downloadUrl, '_blank', 'width=500,height=300,menubar=yes,scrollbars=yes,status=yes,resizable=yes');
newWin.focus();
newWin.print(); //чтобы эта строка сработала страница должна быть в сети, т.е. НЕ локально.
URL.revokeObjectURL(downloadUrl);
var imgData = canvas.toDataURL("image/jpeg", 1);
var img = document.createElement('img');
img.src = imgData;
var pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);
pdf.addImage(imgData, 'JPG', top_left_margin, top_left_margin, canvas_image_width, canvas_image_height);
// несколько страниц
for (var i = 1; i <= totalPDFPages; i++) {
pdf.addPage(PDF_Width, PDF_Height);
pdf.addImage(imgData, 'JPG', top_left_margin, -(PDF_Height*i)+(top_left_margin*4),canvas_image_width,canvas_image_height);
}
*/
pdf.save("HTML-Document.pdf");
});
});
......@@ -12,8 +12,9 @@ block append head
block page
//- +breadcrumbs(breadcrumb_chain)
.container
.canvas_div_pdf
h1.title!= title
.block_yellow-b(id='table-content')
.block_yellow-b()
+table-responsive()
thead
tr
......@@ -25,7 +26,6 @@ block page
th(data-col-shown) Стоимость утилизации, руб.
th(data-col-shown) Стоимость транспортировки, руб.
th(data-col-shown) Общая стоимость, руб.
th(data-col-shown)
tbody
tr
......@@ -43,7 +43,6 @@ block page
td 5 000
td 15 000
td.onbg 20 000
td #[+remove('')]
tr
td
......@@ -57,7 +56,6 @@ block page
td 5 000
td
td.onbg 15 000
td #[+remove('')]
tr
td
......@@ -74,7 +72,6 @@ block page
td 35 000
td 10 000
td.onbg 40 000
td #[+remove('')]
tr
td
......@@ -91,7 +88,6 @@ block page
td 35 000
td 10 000
td.onbg 40 000
td #[+remove('')]
tr
td
......@@ -108,7 +104,6 @@ block page
td 35 000
td 10 000
td.onbg 40 000
td #[+remove('')]
.block_yellow-b.text-right
.h3 Общая стоимость заявки: #[strong.text-nowrap(style='font-size:2.5rem;') 80 000 руб.]
......@@ -122,7 +117,7 @@ block page
.col-md.text-left.mb-20.mb-md-0
+btn('Вернуться к рассчёту','secondary, sm-full')(href='/')
.col-md.flex-grow-0.mb-20.mb-md-0
+btn(class='secondary sm-full',id='orderPdf') Сформировать КП
+btn('Сформировать КП','btn btn_secondary btn_sm-full')(id='orderPdf')
.col.flex-grow-0.d-none.d-lg-block
+btn('','secondary')(href='/')
+icon('i-print', 'flex,print')
......@@ -131,4 +126,3 @@ block page
.row.justify-content-center
.col-lg-8
p Если у Вас остались вопросы, Вы можете связаться с менеджером по телефону 8 (800) 100-66-06 или с помощью #[a(href='', data-toggle='modal', data-target='#modal-callback') формы обратной связи]
img(src="", id="canvasImg")
......@@ -249,19 +249,22 @@ block page
.row
.col
h3 Документы
h3 Документы !!!
//- Прикрепить документы
+field-file(
{
id: 'docs1',
name: 'docs1',
multiple: true
id: 'docs1-96',
name: 'files',
},
'Прикрепить еще документ',
''
)
+info-block()
|Вы можете загрузить файлы в формате TXT, DOC, XML, PDF, JPG, PNG, BMP, GIF размером не более 5 Мб
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment