Browse Source

Small fixes + docs

Julian Viereck 14 years ago
parent
commit
23e413520b
  1. 10
      pdf.js
  2. 1
      test/test_slave.html
  3. 2
      web/viewer.js
  4. 16
      worker.js

10
pdf.js

@ -3861,6 +3861,16 @@ var Catalog = (function catalogCatalog() {
return constructor; return constructor;
})(); })();
/**
* The `PDFDocModel` holds all the data of the PDF file. Compared to the
* `PDFDoc`, this one doesn't have any job management code.
* Right now there exists one PDFDocModel on the main thread + one object
* for each worker. If there is no worker support enabled, there are two
* `PDFDocModel` objects on the main thread created.
* TODO: Refactor the internal object structure, such that there is no
* need for the `PDFDocModel` anymore and there is only one object on the
* main thread and not one entire copy on each worker instance.
*/
var PDFDocModel = (function pdfDoc() { var PDFDocModel = (function pdfDoc() {
function constructor(arg, callback) { function constructor(arg, callback) {
// Stream argument // Stream argument

1
test/test_slave.html

@ -13,7 +13,6 @@
<script type="text/javascript" src="../worker.js"></script> <script type="text/javascript" src="../worker.js"></script>
<script type="text/javascript" src="../worker/message_handler.js"></script> <script type="text/javascript" src="../worker/message_handler.js"></script>
<script type="text/javascript" src="../worker/processor_handler.js"></script> <script type="text/javascript" src="../worker/processor_handler.js"></script>
<script type="text/javascript" src="../worker/font_handler.js"></script>
</head> </head>
<body onload="load();"> <body onload="load();">

2
web/viewer.js

@ -181,7 +181,7 @@ var PDFView = {
while (container.hasChildNodes()) while (container.hasChildNodes())
container.removeChild(container.lastChild); container.removeChild(container.lastChild);
var pdf = new WorkerPDFDoc(data); var pdf = new PDFDoc(data);
var pagesCount = pdf.numPages; var pagesCount = pdf.numPages;
document.getElementById('numPages').innerHTML = pagesCount; document.getElementById('numPages').innerHTML = pagesCount;
document.getElementById('pageNumber').max = pagesCount; document.getElementById('pageNumber').max = pagesCount;

16
worker.js

@ -66,6 +66,12 @@ var WorkerPage = (function() {
return constructor; return constructor;
})(); })();
/**
* A PDF document and page is build up of many objects. E.g. there are objects
* for fonts, images, rendering code and such. These objects might get processed
* inside of a worker. The `PDFObjects` implements some basic functions to manage
* these objects.
*/
var PDFObjects = (function() { var PDFObjects = (function() {
function PDFObjects() { function PDFObjects() {
this.objs = {}; this.objs = {};
@ -75,6 +81,7 @@ var PDFObjects = (function() {
objs: null, objs: null,
/** /**
* Internal function.
* Ensures there is an object defined for `objId`. Stores `data` on the * Ensures there is an object defined for `objId`. Stores `data` on the
* object *if* it is created. * object *if* it is created.
*/ */
@ -169,6 +176,15 @@ var PDFObjects = (function() {
/** /**
* "Promise" object. * "Promise" object.
* Each object that is stored in PDFObjects is based on a Promise object that
* contains the status of the object and the data. There migth be situations,
* where a function want to use the value of an object, but it isn't ready at
* that time. To get a notification, once the object is ready to be used, s.o.
* can add a callback using the `then` method on the promise that then calls
* the callback once the object gets resolved.
* A promise can get resolved only once and only once the data of the promise
* can be set. If any of these happens twice or the data is required before
* it was set, an exception is throw.
*/ */
var Promise = (function() { var Promise = (function() {
var EMPTY_PROMISE = {}; var EMPTY_PROMISE = {};

Loading…
Cancel
Save