Skip to main content
sonofmrsnak
Inspiring
June 9, 2011
Answered

Limit PDF printing to one copy?

  • June 9, 2011
  • 1 reply
  • 29456 views

Thought I'd resurrect this topic from a couple years ago to see if anything has changed.

I'd like to restrict printing of a PDF coupon to one or perhaps a defined number of copies once a user has the PDF downloaded.

There is one company that sells a program to do this (Safeguard) but they have priced it ridiculously.

There is an online subscription service (FileOpen Systems) that circumvents having the PDF downloaded so that the user can only print a defined number (might be the best solution), but was hoping Adobe either may have added this feature or a simple plugin exists to do this.

    This topic has been closed for replies.
    Correct answer Dave Merchant

    I understand how Safeguard works (besides priced out of reason) and the other program appear to also require a plugin to be installed on the viewer's computer. That can get ugly.

    I was trying to come up with a simple deterrent to a user downloading and printing more than one coupon for a pet food company we do work for. I do realize that just about everything can be breached, but wanted to try and deter all but the most determined.

    I do have it set so that an IP address can only access it once, but short of eventually implementing a more extensive coupon delivery program (in the works), was hoping for a quick and easy solution that Adobe might have.


    I'd say in that situation, a static PDF is not your solution. It's far easier to generate a uniquely-coded "ticket" using conventional web programming (PHP, etc.), and while it's just as impossible to control print quantities, you wouldn't care if the serial number only worked once. If the end result has to be a PDF, then there are powerful (and free) libraries for PHP, Java etc. that a website can use to construct a dynamically-generated PDF file per request - such as TCPDF. All the major sites that use coupons generate them using these methods, so the instance of the coupon is meaningless, it's the data on it that matters.

    I was trying to come up with a simple deterrent to a user downloading and printing more than one coupon for a pet food company we do work for. I do realize that just about everything can be breached, but wanted to try and deter all but the most determined.

    I do have it set so that an IP address can only access it once, but short of eventually implementing a more extensive coupon delivery program (in the works),

    was hoping for a quick and easy solution that Adobe might have.

    1 reply

    Legend
    June 9, 2011

    It's impossible. Even if software were to restrict the number of times a user could press the Print button on a menu, it's not permitted for that software to control the operating system tasks (such as the printer driver), so the user can change the "number of copies" in the driver to whatever they want, or print to file and send that file to any number of other users.

    Some companies have attempted to take control over the OS for copy protection (notably Sony) and have faced worldwide legal action.

    sonofmrsnak
    Inspiring
    June 9, 2011

    Thanks Dave, 

    So how does Safeguard get around this?

    Participant
    October 2, 2024

    Place a large white text form field over the entire page, call it "HideBox", and set it to be hidden.

    Create another hidden text form field with the value 0, call it "PrintCounter".

    Add this as the WillPrint code:

    if (getField("PrintCounter").value!=0) {

         app.alert("This file has already been printed once!");

         getField("HideBox").display = display.noView;

    } else {

         getField("PrintCounter").value = 1;

    }

    If the user tries to print the form more than once, it will print a blank page. As I said before, there are many way to circumvent this "protection", though...

    Of course, you will have to enable the Extended Reader Rights so that the users could save the modified file once it's been printed...

    Very interesting solution. This can be done in Acrobat 9?


    This is the very best thing I have found on the interent all year! Thank you!