Я использую ghostscript 9.19 в системе Windows. Когда я запускаю ghostscript из командного файла, он создает pdf. Когда ghostscript запланирован из программы, он создает pdf без содержимого - есть только одна пустая страница. Командная строка одинакова в обоих случаях (одна длинная линия, дробить ниже из-за форматированием):Преобразование ghostscript в pdf-a-icc-файл правильно?
gswin32c.exe -sstdout=d:\my_data\gs_stdout.log
-dPDFA=1 -dBATCH -dNOPAUSE -dNOOUTERSAVE
-sColorConversionStrategy=/RGB
-sOutputICCProfile=d:\my_ps_files\AdobeRGB1998.icc
-sDEVICE=pdfwrite
-sOutputFile=d:\my_data\my_hopeful_pdfa_pdfa.pdf
-dPDFACompatibilityPolicy=1 "d:\my_ps_files/PDFA_def.ps" "d:\my_data\my_hopeful_pdfa_pdfa.ps"
> d:\my_data\my_hopeful_pdfa_gs_out.log
my_hopefule_pdfa_gs_out.log никогда не будет создана. Но gs_stdout.log действительно создается.
Независимо от того, создается ли PDF-файл, он связан с тем, присутствует ли файл * .icc в каталоге, где выполняется ghostscript.
Я получаю разные выходные данные в файле stdout.log.
Когда он работает, я получаю:
GPL Ghostscript 9.19 (2016-03-23)
Copyright (C) 2016 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefinedfilename in (>)
Operand stack:
false
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:1201/1684(ro)(G)-- --dict:0/20(G)-- --dict:80/200(L)--
Current allocation mode is local
Last OS error: Invalid argument
Журнал ошибок, когда он не является:
GPL Ghostscript 9.19 (2016-03-23)
Copyright (C) 2016 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefinedfilename in --file--
Operand stack:
--nostringval-- --nostringval-- (AdobeRGB1998.icc) (r)
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1967 1 3 %oparray_pop 1966 1 3 %oparray_pop 1950 1 3 %oparray_pop 1836 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1201/1684(ro)(G)-- --dict:0/20(G)-- --dict:79/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
Current file position is 818
Может кто-то помочь мне с интерпретации этого результата. AdobeRGB1988.icc в обоих случаях находится в d: \ my_ps_files \ AdobeRGB1998.icc, как указано в командной строке.
Вы используете косую черту в '/ PDFA_def.ps', которая не является обычным разделителем путей Windows. Попробуйте заменить это на обратную косую черту. Другое дело, что переменные окружения могут быть разными при запуске из программы, но не зная, какая программа запускает его, каким образом это было бы трудно понять. –