[WinPrnDev] Re: Creating a Printer Driver

  • From: Sam Elamin <hussam_88@xxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Thu, 8 Apr 2010 09:46:03 +0000

Well the final aim is to actually have it commercial yes. Is that why solutions 
like CutePDF are free for the basic version, because they work alongside 
ghostscript? 


> Date: Thu, 8 Apr 2010 10:44:08 +0100
> Subject: [WinPrnDev] Re: Creating a Printer Driver
> From: clinton@xxxxxxxxxxxxxx
> To: winprndev@xxxxxxxxxxxxx
> 
> Hi Sam,
> Question: the work you are trying to do. Is it a commercial application or
> free for all?
> 
> >
> > Clinton
> > Thanks yes i was just reading about it and it said exactly what you said,
> > i set RedMon to prompt for file name, ok so if i ask redmon to create my
> > .PS file I can always write my application to call ghostscript and convert
> > to pdf. So were back to the problem that we would want to support this
> > solution in multiple enviroments and RedMon and ghostscript have licensing
> > issues.
> > But I think once I get a prototype working i can then try and create my
> > own version of redmon that wont have licensing issues, same goes to ghost
> > script but there are various solutions that use ghost script, do you think
> > that each and everyone has an agreement with GhostScript to distribute it
> > commercially?
> >
> > RegardsSam
> >> Date: Thu, 8 Apr 2010 10:36:38 +0100
> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> From: clinton@xxxxxxxxxxxxxx
> >> To: winprndev@xxxxxxxxxxxxx
> >>
> >> Hi Sam,
> >> looking at your ghostscript section, you are accepting "stdin" and then
> >> outputting to the first parameter "%1" ( this could be a tempname ), I'm
> >> not sure how you've set Redmon at this stage..
> >>
> >> Anyway, a portmonitor can be designed to output to a tempfile, or simply
> >> through it out to a standard file mechanism "stdout". In the default
> >> case
> >> of REDMON ( I'm no expert ), I'm assuming if you select "program handles
> >> output" it will simply call the executable you specified and through
> >> stdout at it. This would require you app to accept stdin as a file
> >> handle
> >> and then create a temp.
> >>
> >> Hope it helps!
> >> Clinton
> >> >
> >> > Hi Clinton
> >> > I was wondering if you have any other references because I am trying
> >> to
> >> > get my head around what exactly does the port monitor pass the
> >> GhostScript
> >> > exe because i thought it was a straight stdin of the PostScript file
> >> > obviously I am wrong because according to my RedMon port settings I am
> >> > passing :
> >> > @c:\gs\gs8.11\pdfwrite.rsp -sOutputFile="%1" -c save pop -f -
> >> > the first part is clearly calling the pdf creation script, the second
> >> is
> >> > calling the postscript file maybe?
> >> > To make things clearer I wrote a simple exe that saves everything
> >> given to
> >> > it to a file and this is what i receive, am i understanding this
> >> > incorrectly? Does the Port Monitor create temp file and Ghostscript
> >> > somehow knows where this temp file is ?
> >> > Any help would make this much clearer I am still combing through the
> >> > mountain load of information held in the help files of both
> >> GhostScript
> >> > and RedMon to no avail
> >> >
> >> > RegardsSam
> >> >
> >> >> Date: Wed, 7 Apr 2010 17:32:10 +0100
> >> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> From: clinton@xxxxxxxxxxxxxx
> >> >> To: winprndev@xxxxxxxxxxxxx
> >> >>
> >> >> Hi Sam,
> >> >> I wouldn't think this is an issue with Redmon, are you using "run as
> >> >> User"
> >> >> switch. It might be a permissions/environment problem.
> >> >> why don't you try and redirect to a program, this program writes to a
> >> >> temp
> >> >> file c:\sam_temp\123dfre.tmp, see if this works.
> >> >> Clinton
> >> >> >
> >> >> > Clinton
> >> >> > It seems that RedMon isnt supported on windows 7, whats odd is that
> >> >> the
> >> >> > PDF is created fine but if i try to redirect to my custom exe it
> >> just
> >> >> > produces an error. This means I will have to create my own redirect
> >> >> port
> >> >> > which is a bit of a shame seeing as the functionality i want is in
> >> >> RedMon
> >> >> > RegardsSam
> >> >> >
> >> >> > From: hussam_88@xxxxxxxxxxx
> >> >> > To: winprndev@xxxxxxxxxxxxx
> >> >> > Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> > Date: Wed, 7 Apr 2010 15:28:12 +0000
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > Clinton
> >> >> > Apologies i was guided to use .NET but I realise its better to use
> >> C,
> >> >> what
> >> >> > if i just write a simple WIN32 console program? that way if i
> >> provide
> >> >> the
> >> >> > exe with the install there wont be any need to for framework to be
> >> >> > installed on client side.
> >> >> > I am just in the process of redirecting to my exe but it seems to
> >> be
> >> >> > locked because i am getting erors when i try to configure the port,
> >> im
> >> >> > sure ill sort it out though.
> >> >> > Question is what does RedMon pass to ghostScript? the PostScript
> >> file?
> >> >> and
> >> >> > I still have no idea if the document name can be produced?
> >> >> > RegardsSam
> >> >> >
> >> >> >
> >> >> >> Date: Wed, 7 Apr 2010 16:21:13 +0100
> >> >> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> >> From: clinton@xxxxxxxxxxxxxx
> >> >> >> To: winprndev@xxxxxxxxxxxxx
> >> >> >>
> >> >> >> Hi Sam,
> >> >> >> Sorry my mistake. So what's the reason for .NET if you prefer
> >> C/C++?
> >> >> >> Ignore me just we have a thing going on here in the office where
> >> >> >> everyone
> >> >> >> who knows me knows my common phrase "I do C/C++ why do I need a
> >> >> >> FrameWork
> >> >> >> to do things", not that I have any issue with the FrameWork, just
> >> >> never
> >> >> >> needed it.. Makes perfect sense for VB.NET and C##, BUT I love
> >> >> pointers.
> >> >> >>
> >> >> >> Anyway, going off topic again. You should be able to decipher
> >> this.
> >> >> >> Briefly the API calls to programatically add drivers, portmonitors
> >> >> etc
> >> >> >> is
> >> >> >> identical.
> >> >> >> AND yes, instead of ghostscript, call your app and away you go.
> >> Are
> >> >> you
> >> >> >> sure you want your users to first have a FrameWork installed
> >> before
> >> >> >> calling a simple program?
> >> >> >>
> >> >> >> Clinton
> >> >> >>
> >> >> >> >
> >> >> >> > Clinton
> >> >> >> > Thanks alot i will take a look at it, although I much prefer C
> >> to
> >> >> VB.
> >> >> >> You
> >> >> >> > know how it is with us programmers if you love C you hate VB and
> >> >> vice
> >> >> >> > versa :)
> >> >> >> > But I was just wondering, RedMon actually allows you to point to
> >> >> which
> >> >> >> exe
> >> >> >> > you want to start with, so instead of reirecting to ghostscript
> >> i
> >> >> >> should
> >> >> >> > redirect to my .net app right? RegardsSam
> >> >> >> >
> >> >> >> >> Date: Wed, 7 Apr 2010 15:35:23 +0100
> >> >> >> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> >> >> From: clinton@xxxxxxxxxxxxxx
> >> >> >> >> To: winprndev@xxxxxxxxxxxxx
> >> >> >> >>
> >> >> >> >> Hi Sam,
> >> >> >> >> I think you are getting there.
> >> >> >> >> The INF file is nothing more than a text configuration file
> >> used
> >> >> by
> >> >> >> the
> >> >> >> >> "Windows Add printer" User Interface. Primarily you don't need
> >> to
> >> >> >> rely
> >> >> >> >> on
> >> >> >> >> this and can install a printer driver, portmonitor
> >> automatically,
> >> >> BUT
> >> >> >> if
> >> >> >> >> you wish users to add a printer manually then the .inf is the
> >> way
> >> >> to
> >> >> >> go.
> >> >> >> >> It instructs the interface where files should be placed and
> >> what
> >> >> name
> >> >> >> to
> >> >> >> >> give the driver file with all its dependancies.
> >> >> >> >>
> >> >> >> >> Lets see you prefer VB, I have found a VB source site that does
> >> >> >> >> everything
> >> >> >> >> you require. Welcome to the world of opensource..
> >> >> >> >>
> >> >> >> >> http://www.pdfforge.org/download ( download the source and away
> >> >> you
> >> >> >> go )
> >> >> >> >> The will install a printer driver, portmonitor, ghostscript.
> >> You
> >> >> >> might
> >> >> >> >> want to do things differently BUT I thought the language syntax
> >> >> would
> >> >> >> be
> >> >> >> >> familiar so would make more sense than me sending you C
> >> snippets.
> >> >> >> >>
> >> >> >> >> Have Fun!
> >> >> >> >> Clinton
> >> >> >> >> >
> >> >> >> >> > Sorry everyone, just goes to show how new I am to all of
> >> this. I
> >> >> >> >> assumed
> >> >> >> >> > the INF file would be produced after compilation when  its
> >> just
> >> >> a
> >> >> >> >> simple
> >> >> >> >> > text file containing information about the driver and tells
> >> >> windows
> >> >> >> to
> >> >> >> >> > copy the drivers to the system directory
> >> >> >> >> > I relise this because compiling the local port sample on WDK,
> >> it
> >> >> >> >> produced
> >> >> >> >> > DDLs
> >> >> >> >> > but RedMon has its own setup, I am assuming that given the
> >> >> RedMon
> >> >> >> DDLs
> >> >> >> >> i
> >> >> >> >> > can easily write an INF file to install the ports, so I need
> >> to
> >> >> >> >> actually
> >> >> >> >> > manipulate the code to stdout to a .net application instead
> >> of
> >> >> >> >> ghostscript
> >> >> >> >> > which does the same thing as ghostscript (as in create a temp
> >> >> file
> >> >> >> >> then
> >> >> >> >> > PDF) and then upload to server.
> >> >> >> >> > If thats correct then im finally beginning to understand what
> >> i
> >> >> >> need
> >> >> >> >> to
> >> >> >> >> > do, but there still the matter of the document name, how will
> >> I
> >> >> get
> >> >> >> >> it?
> >> >> >> >> > Will the output RedMon produces contain the name of the
> >> document
> >> >> >> >> > somewhere? Maybe GhostScript has a field for document name?
> >> >> >> >> > RegardsSam
> >> >> >> >> >
> >> >> >> >> > From: hussam_88@xxxxxxxxxxx
> >> >> >> >> > To: winprndev@xxxxxxxxxxxxx
> >> >> >> >> > Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> >> >> > Date: Wed, 7 Apr 2010 11:21:35 +0000
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > Clinton
> >> >> >> >> > Thank you for your email, I am just looking at the RedMon
> >> source
> >> >> >> code,
> >> >> >> >> I
> >> >> >> >> > still have no idea how they produce the INF from the code but
> >> i
> >> >> am
> >> >> >> >> > assuming that to build an inf of a printer port I will have
> >> to
> >> >> >> maybe
> >> >> >> >> work
> >> >> >> >> > with the WDK.
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > I guess im just lost as to where to start with creating the
> >> >> Port,
> >> >> >> once
> >> >> >> >> i
> >> >> >> >> > compile the C Code for the port monitor would that create an
> >> inf
> >> >> >> file?
> >> >> >> >> >
> >> >> >> >> > From what i understood in your email your advising that I
> >> write
> >> >> a
> >> >> >> >> bridge
> >> >> >> >> > program that creates the temp file of the input(Stdin) that
> >> it
> >> >> >> >> receives
> >> >> >> >> > from RedMon and then call Ghostscript to create the PDF from
> >> the
> >> >> >> temp
> >> >> >> >> > file, and although Ghost script does this its better if I am
> >> in
> >> >> >> >> control of
> >> >> >> >> > this process incase of bugs or crashes.
> >> >> >> >> > so the first thing i need to do is create the Redmon that
> >> would
> >> >> >> >> redirect
> >> >> >> >> > to my program instead of Ghostscript and although i know i
> >> can
> >> >> just
> >> >> >> do
> >> >> >> >> > that via the configure in the port menu I would muh rather
> >> get
> >> >> >> stuck
> >> >> >> >> in!
> >> >> >> >> > and start learning by playing around with it.
> >> >> >> >> > how do i create the inf file for my new redirection port
> >> though?
> >> >> >> >> > RegardsSam
> >> >> >> >> >> Date: Wed, 7 Apr 2010 12:13:19 +0100
> >> >> >> >> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> >> >> >> From: clinton@xxxxxxxxxxxxxx
> >> >> >> >> >> To: winprndev@xxxxxxxxxxxxx
> >> >> >> >> >>
> >> >> >> >> >> Hi Sam,
> >> >> >> >> >> If I remember correctly. REDMON can output to stdout (
> >> Program
> >> >> >> >> handles
> >> >> >> >> >> output ). So you would need to create a little app ( C would
> >> do
> >> >> ),
> >> >> >> >> that
> >> >> >> >> >> accepts stdin, creates a TEMPFile and then calls Ghostscript
> >> to
> >> >> >> >> create
> >> >> >> >> >> the
> >> >> >> >> >> PDF ( another Temp ). This then can be "remotely sent".
> >> >> >> Technically
> >> >> >> >> >> GhostScript can accept stdin stdout, BUT I do advise you
> >> >> >> controlling
> >> >> >> >> the
> >> >> >> >> >> file creation ( if something goes wrong, you know where )
> >> and
> >> >> >> passing
> >> >> >> >> >> these as parameters to the PDF driver type.
> >> >> >> >> >>
> >> >> >> >> >> Hope it helps!
> >> >> >> >> >> Clinton
> >> >> >> >> >> PS: I read in a previous email someone saying that Microsoft
> >> >> were
> >> >> >> >> trying
> >> >> >> >> >> to remove sockets/ports, this I don't think will ever happen
> >> as
> >> >> >> the
> >> >> >> >> >> spooler CORE is designed around this also CLUSTERED PRINTING
> >> >> only
> >> >> >> >> >> support
> >> >> >> >> >> TCP/IP printing ( which is socket based through ports )
> >> >> >> >> >>
> >> >> >> >> >> >
> >> >> >> >> >> > That sounds like much neater. OK so the next step is to
> >> >> >> actuallly
> >> >> >> >> >> learn
> >> >> >> >> >> > how Redmon works and modify it to launch a .Net
> >> application.
> >> >> I
> >> >> >> will
> >> >> >> >> >> also
> >> >> >> >> >> > need to learn how Ghostscript works and how to convert the
> >> >> >> >> Postscript
> >> >> >> >> >> file
> >> >> >> >> >> > produced to PDF, but what about naming. Does the port
> >> monitor
> >> >> >> know
> >> >> >> >> the
> >> >> >> >> >> > name of the document? or will it be overwritten?
> >> >> >> >> >> > RegardsSam
> >> >> >> >> >> >
> >> >> >> >> >> >> Date: Wed, 7 Apr 2010 11:33:36 +0200
> >> >> >> >> >> >> Subject: [WinPrnDev] Re: Creating a Printer Driver
> >> >> >> >> >> >> From: jjflash@xxxxxxxxx
> >> >> >> >> >> >> To: winprndev@xxxxxxxxxxxxx
> >> >> >> >> >> >>
> >> >> >> >> >> >> On Wed, Apr 7, 2010 at 11:29 AM, Sam Elamin
> >> >> >> >> <hussam_88@xxxxxxxxxxx>
> >> >> >> >> >> >> wrote:
> >> >> >> >> >> >> > So what if I print to a redmon port (RE1) which will
> >> >> redirect
> >> >> >> to
> >> >> >> >> >> >> ghostscript
> >> >> >> >> >> >> > which produces the PDF, then print the PDF to RedMon
> >> Port
> >> >> 2
> >> >> >> >> (RE2)
> >> >> >> >> >> and
> >> >> >> >> >> >> the
> >> >> >> >> >> >> > second port will print to a .NET application which was
> >> >> >> created
> >> >> >> >> >> soley
> >> >> >> >> >> >> to
> >> >> >> >> >> >> > upload a job.
> >> >> >> >> >> >>
> >> >> >> >> >> >> Or have RedMon Port 1 launch your .Net app that first
> >> spawns
> >> >> >> >> >> >> GhostScript to do the conversion and next upload the
> >> result
> >> >> >> >> >> somewhere?
> >> >> >> >> >> >>
> >> >> >> >> >> >> ;)
> >> >> >> >> >> >>
> >> >> >> >> >> >> --
> >> >> >> >> >> >> Rune
> >> >> >> >> >> >> ---
> >> >> >> >> >> >> Questions? First check the UndocPrint pages at
> >> >> >> >> >> >> http://www.undocprint.org/winspool
> >> >> >> >> >> >>
> >> >> >> >> >> >> To unsubscribe, visit the List Server page at
> >> >> >> >> >> >> //www.freelists.org/list/winprndev
> >> >> >> >> >> >
> >> >> >> >> >> > _________________________________________________________________
> >> >> >> >> >> > http://clk.atdmt.com/UKM/go/197222280/direct/01/
> >> >> >> >> >> > Do you have a story that started on Hotmail? Tell us now
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> ---
> >> >> >> >> >> Questions? First check the UndocPrint pages at
> >> >> >> >> >> http://www.undocprint.org/winspool
> >> >> >> >> >>
> >> >> >> >> >> To unsubscribe, visit the List Server page at
> >> >> >> >> >> //www.freelists.org/list/winprndev
> >> >> >> >> >
> >> >> >> >> > Get a free e-mail account with Hotmail. Sign-up now.
> >> >> >> >> > _________________________________________________________________
> >> >> >> >> > http://clk.atdmt.com/UKM/go/195013117/direct/01/
> >> >> >> >> > We want to hear all your funny, exciting and crazy Hotmail
> >> >> stories.
> >> >> >> >> Tell
> >> >> >> >> > us now
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> ---
> >> >> >> >> Questions? First check the UndocPrint pages at
> >> >> >> >> http://www.undocprint.org/winspool
> >> >> >> >>
> >> >> >> >> To unsubscribe, visit the List Server page at
> >> >> >> >> //www.freelists.org/list/winprndev
> >> >> >> >
> >> >> >> > _________________________________________________________________
> >> >> >> > http://clk.atdmt.com/UKM/go/197222280/direct/01/
> >> >> >> > Do you have a story that started on Hotmail? Tell us now
> >> >> >>
> >> >> >>
> >> >> >> ---
> >> >> >> Questions? First check the UndocPrint pages at
> >> >> >> http://www.undocprint.org/winspool
> >> >> >>
> >> >> >> To unsubscribe, visit the List Server page at
> >> >> >> //www.freelists.org/list/winprndev
> >> >> >
> >> >> > Get a free e-mail account with Hotmail. Sign-up now.
> >> >> > _________________________________________________________________
> >> >> > http://clk.atdmt.com/UKM/go/195013117/direct/01/
> >> >> > We want to hear all your funny, exciting and crazy Hotmail stories.
> >> >> Tell
> >> >> > us now
> >> >>
> >> >>
> >> >> ---
> >> >> Questions? First check the UndocPrint pages at
> >> >> http://www.undocprint.org/winspool
> >> >>
> >> >> To unsubscribe, visit the List Server page at
> >> >> //www.freelists.org/list/winprndev
> >> >
> >> > _________________________________________________________________
> >> > http://clk.atdmt.com/UKM/go/195013117/direct/01/
> >> >
> >>
> >>
> >> ---
> >> Questions? First check the UndocPrint pages at
> >> http://www.undocprint.org/winspool
> >>
> >> To unsubscribe, visit the List Server page at
> >> //www.freelists.org/list/winprndev
> >
> > _________________________________________________________________
> > http://clk.atdmt.com/UKM/go/197222280/direct/01/
> > Do you have a story that started on Hotmail? Tell us now
> 
> 
> ---
> Questions? First check the UndocPrint pages at 
> http://www.undocprint.org/winspool
> 
> To unsubscribe, visit the List Server page at 
> //www.freelists.org/list/winprndev
                                          
_________________________________________________________________
http://clk.atdmt.com/UKM/go/197222280/direct/01/
Do you have a story that started on Hotmail? Tell us now

Other related posts: