Я пытаюсь напечатать «Hello World» на принтере Zebra TTP 2030.
std::ofstream of;
of.open("Zebra TTP 2030");
if (of.is_open())
{
debug(std::string("open : ok"));
of << ticket.generateCode(); // return std::string
// ^XA^FO50,50^ADN,10,10^FDHello World^FS^XZ
of.flush();
of.close();
}
else
debug(std::string("open : ko"));
В консоли «open: ok» — это трассировка.
Я использую Microsoft XP Pro (VM). Я работаю над Visual Studio 2010. Принтер настроен на виртуальной машине.
Кто-то знает, почему билет не создан?
Способ печатать вещи из командной строки с print
, Печать, TechNet
Таким образом, вы можете достичь того, что вы просите, используя print
из вашего приложения. Например.
#include<fstream>
#include<string>
#include<cstdlib>
void print_to_file(string filename){
std::ofstream printer(filename);
printer<<"Hello";
}
//create file with contents to print
int main(){
std::string filename("print_this.tmp");
print_to_file(filename);
std::string command("print \\d:\\\\ServerName\\PrinterName ");
std::system(command + filename);
}
Как отмечается в статье TechNet, у вас есть несколько вариантов имени принтера.
Вы создали текстовый файл с именем «Zebra TTP 2030», и ваш текст там.
В C ++ нет стандартного способа отправки вывода на принтер — вам нужно обратиться к справке Microsoft, чтобы узнать, как это делается.