## Activities: PDF.js Folder

mod_pdfjsfolder
Maintained by Jonas Nockert
PDF.js Folder is a plugin intended to make sure that added PDFs always open in the browser.
137
83
11
Moodle 2.4, 2.5, 2.6

## How PDFs are opened in browsers seem to depend on many things, like which browser the user is using, the configuration of PDF readers and which operating system is being used. To a smaller degree, it depends on the settings in Moodle.

In most cases, the handling of PDFs should be left under the control of the user but in some cases there are valid reasons to try to standardize the experience.

Pdfjsfolder is a Moodle 2.4+ plugin intended to make sure that PDFs always open in the browser (with the option of downloading), regardless of if the user is using a desktop or mobile device.

Pdfjsfolder is built on PDF.js:

• PDF.js is Portable Document Format (PDF) viewer that is built with HTML5.
• PDF.js is community-driven and supported by Mozilla Labs. Our goal is to create a general-purpose, web standards-based platform for parsing and rendering PDFs.
• PDF.js will not work in all browsers, most notably IE8 and below.
• PDF.js, at the moment, performs rather poorly on mobile devices with limited memory and processing power (which covers almost all devices out there, new and old). Some PDFs are fine but others are too big, to complex, contain too many images, etc. Your mileage may vary.

Pdfjsfolder works much like the regular folder resource in Moodle and handles images as well as PDFs (for practical reasons). Zip files can be uploaded and unpacked.

There are a few options:

• Should PDFs open in the current tab/window or open in a new tab/window?
• Should folder contents be shown inline on the course page or on a separate page?
• Should subfolders be shown expanded or not?
• Should an alternative download link be displayed for each PDF so that users with devices not capable of displaying all PDFs through PDF.js have another option?

### Awards

• Tue, Dec 3, 2013, 4:20 PM
Thanks so much for approving it, Aparup! : )
• Thu, Dec 5, 2013, 5:02 AM
Works on Moodle 2.5. But just a note that this is so similar to the existing folder, are you going to create a ticket to augment the existing folder resource to do exactly what this plugin is doing? It seems like a better way to handle PDFs across the whole system. Any hope of PDF.js being a Moodle included library?
• Thu, Dec 5, 2013, 5:38 AM
@Rex, you bring up a good point and I agree with it. I do think this would be a better way to handle PDFs across the whole system.

With that said, the original folder resource forces downloads because of security concerns with student uploads. From reading the issue tracker, it seems like a firm decision (for good reasons).

Secondly, even though PDF.js is the built-in reader in the Firefox browser, it works rather poorly on mobile devices. From my understanding, Larger PDFs and PDFs with large images are difficult to handle because devices (new and old) are limited in terms of RAM.

On the other hand, PDF.js is just becoming better and better so eventually it'll get there so I'm certainly not against this happening so a ticket seems in order.

Thanks for the feedback!
• Fri, Dec 6, 2013, 9:27 PM
Thanks Jonas, What i was looking for !!!!
PDF file open in new pop up window. how to achieve that? not in new tab.
Thanks again.
Ravi Vare
• Fri, Dec 6, 2013, 10:04 PM
Many thanks for the kind feedback, Ravi!

About opening in a new window, it's kind of a tricky question as there are different "schools" of thought on the subject.

One perspective is that web pages should leave that choice up to the user. If the user sets the web browser settings to open in tabs, that choice should be respected. If the user shift-clicks a link (in Chrome anyway) the link should open in a new window, etc. Overriding that choice is seen as bad form. Many browsers also default to blocking popup windows or redirect opening new windows to tabs instead.

Another perspective is that users don't always want or need that choice. Some sites actually know better than the user how the material is best presented. Moodle, in general, give teachers options on how to open resources, etc. However, as written above, it's important to know that many browsers and users will override these settings and there is no guarantee that the intention is honored.

I personally prefer the first perspective but Moodle seems to lean to the other. So it seems like I should add the options that other resources provide.

In the meantime, perhaps you can tell your students that they can shift-click or similar on the pdf link (depending on which browser they are using)?

Hope that helps!

Best regards,

Jonas
• Sat, Dec 7, 2013, 11:20 AM
Hi Jonas, Thanks for your detail information.
Thanks again
Ravi
• Fri, Jan 17, 2014, 4:43 PM
Get this error when using Chrome v32. Even in incognito mode.

Working fine in Firefox.
• Mon, Jan 27, 2014, 11:43 PM
Hi Jonas,

I've installed the plugin but still can't seem to use it. When i go to grade the submitted pdf's should i not be able to view from there? Is there perhaps a guide as to how to use it?

Apologies for my lack of knowledge, i'm new to Moodle.

Cian
• Mon, Apr 21, 2014, 12:34 PM
Hi Jonas. I'm using Moodle 2.5. When the new PDF tab opens up, I see just blank dark content. The PDF file loads (I can see my browser making the effor to load it) but does not display. I followed your instructions of renaming the folder as pdfjsfolder and storing it inside the mod folder. What could I be doing wrong? Specifically I am using Moodle 2.5+ (Build: 20130621).
• Tue, Apr 22, 2014, 9:04 AM
Hi Jonas. Any way of amending/tweaking the code so that it is possible to create a folder with no PDF file inside. I would like very much to have an option of creating a folder and then populating it with files...later. Frankie Kam.
• Thu, Apr 24, 2014, 11:01 PM
I've got it working now, thanks. Strange. I actually uninstalled the original folder activity and then installed PDF.js. After that, I reinstalled the folder activity. It works.
• Thu, Apr 24, 2014, 11:06 PM
Hi Jonas. Actually I think that it would be better to have a window pop up with the choice to Open In A New Tab, Save as File, or Download immediately. If Open In A New Tab is chosen, as the new tab is opened, and the PDF file is being downloaded, a message "Loading file" should be shown so that the user knows that something is happening. This is especially so when the PDF file is large in size and the loading into a new tab takes some time. At the moment, as it is programmed, the PDF file in the tab takes some time to load up and the user is left staring at a mainly black screen wondering if the system hung or not. Just some suggestions of mine.
• Fri, Oct 16, 2015, 11:48 AM
Hi

Can this plugin be used for Moodle 2.9+?
• Sun, Mar 27, 2016, 12:04 PM
Hmm.. I'd really like to use this module in 3.0 (but it won't install)
• Wed, Apr 6, 2016, 9:54 PM
Paul, try changing the $module entries in version.php to$plugin which means it will be 'seen' by Moodle 3. Seems to work fine for me.