Print Processor -- Convert SPL file to EMF

Print Processor -- Convert SPL file to EMF

Post by esel » Wed, 01 Dec 2004 09:49:10


I've seen example source code to read an SPL file and extract the EMF
files inside, but I've also read that this isn't a very robust method.
I started looking into the API functions like "GdiGetSpoolFileHandle"
which appears to be a more robust method. Has anyone used these
functions to write out EMF files instead of printing to a printer? A
"virtual print driver" if you will, or "virtual printer".

Can anyone tell me the series of function calls I should make in order
to do this? I can figure out the details, I imagine, if I know where
to start. The only functions I see are to play the EMF file for each
page, which will end up playing to the "printer". In my case I don't
have an actual printer, so I want to play the EMF file to another EMF
file. With the normal API functions to work with EMF files this would
be easy, but I'm thinking the print spooler API doesn't include the
functions I need.

Anyone have experience with this? I guess I could stick with the
methods I've seen that read directly from the SPL file and extract the
EMF files from inside, but don't the EMF files use a little different
format sometimes, and can't the location of the SPL file be hard to
get?

p.s. - I need to support Win98/ME, as well as NT4/2K/XP.