🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: adobe.postscript.programming
7 messages
7 total messages Started by Gunnar Fing Blodgett Fri, 27 Jun 2003 21:21
embedding PhotoShop 7 EPS
#1057
Author: Gunnar Fing Blodgett
Date: Fri, 27 Jun 2003 21:21
7 lines
1693 bytes
We have been using a range of EPS in our page output for a number of years. We have come to expect that it will conform to the general EPS rules; ie: identifying line, bounding box, etc ... in particular we expect that an EPS file will be 'well behaved' and play nicely with the rest of the PostScript page.

PhotoShop 7 is giving us very inconsistenct results, including changing the matrix of the EPS image itself (it's skewed on the page) as well as affecting the page position of the surrounding PostScript. We're getting more consistent results by placing the PhotoShop image in Corel and creating a new EPS, but that's not an efficient change ...

On analysis of the EPS text, I find new metadata in the form of XML as well as some PDF code following the final 'grestore % EPS grestore'. Removal of these does not affect the impact of these EPS files on the final page.

Any comments from Adobe? Dov?
Re: embedding PhotoShop 7 EPS
#1058
Author: Aandi Inston
Date: Fri, 27 Jun 2003 21:31
4 lines
847 bytes
Do you include save/restore (not just gsave/grestore) around the
placed EPS?

Aandi Inston
Re: embedding PhotoShop 7 EPS
#1100
Author: Gunnar Fing Blodgett
Date: Mon, 28 Jul 2003 17:58
22 lines
1399 bytes
Aandi

In addition to gsave/grestore, I included the entire EPS routine from the red book as I do with all my 3rd party EPS

/BeginEPSF {
     /b4_Inc_state save def
     /dict_count dictstack def
     /op_count count 1 sub def
     userdict begin
     /showpage {} def 0 setgray 0 setlinecap
     1 setlinewidth 0 setlinejoin
     10 setmiterlimit [] 0 setdash newpath
     % ...
} bind def

/EndEPSF {
     count_op sub {pop} repeat
     countdicstack dict_count sub {end} repeat
     b4_Inc_state restore
} bind def

Gunnar
Re: embedding PhotoShop 7 EPS
#906
Author: Aandi Inston
Date: Mon, 28 Jul 2003 19:10
5 lines
1069 bytes
It's hard to think how an EPS could "survive" that and change the
matrix on exit.  Have you confirmed that after the restore in your
code that the CTM is not as it originally was?

Aandi Inston
Re: embedding PhotoShop 7 EPS
#907
Author: Gunnar Fing Blodgett
Date: Mon, 28 Jul 2003 19:29
9 lines
1452 bytes
Aandi

Thank you, and I agree that the EPS shouldn't survive Adobe's silver bullet. The only CTM confirmation I have is that
- when I use the PhotoShop EPS, the subsequent EPS and PostScript objects do not appear where they are expected (ie: their predicated position according to the gsave/grestore state in the PostSript)
- when I delete _only_ the PhotoShop EPS, then the subsequent graphic objects appear where they are expected

I don't know how to determine the CTM state other than that ... can I 'print' a graphic state stack to the Distiller log? I know how to call the operand stack, or write out error messages ...

Gunnar
Re: embedding PhotoShop 7 EPS
#910
Author: Aandi Inston
Date: Mon, 28 Jul 2003 22:16
5 lines
911 bytes
You could use something vaguely like 

currentmatrix { == } forall

Aandi Inston
Re: embedding PhotoShop 7 EPS
#938
Author: Gunnar Fing Blodgett
Date: Thu, 07 Aug 2003 17:46
3 lines
857 bytes
Aandi

That's curious. I'll have to try it. Thank you.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads