Arduino Thermal Printer Problems

Hi Guys,
i have problems programming my Arduino. I use a simple sketch from tronixstuff for the use of a thermal printer. My problem is, i want to add a simple pushbutton. By pressing the button the printer should print a text like “Hello world…”.

My Problem: When i press the button, it prints. When i press the button again, nothing happens. When i reset the Arduino it prints again “Hello world…” and after pressing the button it does the same.

Maybe someone find the reason in my code:

#include <SoftwareSerial.h>
SoftwareSerial Thermal(2, 3);
int heatTime = 80;
int heatInterval = 2;
const int Taster = 10;
char printDensity = 15; 
char printBreakTime = 15;
void setup() 
{
 pinMode(Taster, INPUT); 
 Serial.begin(57600); // for debug info to serial monitor
 Thermal.begin(19200); // to write to our new printer
}

void loop(){
  if (digitalRead(Taster) == HIGH) {
    while(digitalRead(Taster) == HIGH) {
    initPrinter();

 Thermal.println("Hallo Welt...");
 Thermal.write(10); //Sends the LF to the printer, advances the paper 
 Thermal.write(10);
 Thermal.write(10); 
 do { } while (1>0);// do nothing
  } 
}
   else {}
}

void initPrinter()
{
 //Modify the print speed and heat
 Thermal.write(27);
 Thermal.write(55);
 Thermal.write(7); //Default 64 dots = 8*('7'+1)
 Thermal.write(heatTime); //Default 80 or 800us
 Thermal.write(heatInterval); //Default 2 or 20us
 //Modify the print density and timeout
 Thermal.write(18);
 Thermal.write(35);
 int printSetting = (printDensity<<4) | printBreakTime;
 Thermal.write(printSetting); //Combination of printDensity and printBreakTime
 Serial.println();
 Serial.println("Printer ready");
}

Greetings Kevin

do { } while (1>0);// do nothing

Because once it prints you tell it to do nothing forever after that.

Here, try this. Sit on your hands. Keep sitting on your hands and doing nothing as long as 1 is greater than 0. Keep asking is 1 is greater than 0 and if it is then repeat doing nothing. When you finally ask if 1 is greater than 0 and it isn't then you can pull your hands back out and continue. How long do you think you'll be sitting there on your hands?

I see what you mean. Hmm thats hoe i said a sketch from tronixstuff. Do you have any solution? When i try it without the do while the printer doesn't stop printing because the loop. What if I add a delay?
Thanks for helping