问题
I'm developing a Windows Print Processor using the WDK 7.1 sample. I'd like to log the actual data being printed and would prefer it to be done in a consistent format (EMF) rather than the RAW format of the underlying printer. Would modifying EnumPrintProcessorDatatypes
to only return the format I want (i.e EMF) force application/GDI layer the printer to use that type and thereby enabling me to log it in the same format always?
回答1:
The important stuff here is:
1. make sure direct printing is disabled
2. make sure advanced printing is enabled
If the driver is XPS based, the job will go thru the XPSPRINT
pipeline, and never be formated as EMF.
You can find more informataion on when EMF or RAW is used on the following Undocumented Printing page: http://www.undocprint.org/winspool/spool_files#when_is_raw_used
来源:https://stackoverflow.com/questions/16932044/can-a-windows-print-processor-force-a-spool-data-type