Activities: PDF Parts

Maintained by Picture of Radu Dumbrăveanu Radu Dumbrăveanu
The PDF Parts module enables a teacher to provide a set of freely selected pages from a PDF file as a course resource.
5 sites
4 fans

How to use

  1. Add a new PDFParts to a course.
  2. Configure all of the standard settings: name, description etc.
  3. 'Select PDF file' setting - upload a PDF file.
  4. 'Display' setting - choose the display type (currently, only 'Force download' and 'Open' are implemented).
  5. 'Pages' setting - it is similar to the setting from any Print dialog that allows you to select a page or page ranges for printing. The values must be set in a format like 2-4,7,8,10-12.

Now when a student clicks on this resource link he gets only the pages specified in 'Pages' setting.

Additional features

The Teacher can add only one PDFParts instance to a course and set it to dynamically choosing of page ranges.
The module accepts an optional GET parameter called 'pages' which will override the corresponding base setting.

Suppose the Teacher added a PDFParts module to course with the id: 4720. Then he can build links in this format:


in order to provide the students with the precise pages where the needed information resides, for example the page with the solution to an exercise, or a page with the definition of a term.


  • If the 'Pages' setting is empty then the whole document is served to user.
  • The 'Open' display type may not work in all browser.
  • Not all PDF files of version higher than 1.4 are processed without errors. 

Credits (acknowledge)

The PDFParts module was created based on an idea that came to me after seeing the PDF Page Limiter (mod_pdfpager) module by Geoff Eggins.


Picture of Radu Dumbrăveanu
Radu Dumbrăveanu (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • MD shot of me from his iphone4
    Thu, 17 Oct 2013, 1:38 PM
    Hi Radu, thank you for sharing this i'm sure this could be very useful (especially with conditional access).

    This installed perfectly for me on 2.5. I'm setting your issues url to the one in github. please let me know if you want one in tracker instead.

    for your feedback, notices seen :

    'Notice: Undefined property: stdClass::$display'
    - mod/pdfparts/locallib.php on line 41
    - mod/pdfparts/locallib.php on line 45

    'Notice: Undefined property: stdClass::$tobemigrated'
    - mod/pdfparts/mod_form.php on line 168
Please login to post comments