简体   繁体   中英

How can I open pdf files in SWT browser window while using XULRunner?

I am working on an eclipse based application wherein I need to preview pdf documents as part of a functionality. As of now clicking on preview button opens a prompt for saving the pdf but it does not directly open the document in the required window. Is there any way where I can add any arguments/Plugins in the XULRunner or the application's ini file so that the pdf can be opened in the window itself by default ? (I am using Red Hat Linux 6.5 (Santiago))

The following applies to Linux only. First of all, your SWT version must be < Eclipse 4.8, see https://www.eclipse.org/swt/faq.php#browserlinux

If your SWT meets this criterion, there's 2 options I know of:

Add plugin nppdf.so to your xulrunner install, needs Adobe Reader "acroread" executable with matching version on the PATH (maybe acroread version can be > nppdf version, not sure about that)

Use pdf.js: I got it to work using SWT from Eclipse 3.8.2, xulrunner 10.0.4esr and pdf.js < 2, eg 1.10.100.

UPDATE: this combination of versions has a problem with images in pdf-files, so I had to upgrade to: SWT 4.4 and xulrunner 24. pdf.js 1.10.100 still worked, 2.x would now also be usable, though.

In your xulrunner install, create file defaults/preferences/prefs.js (xulrunner.js also works), containing this line:

pref("security.fileuri.strict_origin_policy", false);

To view a pdf file, point your swt-embedded xul-runner to

file:///<pdf.js-dir>/web/viewer.html?file=<absolute-pdf-file-path>

This may apply:

However, we do ask if you plan to embed the viewer in your own site, that it not just be an unmodified version. Please re-skin it or build upon it.

https://mozilla.github.io/pdf.js/getting_started/#download

Sources:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM