Setting printer margin while printing a PDF from a browser.


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.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ray PaseurCommented:
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
spectrumsofttechAuthor Commented:
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
Ray PaseurCommented:
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.
Rowby Goren Makes an Impact on Screen and Online

Learn about longtime user Rowby Goren and his great contributions to the site. We explore his method for posing questions that are likely to yield a solution, and take a look at how his career transformed from a Hollywood writer to a website entrepreneur.

spectrumsofttechAuthor Commented:
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?
Ray PaseurCommented:
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ray PaseurCommented:
Please review the grading guidelines and explain why you gave a marked-down grade.

Thanks, ~Ray
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.