Ошибка при преобразовании PDF в PostScript с помощью GhostScript, доступ запрещен. Невозможно открыть файл командной строки _.at - PullRequest
8 голосов
/ 11 ноября 2009

Я установил ghostscript и обновил соответствующий path variables ... однако при попытке выполнить эту команду я получаю сообщение об ошибке:

C:\PROGRA~1\gs\gs8.64\lib>pdf2ps mydocument.pdf mydocument.ps
Access is denied.
Unable to open command line file _.at

Это правильная команда? Я пропустил некоторые настройки или настройки пути? Иначе, есть ли нормальный способ сделать это преобразование?

Ответы [ 6 ]

11 голосов
/ 16 ноября 2009

Доступ запрещен, предлагают что-то связанное с доступом к путям и т. Д. Я бы посоветовал еще раз проверить разрешение папки (хотя я уверен, что вы это сделали). Кроме того, вы можете попробовать запустить gswin32c.exe вместо pdf2ps, чтобы убедиться, что вы по-прежнему получаете сообщение об ошибке, вы можете получить что-то более конкретное.

gswin32c.exe ^
  -dNOPAUSE ^ 
  -dBATCH ^
  -sDEVICE=pswrite ^
  -sOutputFile=mydocument.ps ^
   mydocument.pdf
8 голосов
/ 06 июня 2010

Использование pdf2ps запускает командный файл, который на самом деле называется pdf2ps.bat или pdf2ps.cmd. Вы можете легко найти и понять его «исходный код». Если вы это сделаете, вы увидите, что он пытается записать некоторые из своих параметров командной строки во временный файл с именем _.at, чтобы преодолеть ограничение в 128 символов для длины командной строки DOS / cmd, которое существует на некоторых платформах Win / DOS.

Поскольку вы вызываете pdf2ps из каталога% Programs%, в котором установлен Ghostscript, вы, похоже, не используете учетную запись, которой разрешено писать туда какие-либо вещи. : -)

5 голосов
/ 20 февраля 2014

С версией Ghostscript gs9.10 метод pswrite у меня не сработал, вместо этого я попытался использовать ps2write , и он сработал для меня, поэтому команда работала для меня, как показано ниже:

gswin32c.exe ^
  -dNOPAUSE ^ 
  -dBATCH ^
  -sDEVICE=ps2write ^
  -sOutputFile=mydocument.ps ^
   mydocument.pdf

и если эта вещь даже не работает, то можно сделать это: попробуйте получить справку, набрав gswin32c.exe -h, и тогда в списке будут перечислены все доступные устройства, как показано ниже:

Default output device: display
Available devices:
   bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
   bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
   cp50 declj250 deskjet devicen display djet500 djet500c eps9high eps9mid
   epson epsonc epswrite ibmpro ijs inkcov jetp3852 jpeg jpegcmyk jpeggray
   laserjet lbp8 lj250 ljet2p ljet3 ljet3d ljet4 ljet4d ljetplus m8510
   mswindll mswinpr2 necp6 nullpage pamcmyk32 pamcmyk4 pbm pbmraw pcx16
   pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw pj
   pjxl pjxl300 pkmraw plan planc plang plank planm plib plibc plibg plibk
   plibm png16 png16m png256 pngalpha pnggray pngmono pngmonod pnm pnmcmyk
   pnmraw ppm ppmraw **ps2write** psdcmyk psdrgb pxlcolor pxlmono r4081 spotcmyk
   st800 stcolor svg t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc
   tiff32nc tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray
   tifflzw tiffpack tiffscaled tiffscaled24 tiffscaled32 tiffscaled4
   tiffscaled8 tiffsep tiffsep1 txtwrite uniprint xpswrite
    Search path:
       C:\Program Files (x86)\gs\gs9.10\bin ;
       C:\Program Files (x86)\gs\gs9.10\lib ;
       C:\Program Files (x86)\gs\gs9.10\fonts ; %rom%Resource/Init/ ;
       %rom%lib/ ; c:/gs/gs9.10/Resource/Init ; c:/gs/gs9.10/lib ;
       c:/gs/gs9.10/Resource/Font ; c:/gs/fonts
    Initialization files are compiled into the executable.

Как видно только для удобства, я поставил звездочку (*) вокруг ps2write

2 голосов
/ 18 февраля 2014

использовать gimp открыть файл PDF.

file -> export -> postscript.

1 голос
/ 11 марта 2013

Если вы хотите использовать исполняемый файл gs, вам нужно изменить разрешения. В командной строке перейдите в папку, где находится исполняемый файл gs, а затем используйте chmod 755 gs.

0 голосов
/ 11 октября 2016

Что вы делаете, так это то, что вы не пишете командную строку в нужном месте, сначала вам нужно выяснить exe-пакет ghostscript, который по умолчанию находится в

  • c: \ Program Files (x86) \ gs \ gs9.20 (ваш ghostscript версия) \ Bin \ gswin32c.exe

есть два exe

  • 1- gswin32.exe
  • 2- gswin32c.exe

вы должны использовать второй, потому что он выполняет команды в cmd, а не в gs cmd Хорошо, теперь вы должны написать команду, как

 ...bin\gswin32c.exe -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=mydocument.ps   mydocument.pdf

обратите внимание, пожалуйста, проверьте правильность пути к файлу и еще одну вещь путь к файлу как "D: \ HtmlToPdf \ document.ps" следует написать как "D: /htmltopdf/document.ps" да, точно заменить обратную косую черту на предисловие только в пути к файлу и командная строка чувствительна к регистру, так что будьте осторожны с кейсами

...