我已经安装了一个react web应用程序,我的目标是使用热敏打印机打印,打印文本值的组件(如hello world text),当用户从Web浏览器单击按钮时,我使用的是来自https://www.npmjs.com/package/node-thermal-printer的包,但是当我看到示例与制作反应组件不同,我很困惑如何从组件触发按钮单击以使用热敏打印机发送队列进行打印。任何人都可以帮助我吗?
我可以给你一个非常基本的想法,告诉你如何去做。让我们从一个基本组件开始:
const printer = require( 'node-thermal-printer' );
class TPrinter extends React.Component {
constructor( props ) {
super( props );
this._printer = printer.init( {
type: 'epson',
interface: '/dev/usb/lp0'
} );
}
handleOnClick() {
this._printer.alignCenter();
this._printer.println("Hello world");
this._printer.cut();
this._printer.execute( ( err ) => {
if( err ) { return console.log( err ); }
console.log( 'Done!' );
} );
}
render() {
return (
<button onClick={ this.handleOnClick }></button>
)
}
}
然后你可以像这样使用它:
<TPrinter />
它会显示一个按钮,点击该按钮后,按照您的要求执行操作。当然,现在,你可以通过使用props
并使用printer.init()
函数中的那些来使它变得更加漂亮,但是你得到了基本的要点。