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

Problem with zebra barcode printers

edited November 2007 in General
Hi

I was using Delphi 7 and RB 9.02. My customer had been using Zebra TLP
2844 barcode printers for some time without problems.

Then I upgraded to D2007 and RB 10.07. Now i'm having trouble with these
printers. I tried 3 different drivers, downloaded the latest form their
website but no changes. My problem is that half of the data on the paper
(3 cm x 5 cm label) is not printed. I suspect the unprintable area of
the printer. Can I change that value programmatically?

Best Regards

Bora Aydemir

Comments

  • edited November 2007
    Hi Bora,

    Check your margins and be sure they are properly defined and that all your
    components lie within the defined area and will not stretch outside the
    printer boundaries.

    --
    Regards,

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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited November 2007
    Thanks for the reply

    After intensive investigation i found this:
    There is an unprintable area value of the printer that can be adjusted
    from the windows/printer settings. When i print to this printer using
    default printer setting the value of this setting is zero for
    Unprintable Area Left. But when I set the printer from code using

    ppReport.PrinterSetup.PrinterName := variableThePrinterName;

    the value is 20. I have no idea where this value comes from. I have
    tried three different drivers (including the latest from the website).
    Can I set this value to zero from code?

    By the way this template had been used for some time with Datamax, Argox
    and Zebra printers. After the upgrade only Zebra's are having problems,
    others are ok. I am confused???

    Nico Cizik (Digital Metaphors) yazmis:
  • edited December 2007

    Does the report preview correctly?

    Each printer has an unprintable area, which RB gets from the printer's
    device context via the Win API function GetDeviceCaps (see ppPrinter.pas,
    the method TppCustomPrinter.DeviceContextChanged). The TppPrinter class has
    properties for PrintableWidth, PrintableHeight and PageGutters (i.e. the
    unprintable area). These property values are in printer pixel units.

    TppPrinterSetup has properties for PrintableWidth, PrintableHeight that are
    in Report.Units.

    When a report prints the printer, the PrinterDevice maps the page layout to
    the printer, subtracting from the pagegutters to calculate offsets. This
    code has not changed from prior versions.



    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2007
    Nard Moseley (Digital Metaphors) yazmis:

    Yes it does preview correctly.


    Can I modify these values before printing?
This discussion has been closed.