diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
index 4eae117cdcf4cb7c8a863e1532b3db40319be2af..5a31c8640253564d754439519d2492dc6db47f40 100644
--- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
+++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
@@ -2308,4 +2308,24 @@ trait SolrMarcFincTrait
     {
         return $this->getFieldArray('501');
     }
+
+    /**
+     * Get total number of record pages
+     * Reads MARC field 300|a
+     *
+     * @return int|null
+     */
+    public function getNumberOfPages()
+    {
+        if ($data = $this->getMarcRecord()->getField('300')->getSubfield('a')->getData())
+        {
+            // Grab first occurance of a number
+            preg_match('/([1-9]\d*)/', $data, $matches);
+            if ($page = $matches[0])
+            {
+                return (int) $page;
+            }
+        }
+        return null;
+    }
 }