Fast PDF viewer in a window

Hi.

I’m being asked to make an app that can display PDFs for external tagging. Since this is made to process hundreds of PDFs I wanted to ask around what the fastest PDF viewer I can integrate into my app can be, as most of the usage will be quickly flipping through stacks of PDFs for various tasks.

I am aware of the existence of multiple plug-ins of various functionalities aimed at generating or editing but this specific information only comes from experience from people who’ve implemented them.

Do you have any suggestion on which one is a really fast PDF preview in Xojo Windows Apps? (I can display PDFs absurdly fast on Mac OS X, but this is required for Windows).

The Adobe Reader plug-in doesn’t seem to be very fast. I believe Windows has PDF preview built-in now but I’m not sure if I can use it (or if it’s fast).

Searching in the forum for “pdf” in general is complicated because you can’t search for three-letter keywords easily (it requires at least 4 letters).

I’ll also eventually need to add a way to add a label to those invoices (for example, reprinting a PDF invoice but adding a “Duplicate” label in a preset position) but that’s a different thing and it doesn’t necessarily need to use the same viewer I’m asking about.

Thanks in advance for your responses and sharing your experience. I tend to do PDF processing on macs mostly (native view and generation) or use external helpers (pdf.js in a webview, or Ted for RTF to PDF generation, poppler for some basic processing).

(by the way, this is picking up back from this post from two years ago: https://forum.xojo.com/32883-ideas-to-view-and-reorder-pdfs/0

At the time I was looking only into how to do some basic previews but speed was not an issue so at the time I implemented a helper to generate the image and that was enough. Now my employer is asking for something like this for mass review of files so speed becomes that much more of an issue. Both because of volume but also because this will run in a Citrix environment in a shared remote desktop server

I have all the ideas from this thread from two years ago, but I thought of raising a new post to ask about speed, since that never came up originally. I link to it in case someone can benefit and also to clarify I’m aware of the existence of multiple options but wanted to ask for advice before I had to start having to implement each one only for benchmarking display speed).

You could try our DynaPDF Plugin.
If there is a need to change something, we can actually make changes!
Something you won’t be able to convince Adobe to do…

Christian

I’m willing to consider anything for each of the uses I have, but I was asking especifically about PDF render speed, as I have no experience with this in Windows for the various options that exist.

In MacOS for example nothing renders faster than the native viewer (which doesn’t work very well for editing, so it can be coupled with a plug-in for edits, for example). In Windows I don’t have enough experience to know. I need a viewer capable of flipping PDFs as fast as a user can press a key, pretty much. Once they find what they’re looking for I may switch to a different process for editing.

You can combine things, e.g. use CoreGraphics via MBS Plugin on Mac and DynaPDF for cross platform.

Well it certainly has something: when I open an Explorer window, and set the mode to have a preview pane, clicking on a PDF displays the content in the panel.
Whether you can embed that functionality into an OLEObject…?

or you could use an ActiveX control:

https://activex-pdf-viewer.en.softonic.com/

http://download.cnet.com/PDF-Viewer-SDK-ActiveX-Control/3000-2070_4-75811351.html

You would need to open the actual file in something if you wanted to edit it, of course.
Cant speak for the speed as I have no use for these myself.

Jeff,

you forgot to embed the actual url. Now it points to ‘example domain’.

No, I did what youre supposed to do in the forum, which is paste the text and wrap it in a LINK using the toolbar icons, same as for code and quotes.
Stupid forum software.

Sigh.

Here are the raw links if you weren’t able to work out how to use them:

https://activex-pdf-viewer.en.softonic.com/
http://download.cnet.com/PDF-Viewer-SDK-ActiveX-Control/3000-2070_4-75811351.html

Off topic, most forum software will automatically parse URL links. So no need to use the the toolbar icons, just use them if you want to embed a link to other text.

Example, I just pasted the URL here:
https://activex-pdf-viewer.en.softonic.com/

Example2, follow this link to the same URL.

Yes, thanks, I know. Although this project is for Windows only, as it’s for an intranet running off Citrix and Windows Remote Desktops.

I’ll see if I can whip up an example app using several methods and the plug-ins there might be in demo mode running off the IDE, to try and get some benchmarks. I imagine in reality this specific requirement (fast display of PDFs understandable hasn’t been a priority for people in the forums so far).

[quote=368277:@Jeff Tullin]Well it certainly has something: when I open an Explorer window, and set the mode to have a preview pane, clicking on a PDF displays the content in the panel.
Whether you can embed that functionality into an OLEObject or you could use an ActiveX control:

https://activex-pdf-viewer.en.softonic.com/
http://download.cnet.com/PDF-Viewer-SDK-ActiveX-Control/3000-2070_4-75811351.html

You would need to open the actual file in something if you wanted to edit it, of course.
Cant speak for the speed as I have no use for these myself.[/quote]

Thanks. I’ll check the ActiveX controls. The Windows built-in PDF previewer seems to be WinRT only, so I’m not sure Xojo apps can access it.

I have no problem using a different tool for editing (since the only “editing” we will ever do is add a watermark/stamp and save as new PDF, which is pretty basic as far as PDF editing goes).

Thanks to everyone for the response so far!

The windows explorer preview is actually handled by an installed app that registers a preview handler with windows. You can verify this by viewing the background processes in the task manager while selecting a file to preview. In file explorer on my computer it takes almost a second to preview a pdf. Adding the pdf viewer (adobe) activex control to my project I can view a pdf in about .5 seconds.

Using HTMLViewer.LoadURL(PDFPath) was even slower.

Christian: I need to mainly open PDF files and in some cases watermark them (or place a signature in all pages automatically). I have Starter from Omegabundle. I have no need to creating PDFs from scratch.

From what I see (I just moved past using the demo examples and tried to use my serial) this is not allowed. Is this correct? I just realized that “import PDFs” is not included in the version that was included in Omegabundle: https://www.dynaforms.com/en/features/features.html

For import, you need at least Lite.
So you can order upgrade from Starter to Lite.

(and maybe first buy Starter update to add a year)

[quote=403832:@Christian Schmitz]For import, you need at least Lite.
So you can order upgrade from Starter to Lite.

(and maybe first buy Starter update to add a year)[/quote]

I have starter from the bundle, I think. I could see about upgrading it.

In some other thread I though I saw Pro was needed to render a PDF. Is this needed to import a PDF and add a watermark to it?

For import you need Lite. For renderer you need Pro.

You can test all before buying.
If you use “Lite” as license key, you would get an error, if you use a Pro feature.

I’m not explaining myself.

Opening a PDF for visualization implies rendering it?

I need a simple thing: Open a PDF, smack a graphic in all pages, close the PDF.

I’m being asked for the PDF to be visible during the process, which means visualizing the original and the modification.

Would this mean I need to get Lite if I want to import it and Pro if I want to show it? I imagine Starter is enough to save the modified version.

Yes, to show it, you need a Pro license.

It’s clear now. Thanks. Sorry for the confusion.

‘visible during the process’ will slow things down a lot if there are many PDFS and you need to show them all, however briefly.

‘display a progress bar’ might be enough.

Heres some things that may be worth looking at:
https://www.crossref.org/labs/pdfstamp/
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

And since Xojo can open a PDF as a picture, you could open a modified PDF and display it that way ,as you go along.

[quote=403910:@Jeff Tullin]‘visible during the process’ will slow things down a lot if there are many PDFS and you need to show them all, however briefly.

‘display a progress bar’ might be enough.

Heres some things that may be worth looking at:
https://www.crossref.org/labs/pdfstamp/
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

And since Xojo can open a PDF as a picture, you could open a modified PDF and display it that way ,as you go along.[/quote]

Thanks, the requirement about being able to see is not mine but theirs. It’s hard to argue when they can currently use Preview for the same (it just doesn’t allow for easy automation of some tasks).

I knew Xojo could open the first page of a PDF as low-res picture, but I don’t think it can open any page as a good-quality picture.

I’ll see if it’s possible to convince them to use a different type of previewer where their actions are only being simulated and only “build” the PDF at the end. I guess it may depend on how I can explain the concept to them :slight_smile: