Display PDF without being able to Save or Print with Xojo?

I need to do this X-Platform (Mac-Win) without DynaPDF.

I have PDFs that are protected against Printing or modification. I plan have them in a DB but need to display them in the client app.

This issue is I don’t want end users to be able to save them or print then of course. (These are controlled documents)

While I would rather not have to write a file to disk, The only thing that comes to mind is to save them to a file in a Temp folder with an obfuscated name and launch it (Yes I an still API 1) in the installed PDF app.

But that lets the end user see teh path to the file or to save the file locally through the PDF viewer app … The same issues would apply with using Broser to display the PDF…

Is there a way to do this without a plugin?


If you can see them on screen, you can print them.
You can stop them being modified by rendering a bitmap version (save inside your resources encrypted if you like) but you lose the vector sharpness.
However, you can display the bitmap render in a Xojo window, and you can scale and scroll that.
Won’t stop a screen grab though.

We can print on macOS with PDFKit classes.
On Windows DynaPDF Pro brings the rendering engine needed to print.
Or you use Shell functions to run command line to launch Adobe Reader to print for you.

PS: if you need a license, you could get one next week with Black Friday sale. If you have one already, you could contact us for an upgrade. And if you qualify for some other discount like academic or Non Profit organization, please let us know.

I don’t care about screen grabs as it is obvious those are screen grabs… I am concerned about users being able to save (or Save As) the PDF files themselves locally.

The point of controlled documents is to make sure only the current version of those documents are available or that old version are not used erroneously … hence the no printing or saving of docs that are indistinguishable from originals.


A PDF can be marked as not available to be copied, printed, modified or annotated in the flags set when it is closed. (I do that now using the MBS plugin) Are yours already flagged in that way?

Yes. I do it with Acrobat Pro. (They start life as MS Word Docs that get saved as PDFs)

Ideally, while i want users to be able to display the PDF , I don’t want them to be able to store a copy of the PDF file locally, which those flags don’t do.


our plugin can set the flags and also of course read the flags.

Whether a software adheres to follow the flags, is another topic.

If you display it in a browser, the browser will allow the user to save it.
If you launch it in any PDF Viewer, the chances are good that it will also.

Im not sure that having a copy is a problem in itself - you will know better.
If the concern is ‘has it been changed’, I wonder if it can be codesigned like an app.
That would reveal whether it had been modified.

KSign will sign a PDF, its just a question of whether anything checks or respects it, I guess.

There is this:

Not just that… It’s making sure people are using the currently effective version of the SOP. Having old copies floating around means someone might work from of an outdated version…

It looks like there is no way to prevent people from keeping copies indistinguishable from the original unless one uses a plugin to display the PDF on screen X-Platform… (Probably doable on a Mac with declares, but not on Windows).


At my work we put a warning on the PWI, SOP etc. page that tells the user it is their responsibility to use the most current release

Not 100% but somehow someway a user will save copies