์๋
html2canvas๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ด ํ์ด์ง์๋ gridster ์์ ฏ์ด ์๊ณ ๊ฐ ์์ ฏ์๋ ๋ณด๊ณ ์๊ฐ ์์ต๋๋ค. ์บ๋ฒ์ค๋ฅผ ์ค๋นํ๋ ค๊ณ ํ ๋ ํ์ด์ง์ ๋ชจ๋ ํญ๋ชฉ์ ์บก์ฒํ ์ ์์ผ๋ฉฐ ๋ณด์ด๋ ์์ญ์ ์์ ํ ์๋ ํญ๋ชฉ๋ ์บก์ฒํ ์ ์์ต๋๋ค.
print(element: Element, renderer: Renderer2, includeSvgs = true) {
const height = element.clientHeight;
const width = element.clientWidth;
if (includeSvgs) {
this.convertSvgElems(element, renderer);
}
html2canvas(element).then((canvas) => {
let html = '<html><head><title></title></head>';
html += '<body style="width:"' + width + '" ;height:"' + height + '" padding: 0; margin: 0;"';
html += ' onload="window.focus(); window.print(); window.close()">';
html += '<img crossorigin="anonymous" allowTaint = true useCORS=true src="' + canvas.toDataURL() + '" /></body></html>';
const printWindow = window.open('', 'to_print', 'height=700,width=800');
printWindow.document.open();
printWindow.document.write(html);
if (includeSvgs) {
this.deleteCanvasElems(element, renderer);
}
printWindow.document.close();
});
}
๋น์ทํ ๋ฌธ์ ๊ฐ ์ธ๊ธ๋์์ต๋๋ค
์ฌ๊ธฐ
์ ๋ฐ์ดํธ: ๋ธ๋ผ์ฐ์ ์ฝ์์ ํตํด ๋์ผํ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค. ๋ ๊ฐ์ง ๋ชจ๋์ ๋ํด ์๋ ์ธ๊ธ๋ ๋ก๊ทธ๋ฅผ ํ์ธํ์ญ์์ค.
์ฝ์์ ํตํด:
ZoneAwarePromiseย {__zone_symbol__state: null, __zone_symbol__value: Array(0)}
jspdf.min.js:5422 495ms html2canvas: Document cloned
jspdf.min.js:5422 497ms html2canvas: Initialized CanvasRenderer with size 1366 x 622
jspdf.min.js:5422 497ms html2canvas: Starting NodeParser
jspdf.min.js:5422 635ms html2canvas: Fetched nodes, total: 2104
jspdf.min.js:5422 636ms html2canvas: Calculate overflow clips
jspdf.min.js:5422 1030ms html2canvas: Start fetching images
jspdf.min.js:5422 1034ms html2canvas: Added image #1 <svg xmlns:xlink=โ"http:โ/โ/โwww.w3.org/โ1999/โxlink" height=โ"24px" version=โ"1.1" viewBox=โ"0 0 24 24" width=โ"24px" xmlns=โ"http:โ/โ/โwww.w3.org/โ2000/โsvg">โโฆโ</svg>โ
jspdf.min.js:5422 1037ms html2canvas: Added image #2 <svg xmlns:xlink=โ"http:โ/โ/โwww.w3.org/โ1999/โxlink" height=โ"24px" version=โ"1.1" viewBox=โ"0 0 24 24" width=โ"24px" xmlns=โ"http:โ/โ/โwww.w3.org/โ2000/โsvg">โโฆโ</svg>โ
jspdf.min.js:5422 1040ms html2canvas: Added image #3 <svg xmlns:xlink=โ"http:โ/โ/โwww.w3.org/โ1999/โxlink" height=โ"24px" version=โ"1.1" viewBox=โ"0 0 24 24" width=โ"24px" xmlns=โ"http:โ/โ/โwww.w3.org/โ2000/โsvg">โโฆโ</svg>โ
jspdf.min.js:5422 1040ms html2canvas: Added image #4 <svg xmlns:xlink=โ"http:โ/โ/โwww.w3.org/โ1999/โxlink" height=โ"24px" version=โ"1.1" viewBox=โ"0 0 24 24" width=โ"24px" xmlns=โ"http:โ/โ/โwww.w3.org/โ2000/โsvg">โโฆโ</svg>โ
jspdf.min.js:5422 1042ms html2canvas: Added image #5 <svg xmlns:xlink=โ"http:โ/โ/โwww.w3.org/โ1999/โxlink" height=โ"24px" version=โ"1.1" viewBox=โ"0 0 24 24" width=โ"24px" xmlns=โ"http:โ/โ/โwww.w3.org/โ2000/โsvg">โโฆโ</svg>โ
jspdf.min.js:5422 1053ms html2canvas: Finished searching images
jspdf.min.js:5422 1063ms html2canvas: Succesfully loaded image #5 rย {src: svg, image: img, promise: ZoneAwarePromise}
jspdf.min.js:5422 1065ms html2canvas: Succesfully loaded image #4 rย {src: svg, image: img, promise: ZoneAwarePromise}
jspdf.min.js:5422 1067ms html2canvas: Succesfully loaded image #3 rย {src: svg, image: img, promise: ZoneAwarePromise}
jspdf.min.js:5422 1068ms html2canvas: Succesfully loaded image #2 rย {src: svg, image: img, promise: ZoneAwarePromise}
jspdf.min.js:5422 1069ms html2canvas: Succesfully loaded image #1 rย {src: svg, image: img, promise: ZoneAwarePromise}
jspdf.min.js:5422 1071ms html2canvas: Images loaded, starting parsing
jspdf.min.js:5422 1072ms html2canvas: Creating stacking contexts
jspdf.min.js:5422 1110ms html2canvas: Sorting stacking contexts
jspdf.min.js:5422 1138ms html2canvas: Render queue created with 3026 items
jspdf.min.js:5422 3316ms html2canvas: Finished rendering
jspdf.min.js:5422 3328ms html2canvas: Cropping canvas at: left: 0 top: 61 width: 1366 height: 561
jspdf.min.js:5422 3340ms html2canvas: Resulting crop with width 1366 and height 561 with x 0 and y 61
jspdf.min.js:5422 3388ms html2canvas: Cleaned up container
์ฝ๋๋ฅผ ํตํด:
0ms html2canvas: html2canvas $npm_package_version
Logger.js:36 1028ms html2canvas: Document cloned, using computed rendering
Logger.js:36 1028ms html2canvas: Starting node parsing
Logger.js:36 1096ms html2canvas: Added image data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20height%3D%2224px%22%20version%3D%221.1%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22di
Logger.js:36 1359ms html2canvas: Finished parsing node tree
Logger.js:36 1496ms html2canvas: Finished loading 11 images (11)ย [canvas.screenShotTempCanvas, canvas, canvas.screenShotTempCanvas, canvas, canvas.screenShotTempCanvas, canvas, canvas.screenShotTempCanvas, canvas, canvas.screenShotTempCanvas, canvas, img]
Logger.js:36 1497ms html2canvas: Starting renderer
Logger.js:36 1498ms html2canvas: Canvas renderer initialized (1366x561 at 0,61) with scale 1
Logger.js:36 1599ms html2canvas: Render completed
๋ ๊ฒฝ์ฐ ๋ชจ๋์ ๋ํ ์ด๋ฏธ์ง๋ ์ฒจ๋ถํ์ต๋๋ค.
์
๋ฐ์ดํธํ์ญ์์ค.
๊ฐ์ฌ ํด์
์ ํ์ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์ ์ญ ๋ฒ์์ ๋ค์ CSS ๊ท์น์ ์ถ๊ฐํ์ต๋๋ค.
.gridster-item {
transition: unset !important;
}
gridster๊ฐ ํ๊ทธ์ธ ๊ฒฝ์ฐ Angular ํ๋ก์ ํธ์์. ์ ์ญ scss์ ๋ค์ ์ถ๊ฐ
gridster-item {
transition: unset !important;
}
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ ํ์ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์ ์ญ ๋ฒ์์ ๋ค์ CSS ๊ท์น์ ์ถ๊ฐํ์ต๋๋ค.