Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

printing front to back

edited September 2009 in General
hi friends,

how can I get print front to back for large print job?

In fact, I need to offer this possibility to the user. (programmaticaly).

Thanks,

Andre

Comments

  • edited September 2009
    Hi Andre,

    You can use the Report.PrinterSetup.Duplex property to control the duplexing
    options for printing a report.

    In code, include ppTypes in your uses clause and set this property to
    dpHorizontal or dpVertical based on how you would like the pages to be
    duplexed.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited September 2009
    > how can I get print front to back for large print job?

    I think you are wanting to print pages in reverse order? If I am mistaken,
    you can ignore the rest of this post.

    I found code posted in 2002 by Alexander Kramnik in this newsgroup that
    would achive this--it is untested. See below.

    Ed Dressel
    Team DM

    var
    lDevice: TppDevice;
    lPrinterDevice: TppPrinterDevice;
    liIndex: Integer;
    begin

    lDevice := TppDevice.Create(nil);
    lDevice.Publisher := ppReport1.Publisher;
    lDevice.PageSetting := psLastPage;

    ppReport1.CachePages := True;
    ppReport1.PrintToDevices;

    lDevice.Free;

    lPrinterDevice := TppPrinterDevice.Create(nil);
    lPrinterDevice.StartJob;

    for liIndex := ppReport1.Publisher.PageCount-1 downto 0 do
    lPrinterDevice.ReceivePage(ppReport1.Publisher.Pages[liIndex]);

    lPrinterDevice.EndJob;
    lPrinterDevice.Free;
  • edited September 2009
    Hi Nico Cizik.

    I'm testing your suggestion now.
    I set
    ppReport.PrinterSetup.Duplex:= dpVertical;

    so when we start the print job, it's stop on the first page. why? No
    dialogboxes apears.

    some details:

    1) some user on the network print something;
    2) the default rbuilder preview appears;
    3) the user clicks the print button in the preview;
    4) the printer setup dialog boxes appears;
    5) the user clicks ok;
    6) the printer job begins on a network computer (computer and printer are
    on);
    7) only the first page is printed and everything stops.

    can you help me?

    thanks...

    andre luiz mota

  • edited September 2009
    Hi Andre,

    Are you trying to print the report in reverse order or print on the front
    and back of each page (duplex)?

    If you are trying to duplex print, are you certain your printer has this
    capability? Is it perhaps asking you to re-insert the page after the first
    one is printed?

    What type of printer are you using?

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited September 2009
    I started to search here in the forum after to post it. As you said, the
    printer must be compatible.
    here the printer is 'EPSON Stylus CX4900 Series';
    I'll verify the compatibility of that printer... (duplex mode).


  • edited September 2009
    Hi Andre,

    ReportBuilder does not communicate with the printer directly, it uses
    generic Windows API commands which need to be interpreted by the printer
    driver correctly which then controls the actual printer. You might check
    your driver settings for the specific printer to be sure duplexing is turned
    on. You can access this using the Report.PrinterSetup.DeviceSettings
    property or by selecting the Properties button in the Print Dialog before
    printing a report.

    Also be sure you are using the latest update of the printer driver available
    for the printer you are print to.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.