У меня проблема с печатью на термопринтере. Я делаю приложение, которое печатает текстовый документ на принтере с заголовочным файлом pstream () . Когда я печатаю на обычном принтере, все в порядке, но когда на термопринтере он выдает ошибку очереди печати и не печатает. Я установил имя принтера как статическое, а не по умолчанию defaultPrinter = "Thermal Printer TP2";
, но оно не печатает.
int main()
{
vector<string> printerNames = pst::pstream::getPrinterNames();
vector<string>::iterator itr;
for (itr = printerNames.begin(); itr != printerNames.end(); ++itr)
{
//cout << *itr << '\n';
//Create a stream - default constructor will use the default ptinter
pst::pstream p;
//Set the page margins using the printer stream manipulators
p << pst::setLeftMargin(5);
p << pst::setTopMargin(1);
p << pst::setRightMargin(5);
p << pst::setBottomMargin(1);
ifstream f("document.txt"); //use some available text file
p.setLeftMargin(25);
p << "\n";
p << f;
p << pst::flushp;
f.close();...
pstream.h
...
pstream::pstream() :leftMargin(),rightMargin(),topMargin(),bottomMargin(),tabSize(4),pageNumbers(false)
{
DWORD buffSize;
_TCHAR* pPrinterName;
GetDefaultPrinter(0, &buffSize);
pPrinterName = new _TCHAR[buffSize]();
GetDefaultPrinter (pPrinterName,&buffSize);
defaultPrinter = pPrinterName;
//Set the stream status
streamStatus = (defaultPrinter == "")? FAIL : GOOD;
}....