2014-09-06 2 views
1

Я хочу, чтобы данные считывали или записывали во внешний файл некоторыми файловыми операторами в PostScript.Файл ввода/вывода в постскриптуме

Я создал файл input.txt в той же папке (WINDOWS 7), что и PostScript-программа. Когда Ghostscript интерпретирует строку (input.txt) (r) file , появляется сообщение об ошибке «-illegalfileaccess- in file». Что не так в моей программе?

Я читал о вопросах на этом форуме, но ответы мне не помогли. Что я могу сделать сейчас?

enricoernesto

ответ

0

Вы еще не опубликовали свою программу, нет никакого способа, кто может помочь вам без этого.

Вы посмотрели документацию Ghostscript на тему «Как Ghostscript находит файлы»? Если нет, вы должны это сделать.

Вам также нужно указать, какую командную строку вы используете, например, если вы используете -dSAFER, тогда чтение файлов за пределами определенных мест ключей запрещено.

1

Попробуйте запустить этот код. Он создаст новый файл, output1.txt, затем прочитает этот файл, а затем напишет файл обратно на output2.txt. Если Everyting правильно, вы должны иметь 2 файла, в противном случае вы не имеете права на запись в файл, где пытается быть ш

/outfile1 (output1.txt) (w) file def 
outfile1 (blah blah blah) writestring 
outfile1 closefile 


/inputfile (output1.txt) (r) file def 
inputfile 100 string readstring 
pop 
inputfile closefile 

/outfile2 (output2.txt) (w) file def 
outfile2 exch writestring 
outfile2 closefile 

Если это не удается, попробуйте это. если это работает, это показывает, что местоположение по умолчанию не доступно для записи, но явный путь позволяет писать, иначе это ghostscript, который не позволяет писать.

/outfile1 (c:\\output1.txt) (w) file def 
outfile1 (blah blah blah) writestring 
outfile1 closefile 


/inputfile (c:\\output1.txt) (r) file def 
inputfile 100 string readstring 
pop 
inputfile closefile 

/outfile2 (c:\\output2.txt) (w) file def 
outfile2 exch writestring 
outfile2 closefile 
2

По соглашению «документ» в постскриптуме не должен иметь доступа к файлам. И для обеспечения соблюдения этого соглашения GSView и Adobe Acrobat обычно обрабатывают документы с отключенным оператором file, поэтому он не может получить доступ к файлам. С помощью GSView вы должны иметь возможность редактировать командную строку (в параметрах где-то), чтобы удалить строку -DSAFER. С ghostscript (и другими его воплощениями, такими как ps2ps и ps2pdf) вы также можете добавить -DNOSAFER в свою командную строку, и он должен переопределить любые параметры -DSAFER ранее в командной строке.

+0

Я поместил строку -dNOSAFER через GSView/Options в начальную команду Ghostscript, и теперь моя ps-программа работает нормально! – enricoernesto

Смежные вопросы