{"id":2799,"date":"2019-12-10T13:29:14","date_gmt":"2019-12-10T12:29:14","guid":{"rendered":"https:\/\/eenvoudigfactureren.be\/info\/?page_id=2799"},"modified":"2019-12-23T12:31:34","modified_gmt":"2019-12-23T11:31:34","slug":"dymo-labelwriter","status":"publish","type":"page","link":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/","title":{"rendered":"DYMO LabelWriter"},"content":{"rendered":"<script type=\"text\/javascript\" src=\"https:\/\/eenvoudigfactureren.be\/info\/wp-content\/uploads\/2019\/12\/DYMO.Label.Framework.3.0.js\"><\/script>\r\n\r\n<div class=\"wrap-container60 border-bottom reading-text\"><div class=\"container\">\r\n        <p>Genereer labels per factuurlijn voor DYMO LabelWriter. Gelieve aan te melden op uw account alvorens facturen te zoeken.<\/p>\r\n        <p>Voeg het label design toe en klik op &#8220;Design bewaren&#8221; om het design als standaard in te stellen in uw browser.<\/p>\r\n\r\n        <div id=\"printersDiv\">\r\n            <label for=\"printersComboBox\">Printer:<\/label>\r\n            <select id=\"printersComboBox\"><option>Printer inladen<\/option><\/select>\r\n        <\/div>\r\n        <br\/>\r\n        <br\/>\r\n\r\n        <div id=\"label-content-div\">\r\n            <label for=\"label-content\">Label design:<\/label><br\/>\r\n            <textarea id=\"label-content\" style=\"width: 50em;\" rows=\"10\"><\/textarea><br\/>\r\n            <button type=\"button\" onclick=\"saveDesign();\">Design bewaren<\/button>\r\n        <\/div>\r\n        <br\/>\r\n        <br\/>\r\n\r\n        <form onsubmit=\"searchInvoices(); return false;\">\r\n            <input type=\"text\" name=\"search\" id=\"search-invoices\" value=\"\" placeholder=\"Zoek facturen...\"\/>\r\n            <button type=\"button\" onclick=\"searchInvoices();\">Zoek<\/button>\r\n        <\/form>\r\n\r\n        <table id=\"invoice-table\" width=\"100%\">\r\n            <thead>\r\n            <tr>\r\n                <th>Nummer<\/th>\r\n                <th>Datum<\/th>\r\n                <th>Klant<\/th>\r\n                <th>Omschrijving<\/th>\r\n                <th>Bedrag<\/th>\r\n                <th><\/th>\r\n            <\/tr>\r\n            <\/thead>\r\n            <tbody id=\"invoice-table-content\">\r\n            <\/tbody>\r\n        <\/table>\r\n\r\n<\/div><\/div>\r\n\r\n<script type=\"application\/javascript\">\r\n\r\n    function rebuildTable(invoices) {\r\n        var contentBlock = document.getElementById('invoice-table-content');\r\n        contentBlock.innerHTML = '';\r\n        invoices.forEach(function(invoice) {\r\n            var row = document.createElement(\"TR\");\r\n\r\n            var number = document.createElement('TD');\r\n            number.innerHTML = invoice.number;\r\n            row.appendChild(number);\r\n\r\n            var date = document.createElement('TD');\r\n            date.innerHTML = invoice.date;\r\n            row.appendChild(date);\r\n\r\n            var client = document.createElement('TD');\r\n            client.innerHTML = invoice.client_name;\r\n            row.appendChild(client);\r\n\r\n            var description = document.createElement('TD');\r\n            description.innerHTML = invoice.description;\r\n            row.appendChild(description);\r\n\r\n            var amount = document.createElement('TD');\r\n            amount.innerHTML = invoice.total_with_tax.replace('.', ',') + ' ' + invoice.currency;\r\n            row.appendChild(amount);\r\n\r\n            var add = document.createElement('TD');\r\n            var button = document.createElement('BUTTON');\r\n            button.innerHTML = 'Print';\r\n            button.className = 'printInvoice';\r\n            button.addEventListener('click', function() {\r\n                printInvoice(invoice);\r\n            });\r\n\r\n            add.appendChild(button);\r\n            row.appendChild(add);\r\n\r\n            contentBlock.appendChild(row);\r\n        });\r\n    }\r\n\r\n    function searchInvoices() {\r\n        var search = document.getElementById('search-invoices').value;\r\n\r\n        var xhr = new XMLHttpRequest();\r\n        xhr.onreadystatechange = function() {\r\n            if (xhr.readyState === 4){\r\n                rebuildTable(JSON.parse(xhr.responseText));\r\n            }\r\n        };\r\n        xhr.open('GET', '\/api\/v1\/invoices?format=json&take=50&sort=-date%2B-number&fields=number,client_id,client_name,date,status,description,reference,total_with_tax,currency,items&search='+encodeURI(search));\r\n        xhr.send();\r\n    }\r\n\r\n    function saveDesign() {\r\n        var design = document.getElementById('label-content').value;\r\n        localStorage['labelDesign'] = design;\r\n    }\r\n\r\n    function getLabel(quantity, description, stockitem_code) {\r\n        var labelXml = document.getElementById('label-content').value;\r\n        labelXml = labelXml.replace('{item-quantity}', quantity);\r\n        labelXml = labelXml.replace('{item-description}', description);\r\n        labelXml = labelXml.replace('{item-stockitem_code}', stockitem_code);\r\n        return labelXml;\r\n    }\r\n\r\n    var printers = []; \/\/ caches a list of printers\r\n\r\n    function getPrinter() {\r\n        try\r\n        {\r\n            var printersComboBox = document.getElementById('printersComboBox');\r\n\r\n            var currentPrinterName = printersComboBox.value;\r\n\r\n            var printer = printers[currentPrinterName];\r\n            if (!printer) {\r\n                throw new Error(\"Selecteer een LabelWriter printer\");\r\n            }\r\n\r\n            return printer;\r\n        } catch(e) {\r\n            alert(e.message || e);\r\n            return null;\r\n        }\r\n    }\r\n\r\n    function printItem(item, invoice) {\r\n        try {\r\n            var label = dymo.label.framework.openLabelXml(getLabel(item.quantity, item.description, item.stockitem_code));\r\n            var printJob = label.print(getPrinter().name);\r\n        } catch(e) {\r\n            alert(e.message || e);\r\n        }\r\n    }\r\n\r\n    function printInvoice(invoice) {\r\n        var printer = getPrinter();\r\n        if (!printer) {\r\n            return;\r\n        }\r\n\r\n        invoice.items.forEach(function(item) {\r\n            printItem(item, invoice);\r\n        });\r\n    }\r\n\r\n    var removeChildren = function(node) {\r\n        var child;\r\n        while ((child = node.firstChild)) {\r\n            node.removeChild(child);\r\n        }\r\n    };\r\n\r\n    function onload() {\r\n        var printersComboBox = document.getElementById('printersComboBox');\r\n\r\n        \/\/ loads all supported printers into a combo box\r\n        function updatePrinters() {\r\n            \/\/ clear first\r\n            removeChildren(printersComboBox);\r\n\r\n            printers = dymo.label.framework.getPrinters();\r\n\r\n            for (var i = 0; i < printers.length; i++) {\r\n                var printerName = printers[i].name;\r\n\r\n                var option = document.createElement('option');\r\n                option.value = printerName;\r\n                option.appendChild(document.createTextNode(printerName));\r\n                printersComboBox.appendChild(option);\r\n            }\r\n        };\r\n\r\n        updatePrinters();\r\n    }\r\n\r\n    function initPage() {\r\n        var defaultContent = '<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n\\\r\n<DieCutLabel Version=\"8.0\" Units=\"twips\" MediaType=\"Default\">\\n\\\r\n<\/DieCutLabel>';\r\n\r\n        if (localStorage['labelDesign']) {\r\n            defaultContent = localStorage['labelDesign'];\r\n        }\r\n        document.getElementById('label-content').value = defaultContent;\r\n\r\n        searchInvoices();\r\n\r\n        if(dymo.label.framework.init) {\r\n            dymo.label.framework.init(onload);\r\n        } else {\r\n            onload();\r\n        }\r\n    }\r\n\r\n    \/\/ register onload event\r\n    if (window.addEventListener) {\r\n        window.addEventListener(\"load\", initPage, false);\r\n    } else if (window.attachEvent) {\r\n        window.attachEvent(\"onload\", initPage);\r\n    } else {\r\n        window.onload = initPage;\r\n    }\r\n\r\n<\/script>\r\n","protected":false},"excerpt":{"rendered":"Genereer labels per factuurlijn voor DYMO LabelWriter. Gelieve aan te melden op uw account alvorens facturen te zoeken. Voeg het label design toe en klik op &#8220;Design bewaren&#8221; om het design als standaard in te stellen in uw browser. Printer: Printer inladen Label design: Design bewaren Zoek Nummer Datum Klant Omschrijving Bedrag","protected":false},"author":1,"featured_media":0,"parent":446,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-2799","page","type-page","status-publish","hentry","no-wpautop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DYMO LabelWriter<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/\" \/>\n<meta property=\"og:locale\" content=\"nl_BE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DYMO LabelWriter\" \/>\n<meta property=\"og:description\" content=\"Genereer labels per factuurlijn voor DYMO LabelWriter. Gelieve aan te melden op uw account alvorens facturen te zoeken. Voeg het label design toe en klik op &#8220;Design bewaren&#8221; om het design als standaard in te stellen in uw browser. Printer: Printer inladen Label design: Design bewaren Zoek Nummer Datum Klant Omschrijving Bedrag\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/\" \/>\n<meta property=\"og:site_name\" content=\"EenvoudigFactureren\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-23T11:31:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/eenvoudigfactureren.be\/info\/wp-content\/uploads\/2021\/09\/Logo-EenvoudigFactureren.png\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"222\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/\",\"url\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/\",\"name\":\"DYMO LabelWriter\",\"isPartOf\":{\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/#website\"},\"datePublished\":\"2019-12-10T12:29:14+00:00\",\"dateModified\":\"2019-12-23T11:31:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/#breadcrumb\"},\"inLanguage\":\"nl-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eenvoudigfactureren.be\/info\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tools\",\"item\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DYMO LabelWriter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/#website\",\"url\":\"https:\/\/eenvoudigfactureren.be\/info\/\",\"name\":\"EenvoudigFactureren\",\"description\":\"Online facturatie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eenvoudigfactureren.be\/info\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-BE\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DYMO LabelWriter","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/","og_locale":"nl_BE","og_type":"article","og_title":"DYMO LabelWriter","og_description":"Genereer labels per factuurlijn voor DYMO LabelWriter. Gelieve aan te melden op uw account alvorens facturen te zoeken. Voeg het label design toe en klik op &#8220;Design bewaren&#8221; om het design als standaard in te stellen in uw browser. Printer: Printer inladen Label design: Design bewaren Zoek Nummer Datum Klant Omschrijving Bedrag","og_url":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/","og_site_name":"EenvoudigFactureren","article_modified_time":"2019-12-23T11:31:34+00:00","og_image":[{"width":500,"height":222,"url":"https:\/\/eenvoudigfactureren.be\/info\/wp-content\/uploads\/2021\/09\/Logo-EenvoudigFactureren.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/","url":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/","name":"DYMO LabelWriter","isPartOf":{"@id":"https:\/\/eenvoudigfactureren.be\/info\/#website"},"datePublished":"2019-12-10T12:29:14+00:00","dateModified":"2019-12-23T11:31:34+00:00","breadcrumb":{"@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/#breadcrumb"},"inLanguage":"nl-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/dymo-labelwriter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eenvoudigfactureren.be\/info\/"},{"@type":"ListItem","position":2,"name":"Tools","item":"https:\/\/eenvoudigfactureren.be\/info\/tools\/"},{"@type":"ListItem","position":3,"name":"DYMO LabelWriter"}]},{"@type":"WebSite","@id":"https:\/\/eenvoudigfactureren.be\/info\/#website","url":"https:\/\/eenvoudigfactureren.be\/info\/","name":"EenvoudigFactureren","description":"Online facturatie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eenvoudigfactureren.be\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-BE"}]}},"_links":{"self":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/2799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/comments?post=2799"}],"version-history":[{"count":18,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/2799\/revisions"}],"predecessor-version":[{"id":2851,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/2799\/revisions\/2851"}],"up":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/446"}],"wp:attachment":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/media?parent=2799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}