Setting printer margin while printing a PDF from a browser.

Posted on 2014-02-28
Last Modified: 2014-03-21

I have been trying to print a PDF document which is generated dynamically. It's written in PHP. When I try to print the document from different systems, the margins of the page changes. When I crosschecked it, I found that it's because of the printer margin set on the PDF reader is different.

So I would like to know if there is any way it can be set by some programs which doesn't need to make the user to interfere.
Question by:spectrumsofttech
  • 4
  • 2
LVL 109

Expert Comment

by:Ray Paseur
ID: 39894685
Would it be possible for you to give us some more specific information?  From what we have here, the answer is "maybe."  Many printer drivers have individual settings that are not under the control of the PDF document, but we may still be able to help.

Please post a link to the PHP script that produces the document (you can obscure personal data, but do not remove anything that changes the size or shape of the resulting PDF document).

Please tell us what "different systems" are involved and how they affect the rendering.  Information like operating system. device type, printer make and model will be helpful.

Please tell us what machines are used to print the PDF files, and what print settings you expect the client to use.

Please tell us what margins you want on the output and what margins you're getting from each of the different systems.

Thanks, ~Ray

Author Comment

ID: 39901098
Since the link to the PHP script that generate the document is hosted internally, I will not be able to provide the direct access to it. For your reference, I'm attaching a PDF document generated with the same PHP script.

The PDF was generated by using PHP Class TCPDF ( )

The document we are trying to generate is CMS1500 02/12 form ( ), which is in letter size (8.50x11.00 Inch). Output PDF is set as dual layer and the upper layer would only be printed on the form.

Scaling type of the printing page should be either set to None/Actual Size/Custom Scaling :100%.

Windows XP and Windows 7 are the host Operation Systems used for the print testing process.

Printer models used are :
1. HP Laser Jet 4000
2. HP Laser Jet 4000N
3. Canon Image Runner 3300i

After setting the Scaling type to 'None', I got the desired output on a HP Laser Jet 4000 printer. Print align was changed nearly 1mm to left and top when I changed by printer from HP Laser Jet 4000 to HP Laser Jet 4000N. Finally there was a change nearly 2mm to top on the printer Canon Image Runner 3300i.

PDF readers used are Adobe reader and Foxit reader. Both gives the same printing output on every system.

PHP Code used to generate the data in the PDF as follows
LVL 109

Expert Comment

by:Ray Paseur
ID: 39901309
Ahh, that makes it clearer.  The short answer is "no" because the client controls the printer and there is no programmatic way to override the client's settings.  Your best bet is to instruct the client, telling what settings to use on different printers.

On the Epson 3880, the default settings cut off the right side of the PDF document.  When I changed the page layout to "Fit to Page" the document was reduced to 97% of its original size and it fit on the page correctly.  So maybe a good starting point is to tell the client to use the Fit to Page setting.
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.


Author Comment

ID: 39905601
I had cases in which I got print from different system(one with Windows XP and Other with Windows 7) with same printer (HP Laser Jet 4000) looks different in the alignment. Both systems, we used Adobe reader XI to read the doc and send it to the printer from it by giving same setting.

Why this happens so in the same printer?
LVL 109

Accepted Solution

Ray Paseur earned 500 total points
ID: 39906154
If you got print from two different systems, you got two different documents.  Even if you used the same Adobe Reader and the same printer, there can be differences in the documents.  There is no way from where I sit to discern what these differences might be; it is a research project that can only be done "on the ground" where you have the systems and printers.  You might consider some comparison software to detect differences between the files.  You would also want to apply the same difference logic to all settings in the path from file creation to the rendered image on the paper.  It's a long path, and studying it will take a lot of time.  My best and most practical advice is to tell the client to use the Fit to Page setting at print time.

You might also want to think about the "printable area" of the standard 8.5 x 11 page.  You cannot print the entire page area -- empty borders are required on almost every printer made (Epson has some fine-art printers that are exceptions, but those are edge cases and not part of your current configuration).  So if your document layout uses the entire 8.5 x 11, it's too big for use as-is and needs to be reduced in size.  That may be why the Fit to Page setting works and the alternatives give uneven formatting.
LVL 109

Expert Comment

by:Ray Paseur
ID: 39945374
Please review the grading guidelines and explain why you gave a marked-down grade.

Thanks, ~Ray

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A publishing tool, a Version Control System, or a Collaboration Platform! These can be some of the defining words for the two very famous web-hosting Git repositories: Bitbucket and Github. Git is widely used amongst the programmers and developers f…
In this article you will learn how to create a free basic website on Bitbucket, a git service provider. Polymer creates dynamic HTML components, which allow more flexibility than static HTML. This tutorial uses Ubuntu Linux but can also be done on W…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question