The error message i get from Ghostscript is:
GSview 4.6 2004-01-11
Unknown in Prolog section at line 10:
%%Title: (Forms Operators)
Unknown in Prolog section at line 11:
%%Version: 1.0
AFPL Ghostscript 8.14 (2004-02-20)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Displaying DSC file F:/Postscript/lmidG3.PS
Displaying page 1
Error: /invalidaccess in --def--
Operand stack:
false spg --nostringval--
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 2 5 %oparray_pop --nostringval-- false 1 %stopped_push 2 5 %oparray_pop --nostringval-- --nostringval--
Dictionary stack:
--dict:1120/1686(ro)(G)-- --dict:0/20(G)-- --dict:85/200(L)-- --dict:7/10(ro)(L)-- --dict:85/200(L)-- --dict:7/10(ro)(L)-- --dict:85/200(L)-- --dict:13/300(G)--
Current allocation mode is global
Last OS error: No such file or directory
--- Begin offending input ---
%%Page: 1 1
%%BeginPageSetup
/pgsave save def
%%EndPageSetup
TestForm execform
%%PageTrailer
pgsave restore
showpage
--- End offending input ---
file offset = 0
gsapi_run_string_continue returns -101
***************************************************
The source is (i have shortened the EPS-part.):
%!PS-Adobe-3.0
%%Title: (Using EPS file in Form in VM)
%%BoundingBox: 0 0 596 842 % UPDATE FOR EACH EPS
%%DocumentProcessColors: Black % PROMOTE DSC COMMENTS FROM EPS
%%LanguageLevel: 2
%%Pages: 3
%%EndComments
%%BeginProlog
%%BeginResource: procset forms_ops 1.0 0
%%Title: (Forms Operators)
%%Version: 1.0
userdict /forms_ops 10 dict dup begin put
/StartEPSF { % prepare for EPSF inclusion
userdict begin
/PreEPS_state save def
/dict_stack countdictstack def
/ops_count count 1 sub def
/showpage {} def
} bind def
/EPSFCleanUp { % clean up after EPSF inclusion
count ops_count sub {pop} repeat
countdictstack dict_stack sub {end} repeat
PreEPS_state restore
end % userdict
} bind def
/STRING_SIZE 16000 def % Best value to not fragment printer's VM
/ARRAY_SIZE 169 def % UPDATE FOR EACH EPS == filesize/16000 + 2
% for initial counter and final empty string.
/buffer STRING_SIZE string def
/inputFile currentfile 0 (% EOD_Marker_7654) /SubFileDecode filter def
/readdata { % array readdata --
1 { % put counter on stack
% stack: array counter
2 copy % stack: array counter array counter
inputFile buffer readstring % read contents of currentfile into buffer
% stack: array counter array counter string boolean
4 1 roll % put boolean indicating EOF lower on stack
STRING_SIZE string copy % copy buffer string into new string
% stack: array counter boolean array counter newstring
put % put string into array
not {exit} if % if EOF has been reached, exit loop.
1 add % increment counter
} loop
% increment counter and place empty string in next position
1 add 2 copy () put pop
currentglobal true setglobal exch
0 1 array put % create an array for counter in global VM,
% so as not to be affected by save/restore calls in EPS file.
% place as first element of string array.
} bind def
currentdict readonly pop end
%%EndResource
%%EndProlog
%%BeginSetup
% set MaxFormItem to be equivalent to MaxFormCache
<< /MaxFormItem currentsystemparams /MaxFormCache get >> setuserparams
% make forms procset available
forms_ops begin
userdict begin
% download form resource
%%BeginResource: form TestForm
/TestForm
10 dict begin
/FormType 1 def
/EPSArray ARRAY_SIZE array def
/AcquisitionProc {
EPSArray dup 0 get dup 0 get % array counter_array counter
dup 3 1 roll % array counter counter_array counter
1 add 0 exch put % increment counter
get % use old counter as index into array, placing
% next string on operand stack.
} bind def
/PaintProc {
begin
StartEPSF
% May want to translate here, prior to executing EPS
EPSArray 0 get 0 1 put
//AcquisitionProc 0 () /SubFileDecode filter
cvx exec
EPSFCleanUp
end
} bind def
/BBox [ 0 0 596 842] def % UPDATE FOR EACH EPS
/Matrix [1 0 0 1 0 0] def
currentdict end def % TestForm
TestForm /EPSArray get
readdata
%%BeginDocument: (LMID.EPS) % UPDATE FOR EACH EPS
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 596 842
%%LanguageLevel: 1
%%Creator: CorelDRAW 9
%%Title: LMID.eps
%%CreationDate: Mon Feb 07 15:29:41 2005
%%....
%% HERE IS A QUITE BIG EPS WITH SOME BIG IMAGES
%%....
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
/$msimage false def
%%PageTrailer
@rs
@rs
%%Trailer
@EndSysCorelDict
end
%%DocumentSuppliedResources: procset wCorel9Dict 9.0 0
%%EOF
%%EndDocument
% EOD_Marker_7654 % Put this comment after your EPS file so
% SubFileDecode filter will reach end of data.
%%EndResource
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
/pgsave save def
%%EndPageSetup
TestForm execform
%%PageTrailer
pgsave restore
showpage
%%Page: 2 2
%%BeginPageSetup
/pgsave save def
%%EndPageSetup
TestForm execform
%%PageTrailer
pgsave restore
showpage
%%Page: 3 3
%%BeginPageSetup
/pgsave save def
%%EndPageSetup
TestForm execform
%%PageTrailer
pgsave restore
showpage
%%Trailer
end % userdict
end % forms_ops
%%EOF