SlideShare a Scribd company logo
1 of 30
Download to read offline
HTML 5 canvas лект о
доку е тоо о от
Зотов М к м.
Senior PрP отч к BWT Team.
ТЗ.
• Дел т п доку е те от ук лект о о де е.
• З пол т д е доку е те кл ту то д е
о о ло о т у д .
• П т у ко у е, пото п одол т пол е е
лект о о де е.
Что пол ов л .
• PDF PDн form
• PDF.JS
• HTML5 canvas.
• Anoto Formidable Digital Pens.
PDF PDн from.
• Portable Document Format (PDF) — е пл т о е о т
лект о доку е то , от о Adobe
Systems пол о е д о о о те к PostScript.
• Фо т PDн по ол ет ед т ео од е т
по т о тек т , екто е т о е о е , о
ул т ед - т к
PDF.JS
• PDн.js л pdf.js — о од ое п о ое о е пе е е
рTMэ5 JavaScript дл п ео о ло о те PDн
код рTMэ5, п од дл п о от е - у е е.
• https://github.com/mozilla/pdf.js
• https://mozilla.github.io/pdf.js/web/viewer.html
PDF.JS. Hello World
• var url = 'https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf';
PDFJS.workerSrc = 'pdf.worker.js';
PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) {
pdf.getPage(1).then(function getPageHelloWorld(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
var canvas = document.getElementById('the-canvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
});
PDF.JS
К к е фо ?
• Ну о отдел о п т pdf. Со д т т
д html о у кл д т ее по е canvas.
К к е фо ?
• {
"page_number":1,
"field_name":"test_9",
"field_values":[],
"field_type": "text",
"field_is_multiline":0,
"field_position":[
{
"height":11.006989,
"page":1,
"width":79.79999,
"left":499.56,
"units":"px",
"top":324.72
}
],
"field_style":{
"color":"",
"font":"Helvetica",
"size":"8"
}
Т п поле фо .
• Checkbox
• Text
• Radiobutton
• combobox
HTML5 CANVAS
• Canvas ( л. canvas — « ол т», у . канва́с) — ле е т HTML5,
п ед е дл о д т о о о д у е о о
о е п по о к пто , о о ке JavaScript.
• Н ло от ёт лок од т ле е у. По у ол е о
т е т п к ел , от т п т де т
Подде к у е ов
HTML5 CANVAS. Hello World
• <!DOCTYPE html>
<html lang="en">
<head>
<script>
(function () {
"use strict";
window.addEventListener('load', ready, false);
function ready () {
var canvas = document.getElementById('canvas'),
context = canvas.getContext("2d");
context.moveTo(0,0);
context.lineTo(canvas.width, canvas.height);
context.stroke();
}
})();
</script>
</head>
<body>
<canvas id="canvas" style="border: solid 1px;"></canvas>
</body>
</html>
HTML5 CANVAS. Hello World
HTML5 CANVAS. Draw
• canvas.addEventListener('mousedown', draw,
false);
canvas.addEventListener('mousemove', draw,
false);
canvas.addEventListener('mouseup', draw,
false);
canvas.addEventListener('mouseout', draw,
false);
HTML5 CANVAS. Draw
• function draw(event) {
switch (event.type) {
case 'mousedown' :
started = true;
context.beginPath();
context.moveTo(event.offsetX, event.offsetY);
break;
case 'mousemove' :
if(started) {
context.lineTo(event.offsetX, event.offsetY);
context.stroke();
}
break;
case 'mouseup' :
case 'mouseout' :
started = false;
context.closePath();
break;
}
}
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. Draw
HTML5 CANVAS. ZOOM
• Canvas то т о к , п е е е те ет
к е т о.
• Но од е т . П у ел е л у е е е
пе е о т у ето scale.
HTML5 CANVAS. ZOOM
• canvas.style.transform = 'scale(' + scale +
')';
drawStrokes(strokes, bufferContext, scale);
context.drawImage(self.bufferCanvas, 0, 0);
canvas.style.transform = 'scale(1)';
HTML5 CANVAS. Eraser
• context.clearRect(x, y, 10, 10);
Formidable Digital Pens.
• http://www.anoto.com
• http://www.formidablemdc.com/digital-pens/
Сп о в е.
оп о ?

More Related Content

More from STEP Computer Academy (Zaporozhye)

1 Презентация функциональное программирование
1 Презентация функциональное программирование1 Презентация функциональное программирование
1 Презентация функциональное программированиеSTEP Computer Academy (Zaporozhye)
 
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В.
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В. Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В.
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В. STEP Computer Academy (Zaporozhye)
 
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.STEP Computer Academy (Zaporozhye)
 
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.STEP Computer Academy (Zaporozhye)
 
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.STEP Computer Academy (Zaporozhye)
 
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А.
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А. Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А.
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А. STEP Computer Academy (Zaporozhye)
 
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю.
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю. Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю.
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю. STEP Computer Academy (Zaporozhye)
 
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"STEP Computer Academy (Zaporozhye)
 

More from STEP Computer Academy (Zaporozhye) (10)

2 презентация rx java+android
2 презентация rx java+android2 презентация rx java+android
2 презентация rx java+android
 
1 Презентация функциональное программирование
1 Презентация функциональное программирование1 Презентация функциональное программирование
1 Презентация функциональное программирование
 
Golden Byte 2016
Golden Byte 2016Golden Byte 2016
Golden Byte 2016
 
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В.
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В. Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В.
Дипломная работа ЗФКА "ШАГ" (2015) - Хетагуров М. В.
 
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.
Дипломная работа ЗФКА "ШАГ" (2015) - Торба А.С.
 
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.
Дипломная работа ЗФКА "ШАГ" 2015) - Пантилимонова Е.И.
 
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.
Дипломный проект ЗФКА "ШАГ" (2015) - Ищенко А.С.
 
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А.
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А. Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А.
Дипломная работа ЗФКА "ШАГ" (2015) - Жучков С.А.
 
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю.
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю. Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю.
Дипломная работа "ЗФКА "ШАГ" (2015) - Есина Ю.Ю.
 
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"
Урок 3Ds Max - полустационар "Компьютерная графика и дизайн" в КА "ШАГ"
 

Html5 canvas и электронный документооборот

  • 1. HTML 5 canvas лект о доку е тоо о от Зотов М к м. Senior PрP отч к BWT Team.
  • 2. ТЗ. • Дел т п доку е те от ук лект о о де е. • З пол т д е доку е те кл ту то д е о о ло о т у д . • П т у ко у е, пото п одол т пол е е лект о о де е.
  • 3. Что пол ов л . • PDF PDн form • PDF.JS • HTML5 canvas. • Anoto Formidable Digital Pens.
  • 4. PDF PDн from. • Portable Document Format (PDF) — е пл т о е о т лект о доку е то , от о Adobe Systems пол о е д о о о те к PostScript. • Фо т PDн по ол ет ед т ео од е т по т о тек т , екто е т о е о е , о ул т ед - т к
  • 5.
  • 6. PDF.JS • PDн.js л pdf.js — о од ое п о ое о е пе е е рTMэ5 JavaScript дл п ео о ло о те PDн код рTMэ5, п од дл п о от е - у е е. • https://github.com/mozilla/pdf.js • https://mozilla.github.io/pdf.js/web/viewer.html
  • 7. PDF.JS. Hello World • var url = 'https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf'; PDFJS.workerSrc = 'pdf.worker.js'; PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) { pdf.getPage(1).then(function getPageHelloWorld(page) { var scale = 1.5; var viewport = page.getViewport(scale); var canvas = document.getElementById('the-canvas'); var context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; var renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext); }); });
  • 9. К к е фо ? • Ну о отдел о п т pdf. Со д т т д html о у кл д т ее по е canvas.
  • 10. К к е фо ? • { "page_number":1, "field_name":"test_9", "field_values":[], "field_type": "text", "field_is_multiline":0, "field_position":[ { "height":11.006989, "page":1, "width":79.79999, "left":499.56, "units":"px", "top":324.72 } ], "field_style":{ "color":"", "font":"Helvetica", "size":"8" }
  • 11. Т п поле фо . • Checkbox • Text • Radiobutton • combobox
  • 12. HTML5 CANVAS • Canvas ( л. canvas — « ол т», у . канва́с) — ле е т HTML5, п ед е дл о д т о о о д у е о о о е п по о к пто , о о ке JavaScript. • Н ло от ёт лок од т ле е у. По у ол е о т е т п к ел , от т п т де т
  • 13. Подде к у е ов
  • 14. HTML5 CANVAS. Hello World • <!DOCTYPE html> <html lang="en"> <head> <script> (function () { "use strict"; window.addEventListener('load', ready, false); function ready () { var canvas = document.getElementById('canvas'), context = canvas.getContext("2d"); context.moveTo(0,0); context.lineTo(canvas.width, canvas.height); context.stroke(); } })(); </script> </head> <body> <canvas id="canvas" style="border: solid 1px;"></canvas> </body> </html>
  • 16. HTML5 CANVAS. Draw • canvas.addEventListener('mousedown', draw, false); canvas.addEventListener('mousemove', draw, false); canvas.addEventListener('mouseup', draw, false); canvas.addEventListener('mouseout', draw, false);
  • 17. HTML5 CANVAS. Draw • function draw(event) { switch (event.type) { case 'mousedown' : started = true; context.beginPath(); context.moveTo(event.offsetX, event.offsetY); break; case 'mousemove' : if(started) { context.lineTo(event.offsetX, event.offsetY); context.stroke(); } break; case 'mouseup' : case 'mouseout' : started = false; context.closePath(); break; } }
  • 25. HTML5 CANVAS. ZOOM • Canvas то т о к , п е е е те ет к е т о. • Но од е т . П у ел е л у е е е пе е о т у ето scale.
  • 26. HTML5 CANVAS. ZOOM • canvas.style.transform = 'scale(' + scale + ')'; drawStrokes(strokes, bufferContext, scale); context.drawImage(self.bufferCanvas, 0, 0); canvas.style.transform = 'scale(1)';
  • 27. HTML5 CANVAS. Eraser • context.clearRect(x, y, 10, 10);
  • 28. Formidable Digital Pens. • http://www.anoto.com • http://www.formidablemdc.com/digital-pens/
  • 29.
  • 30. Сп о в е. оп о ?