Ik probeer een afbeelding uit een dymo labelbestand te exporteren, normaal zijn de afbeeldingen in het labelbestand opgeslagen als base64 string van een png afbeelding.
Het probleem is dat de afbeelding die ik probeer te exporteren is opgeslagen in een ander (base64?) formaat. Wanneer ik een dymo label bestand maak met de afbeelding in het onbekende formaat en het label bestand open en vervolgens weer opsla met de labelwriter software slaat de software de afbeelding WEL in png formaat op.
Afbeelding in onbekend formaat:
Afbeelding als base64 encoded png:
Wat ik probeer te doen:
Voor mijn webwinkel gebruik ik de PostNL Digitale postzegel service om mijn postzegels te printen.
Als besturingssysteem voor mijn computer gebruik Arch linux. Het probleem is dat Dymo linux niet ondersteund en dat daardoor het uitprinten van de digitale postzegels niet werkt. Ik heb op dit moment Windows als dual-boot geinstalleerd zodat ik de postzegels kan uitprinten maar het is best vervelend om steeds te rebooten om een postzegel uit te printen (terwijl de labelwriter WEL werkt in linux).
Afgelopen week heb ik zo veel mogelijk dingen voor mijn webwinkel geautomatiseerd: wanneer ik een bestelling wil versturen is een druk op de knop voldoende om het juiste adreslabel te printen. Wanneer de bestelling als pakket verzonden moet worden meld het systeem de verzending aan bij Sendcloud en wordt de pakketzegel automatisch uitgeprint met een labelwriter.
Het laatste wat nog ontbreekt is het automatisch printen van een postzegel wanneer de bestelling via brievenbuspost bezorgd kan worden.
Hiervoor moet ik op de een of andere manier de PostNL website vertellen dat ik een postzegel wil kopen (van de juiste waarde) en moet ik de data die normaal via het Dymo framework gaat opvangen en verwerken zodat het ook onder Linux werkt.
Wat ik tot nu toe al voorelkaar heb gekregen:
- Ik kan de controle of het framework geinstalleerd is en of er een labelwriter is aangesloten uitschakelen (door het vervangen van de javascript functie die de check uitvoert door een "return 0;")
- Ik kan de data die PostNL normaal aan de labelwriter software geeft opslaan (dit is een XML bestand met het zelfde formaat als opgeslagen labels die je zelf maakt met de Dymo software).
(bovenstaande twee punten moet ik straks ook zonder webbrowser werkend gaan krijgen door het simuleren van de javascripts tegen de server van PostNL, maar daar begin ik pas aan na dat ik de belangrijkste stap, het printen, werkend heb)
Ik ben een php script gaan schrijven wat een PDF bestand maakt aan de hand van het XML bestand (ter vervanging van de dymo software). Dat werkt nu met de voorbeeldpostzegels die je zonder te betalen uit kan printen om te testen. Bijna alle dingen op de postzegel zijn statisch / makkelijk zelf te genereren (postNL logo, de "fimcode", land, mijn accountnummer, bedrag). Het stuk waar ik nu op vastloop is de "DATAMATRIX" code. Dit is de code die uniek is bij iedere postzegel zodat postNL kan controleren of er voor betaald is (en of het geen kopie is van een eerder gebruikte postzegel).
Bij het voorbeeld wordt er een nep datamatrix code geprint met specimen er op. Nu de grap: die nep datamatrix code is wel netjes een png afbeelding maar de echte datamatrix code van een betaalde postzegel is in een ander formaat opgeslagen wat door de dymo software wordt vervangen door een png bij het openen en opslaan van de postzegel (xml).
Alvast bedankt voor jullie hulp!
(Link naar PostNL site: https://digitalepostzegel.postnl.nl/)
Het probleem is dat de afbeelding die ik probeer te exporteren is opgeslagen in een ander (base64?) formaat. Wanneer ik een dymo label bestand maak met de afbeelding in het onbekende formaat en het label bestand open en vervolgens weer opsla met de labelwriter software slaat de software de afbeelding WEL in png formaat op.
Afbeelding in onbekend formaat:
Afbeelding als base64 encoded png:
---data gewist--- |
Wat ik probeer te doen:
Voor mijn webwinkel gebruik ik de PostNL Digitale postzegel service om mijn postzegels te printen.
Als besturingssysteem voor mijn computer gebruik Arch linux. Het probleem is dat Dymo linux niet ondersteund en dat daardoor het uitprinten van de digitale postzegels niet werkt. Ik heb op dit moment Windows als dual-boot geinstalleerd zodat ik de postzegels kan uitprinten maar het is best vervelend om steeds te rebooten om een postzegel uit te printen (terwijl de labelwriter WEL werkt in linux).
Afgelopen week heb ik zo veel mogelijk dingen voor mijn webwinkel geautomatiseerd: wanneer ik een bestelling wil versturen is een druk op de knop voldoende om het juiste adreslabel te printen. Wanneer de bestelling als pakket verzonden moet worden meld het systeem de verzending aan bij Sendcloud en wordt de pakketzegel automatisch uitgeprint met een labelwriter.
Het laatste wat nog ontbreekt is het automatisch printen van een postzegel wanneer de bestelling via brievenbuspost bezorgd kan worden.
Hiervoor moet ik op de een of andere manier de PostNL website vertellen dat ik een postzegel wil kopen (van de juiste waarde) en moet ik de data die normaal via het Dymo framework gaat opvangen en verwerken zodat het ook onder Linux werkt.
Wat ik tot nu toe al voorelkaar heb gekregen:
- Ik kan de controle of het framework geinstalleerd is en of er een labelwriter is aangesloten uitschakelen (door het vervangen van de javascript functie die de check uitvoert door een "return 0;")
- Ik kan de data die PostNL normaal aan de labelwriter software geeft opslaan (dit is een XML bestand met het zelfde formaat als opgeslagen labels die je zelf maakt met de Dymo software).
(bovenstaande twee punten moet ik straks ook zonder webbrowser werkend gaan krijgen door het simuleren van de javascripts tegen de server van PostNL, maar daar begin ik pas aan na dat ik de belangrijkste stap, het printen, werkend heb)
Ik ben een php script gaan schrijven wat een PDF bestand maakt aan de hand van het XML bestand (ter vervanging van de dymo software). Dat werkt nu met de voorbeeldpostzegels die je zonder te betalen uit kan printen om te testen. Bijna alle dingen op de postzegel zijn statisch / makkelijk zelf te genereren (postNL logo, de "fimcode", land, mijn accountnummer, bedrag). Het stuk waar ik nu op vastloop is de "DATAMATRIX" code. Dit is de code die uniek is bij iedere postzegel zodat postNL kan controleren of er voor betaald is (en of het geen kopie is van een eerder gebruikte postzegel).
Bij het voorbeeld wordt er een nep datamatrix code geprint met specimen er op. Nu de grap: die nep datamatrix code is wel netjes een png afbeelding maar de echte datamatrix code van een betaalde postzegel is in een ander formaat opgeslagen wat door de dymo software wordt vervangen door een png bij het openen en opslaan van de postzegel (xml).
Alvast bedankt voor jullie hulp!
(Link naar PostNL site: https://digitalepostzegel.postnl.nl/)
[ Voor 69% gewijzigd door -iemand- op 04-04-2015 20:38 . Reden: Verwijderen afbeeldingsdata, vraag is beantwoord. ]