You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by "skip@thedevers" <sk...@thedevers.org> on 2007/12/01 07:25:53 UTC

Printing

sendPrintFromScreen() works a charm if you have a post script printer.

However, I am having problems getting it to work with "text/plain".  You
might ask why I wanna do that, and the answer is that my current customer
has half a dozen workhorse dot matrix printers that spit out a hundred pages
a minute for about 5cents.

So, I want to utilize these for some ordinary printing jobs like reprinting
invoices for internal use and the like.

So, I modified sendPrintFromScreen() so that if it doesn't find a postscript
printer with the printer name that was passed in, it changes the contentType
to "text/plain" and checks again.  It always finds this one if I have not
picked a postscript printer.

The problem is that the renderer does not seem to put formfeeds at the end.
This is not a problem when you only print one, but when you are
massPrinting, everything gets pretty hosed.

My test setup is printing three invoices from :

https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
rdermgr/OrderPrintForms.xml#OrderPDF

Anyone have any idea how to encourage the fop guy to put a ff after the
document is finished in plain text?

I am fairly sure this is the problem because I can use

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
printer = PrintServiceLookup.lookupDefaultPrintService();
// Create the print job
DocPrintJob job = printer.createPrintJob();
Doc doc = new SimpleDoc(myDoc, flavor, null);
// Print it
job.print(doc, null);

And send in a FF terminated string and it all works fine.  I would just
prefer to use that FOP renderer so I don't have to hand code a bunch of
stuff.

Skip


RE: Printing

Posted by "skip@thedevers" <sk...@thedevers.org>.
Thanks Jacopo, I'll give that a try!

-----Original Message-----
From: Jacopo Cappellato [mailto:tiz@sastau.it]
Sent: Friday, November 30, 2007 11:42 PM
To: user@ofbiz.apache.org
Subject: Re: Printing


Yes,

sorry, I meant that you can define a new controller's entry (new request
map and view map) for the text print of your report and set in the
view-map the content type.

It *should* work.

Jacopo

skip@thedevers wrote:
> Hmm, no kidding, where eez seez view-map entry?  I check in web tools and
> the screen I was printing from and didn't see a place to set it.
>
> Are you talking about a view-map setting in some controller?
>
> Skip
>
> -----Original Message-----
> From: Jacopo Cappellato [mailto:tiz@sastau.it]
> Sent: Friday, November 30, 2007 11:25 PM
> To: user@ofbiz.apache.org
> Subject: Re: Printing
>
>
> By the way,
>
> I think that you can specify the "text/plain" option in the view-map
> entry of the screen (without modifying the code in sendPrintFromScreen).
>
> Jacopo
>
> skip@thedevers wrote:
>> Hmmm, forget this.  It's late.   The problem is that the invoices I was
>> printing were outputing multiple lines for each line in the form and
>> therefore hosing line count.
>>
>> Skip
>>
>> -----Original Message-----
>> From: skip@thedevers [mailto:skip@thedevers.org]
>> Sent: Friday, November 30, 2007 10:26 PM
>> To: user@ofbiz.apache.org
>> Subject: Printing
>>
>>
>> sendPrintFromScreen() works a charm if you have a post script printer.
>>
>> However, I am having problems getting it to work with "text/plain".  You
>> might ask why I wanna do that, and the answer is that my current customer
>> has half a dozen workhorse dot matrix printers that spit out a hundred
> pages
>> a minute for about 5cents.
>>
>> So, I want to utilize these for some ordinary printing jobs like
> reprinting
>> invoices for internal use and the like.
>>
>> So, I modified sendPrintFromScreen() so that if it doesn't find a
> postscript
>> printer with the printer name that was passed in, it changes the
> contentType
>> to "text/plain" and checks again.  It always finds this one if I have not
>> picked a postscript printer.
>>
>> The problem is that the renderer does not seem to put formfeeds at the
> end.
>> This is not a problem when you only print one, but when you are
>> massPrinting, everything gets pretty hosed.
>>
>> My test setup is printing three invoices from :
>>
>>
>
https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
>
erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
>
C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
>> rdermgr/OrderPrintForms.xml#OrderPDF
>>
>> Anyone have any idea how to encourage the fop guy to put a ff after the
>> document is finished in plain text?
>>
>> I am fairly sure this is the problem because I can use
>>
>> DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
>> printer = PrintServiceLookup.lookupDefaultPrintService();
>> // Create the print job
>> DocPrintJob job = printer.createPrintJob();
>> Doc doc = new SimpleDoc(myDoc, flavor, null);
>> // Print it
>> job.print(doc, null);
>>
>> And send in a FF terminated string and it all works fine.  I would just
>> prefer to use that FOP renderer so I don't have to hand code a bunch of
>> stuff.
>>
>> Skip
>>
>
>




Re: Printing

Posted by Jacopo Cappellato <ti...@sastau.it>.
Yes,

sorry, I meant that you can define a new controller's entry (new request 
map and view map) for the text print of your report and set in the 
view-map the content type.

It *should* work.

Jacopo

skip@thedevers wrote:
> Hmm, no kidding, where eez seez view-map entry?  I check in web tools and
> the screen I was printing from and didn't see a place to set it.
> 
> Are you talking about a view-map setting in some controller?
> 
> Skip
> 
> -----Original Message-----
> From: Jacopo Cappellato [mailto:tiz@sastau.it]
> Sent: Friday, November 30, 2007 11:25 PM
> To: user@ofbiz.apache.org
> Subject: Re: Printing
> 
> 
> By the way,
> 
> I think that you can specify the "text/plain" option in the view-map
> entry of the screen (without modifying the code in sendPrintFromScreen).
> 
> Jacopo
> 
> skip@thedevers wrote:
>> Hmmm, forget this.  It's late.   The problem is that the invoices I was
>> printing were outputing multiple lines for each line in the form and
>> therefore hosing line count.
>>
>> Skip
>>
>> -----Original Message-----
>> From: skip@thedevers [mailto:skip@thedevers.org]
>> Sent: Friday, November 30, 2007 10:26 PM
>> To: user@ofbiz.apache.org
>> Subject: Printing
>>
>>
>> sendPrintFromScreen() works a charm if you have a post script printer.
>>
>> However, I am having problems getting it to work with "text/plain".  You
>> might ask why I wanna do that, and the answer is that my current customer
>> has half a dozen workhorse dot matrix printers that spit out a hundred
> pages
>> a minute for about 5cents.
>>
>> So, I want to utilize these for some ordinary printing jobs like
> reprinting
>> invoices for internal use and the like.
>>
>> So, I modified sendPrintFromScreen() so that if it doesn't find a
> postscript
>> printer with the printer name that was passed in, it changes the
> contentType
>> to "text/plain" and checks again.  It always finds this one if I have not
>> picked a postscript printer.
>>
>> The problem is that the renderer does not seem to put formfeeds at the
> end.
>> This is not a problem when you only print one, but when you are
>> massPrinting, everything gets pretty hosed.
>>
>> My test setup is printing three invoices from :
>>
>>
> https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
> erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
> C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
>> rdermgr/OrderPrintForms.xml#OrderPDF
>>
>> Anyone have any idea how to encourage the fop guy to put a ff after the
>> document is finished in plain text?
>>
>> I am fairly sure this is the problem because I can use
>>
>> DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
>> printer = PrintServiceLookup.lookupDefaultPrintService();
>> // Create the print job
>> DocPrintJob job = printer.createPrintJob();
>> Doc doc = new SimpleDoc(myDoc, flavor, null);
>> // Print it
>> job.print(doc, null);
>>
>> And send in a FF terminated string and it all works fine.  I would just
>> prefer to use that FOP renderer so I don't have to hand code a bunch of
>> stuff.
>>
>> Skip
>>
> 
> 



RE: Printing

Posted by "skip@thedevers" <sk...@thedevers.org>.
Hmm, no kidding, where eez seez view-map entry?  I check in web tools and
the screen I was printing from and didn't see a place to set it.

Are you talking about a view-map setting in some controller?

Skip

-----Original Message-----
From: Jacopo Cappellato [mailto:tiz@sastau.it]
Sent: Friday, November 30, 2007 11:25 PM
To: user@ofbiz.apache.org
Subject: Re: Printing


By the way,

I think that you can specify the "text/plain" option in the view-map
entry of the screen (without modifying the code in sendPrintFromScreen).

Jacopo

skip@thedevers wrote:
> Hmmm, forget this.  It's late.   The problem is that the invoices I was
> printing were outputing multiple lines for each line in the form and
> therefore hosing line count.
>
> Skip
>
> -----Original Message-----
> From: skip@thedevers [mailto:skip@thedevers.org]
> Sent: Friday, November 30, 2007 10:26 PM
> To: user@ofbiz.apache.org
> Subject: Printing
>
>
> sendPrintFromScreen() works a charm if you have a post script printer.
>
> However, I am having problems getting it to work with "text/plain".  You
> might ask why I wanna do that, and the answer is that my current customer
> has half a dozen workhorse dot matrix printers that spit out a hundred
pages
> a minute for about 5cents.
>
> So, I want to utilize these for some ordinary printing jobs like
reprinting
> invoices for internal use and the like.
>
> So, I modified sendPrintFromScreen() so that if it doesn't find a
postscript
> printer with the printer name that was passed in, it changes the
contentType
> to "text/plain" and checks again.  It always finds this one if I have not
> picked a postscript printer.
>
> The problem is that the renderer does not seem to put formfeeds at the
end.
> This is not a problem when you only print one, but when you are
> massPrinting, everything gets pretty hosed.
>
> My test setup is printing three invoices from :
>
>
https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
>
erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
>
C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
> rdermgr/OrderPrintForms.xml#OrderPDF
>
> Anyone have any idea how to encourage the fop guy to put a ff after the
> document is finished in plain text?
>
> I am fairly sure this is the problem because I can use
>
> DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
> printer = PrintServiceLookup.lookupDefaultPrintService();
> // Create the print job
> DocPrintJob job = printer.createPrintJob();
> Doc doc = new SimpleDoc(myDoc, flavor, null);
> // Print it
> job.print(doc, null);
>
> And send in a FF terminated string and it all works fine.  I would just
> prefer to use that FOP renderer so I don't have to hand code a bunch of
> stuff.
>
> Skip
>




Re: Printing

Posted by Jacopo Cappellato <ti...@sastau.it>.
By the way,

I think that you can specify the "text/plain" option in the view-map 
entry of the screen (without modifying the code in sendPrintFromScreen).

Jacopo

skip@thedevers wrote:
> Hmmm, forget this.  It's late.   The problem is that the invoices I was
> printing were outputing multiple lines for each line in the form and
> therefore hosing line count.
> 
> Skip
> 
> -----Original Message-----
> From: skip@thedevers [mailto:skip@thedevers.org]
> Sent: Friday, November 30, 2007 10:26 PM
> To: user@ofbiz.apache.org
> Subject: Printing
> 
> 
> sendPrintFromScreen() works a charm if you have a post script printer.
> 
> However, I am having problems getting it to work with "text/plain".  You
> might ask why I wanna do that, and the answer is that my current customer
> has half a dozen workhorse dot matrix printers that spit out a hundred pages
> a minute for about 5cents.
> 
> So, I want to utilize these for some ordinary printing jobs like reprinting
> invoices for internal use and the like.
> 
> So, I modified sendPrintFromScreen() so that if it doesn't find a postscript
> printer with the printer name that was passed in, it changes the contentType
> to "text/plain" and checks again.  It always finds this one if I have not
> picked a postscript printer.
> 
> The problem is that the renderer does not seem to put formfeeds at the end.
> This is not a problem when you only print one, but when you are
> massPrinting, everything gets pretty hosed.
> 
> My test setup is printing three invoices from :
> 
> https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
> erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
> C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
> rdermgr/OrderPrintForms.xml#OrderPDF
> 
> Anyone have any idea how to encourage the fop guy to put a ff after the
> document is finished in plain text?
> 
> I am fairly sure this is the problem because I can use
> 
> DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
> printer = PrintServiceLookup.lookupDefaultPrintService();
> // Create the print job
> DocPrintJob job = printer.createPrintJob();
> Doc doc = new SimpleDoc(myDoc, flavor, null);
> // Print it
> job.print(doc, null);
> 
> And send in a FF terminated string and it all works fine.  I would just
> prefer to use that FOP renderer so I don't have to hand code a bunch of
> stuff.
> 
> Skip
> 



RE: Printing

Posted by "skip@thedevers" <sk...@thedevers.org>.
Hmmm, forget this.  It's late.   The problem is that the invoices I was
printing were outputing multiple lines for each line in the form and
therefore hosing line count.

Skip

-----Original Message-----
From: skip@thedevers [mailto:skip@thedevers.org]
Sent: Friday, November 30, 2007 10:26 PM
To: user@ofbiz.apache.org
Subject: Printing


sendPrintFromScreen() works a charm if you have a post script printer.

However, I am having problems getting it to work with "text/plain".  You
might ask why I wanna do that, and the answer is that my current customer
has half a dozen workhorse dot matrix printers that spit out a hundred pages
a minute for about 5cents.

So, I want to utilize these for some ordinary printing jobs like reprinting
invoices for internal use and the like.

So, I modified sendPrintFromScreen() so that if it doesn't find a postscript
printer with the printer name that was passed in, it changes the contentType
to "text/plain" and checks again.  It always finds this one if I have not
picked a postscript printer.

The problem is that the renderer does not seem to put formfeeds at the end.
This is not a problem when you only print one, but when you are
massPrinting, everything gets pretty hosed.

My test setup is printing three invoices from :

https://localhost:8443/ordermgr/control/findorders?printerName=OKIData9721&s
erviceName=/ordermgr/control/massPrintOrders?hideFields=YpartyId=NOAA%20NWAF
C&hideFields=YpartyId=NOAA%20NWAFC&screenLocation=component://order/widget/o
rdermgr/OrderPrintForms.xml#OrderPDF

Anyone have any idea how to encourage the fop guy to put a ff after the
document is finished in plain text?

I am fairly sure this is the problem because I can use

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
printer = PrintServiceLookup.lookupDefaultPrintService();
// Create the print job
DocPrintJob job = printer.createPrintJob();
Doc doc = new SimpleDoc(myDoc, flavor, null);
// Print it
job.print(doc, null);

And send in a FF terminated string and it all works fine.  I would just
prefer to use that FOP renderer so I don't have to hand code a bunch of
stuff.

Skip