WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Utskrift via ghostscript i PHP (https://www.wn.se/forum/showthread.php?t=1045729)

qson 2011-01-06 16:25

Utskrift via ghostscript i PHP
 
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.


Alla tider är GMT +2. Klockan är nu 00:19.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson