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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
LVL 110

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 110

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.
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.


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 110

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 110

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


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

617 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