Limiting printing from the browser?
April 22, 2009 1:26 PM   Subscribe

Is there a way to allow someone to print only one copy of a document from their browser after paying for it (via PayPal or the like)?

I manage a cooperative of designers who sell patterns. We'd like to make it possible for a particular set of users to print 1 (or up to X number) copy of a pattern after having paid for it, and without giving them full access to the source file. Is there anything out there that might work?
posted by to Computers & Internet (32 answers total) 1 user marked this as a favorite
Of course, there's nothing that'd stop them from just photocopying the darn thing once they had one, but there's only so much you can do... (thanks!)
posted by at 1:27 PM on April 22, 2009

posted by sanko at 1:28 PM on April 22, 2009 [3 favorites]

seconding no.
posted by now i'm piste at 1:30 PM on April 22, 2009

Not without heavy hijacking of the customer's computer, there isn't. And what customer would come back a second time if they discovered you'd effectively installed a lockout on their print queue? That would have me doing a backup/wipe/restore and never visiting your site again.

That's just me. I hate that kind of thing. YMMV
posted by hippybear at 1:31 PM on April 22, 2009

Not without involving, say, DRM within Adobe Acrobat or something. I'm not sure if such exists even within Acrobat, but it seems the most likely place to find it.

It would stop casual copiers, but nobody that's in any way determined.
posted by Rendus at 1:31 PM on April 22, 2009

Copyright it, boast about your copyright, make sure that there's a document attached/part of the pattern which outlines the legal ramifications accordingly. Beyond that, not much. The photocopying thing is unfortunately a reality too.
posted by alcoth at 1:33 PM on April 22, 2009

Any design or computer savy person will be able to copy the pattern (see brandsoftheworld). How design and computer savy are your customers?

And do you want to be known as that tightwad copy that won't let me copy X or as the company that always has those cool designs I can cribe?

It sounds like there's a background story where, like ya'll have been burned before and you're trying to prevent it again. Is there more this? 'Cause it seems a lot of effort could be thrown at that problem, effort that could be spent making more designs.
posted by Brandon Blatcher at 1:34 PM on April 22, 2009

These aren't 'ordinary' customers, hippybear -- they're wholesale, and accustomed to some form of restriction on what they can and can't purchase from us. With postal rates shooting through the roof and everyone cutting costs as much as they can, it will actually HELP them to be able to print one of something on demand if someone in their shop wants to buy it, rather than reordering and waiting a week to get it and having to buy at least 3 of each, etc etc.

So yeah, would I do this with other kinds of customers? No. But your typical retail pattern purchaser also doesn't have the same kind of ability to print off a dozen copies of your work and hand them out for free, either... I know it's not perfect, but it would be a stopgap solution to a problem that currently exists, namely

* we don't want to give them the PDFs directly...see above
* we do want to know who's printed what if they print from the browser
* the stores themselves hate having to reorder onesies and twosies all the time, it would be better if they could print one on demand when THEIR customer was still in the store.

See what I mean?
posted by at 1:36 PM on April 22, 2009

Hey Brandon --

In short, the customer base here is not ultra-tech-savvy in general. We do, of course, post copyright notices on all our work, etc, that's not really the issue. The 'bad apples' of the crowd, such as they are, don't pay attention to the copyright notice anyway. Hell, they'll flat out sell patterns we designers have posted for FREE despite a notice saying that is NOT acceptable. What I'm trying to do here is come up with a way for our wholesale customers to, instead of having to do our minimum orders and wait a week for them to show up, and all that -- I'd like to make it possible for them to buy and print a single copy of something someone in their store RIGHT THIS MINUTE wants to grab and take home.

There's a lot of -- shall we say 'antipathy'? -- against the internet in our business right now. It's SO MUCH EASIER for an end-user to just buy the PDF of the pattern straight from us. We make more money, too! But our particular group of designers are also wholesaling to the old school shop owners who think the internet is Satan and if there's any way we can cut them in on the proceeds from our work, they'll help sell more of it in the long run. So, if we can let them print off singles instead of having to place big print orders direct from us, it would be a help and would be, in their eyes, a totally worthwhile superultrabonus.

(Like I said, they're not the tech-savviest bunch, and I'm trying to see if I can come up with a happy medium here to offer them an alternative)
posted by at 1:43 PM on April 22, 2009

bitter-girl: well, you're going to have to get into the wonderful world of Digital Rights Management, then. Such a popular topic these days.

I'll second Rendus' suggestion that you investigate Acrobat and see if they have anything that will allow this. You'll need to have some kind of server-client setup with a verification process for each unique print key you issue, and you'll have to somehow lock out those keys when they've been used once.

Or something. Sounds like a very expensive thing to hire a specialty team to create.
posted by hippybear at 1:45 PM on April 22, 2009

I know there are coupon sites that do this. I THINK (can't really remember) that a particular site wanted me to download ActiveX to do this one-time printing thing, and I passed, because a coupon is just not worth that much to me. But since you mentioned your clients expect a certain level of restriction, maybe it's an option? Sorry I don't have specific info on the site, etc.
posted by peep at 1:49 PM on April 22, 2009

I found a similar question with some helpful answers. The link points to the question - hit the "next" link at the top of the page to read the answers. From the next page:
If you can ask your clients to do a simple, one-time download/install, you have full control of your web server, and you understand MIME and helper apps, here is ONE way:

First, understand how helper apps (like Adobe Reader) are launched by IE and Netscape. They use a specific MIME type which is mapped to a file extension, which is in turn mapped to an application (acrord32 for Adobe Reader). So, when the web server sends a datastream of Content-Type application/pdf, IE will assume it's a PDF file, and will launch acrord32 to display it.

So, if we invent our own MIME specifically for printing (MIME types application/x-????? are meant for this), and it's understood by both our web server and our client PCs, we can do anything with the datastream that we wish.
posted by muddgirl at 1:52 PM on April 22, 2009

You're not the first person to ask. It may be theoretically possible to implement software to do this (I imagine the hard part is probably what if someone prints 100 copies with a single print action? Or what if they print it off to the PDF printer to create another PDF and then print that?), but I don't know of any existing software in the world that does it.
posted by phoenixy at 1:52 PM on April 22, 2009

Here's another solution from the same thread, using ActiveX.
posted by muddgirl at 1:54 PM on April 22, 2009

Agreed, hippybear. I don't like it any more than you (or the more tech savvy among us) do, but it's our livelihood at stake, y'know?

If it's not doable in a reasonably-priced way, we just won't be able to implement something like this. It's just that we've had questions from some shop owners about being able to print singles and...hmm.

(Meanwhile, we are trying to push them all towards just selling our PDFs via an affiliate program and being able to sell them 24-7 on their website, no upfront costs to stock ALL the patterns... there's just some people out there who are convinced print is the be-all end-all...)

posted by at 1:54 PM on April 22, 2009

Thank you, phoenixy and muddgirl, I'll have a look at those!
posted by at 1:55 PM on April 22, 2009

Worship Together does something very similar to this, allowing you to print up to 3 copies of sheet music that you purchase using a browser plugin. I believe they use Sibelius Scorch for this. However, there is absolutely nothing but my own conscience preventing me from just printing to a PDFrinter using CutePDF or something similar.

No matter what technological solutions you employ, there will be some way around it, and it will eventually come down to the end user's conscience. It's just a matter of how soon in the process you arrive at that point. So I'm with everyone else here - might as well keep it simple, with minimal rights management, and trust your users to do the right thing.
posted by relucent at 2:00 PM on April 22, 2009

Look into what some of the online coupon companies do. They have some pretty robust -- not unbeatable, but robust -- methods, that I think (been awhile since I used them) can do something like this.
posted by inigo2 at 2:07 PM on April 22, 2009

I know, relucent, I know. I absolutely understand there will always be a way around it. The likelihood of the given users doing so, though, is pretty low. And for the "bad" ones in the crowd, well, we already know they don't give a damn about copyright if they'll sink so low as to resell free items in direct violation of the terms provided, so there has to be some level of -- at the very least -- "hey, if you print and sell these, we'll know you did" aspect to keep them honest.

Otherwise, this entire concept just isn't going to work and they're going to have to keep doing things the old fashioned way with us...which sucks for both parties, but at least doesn't make it as tempting when it comes to just printing off as many copies as they want. I'm trying to walk a fine level of balance here in terms of helping the good guys, discouraging the bad guys and keeping a relatively tight lid on what it is we're selling to earn our living.

For example, *I* may be willing to send out a CD with PDFs of my patterns on it to wholesale customers and just trust them to reimburse me for the number of copies they print off and sell, but designers a, b, c, d, e, and f will say "no way in hell am I doing that," while they would ok some level of perceived control like this. Total tightrope, in many ways.
posted by at 2:18 PM on April 22, 2009

You realize print queues reside on disk right? I can hack any DRM you can imagine by pausing the job and grabbing the file under /var/spool/.

I'd say for wholesalers you don't even need DRM, just good solid contracts. I'd spend my money on lawyers, not geeks. You'll also simply ask you sales guys who they trust.

I suppose a cheap solution might be : open the pdf in the main frame but have a javascript hidden frame that closes the window, counts printings, etc. and log all transactions. Your idea being that large scale infringement might create cues like double printings, incorrect browser strings, etc. Your tech guys can take that data back to the sales guys, who then make the decision about moving that customer's online access over to kinko's print on demand.
posted by jeffburdges at 2:26 PM on April 22, 2009

I just used a site today that did a reasonable job at this. I filled out a rebate form, pushed a button, and my browser went straight to a print dialog. I never got a chance to see the raw PDF or image or whatever file type they used, it just came straight out of the printer. They probably did it with an inline iframe or something, I didn't bother reverse-engineering it, but you could. Here is the link. And as a bonus, you get free tin foil!

Now, the number of workarounds to this are many, the simplest probably being to just select "print to file". But for the non-computer literate, it might be enough. It was a little surprising how smooth they made the process.
posted by steveminutillo at 2:44 PM on April 22, 2009

Printing hidden content via JavaScript might work, using CSS or iframes.

Another option is to use Flash. You can print from Flash without what's being printed being visible and set a 'Flash cookie' to prevent printing more than X times (be prepared for annoyed users who only previewed or accidentally quit the print dialogue though).
I've run into odd printing snags with Flash (e.g. margins/size varying in OS X depending on whether printing directly or previewing first) but if such glitches can be avoided then it shouldn't be too difficult for a competent developer to implement.
posted by malevolent at 3:01 PM on April 22, 2009

We use a company that does exactly this. Not exactly a great experience for the end user, but it works.

In browser Java PDF viewer. Everything stays on your server except what's displayed in the browser screen.
posted by wongcorgi at 3:37 PM on April 22, 2009

steveminutillo I just used a site today that did a reasonable job at this. I filled out a rebate form, pushed a button, and my browser went straight to a print dialog. I never got a chance to see the raw PDF or image or whatever file type they used, it just came straight out of the printer. They probably did it with an inline iframe or something, I didn't bother reverse-engineering it, but you could. Here is the link. And as a bonus, you get free tin foil!

In OSX all I had to do was click "print" and then on the printer specific page, click "save as PDF." All it took was hitting a button next to print.
posted by paisley henosis at 5:57 PM on April 22, 2009

If you went with a mature platform with lots of DRM, like NetLibrary or ebrary, I believe they offer a per copy print, and copy/paste settings functionality. But for what you need it for, no I don't know how you might do that. Those two vendors sell primarily to institutions and individuals. Selling to your wholesaler, I'm not sure how that might work. Couldn't hurt to contact them though. Another vendor worth considering might be Ingram Digital, but again, them selling to your wholesalers might be novel.
posted by Toekneesan at 6:54 PM on April 22, 2009

Every print job, without exception, will have to end up in a printer compatible format. These formats are savable, viewable, and indefinitely reprintable, regardless of what you meant someone else to do with them.

That mime type idea is a load of bullshit. It is security through obscurity, and barely even works as that. The person who said "we can do anything with the datastream we please" has it exactly backwards. The client's computer can do anything it wants with the data, and the stream has to be solidified from a stream to a normal file before it is printable. Unless your DRM extends into the OS and the printer ("this download is only available if you have Windows Vista SP69 and a HP etchascetch 2000 model printer"), there is not much you can do about this.

If you are going to go by the honor system, go ahead and do that, but DRM is just going to annoy people and make the whole content delivery system fragile.
posted by idiopath at 6:57 PM on April 22, 2009

This is, like most of the people here said, absolutely not possible. Aside from the Print-to-PDF issue, you cannot stop a customer from just hitting the little PrntScrn button on their keyboard and taking a JPG screenshot. Even the fanciest Adobe/Microsoft/etc DRM system around is not capable of disabling the Print Screen facility.
posted by DoomGerbil at 9:36 PM on April 22, 2009

Personalisation may be the answer.

1) Embed something unique in each copy (watermark, timestamp, stenography, customer's address, etc)

2) Use Javascript to close or redirect the window 5 minutes after it's opened

3) Work only with wholesalers you trust

4) Do the occasional secret-shopper checkup to make sure that the copy they print really was bought from you

Keeps honest people honest, and doesn't intrude into the buying experience.
posted by Leon at 4:24 AM on April 23, 2009

Leon, we can now do #1 but only on the PDFs that get sold directly to end users. In order to make that work for the wholesalers we'd have to duplicate the entire 100-plus item catalog with new prices for the wholesale customers.

As for #3, see above. *We* are the ones selling wholesale to shops, not to other wholesalers...

All in all, there's a lot here to think about, so thanks again to everyone.
posted by at 8:10 AM on April 23, 2009

Actually, Microsoft DRM does disable print screen; I'm not sure about Adobe. That said, I don't think either of them disable third-party screencap tools, so the basic point is still valid.
posted by phoenixy at 2:28 PM on April 23, 2009

You need to work with printer manufacturers to ensure that only printers with DRM support are sold anywhere in the world from now on. Even then, open source soft printers will kill your idea stone dead unless you work out a way to make them illegal everywhere.
posted by flabdablet at 11:59 PM on April 23, 2009

I'm not sure why I didn't think about this sooner, but the "solution" is to hire guys to design & build a custom kiosques. I'm sure you'd find this option cost prohibitive, but I've two relatives who've done exactly this work before, so mefi mail me if you want contact info.
posted by jeffburdges at 10:03 AM on April 26, 2009

« Older Vicodin + work = trouble.   |   Antiviral software for PC's? Newer »
This thread is closed to new comments.