home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 19 Printer / 19-Printer.zip / epdf2b5.zip / PSDump.cmd < prev    next >
OS/2 REXX Batch file  |  2002-12-30  |  1KB  |  63 lines

  1. /* PSDump v0.3 for ePDF */
  2.  
  3. /* begin setup */
  4. EOF = x2c(4)
  5. buffer = 1000000 /* buffer in byte */
  6. /* end setup */
  7.  
  8. /* get working dir*/
  9. oldpath = directory()
  10.  
  11. /* create a tempfilename */
  12. tempdir = value(TEMP,,'OS2ENVIRONMENT')
  13.  
  14. if tempdir = '' then tempdir = value(TMP,,'OS2ENVIRONMENT')
  15. if tempdir = '' then tempdir = directory()
  16. rc = directory(tempdir)
  17. if rc = 0 then do
  18. say "Error: invalid temp directory: " tempdir
  19. signal exit
  20. end
  21. if lastpos('\', tempdir) >< length(tempdir) then tempdir = tempdir||'\'
  22.  
  23. tempfile=SysTempFileName(tempdir||postscript.???)
  24.  
  25. say "start PostScript write routine"
  26.  
  27. /* waiting for PostScript data */
  28.  
  29. say "waiting for PostScript header ..."
  30. do forever
  31. ps_line = linein()
  32. if substr(ps_line,1,4) = "%!PS" then leave
  33. end
  34.  
  35.  
  36. /* writing PostScript file */
  37.  
  38. say "... found!"
  39. say "write PostScript data to: "tempfile
  40. rc = lineout(tempfile, ps_line)    /* write header*/
  41. do forever
  42. ps_char = charin(,,buffer)
  43.     /* check EOF */
  44.     if pos(EOF, ps_char) > 0  then leave
  45.     else rc = charout(tempfile, ps_char)
  46. end
  47. say "found end of PostScript file"
  48. rc = charout(tempfile, substr(ps_char,1,pos(EOF, ps_char)))
  49. say "close PostScript file"
  50. rc=stream(tempfile,'c','close')
  51. /* start ePDF */
  52. rc = directory(oldpath)
  53.  
  54. "@start ePDF.EXE" tempfile
  55.  
  56. Say "exit PostScript write routine"
  57. Say ""
  58. Say "waiting for next print job..."
  59. Say ""
  60.  
  61.  
  62. EXIT:
  63. "@exit"