Hi Sam, Unfortunately, my knowledge of XPS support on Server 2003/2008 is limited. I haven't played with that side of things yet. Transferring the SPL or XPS file, or as you have lately suggested a PDF file, is the best route. Best sure to test font embedding, as with XPS it is required, but SPL and PDF it is optional. Regarding the SPL/EMF font issue: SPL files are record of EMF pages plus font records. Playing back just the EMF pages likely to miss the font records. The specification for SPL files can be downloaded from Microsoft. But all you probably have to do is move the SPL file from one machine to another, and sent the SPL file to spooler of the second machine. Because the SPL file is "printer driver" specific, you will more likely have to set your student's printer driver up to be "conservative" and not use features like JPEG or PNG image encodings. This is all explained in the Windows Driver Kit for GDI print path drivers. The Windows GDI print path will then need to transform the EMF records (in the SPL file) to PCL or PS based on the server's printer driver, etc. -Jason -- Jason Harrison Sr Software Developer PDFTron Systems, Inc. www.pdftron.com Tel: 1-604-730-8989 Fax: 1-604-676-2477 Email: jharrison@xxxxxxxxxxx _____ CONFIDENTIALITY NOTICE: This message (and any attachment to it) is intended only for the use of the individual or entity to which it is addressed in the header, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. Any reproduction, distribution, modification or use of the contents of this message (and any attachment to it) by any individual or entity other than the intended recipient is prohibited. If you have received this communication in error, please notify us immediately and delete the original. _____ P Please think before you print! From: winprndev-bounce@xxxxxxxxxxxxx [mailto:winprndev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Elamin Sent: Friday, March 26, 2010 2:26 AM To: winprndev@xxxxxxxxxxxxx Subject: [WinPrnDev] Re: Creating a Printer Driver Jason I am not using Windows 7 to develop my print driver, I am working on a windows XP enviroment. Are you saying working on a windows 7 might be better? but that would mean when I am transferring the Spool file, the server has to have windows 7 running on it which is a constraint that we cant budge on because most sites would still be working on server 2003 or 2008. But even though its porbably going to be a windows-to-windows transfer, they are most probably be on different networks will that be a problem? _____ From: jharrison@xxxxxxxxxxx To: winprndev@xxxxxxxxxxxxx Subject: [WinPrnDev] Re: Creating a Printer Driver Date: Thu, 25 Mar 2010 12:37:32 -0700 Well, both SPL files (the windows GDI print path spool file containing EMF pages) and the XPS file (the XPS print path spool file) contain fonts installed on the printing computer and used in the printed document, in my opinion, the XPS spool files have much better font embedding. When you send the SPL file across the network using Windows Network Printing to a server hosting the printer, the spooler on the server should extract the fonts and install them temporarily, and the print out should look right. However, you are talking about using some other transport mechanism that might not get the spool file to be interpreted in the same way. For example, since the font formats/etc are in the spool file, and not the individual EMF pages, playing the EMF pages to the printer is unlikely to work. But copying the file to the printer port might work. I don't have any experience with that. XPS files however don't have this historic problem of "pages" versus "the spool file." Things are much more clearer and the Windows 7 SDK as the function StartXpsPrintJob which goes from xps file to printer in pretty much one step. If you're going from windows to windows, then the XPS print path is likely to be easier to work with. Though there is a lot of "black magic" involved at the printer driver level, the printer driver installation level, etc. -Jason -- Jason Harrison Sr Software Developer PDFTron Systems, Inc. www.pdftron.com Tel: 1-604-730-8989 Fax: 1-604-676-2477 Email: jharrison@xxxxxxxxxxx _____ CONFIDENTIALITY NOTICE: This message (and any attachment to it) is intended only for the use of the individual or entity to which it is addressed in the header, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. Any reproduction, distribution, modification or use of the contents of this message (and any attachment to it) by any individual or entity other than the intended recipient is prohibited. If you have received this communication in error, please notify us immediately and delete the original. _____ P Please think before you print! From: winprndev-bounce@xxxxxxxxxxxxx [mailto:winprndev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Elamin Sent: Thursday, March 25, 2010 9:21 AM To: winprndev@xxxxxxxxxxxxx Subject: [WinPrnDev] Re: Creating a Printer Driver Jason I dont understand the problem, do you mean XPS based printer driver would contain fonts while an SPL wouldnt? Also yes this project is a proof of concept mainly aimed at a windows platform, we already have a web based print solution that allows students to upload documents. Now we are trying to implement it as a print driver so people can just go, "file, print to". To make it a much more fluid process. Now what I am lost in is why use an XPS based driver? what do you mean by XPS contains fonts because from what i can see from your email. Both SPL and XPS contain fonts, but what fonts are you talking about exactly?. Regards Sam _____ From: jharrison@xxxxxxxxxxx To: winprndev@xxxxxxxxxxxxx Subject: [WinPrnDev] Re: Creating a Printer Driver Date: Thu, 25 Mar 2010 08:33:01 -0700 Actually the SPL file format is well documented by Microsoft, as is EMF. You can find the descriptions at msdn.microsoft.com However, because SPL files can contain fonts, etc, it is probably a much better idea to use and XPS based printer driver because the XPS will contain all of the fonts and can be sent to a printer on the server much more easily and reliably than a SPL file can. However, if the students that Sam alludes to are using Mac or Linux computers (laptops?) then he'll have to support that format too. It might be better to use a simple web page that allows students to upload the original document to be printed, and a script on the windows server side that downloads the document and calls ShellExecuteEx to print it. The server would have to be Windows (if you're using ShellExecuteEx) but the remote computers could be anything. But as we eluded, unless all of the use cases and requirements have been fully discussed ahead of time, this could pose a security risk, or miss implementing a required feature. On the other hand if this is just a proof of concept/experiment then the cost of failure is much lower. -Jason -- Jason Harrison Sr Software Developer PDFTron Systems, Inc. www.pdftron.com Tel: 1-604-730-8989 Fax: 1-604-676-2477 Email: jharrison@xxxxxxxxxxx _____ CONFIDENTIALITY NOTICE: This message (and any attachment to it) is intended only for the use of the individual or entity to which it is addressed in the header, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. Any reproduction, distribution, modification or use of the contents of this message (and any attachment to it) by any individual or entity other than the intended recipient is prohibited. If you have received this communication in error, please notify us immediately and delete the original. _____ P Please think before you print! From: winprndev-bounce@xxxxxxxxxxxxx [mailto:winprndev-bounce@xxxxxxxxxxxxx] On Behalf Of Abdul Qader Sent: Thursday, March 25, 2010 2:33 AM To: winprndev@xxxxxxxxxxxxx Subject: [WinPrnDev] Re: Creating a Printer Driver Sam, The SPL file is the spool file created by the spooler service . It can have two formats EMF and RAW. A RAW format is just a bit by bit description of ever pixel and so it would be dumped to the printer by the driver. In case of EMF format all the commands that we use to paint the window are stored .So by using the EMF you can play the commands to the desired context to reproduce the whole image that you had created in your window. Technically extracting the EMF from the spool file is undocumented. You can find the details in Windows Graphics Programming written by Feng Yuan . Abdul On Thu, Mar 25, 2010 at 2:54 PM, Sam Elamin <hussam_88@xxxxxxxxxxx> wrote: Abdul I am trying to understand what you are saying. Do you mean the spool file by "SPL"? and what do you mean by the EMF? what does the Virtual Print Processor exactly do? I am sorry for my complete ignorance but I am very new to the Print Driver world (2 days to be exact) so these terms are all new to me. Regards Sam _____ Date: Thu, 25 Mar 2010 11:12:18 +0530 Subject: [WinPrnDev] Re: Creating a Printer Driver From: abqader.iqbal@xxxxxxxxx To: winprndev@xxxxxxxxxxxxx Sam, You can get the SPL files from the Printers folder.You will need to extract the EMF from the spool file and play the EMF on the corresponding context. So you will need to create a Virtual Print Processor.The path where the spool files are stored are kept in the registry. The PrintProcessor exports some calls of which PrintDocumentonPrintProcessor is what you need to look out for. Please let me know if you need more info on this.We had implemeted some thing close to what you did. Thanks Abdul On Tue, Mar 23, 2010 at 9:48 PM, Sam Elamin <hussam_88@xxxxxxxxxxx> wrote: Hello Everyone I am trying to develop a printer driver which will be installed on a client side, what i need this driver to do is just save the path of documents sent to it to a string and forward that string to an ASP.NET application which will upload the document to a print server. now i already have the upload client working so here is the scenario which the printer will work on. Document "X" is printed to a printer with the installed driver (Printer "A") Printer "A" will then get the path of the given document and save it to string "Path", "Path" will then be sent to a Webpage which will upload it. I kept it as basic as possible because i just want to know if it could be done? Regards Sam _____ Do you have a story that started on Hotmail? Tell us now _____ Not got a Hotmail account? Sign-up now - Free _____ We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now <http://clk.atdmt.com/UKM/go/195013117/direct/01/> _____ Do you have a story that started on Hotmail? Tell us <http://clk.atdmt.com/UKM/go/195013117/direct/01/> now