PDF обрезать четные и нечетные страницы с помощью PHP + GhostScript
Я работаю в обычном режиме для обрезки PDF-файлов и импорта их в шаблон PDF. Я использую GhostScript, вызванный сexec()
из сценария PHP и FPDI. Все работает на стороне сервера.
Пока что я могу обрезать PDF-документы с помощью GhostScript, используя процедуру, описанную вэта почта (настройкаCropBox
).
Следующим шагом будет по-разному обрезать четные и нечетные страницы документа. Поэтому я попробовал метод, описанный вэтот другой пост на сайте SuperUser, передавая собственный код PostScript в параметр -c в GhostScript:
-c "<< /CurrPageNum 1 def /Install { /CurrPageNum CurrPageNum 1 add def
CurrPageNum 2 mod 1 eq {28 0 translate} {} ifelse } bind >> setpagedevice"
Этот метод сдвигает нечетные страницы на 28 пунктов и ничего не делает для четных страниц. Итак, я попытался изменить это, передав CropBox (ы) (заполнители% s заменены соответствующими координатами вsprintf
предложение):
-c "<< /CurrPageNum 1 def /Install { /CurrPageNum CurrPageNum 1 add def
CurrPageNum 2 mod 1 eq {[/CropBox [%s %s %s %s]} {[/CropBox [%s %s %s %s]}
ifelse } bind >> setpagedevice"
Вот полная команда, выполненная над 4-страничным PDF-файлом:
"C:\Program Files (x86)\gs\gs9.07\bin\gswin32c.exe" -sDEVICE=pdfwrite
-o C:\inetpub\wwwroot\ledrail\tmp\output.pdf
-c "<< /CurrPageNum 1 def /Install { /CurrPageNum CurrPageNum 1 add def
CurrPageNum 2 mod 1 eq {[/CropBox [119.04 168.336 505.92 715.428]}
{[/CropBox [59.52 84.168 505.92 715.428]} ifelse } bind >> setpagedevice"
-f C:\inetpub\wwwroot\ledrail\documentacio\pdf\documentacio_15.pdf
Очевидно, я получаю ошибку, потому что[/CropBox...
не является действительным кодом PS.
Error: /typecheck in --.postinstall--
РЕДАКТИРОВАТЬ для уточнения:
Итак, мой вопрос: как я могу пройтиэквивалент два CropBox (ов) - для нечетных и четных страниц - для кода PostScript, показанного выше? Или есть другой метод для достижения этой целис GhostScript из командной строки?
Очевидно, я знаю, что CropBox не является допустимым кодом PostScript, но каковы альтернативы?