Custom PaperSize on a LaserJet 4000
I am attempting to print a report on a 3 x 5 card to a LaserJet 4000. Prior
to calling 'Print' on my TppReport component, I am programmatically setting
the PrinterSetup.PageWidth and the PrinterSetup.PageHeight. I see that the
PaperName is set to 'Custom' (as it should). The printer has the ability to
recognize and print custom sizes, but it appears that the default paper name
of 'Letter' is actually being received by the printer. The 3 x 5 cards do
not properly pull through the printer and the printer reports a jam.
A quick test in Word using a document with a custom width and height (the
same dimensions as my report) resulted in the printer prompting me to insert
the proper paper into Tray 1. The card is properly pulled through and it
prints correctly.
How do I send the correct paper size settings to the printer?
to calling 'Print' on my TppReport component, I am programmatically setting
the PrinterSetup.PageWidth and the PrinterSetup.PageHeight. I see that the
PaperName is set to 'Custom' (as it should). The printer has the ability to
recognize and print custom sizes, but it appears that the default paper name
of 'Letter' is actually being received by the printer. The 3 x 5 cards do
not properly pull through the printer and the printer reports a jam.
A quick test in Word using a document with a custom width and height (the
same dimensions as my report) resulted in the printer prompting me to insert
the proper paper into Tray 1. The card is properly pulled through and it
prints correctly.
How do I send the correct paper size settings to the printer?
This discussion has been closed.
Comments
-----------------------------------------------
Article: Custom Paper Sizes on Windows 2000
-----------------------------------------------
Win 2000 (and Win NT) have a completely different printing architecture
from Win 9x. This
is particularly apparent when it comes to custom paper sizes.
Windows NT handles paper sizes via Forms that are defined at the
operating system level.
1. Open the Windows 2000 printer panel
2. Select File | Server Properties. The Print Server Properties dialog
is displayed.
3. From this dialog you can view all of the Forms currently defined for
your machine.
There are basic forms installed by the operating system. Additional
forms may be added by
printer driver installations or applications.
ReportBuilder defines a Custom paper size as one that is NOT already
defined and known to
the printer driver. There are Win API calls ReportBuilder uses to
retrieve a list of
available paper sizes known to the printer driver.
When printing a report, ReportBuilder first tries to find a pre-defined
paper size it can
use - one that matches the paper dimensions of the report. If it cannot
find one, then it
uses a Win API call to add/modify a Form named 'Custom'.
Security Issues:
----------------
Each printer installed to Win 2000 has security rights associated with
it.
1. Open the Windows Printer panel
2. Select the printer icon for the printer
3. Press the right mouse button to display the popup menu and select
Properties.
4. From the properties dialog select the Security tab
5. From the Security tab, press the Permissions button
6. A list of user groups and their associated rights will be displayed.
7. The rights are: No Access, Print, Manage Documents, Full Control.
*** A group must have at Manage Documents or Full Control in order to
update forms.
By default Administrators have full control. However Users by default
have only Print
rights.
Troubleshooting Tips:
---------------------
1. To test paper sizes you can run demo 121 in the main reports demo
app.
This demo displays a printer settings dialog and is very useful for
testing printer drivers with various paper sizes.
To test a paper size:
a. Selecting the printer
b. Specify the paper size
c. press preview
d. Press print to display the print dialog.
e. From the print dialog press the Properties button to display the
printer driver's built-in dialog. You should be able to verify the
printer setting from here.
These are the values communicated by RB to the printer. If
these are set correctly then RB has done its job, the rest is up to the
printer.
2. Open the Windows printers panel. Select File | Server Properties. The
Print Server
Properties dialog is displayed. Select the Form named 'Custom' and check
that its
dimensions are set to the correct values for your report.
3. Try printing to this same paper size using other apps such
as MS Excel and MS Word. If they cannot do it, then it is likely
a limitation of the printer.
4. Try downloading the latest printer driver from the manufacturers
web site.
5. Try testing with another printer.
If test number 1 above works properly then e-mail
support@digital-metaphors.com with the exact configuration
you are using: Delphi version, ReportBuilder version,
OS (2000, NT4.0, Win98), and printer model.
We can download the driver and try it out here.
--
Tech Support mailto:support@digital-metaphors.com
Digital Metaphors http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com