I think what you definatly need is CUPs. https://openprinting.github.io/cups/doc/overview.html
First you will need to have it installed
sudo apt install cups
sudo lpadmin -p MyPrinter -E -v socket://192.168.0.150 -m everywhere
sudo lpoptions -d MyPrinter
Print using
exec("lp -d MyPrinter -n 3 '/path/to/file.pdf'");
Then for the queue job, something like this;
public function handle()
{
$printer = "MyPrinter";
$copies = 2;
$filePath = storage_path('app/pdfs/sample.pdf');
$command = "lp -d {$printer} -n {$copies} '{$filePath}'";
exec($command);
}