Jag har installerat en virtuell skrivare med RedMon (
http://pages.cs.wisc.edu/~ghost/redmon/).
Utskriften skickas till ett php-skript som sparar .ps-filen i en mapp och konverterar den till PDF.
PHP-kod:
$gs = 'C:\Program Files\gs\gs8.71\bin\gswin32c.exe';
$filename = 'document.ps';
$filename_pdf = 'document.pdf';
// Create PDF
shell_exec(escapeshellarg($gs) . ' -sDEVICE=pdfwrite -sPaperSize=a4 -o '.escapeshellarg($filename_pdf).' '.escapeshellarg($filename). ' -c quit');
Nu vill jag även kunna skriva ut dokumentet på en skrivare. Tänkte använda ghostscript även till detta.
Efter en stunds sökande i ghostscripts dokumentation kom jag fram till följande kommando:
Citat:
gs -dNOPAUSE -sDEVICE=laserjet infile.ps -c quit
|
Detta funkar bra när jag kör det i terminalen (cmd.exe) men inte när jag använder shell_exec i php:
PHP-kod:
shell_exec(escapeshellarg($gs) . ' -dNOPAUSE -sDEVICE=laserjet '.escapeshellarg($filename).' -c quit')
Ingenting händer. Den output jag får från shell_exec är :
Citat:
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusMonL-Regu font from %rom%Resource/Font/NimbusMonL-Regu... 2324568 999163 1512512 215330 1 done.
%%[ ProductName: GPL Ghostscript ]%%
%%[Page: 1]%%
%%[LastPage]%%
|
Har även upptäckt att ghostscript ligger kvar och kör i bakgrunden, så processen måste avslutas manuellt. Varför vet jag ej.
Detta händer som sagt inte när jag kör gs-kommandot direkt från cmd.
PHP-skriptet körs som min användare.