1,105,177 Community Members

Disable Printing Web Page PHP

Member Avatar
newbie26
Junior Poster in Training
94 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

how can i disable printing a webpage using PHP or Javascript??
any code??

my system will go like this:
the user can print the webpage (html) only once
and then when he/she will attempt to print again that page,
there will be an alert or message that he/she can't print anymore
(CTRL + P or using File> Print)

i have alreay one field in my database with the value 1 or 0.
If 1, he can no longer print.and if 0 he can print.

Now my problem is how can i disable printing? both using ctrl+p
or using the File Menu.

thanks in advance..

Member Avatar
pritaeas
mod_pritaeas
11,285 posts since Jul 2006
Reputation Points: 1,420 [?]
Q&As Helped to Solve: 1,829 [?]
Skill Endorsements: 154 [?]
Moderator
Featured
Sponsor
 
0
 

You can try to achieve this, but there are so many ways around this, that it is impossible to solve.

Member Avatar
Biiim
Posting Pro
504 posts since Oct 2011
Reputation Points: 85 [?]
Q&As Helped to Solve: 86 [?]
Skill Endorsements: 9 [?]
 
0
 

You can't control that on a web page, once its downloaded they got it to print as mmuch as they want

Member Avatar
almostbob
Nearly a Senior Poster
3,381 posts since Jan 2009
Reputation Points: 515 [?]
Q&As Helped to Solve: 424 [?]
Skill Endorsements: 14 [?]
 
0
 

try fooling around with, css
some code that chances the class of the body to "noprint" one with a style @media print{.noprint{display:none;}} remembered in a cookie or a value in the user table, easily bypassed but so is everything else,
I dunno, something like
crappydoodle

<?php 
// database connection code etc
// some ajax to confirm active connection so it isnt being run locally
echo '<body class="';
if($setting<>"0") echo 'noprint ';
echo 'bodytext" onload="stuff">';
// some ajax to crate a print button and update $setting in the user table when it is clicked
?>

not complete code just thoughts

Member Avatar
newbie26
Junior Poster in Training
94 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

how will i know if the user already printed?
is there any way that i can update my database table field
if the user printed a document??

in php code.
thanks..

Member Avatar
pritaeas
mod_pritaeas
11,285 posts since Jul 2006
Reputation Points: 1,420 [?]
Q&As Helped to Solve: 1,829 [?]
Skill Endorsements: 154 [?]
Moderator
Featured
Sponsor
 
0
 

In most cases you won't know. You can add a print button on your page, and notify a PHP script if it gets clicked. However, if they use the browser's menu, you won't get a notification. Even if they use your button, they can always set the number of copies in the print dialog, you'll never know how much they printed.

Member Avatar
newbie26
Junior Poster in Training
94 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

is there any other way to achieve want i want??
i was able to disable printing with ctrl + P
and what i did when the user uses file>print, there will be no
display when he/she prints.

now, is there a way that i can automatic print??so that the user
will not be able to type how many copies he.she wants to print?

i searched google with many suggestions to bypass print dialog box but they all
didn't work.

Member Avatar
weekendrockstar
Junior Poster in Training
71 posts since Dec 2010
Reputation Points: 12 [?]
Q&As Helped to Solve: 16 [?]
Skill Endorsements: 0 [?]
 
0
 

As has been mentioned by each poster...there is no guarantee in this. Even if you disabled all of the browser's print functions they could technically copy/paste the page (granted there be no design elements) into a text file and print it from there.

And companies that make browsers do not want site developers to have control over a user's browser due to malicious intent that some might have. There are ways as suggested above to try to make it more difficult to print it out after a first time and then MAYBE it'd be too much work for someone to bother printing it again but if someone really wanted to, they could do it.

Member Avatar
Biiim
Posting Pro
504 posts since Oct 2011
Reputation Points: 85 [?]
Q&As Helped to Solve: 86 [?]
Skill Endorsements: 9 [?]
 
0
 

It depends on how smart the user is, some users will be stuck and give up when ctrl+p don't work, no display after using file>print will probably confuse a lot of people.

Then you will get quite computer savvy people who will be able to print anything soon as they have received the webpage and you won't know how many anyone has printed, you will only know the prints where people have used the button. Like rockstar said, by copying the source out and just overwriting the css hiding the print or just print it unformatted.

It's something so fundamental you'd have to ask every os & browser to start stopping their users print whatever they want which i doubt will happen, once its printed you could even scan it and re-print the scan

You are going to have to use some other method to track and price whatever it is, such as just paying for the pdf then you get unlimited prints of it or print them yourself and mail them.

You're hitting the same problem the music and film industry have with piracy, it's impossible to stop all of it just make the money where you can with 1 sale per pdf

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article