Uitleg
Eerst heb je een labelontwerp nodig, bestand eindigend op LWL.
Let wel op dat je een bestand voor jouw type label gebruikt.
In dit voorbeeld gebruik ik labeltype 99010 en het bestand:
Adres (99010).LWL (standaard labelbestand bestaande uit een simpel adresveld).
Als je het uiterlijk van de label wilt veranderen moet het gekozen bestand veranden in de Dymo label software.
Maak een nieuwe pagina aan met de naam: pagina.php en zet daarin deze code:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
if($act=='labelwriter' && $nr){
$host = "localhost"; // hier vul je je host in
$username = ""; // hier vul je je username in
$password = ""; // hier vul je je password in
$database = ""; // hier vul je de database naam in
mysql_connect($host,$username,$password);
mysql_select_db($database);
$query="SELECT * FROM bestelling where id = $nr";
$sql=mysql_query($query) or die (mysql_error());
while ($obj=mysql_fetch_object($sql)) {
$naam = $obj->naam;
$straat = $obj->straat;
$postcode = $obj->postcode;
$plaats = $obj->plaats;
?>
<form>
<INPUT TYPE="BUTTON" NAME="PrintBtn" VALUE="Print Label" OnClick="PrintBtnClicked()">
</form>
<SCRIPT>
function PrintBtnClicked()
{
var DymoAddIn, DymoLabel;
DymoAddIn = new ActiveXObject('DYMO.DymoAddIn');
DymoLabel = new ActiveXObject('DYMO.DymoLabels');
if (DymoAddIn.Open('C:\\Documents and Settings\\All Users\\Documenten\\DYMO Label\\Label Files\\Adres (99010).LWL')) //locatie labelbestand, let op dubbele backslash!!
{
DymoLabel.SetAddress(1, '<?=$naam;?>\n<?=$straat;?>\n<?=$postcode;?> <?=$plaats;?>');
DymoAddIn.Print(1, true);
}
else
alert('Error: Label file Not Found!');
}
<?php
}
}
?>
Uitleg
Eerst wordt de rij uit de database bepaalt met de nr in de url en vorvolgens maakt het script verbinding met de database:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if($act=='labelwriter' && $nr){
$host = "localhost"; // hier vul je je host in
$username = ""; // hier vul je je username in
$password = ""; // hier vul je je password in
$database = ""; // hier vul je de database naam in
mysql_connect($host,$username,$password);
mysql_select_db($database);
$query="SELECT * FROM bestelling where id = $nr";
$sql=mysql_query($query) or die (mysql_error());
while ($obj=mysql_fetch_object($sql)) {
$naam = $obj->naam;
$straat = $obj->straat;
$postcode = $obj->postcode;
$plaats = $obj->plaats;
?>
Vervolgens wordt de button aangemaakt die, wanneer je er op klikt, een javascript function aanroept.
2
3
4
5
6
7
8
9
10
<INPUT TYPE="BUTTON" NAME="PrintBtn" VALUE="Print Label" OnClick="PrintBtnClicked()">
</form>
<SCRIPT>
function PrintBtnClicked()
{
var DymoAddIn, DymoLabel;
DymoAddIn = new ActiveXObject('DYMO.DymoAddIn');
DymoLabel = new ActiveXObject('DYMO.DymoLabels');
Vervolgens kijkt het script of het bestand bestaat, zo ja, dan vult hij het adresveld in met de gegevens uit de database.
2
3
4
5
6
7
8
9
10
11
12
{
DymoLabel.SetAddress(1, '<?=$naam;?>\n<?=$straat;?>\n<?=$postcode;?> <?=$plaats;?>');
DymoAddIn.Print(1, true);
}
else
alert('Error: Label file Not Found!');
}
<?php
}
}
?>
Rij 12 uit je mysql tabel kun je nu uitprinten met:
http://jouwsite.nl/pagina.php?act=labelwriter&nr=12
LabelWriter 400 Twin Turbo
Om op de linker rol te printen verander je: DymoAddIn.Print(1, true);
in: DymoAddIn.Print(0, true);
En voor auto-switch: DymoAddIn.Print(2, true);
(Dit heb ik zelf niet kunnen testen).
Let op dit script werkt alleen met IE!!