Linux使用cups进行打印

简介: Linux使用cups进行打印

复制的代码,还没有试过。


#include <cups/cups.h>


//...


int print_label( const char *text, const char *printer_name, const char *job_name )


{undefined


   int jobId = 0;


jobId = cupsCreateJob( CUPS_HTTP_DEFAULT, printer_name, job_name, 0, NULL );


if ( jobId > 0 )


   {undefined


       qDebug( ) << "Printing job #" << jobId << " (\"" << job_name << "\").";


const char* format = CUPS_FORMAT_TEXT; // CUPS_FORMAT_POSTSCRIPT;


cupsStartDocument( CUPS_HTTP_DEFAULT, printer_name, jobId, text, format, true );


       cupsWriteRequestData( CUPS_HTTP_DEFAULT, text, strlen( text ) );


cupsFinishDocument( CUPS_HTTP_DEFAULT, printer_name );


   }


return jobId;


}


//...


// Now, inside any Qt function (may be a slot):


QPrinter printer;


QPrintDialog *dialog = new QPrintDialog( &printer, this );


dialog->setWindowTitle( tr( "Zebra label" ) );


if ( dialog->exec( ) != QDialog::Accepted )


   return;


// This is the sample label. Can be anything.


const char label[] =


   "^XA~TA000~JSN^LT0^MNW^MTD^PON^PMN^LH0,0^JMA^PR4,4^MD0^JUS^LRN^CI0^XZ\n"


   "^XA\n"


   "^MMT\n"


   "^LL0600\n"


   "^PW900\n"


   "^LS0\n"


   "^BY2,3,54^FT24,109^BCN,,Y,N\n"


   "^FD>;43210000>773>0000^FS\n"


   "^PQ1,0,1,Y^XZ\n";


// Informative only.


ui->txtLabelScript->setPlainText( label );


// Call the printing function.


if ( print_label( label, printer.printerName( ).toAscii( ), "Zebra_Label" ) == 0 )


   qDebug( ) << "CUPS Error: " << ippErrorString( cupsLastError( ) );


它已经完成了。 不要忘记链接libcups(-lcups)。 我仍然希望任何伙伴添加另一个解决方案,证明Qt-only是可能的。同时,这已经足够了。 谢谢大家。


目录
相关文章
|
Linux
LINUX CUPS下载源码并编译
LINUX CUPS下载源码并编译
294 0
|
机器学习/深度学习 Linux
Linux使用cups进行打印
Linux使用cups进行打印
163 0
【Linux】直接打印堆栈调试信息
【Linux】直接打印堆栈调试信息
【Linux】直接打印堆栈调试信息
|
安全 Linux
2021-11-15 Linux杀毒暂时没写输出和打印以及邮箱上传
2021-11-15 Linux杀毒暂时没写输出和打印以及邮箱上传
84 0
|
Linux
LINUX:lpr不能打印,可以试试lp
LINUX:lpr不能打印,可以试试lp
126 0
|
Java Linux
在红旗LINUX loongarch上,可以正常打印,lpr卡死
在红旗LINUX loongarch上,可以正常打印,lpr卡死
70 0
|
Shell Linux
linux shell之控制台打印各种颜色字体和背景
linux shell之控制台打印各种颜色字体和背景
328 0
linux shell之控制台打印各种颜色字体和背景
|
Linux 数据安全/隐私保护 Ubuntu
Linux基础命令---lpq查看打印队列
lpq       lpq指令用来显示当前打印队列的状态。如果命令行中没有指定打印机或类,则将显示默认目标上排队的作业。       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、openSUSE、SUSE。
1194 0
|
Linux 数据安全/隐私保护 Ubuntu
Linux基础命令---cancel取消打印
cancel       cancel指令用来取消已经存在的打印任务。       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、openSUSE、SUSE。1、语法       cancel  [ -E ]  [ -U username ]  [ -a ] ...
1265 0