Uso Ghostscript per convertire documenti PDF in PCL per la stampa. Recentemente ho il requisito aggiuntivo che tutte le pagine debbano essere ruotate in verticale prima della stampa. Ho trovato un modo per farlo usando Ghostscript con la seguente funzione di comando e postscript.Ghostscript ruota pagine
"C:\Program Files (x86)\gs\bin\gswin32c.exe" "-dNOPAUSE" "-dNOPROMPT" "-dBATCH" "-sDEVICE=pxlmono" "-Ic:\Program Files (x86)\gs\fonts\;c:\Program Files (x86)\gs\lib\;c:\Program Files (x86)\gs\lib\;" "-r300" "-sOutputFile=C:\EXPORTFILE_e542e04f-5e84-4c8e-9b41-55480cd5ec52.cache" "rotate612x792.ps" "C:\EXPORTFILE_3a5de9da-d9ca-4562-8cb6-10fb8715385a.cache"
Contenuto rotate612x792.ps
%! Rotate Pages
<< /Policies << /PageSize 5 >>
/PageSize [612 792]
/InputAttributes currentpagedevice
/InputAttributes get mark exch {1 index /Priority eq not {pop << /PageSize [612 792] >>} if } forall >>
>> setpagedevice
Il problema è che questa funzione sostituisce tutte le dimensioni di pagina con il formato lettera. I miei documenti sono a volte legali o A4. Ho provato a modificare questa funzione per sostituire le dimensioni del paesaggio con la controparte verticale, ma non sono stato in grado di produrre postscript funzionanti. Ho bisogno di essere indicato nella giusta direzione per produrre l'equivalente postscript del seguente pseudo-codice.
for(each page)
{
if(PageSize == [792 612])
PageSize = [612 792];
}
Sono consapevole che ci sono modi non Ghostscript di pagine rotanti, ma se posso arrivare a questo lavoro che si adatterebbe bene in mio processo e non sarebbe ridurre le prestazioni.
Ecco un esempio di uno dei miei file pdf: Sample1.pdf
Ho provato questo script e non ha prodotto un errore, ma non ha ruotato le pagine. Ecco un esempio di un file pdf di input. [https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28](https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28) – Zig158