Стандартизация в области управления документами: Особенности текущего момента
Работа с документами в JavaScript
description
Transcript of Работа с документами в JavaScript
![Page 1: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/1.jpg)
ДОКУМЕНТЫ В JAVASCRIPT И НЕ ТОЛЬКО
ДМИТРИЙ РАДЫНО
![Page 2: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/2.jpg)
ВИДЫ ДОКУМЕНТОВ
• Текстовые документы – DOCX, DOC, RTF
• Таблицы – XLSX, XLS, CSV
• Portable document format - PDF
![Page 3: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/3.jpg)
DOCX
![Page 4: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/4.jpg)
RENDERING DOCX
MAMMOTH.JS - .DOCX TO HTML CONVERTER
• Headings
• Lists
• Images
• Bold, italics, underlines, superscript and subscript
• Links
• Line breaks
Clone on GitHub
![Page 5: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/5.jpg)
RENDERING DOCX
MAMMOTH.JS - .DOCX TO HTML CONVERTERmammoth.convertToHtml({arrayBuffer: arrayBuffer}) .then(function(result) { output.innerHTML = result.value; }).done();
![Page 6: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/6.jpg)
GENERATING DOCX
DOCXTEMPLATER
DocxTemplater
{#products} {name}, {price} €{/products}
Hello {name} !
{#repo} <b>{name}</b>{/repo}{^repo} No repos :({/repo}
![Page 7: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/7.jpg)
GENERATING DOCX
DOCXTEMPLATER
var doc = new DocxGen().loadFromFile("template.docx", {});doc.applyTags({ "author": "MyFirstAuthorName", "products": [ {name:"Windows",price:100}, {name:"Mac OSX",price:200}, {name:"Ubuntu",price:0} ]});doc.output({ "download": true, name: "file.docx" });
![Page 8: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/8.jpg)
GENERATING DOCX
DOCXTEMPLATER
![Page 9: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/9.jpg)
DOCX.JS
![Page 10: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/10.jpg)
DOC
![Page 11: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/11.jpg)
RTF – RICH TEXT FORMAT
![Page 12: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/12.jpg)
RTF – RICH TEXT FORMAT
Text: 43 bytesFile size: 41 667 bytes
![Page 13: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/13.jpg)
RTF – RICH TEXT FORMAT
![Page 14: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/14.jpg)
XLSX
![Page 15: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/15.jpg)
JS-XLSX – PARSING FILEvar data = e.target.result, workbook = XLSX.read(data, {type: 'binary'}), name = workbook.SheetNames[0], data = workbook.Sheets[name], range = XLSX.utils.decode_range(data["!ref"]), json = XLSX.utils.sheet_to_json(data);
![Page 16: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/16.jpg)
JS-XLSX – UTILS
decode_cell/range/row/colencode_cell/range/row/colsheet_to_csvsheet_to_jsonsheet_to_formulae
![Page 17: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/17.jpg)
EXCEL-BUILDER.JS – GENERATE FILE
var data = [ ['Artist', 'Album', 'Price'], ['Buckethead', 'Albino Slug', 8.99], ['Buckethead', 'Electric Tears', 13.99], ['Buckethead', 'Colma', 11.34], ['Crystal Method', 'Vegas', 10.54], ['Crystal Method', 'Tweekend', 10.64], ['Crystal Method', 'Divided By Night', 8.99]];var workbook = EB.createWorkbook(), worksheet = workbook.createWorksheet({name: 'MyFirstWorkingSheet'}); worksheet.setData(data);var base64 = EB.createFile(workbook)
![Page 18: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/18.jpg)
XLS
JS-XLSX = JS-XLS
![Page 19: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/19.jpg)
CSV
![Page 20: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/20.jpg)
CSV – PARSING FILE
var parseCSV = function(csvText) { var lines = csvText.split("\n"), line, i, data = [];
for (i = 0; i < lines.length; i++) { line = lines[i]; if (line.length > 0) { data.push(line.split(",")); } } return data;};
![Page 21: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/21.jpg)
CSV – GENERATING FILE
var generateCSV = function(csvData) { var lines = [], i; for (i = 0; i < csvData.length; i++) { lines.push(csvData[i].join(",")); } return lines.join("\n");}
![Page 22: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/22.jpg)
HTML TO XLSX
![Page 23: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/23.jpg)
HTML TO XLSX
![Page 24: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/24.jpg)
HTML TO XLSX
![Page 25: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/25.jpg)
PDF.JS – PORTABLE DOCUMENT FORMATvar url = './helloworld.pdf';PDFJS.workerSrc = "scripts/pdf.worker.js";PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) { pdf.getPage(1).then(function getPageHelloWorld(page) { var desiredWidth = document.body.offsetWidth; var viewport = page.getViewport(1); var scale = desiredWidth / viewport.width; 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); });});
![Page 26: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/26.jpg)
GOOGLE DOCS VIEWER
![Page 27: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/27.jpg)
GOOGLE DOCS VIEWER
<iframe class="docBox" src="http://docs.google.com/viewer?url=http://pathtofile.pdf&embedded=true"></iframe>
![Page 28: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/28.jpg)
GOOGLE DOCS VIEWER
![Page 29: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/29.jpg)
CLOUDCONVERT.ORG
![Page 30: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/30.jpg)
CLOUDCONVERT.ORG
<form action=https://api.cloudconvert.org/convert method="POST" enctype="multipart/form-data"> <input type="hidden" name="apikey" value="…"> <input type="hidden" name="input" value="upload"> <input type="hidden" name="download" value="inline"> <input type="hidden" name="inputformat" value="docx"> <input type="hidden" name="outputformat" value="html"> <input type="file" name="file"> <input type="submit" value="Convert!"></form>
![Page 31: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/31.jpg)
CLOUDCONVERT.ORG
![Page 32: Работа с документами в JavaScript](https://reader033.fdocuments.net/reader033/viewer/2022061616/55932f3e1a28ab06648b4588/html5/thumbnails/32.jpg)
ASPOSE.COM