Revision f08036d7
Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
182 | 182 |
} elsif ($media eq 'printer') { |
183 | 183 |
# printer |
184 | 184 |
my $printer_id = $::form->{print_options}->{printer_id}; |
185 |
my $printer; |
|
186 |
$printer = SL::DB::Printer->new(id => $printer_id)->load if $printer_id; |
|
187 |
if (!$printer) { |
|
188 |
return $self->js->flash('error', t8('Printer not found.'))->render; |
|
189 |
} |
|
190 |
|
|
191 |
my $command = SL::Template::create(type => 'ShellCommand', form => Form->new(''))->parse($printer->printer_command); |
|
192 |
|
|
193 |
for my $i (1 .. $copies) { |
|
194 |
open my $out, '|-', $command or die $!; |
|
195 |
binmode $out; |
|
196 |
print $out $pdf; |
|
197 |
close $out; |
|
198 |
} |
|
185 |
SL::DB::Printer->new(id => $printer_id)->load->print_document( |
|
186 |
copies => $copies, |
|
187 |
content => $pdf, |
|
188 |
); |
|
199 | 189 |
|
200 | 190 |
$self->js->flash('info', t8('The PDF has been printed')); |
201 | 191 |
} |
Auch abrufbar als: Unified diff
SL::DB::Printer: »Dokument an Drucker schicken« zentralisiert
Die neue Funktion print_document übernimmt das Spawnen des externen
Prozesses und schickt das Dokument an den Drucker. Das Dokument kann
entweder direkt als Inhalt oder als zu sendender Dateiname übergeben
werden.