]> git.parisson.com Git - pdf.js.git/commitdiff
add PDFDoc
authorAndreas Gal <andreas.gal@gmail.com>
Mon, 2 May 2011 22:34:59 +0000 (15:34 -0700)
committerAndreas Gal <andreas.gal@gmail.com>
Mon, 2 May 2011 22:34:59 +0000 (15:34 -0700)
pdf.js

diff --git a/pdf.js b/pdf.js
index 6ae38d798572f54b886d88f7c0a4a8eddd9eeaf3..a1facc4702d733957712f788b751a74221ba8ac1 100644 (file)
--- a/pdf.js
+++ b/pdf.js
@@ -553,42 +553,47 @@ var Linearization = (function () {
     };
 })();
 
-var linearization;
-function getLinearization() {
-    if (linearization)
-       return linearization;
-    return linearization = new Linearization(stream);
-}
-
-function isLinearized() {
-    return stream.length && getLinearization().length == stream.length;
-}
-
-var stream;
-
-// Find the header, remove leading garbage and setup the stream
-// starting from the header.
-function checkHeader(arrayBuffer) {
-    const headerSearchSize = 1024;
-
-    stream = new Uint8Array(arrayBuffer);
-    var skip = 0;
-    var header = "%PDF-";
-    while (skip < headerSearchSize) {
-        for (var i = 0; i < header.length; ++i)
-            if (stream[skip+i] != header.charCodeAt(i))
-                break;
-
-        // Found the header, trim off any garbage before it.
-        if (i == header.length) {
-            stream = new Uint8Array(arrayBuffer, skip);
-            return;
-        }
+var PDFDoc = (function () {
+    function constructor(arrayBuffer) {
+        this.setup(arrayBuffer);
     }
 
-    // May not be a PDF file, continue anyway.
-}
+    constructor.prototype = {
+        getLinearization: function() {
+            var linearization = this.linearization;
+            if (!linearization)
+                return this.linearization = new Linearization(this.stream);
+            return linearization;
+        },
+        isLinearized: function() {
+            var length = this.stream.length;
+            return length && this.getLinearization().length == length;
+        },
+        // Find the header, remove leading garbage and setup the stream
+        // starting from the header.
+        checkHeader: function(arrayBuffer) {
+            const headerSearchSize = 1024;
+
+            var stream = new Uint8Array(arrayBuffer);
+            var skip = 0;
+            var header = "%PDF-";
+            while (skip < headerSearchSize) {
+                for (var i = 0; i < header.length; ++i)
+                    if (this.stream[skip+i] != header.charCodeAt(i))
+                        break;
+                
+                // Found the header, trim off any garbage before it.
+                if (i == header.length) {
+                    this.stream = new Uint8Array(arrayBuffer, skip);
+                    return;
+                }
+            }
 
-function setup(arrayBuffer, ownerPassword, userPassword) {
-    var ub = checkHeader(arrayBuffer);
-}
+            // May not be a PDF file, continue anyway.
+            this.stream = stream;
+        },
+        setup: function(arrayBuffer, ownerPassword, userPassword) {
+            this.checkHeader(arrayBuffer);
+        }
+    };
+})();