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

StackOverflow https://stackoverflow.com/questions/1711146

Вопрос

Я установил 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

Это правильная команда?Я пропустил какую-то конфигурацию или настройку пути?В противном случае, существует ли разумный метод выполнения этого преобразования?

Это было полезно?

Решение

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

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

Другие советы

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

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

С версией 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

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

файл -> экспорт -> постскриптум.

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

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

  • c:\Program Файлы (x86)\gs\gs9.20 (ваша версия ghostscript )\bin\gswin32c.exe

есть два исполняемых файла

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top