Copy link to clipboard
Copied
I realise it's impossible to stop people making illegal copies of PDF files if they really want to. However, are there ways to that make it more diffcult to illegally copy PDFs? And I'm talking about something more robust than simply password protecting PDF files. Thanks.
Yes, it's called DRM technology and it's very expensive.
There's a lighter weight solution than DRM using the Adobe DC View SDK. It allows you to display a PDF file using client-side JavaScript in a browser but prevent download and print of the PDF. The user would need to be online for it to work though.
You can see an example at this CodePen
Copy link to clipboard
Copied
Yes, it's called DRM technology and it's very expensive.
Copy link to clipboard
Copied
Thanks. Any pointers to DRM offerings?
Copy link to clipboard
Copied
Adobe Experience Manager (AEM) includes Adobe's DRM offering. As well as a 5-6 figure sum, you need a Windows or Linux server to run it on 24/7 for constant checking of the right to use. You still can't stop files from being copied and shared, but with DRM you can make the copy useless.
Copy link to clipboard
Copied
There's a lighter weight solution than DRM using the Adobe DC View SDK. It allows you to display a PDF file using client-side JavaScript in a browser but prevent download and print of the PDF. The user would need to be online for it to work though.
You can see an example at this CodePen
Copy link to clipboard
Copied
Hi Joel, this is awesome!!
Copy link to clipboard
Copied
Thank you Joel. This certainly is an interesting option. Having to be online is a snag though.
Copy link to clipboard
Copied
The View SDK does not "prevent download", it simply allows someone to hide the on-screen burger menu. The very first thing your script does is fetch("...brochure.pdf") which downloads a complete copy into the browser cache. If the page containing the SDK frame is public, the document URL will be indexed by search engines.
It also means Adobe can slurp thousands of tracking data points every time someone views a document, even if the document is not hosted on Adobe's network. Every mouse click, every scroll, all sent back to the Mothership without the slightest hint of a consent agreement.
Copy link to clipboard
Copied
Woah Dave, I thought I was cynical 😉
Copy link to clipboard
Copied
Dave:
You're dead wrong on this one.
In my example, I fetch the file using a fully qualified URL for convenience and brevity. However, any function that returns a Promise object can be used to get the PDF file content, you can completely obfuscate the way the PDF file is accessed as long as it ends up as a Promise that resolves to a byteArray, it works. The PDF doesn't even need to be at a publicly addressable URL, it can be in a database, or created on the fly, or in base64; it doesn't matter where it's actually located.
Additionally, the View SDK will only track document events if analytics or event tracking is turned on which is not the default and with the exception of the Adobe Analytics, you, the developer, control the event callbacks and where they go. You can observe the web traffic... easily... to confirm this.
Copy link to clipboard
Copied
You'll find another light weight solution here:
https://www.pdfscripting.com/public/Lite-Document-Security-Description.cfm