gh-pages site created via make.js script

PDF.js version 1.7.365 - See mozilla/pdf.js@2b17188998
This commit is contained in:
pdfjsbot 2017-03-13 15:53:52 +00:00
commit 4c0ed478d9
426 changed files with 116247 additions and 0 deletions

177
LICENSE Normal file
View file

@ -0,0 +1,177 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS

View file

@ -0,0 +1,376 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: AnnotationFactory</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: AnnotationFactory</h1>
<section>
<header>
<h2>AnnotationFactory</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="AnnotationFactory"><span class="type-signature"></span>new AnnotationFactory<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="core_annotation.js.html">core/annotation.js</a>, <a href="core_annotation.js.html#line62">line 62</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="create"><span class="type-signature"></span>create<span class="signature">(xref, ref, pdfManager, idFactory)</span><span class="type-signature"> &rarr; {<a href="Annotation.html">Annotation</a>}</span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>xref</code></td>
<td class="type">
<span class="param-type">XRef</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>ref</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pdfManager</code></td>
<td class="type">
<span class="param-type">PDFManager</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>idFactory</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="core_annotation.js.html">core/annotation.js</a>, <a href="core_annotation.js.html#line71">line 71</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="Annotation.html">Annotation</a></span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

View file

@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: PDFDataRangeTransport</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: PDFDataRangeTransport</h1>
<section>
<header>
<h2>PDFDataRangeTransport</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="PDFDataRangeTransport"><span class="type-signature"></span>new PDFDataRangeTransport<span class="signature">(length, initialData)</span><span class="type-signature"></span></h4>
<div class="description">
Abstract class to support range requests file loading.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>length</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>initialData</code></td>
<td class="type">
<span class="param-type">Uint8Array</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="display_api.js.html">display/api.js</a>, <a href="display_api.js.html#line433">line 433</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: PDFDocumentProxy</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: PDFDocumentProxy</h1>
<section>
<header>
<h2>PDFDocumentProxy</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="PDFDocumentProxy"><span class="type-signature"></span>new PDFDocumentProxy<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Proxy to a PDFDocument in the worker thread. Also, contains commonly used
properties that can be read synchronously.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="display_api.js.html">display/api.js</a>, <a href="display_api.js.html#line507">line 507</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

243
api/draft/PDFJS.html Normal file
View file

@ -0,0 +1,243 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: PDFJS</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: PDFJS</h1>
<section>
<header>
<h2>PDFJS</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="PDFJS"><span class="type-signature"></span>new PDFJS<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
PDFJS scope object that contains all functions, objects and variables related
to the PDF.js.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="doc_helper.js.html">doc_helper.js</a>, <a href="doc_helper.js.html#line27">line 27</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".verbosity"><span class="type-signature">(static) </span>verbosity<span class="type-signature"> :number</span></h4>
<div class="description">
Controls the logging level.
The constants from PDFJS.VERBOSITY_LEVELS should be used:
- errors
- warnings [default]
- infos
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="doc_helper.js.html">doc_helper.js</a>, <a href="doc_helper.js.html#line39">line 39</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

162
api/draft/PDFPageProxy.html Normal file
View file

@ -0,0 +1,162 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: PDFPageProxy</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: PDFPageProxy</h1>
<section>
<header>
<h2>PDFPageProxy</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="PDFPageProxy"><span class="type-signature"></span>new PDFPageProxy<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Proxy to a PDFPage in the worker thread.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="display_api.js.html">display/api.js</a>, <a href="display_api.js.html#line738">line 738</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

162
api/draft/PageViewport.html Normal file
View file

@ -0,0 +1,162 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: PageViewport</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: PageViewport</h1>
<section>
<header>
<h2>PageViewport</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="PageViewport"><span class="type-signature"></span>new PageViewport<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
PDF page viewport created based on scale, rotation and offset.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="shared_util.js.html">shared/util.js</a>, <a href="shared_util.js.html#line936">line 936</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

162
api/draft/RenderTask.html Normal file
View file

@ -0,0 +1,162 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: RenderTask</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: RenderTask</h1>
<section>
<header>
<h2>RenderTask</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="RenderTask"><span class="type-signature"></span>new RenderTask<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Allows controlling of the rendering tasks.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="display_api.js.html">display/api.js</a>, <a href="display_api.js.html#line2043">line 2043</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,369 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: display/global.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: display/global.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/* Copyright 2015 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
(function (root, factory) {
if (typeof define === 'function' &amp;&amp; define.amd) {
define('pdfjs/display/global', ['exports', 'pdfjs/shared/util',
'pdfjs/display/dom_utils', 'pdfjs/display/api',
'pdfjs/display/annotation_layer', 'pdfjs/display/text_layer',
'pdfjs/display/metadata', 'pdfjs/display/svg'], factory);
} else if (typeof exports !== 'undefined') {
factory(exports, require('../shared/util.js'), require('./dom_utils.js'),
require('./api.js'), require('./annotation_layer.js'),
require('./text_layer.js'), require('./metadata.js'),
require('./svg.js'));
} else {
factory((root.pdfjsDisplayGlobal = {}), root.pdfjsSharedUtil,
root.pdfjsDisplayDOMUtils, root.pdfjsDisplayAPI,
root.pdfjsDisplayAnnotationLayer, root.pdfjsDisplayTextLayer,
root.pdfjsDisplayMetadata, root.pdfjsDisplaySVG);
}
}(this, function (exports, sharedUtil, displayDOMUtils, displayAPI,
displayAnnotationLayer, displayTextLayer, displayMetadata,
displaySVG) {
var globalScope = sharedUtil.globalScope;
var deprecated = sharedUtil.deprecated;
var warn = sharedUtil.warn;
var LinkTarget = displayDOMUtils.LinkTarget;
var DEFAULT_LINK_REL = displayDOMUtils.DEFAULT_LINK_REL;
var isWorker = (typeof window === 'undefined');
// The global PDFJS object is now deprecated and will not be supported in
// the future. The members below are maintained for backward compatibility
// and shall not be extended or modified. If the global.js is included as
// a module, we will create a global PDFJS object instance or use existing.
if (!globalScope.PDFJS) {
globalScope.PDFJS = {};
}
var PDFJS = globalScope.PDFJS;
if (typeof PDFJSDev !== 'undefined') {
PDFJS.version = PDFJSDev.eval('BUNDLE_VERSION');
PDFJS.build = PDFJSDev.eval('BUNDLE_BUILD');
}
PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) {
sharedUtil.setVerbosityLevel(PDFJS.verbosity);
}
delete PDFJS.verbosity;
Object.defineProperty(PDFJS, 'verbosity', {
get: function () {
return sharedUtil.getVerbosityLevel();
},
set: function (level) {
sharedUtil.setVerbosityLevel(level);
},
enumerable: true,
configurable: true
});
PDFJS.VERBOSITY_LEVELS = sharedUtil.VERBOSITY_LEVELS;
PDFJS.OPS = sharedUtil.OPS;
PDFJS.UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES;
PDFJS.isValidUrl = displayDOMUtils.isValidUrl;
PDFJS.shadow = sharedUtil.shadow;
PDFJS.createBlob = sharedUtil.createBlob;
PDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {
return sharedUtil.createObjectURL(data, contentType,
PDFJS.disableCreateObjectURL);
};
Object.defineProperty(PDFJS, 'isLittleEndian', {
configurable: true,
get: function PDFJS_isLittleEndian() {
var value = sharedUtil.isLittleEndian();
return sharedUtil.shadow(PDFJS, 'isLittleEndian', value);
}
});
PDFJS.removeNullCharacters = sharedUtil.removeNullCharacters;
PDFJS.PasswordResponses = sharedUtil.PasswordResponses;
PDFJS.PasswordException = sharedUtil.PasswordException;
PDFJS.UnknownErrorException = sharedUtil.UnknownErrorException;
PDFJS.InvalidPDFException = sharedUtil.InvalidPDFException;
PDFJS.MissingPDFException = sharedUtil.MissingPDFException;
PDFJS.UnexpectedResponseException = sharedUtil.UnexpectedResponseException;
PDFJS.Util = sharedUtil.Util;
PDFJS.PageViewport = sharedUtil.PageViewport;
PDFJS.createPromiseCapability = sharedUtil.createPromiseCapability;
/**
* The maximum allowed image size in total pixels e.g. width * height. Images
* above this value will not be drawn. Use -1 for no limit.
* @var {number}
*/
PDFJS.maxImageSize = (PDFJS.maxImageSize === undefined ?
-1 : PDFJS.maxImageSize);
/**
* The url of where the predefined Adobe CMaps are located. Include trailing
* slash.
* @var {string}
*/
PDFJS.cMapUrl = (PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl);
/**
* Specifies if CMaps are binary packed.
* @var {boolean}
*/
PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;
/**
* By default fonts are converted to OpenType fonts and loaded via font face
* rules. If disabled, the font will be rendered using a built in font
* renderer that constructs the glyphs with primitive path commands.
* @var {boolean}
*/
PDFJS.disableFontFace = (PDFJS.disableFontFace === undefined ?
false : PDFJS.disableFontFace);
/**
* Path for image resources, mainly for annotation icons. Include trailing
* slash.
* @var {string}
*/
PDFJS.imageResourcesPath = (PDFJS.imageResourcesPath === undefined ?
'' : PDFJS.imageResourcesPath);
/**
* Disable the web worker and run all code on the main thread. This will
* happen automatically if the browser doesn't support workers or sending
* typed arrays to workers.
* @var {boolean}
*/
PDFJS.disableWorker = (PDFJS.disableWorker === undefined ?
false : PDFJS.disableWorker);
/**
* Path and filename of the worker file. Required when the worker is enabled
* in development mode. If unspecified in the production build, the worker
* will be loaded based on the location of the pdf.js file. It is recommended
* that the workerSrc is set in a custom application to prevent issues caused
* by third-party frameworks and libraries.
* @var {string}
*/
PDFJS.workerSrc = (PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc);
/**
* Defines global port for worker process. Overrides workerSrc and
* disableWorker setting.
*/
PDFJS.workerPort = (PDFJS.workerPort === undefined ? null : PDFJS.workerPort);
/**
* Disable range request loading of PDF files. When enabled and if the server
* supports partial content requests then the PDF will be fetched in chunks.
* Enabled (false) by default.
* @var {boolean}
*/
PDFJS.disableRange = (PDFJS.disableRange === undefined ?
false : PDFJS.disableRange);
/**
* Disable streaming of PDF file data. By default PDF.js attempts to load PDF
* in chunks. This default behavior can be disabled.
* @var {boolean}
*/
PDFJS.disableStream = (PDFJS.disableStream === undefined ?
false : PDFJS.disableStream);
/**
* Disable pre-fetching of PDF file data. When range requests are enabled
* PDF.js will automatically keep fetching more data even if it isn't needed
* to display the current page. This default behavior can be disabled.
*
* NOTE: It is also necessary to disable streaming, see above,
* in order for disabling of pre-fetching to work correctly.
* @var {boolean}
*/
PDFJS.disableAutoFetch = (PDFJS.disableAutoFetch === undefined ?
false : PDFJS.disableAutoFetch);
/**
* Enables special hooks for debugging PDF.js.
* @var {boolean}
*/
PDFJS.pdfBug = (PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug);
/**
* Enables transfer usage in postMessage for ArrayBuffers.
* @var {boolean}
*/
PDFJS.postMessageTransfers = (PDFJS.postMessageTransfers === undefined ?
true : PDFJS.postMessageTransfers);
/**
* Disables URL.createObjectURL usage.
* @var {boolean}
*/
PDFJS.disableCreateObjectURL = (PDFJS.disableCreateObjectURL === undefined ?
false : PDFJS.disableCreateObjectURL);
/**
* Disables WebGL usage.
* @var {boolean}
*/
PDFJS.disableWebGL = (PDFJS.disableWebGL === undefined ?
true : PDFJS.disableWebGL);
/**
* Specifies the |target| attribute for external links.
* The constants from PDFJS.LinkTarget should be used:
* - NONE [default]
* - SELF
* - BLANK
* - PARENT
* - TOP
* @var {number}
*/
PDFJS.externalLinkTarget = (PDFJS.externalLinkTarget === undefined ?
LinkTarget.NONE : PDFJS.externalLinkTarget);
/**
* Specifies the |rel| attribute for external links. Defaults to stripping
* the referrer.
* @var {string}
*/
PDFJS.externalLinkRel = (PDFJS.externalLinkRel === undefined ?
DEFAULT_LINK_REL : PDFJS.externalLinkRel);
/**
* Determines if we can eval strings as JS. Primarily used to improve
* performance for font rendering.
* @var {boolean}
*/
PDFJS.isEvalSupported = (PDFJS.isEvalSupported === undefined ?
true : PDFJS.isEvalSupported);
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;
delete PDFJS.openExternalLinksInNewWindow;
Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {
get: function () {
return PDFJS.externalLinkTarget === LinkTarget.BLANK;
},
set: function (value) {
if (value) {
deprecated('PDFJS.openExternalLinksInNewWindow, please use ' +
'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
}
if (PDFJS.externalLinkTarget !== LinkTarget.NONE) {
warn('PDFJS.externalLinkTarget is already initialized');
return;
}
PDFJS.externalLinkTarget = value ? LinkTarget.BLANK : LinkTarget.NONE;
},
enumerable: true,
configurable: true
});
if (savedOpenExternalLinksInNewWindow) {
/**
* (Deprecated) Opens external links in a new window if enabled.
* The default behavior opens external links in the PDF.js window.
*
* NOTE: This property has been deprecated, please use
* `PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK` instead.
* @var {boolean}
*/
PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;
}
}
PDFJS.getDocument = displayAPI.getDocument;
PDFJS.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
PDFJS.PDFWorker = displayAPI.PDFWorker;
Object.defineProperty(PDFJS, 'hasCanvasTypedArrays', {
configurable: true,
get: function PDFJS_hasCanvasTypedArrays() {
var value = displayDOMUtils.hasCanvasTypedArrays();
return sharedUtil.shadow(PDFJS, 'hasCanvasTypedArrays', value);
}
});
PDFJS.CustomStyle = displayDOMUtils.CustomStyle;
PDFJS.LinkTarget = LinkTarget;
PDFJS.addLinkAttributes = displayDOMUtils.addLinkAttributes;
PDFJS.getFilenameFromUrl = displayDOMUtils.getFilenameFromUrl;
PDFJS.isExternalLinkTargetSet = displayDOMUtils.isExternalLinkTargetSet;
PDFJS.AnnotationLayer = displayAnnotationLayer.AnnotationLayer;
PDFJS.renderTextLayer = displayTextLayer.renderTextLayer;
PDFJS.Metadata = displayMetadata.Metadata;
PDFJS.SVGGraphics = displaySVG.SVGGraphics;
PDFJS.UnsupportedManager = displayAPI._UnsupportedManager;
exports.globalScope = globalScope;
exports.isWorker = isWorker;
exports.PDFJS = globalScope.PDFJS;
}));
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

View file

@ -0,0 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: doc_helper.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: doc_helper.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable strict */
/*
NOTE: This file is created as a helper to assist with JSDoc html files.
It is not for use in the executable code.
*/
/**
* PDFJS scope object that contains all functions, objects and variables related
* to the PDF.js.
* @constructor
*/
function PDFJS() {
// Mock class constructor. See src/display/api.js.
}
/**
* Controls the logging level.
* The constants from PDFJS.VERBOSITY_LEVELS should be used:
* - errors
* - warnings [default]
* - infos
* @var {number}
*/
PDFJS.verbosity = PDFJS.VERBOSITY_LEVELS.warnings;
/**
* Represents the eventual result of an asynchronous operation.
* @external Promise
* @see {@link http://promisesaplus.com/ Promise/A+}
*/
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

View file

@ -0,0 +1,137 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: External: Promise</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">External: Promise</h1>
<section>
<header>
<h2>Promise</h2>
</header>
<article>
<div class="container-overview">
<div class="description">Represents the eventual result of an asynchronous operation.</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="doc_helper.js.html">doc_helper.js</a>, <a href="doc_helper.js.html#line41">line 41</a>
</li></ul></dd>
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="http://promisesaplus.com/">Promise/A+</a></li>
</ul>
</dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

2274
api/draft/global.html Normal file

File diff suppressed because it is too large Load diff

65
api/draft/index.html Normal file
View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Home</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Home</h1>
<h3> </h3>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Externals</h3><ul><li><a href="external-Promise.html">Promise</a></li></ul><h3>Classes</h3><ul><li><a href="AnnotationFactory.html">AnnotationFactory</a></li><li><a href="PageViewport.html">PageViewport</a></li><li><a href="PDFDataRangeTransport.html">PDFDataRangeTransport</a></li><li><a href="PDFDocumentLoadingTask.html">PDFDocumentLoadingTask</a></li><li><a href="PDFDocumentProxy.html">PDFDocumentProxy</a></li><li><a href="PDFJS.html">PDFJS</a></li><li><a href="PDFPageProxy.html">PDFPageProxy</a></li><li><a href="RenderTask.html">RenderTask</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createPromiseCapability">createPromiseCapability</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon Mar 13 2017 15:52:29 GMT+0000 (Coordinated Universal Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

View file

@ -0,0 +1,25 @@
/*global document */
(function() {
var source = document.getElementsByClassName('prettyprint source linenums');
var i = 0;
var lineNumber = 0;
var lineId;
var lines;
var totalLines;
var anchorHash;
if (source && source[0]) {
anchorHash = document.location.hash.substring(1);
lines = source[0].getElementsByTagName('li');
totalLines = lines.length;
for (; i < totalLines; i++) {
lineNumber++;
lineId = 'line' + lineNumber;
lines[i].id = lineId;
if (lineId === anchorHash) {
lines[i].className += ' selected';
}
}
}
})();

View file

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);

View file

@ -0,0 +1,28 @@
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,354 @@
@font-face {
font-family: 'Open Sans';
font-weight: normal;
font-style: normal;
src: url('../fonts/OpenSans-Regular-webfont.eot');
src:
local('Open Sans'),
local('OpenSans'),
url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
}
@font-face {
font-family: 'Open Sans Light';
font-weight: normal;
font-style: normal;
src: url('../fonts/OpenSans-Light-webfont.eot');
src:
local('Open Sans Light'),
local('OpenSans Light'),
url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/OpenSans-Light-webfont.woff') format('woff'),
url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg');
}
html
{
overflow: auto;
background-color: #fff;
font-size: 14px;
}
body
{
font-family: 'Open Sans', sans-serif;
line-height: 1.5;
color: #4d4e53;
background-color: white;
}
a, a:visited, a:active {
color: #0095dd;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
header
{
display: block;
padding: 0px 4px;
}
tt, code, kbd, samp {
font-family: Consolas, Monaco, 'Andale Mono', monospace;
}
.class-description {
font-size: 130%;
line-height: 140%;
margin-bottom: 1em;
margin-top: 1em;
}
.class-description:empty {
margin: 0;
}
#main {
float: left;
width: 70%;
}
article dl {
margin-bottom: 40px;
}
section
{
display: block;
background-color: #fff;
padding: 12px 24px;
border-bottom: 1px solid #ccc;
margin-right: 30px;
}
.variation {
display: none;
}
.signature-attributes {
font-size: 60%;
color: #aaa;
font-style: italic;
font-weight: lighter;
}
nav
{
display: block;
float: right;
margin-top: 28px;
width: 30%;
box-sizing: border-box;
border-left: 1px solid #ccc;
padding-left: 16px;
}
nav ul {
font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
font-size: 100%;
line-height: 17px;
padding: 0;
margin: 0;
list-style-type: none;
}
nav ul a, nav ul a:visited, nav ul a:active {
font-family: Consolas, Monaco, 'Andale Mono', monospace;
line-height: 18px;
color: #4D4E53;
}
nav h3 {
margin-top: 12px;
}
nav li {
margin-top: 6px;
}
footer {
display: block;
padding: 6px;
margin-top: 12px;
font-style: italic;
font-size: 90%;
}
h1, h2, h3, h4 {
font-weight: 200;
margin: 0;
}
h1
{
font-family: 'Open Sans Light', sans-serif;
font-size: 48px;
letter-spacing: -2px;
margin: 12px 24px 20px;
}
h2, h3.subsection-title
{
font-size: 30px;
font-weight: 700;
letter-spacing: -1px;
margin-bottom: 12px;
}
h3
{
font-size: 24px;
letter-spacing: -0.5px;
margin-bottom: 12px;
}
h4
{
font-size: 18px;
letter-spacing: -0.33px;
margin-bottom: 12px;
color: #4d4e53;
}
h5, .container-overview .subsection-title
{
font-size: 120%;
font-weight: bold;
letter-spacing: -0.01em;
margin: 8px 0 3px 0;
}
h6
{
font-size: 100%;
letter-spacing: -0.01em;
margin: 6px 0 3px 0;
font-style: italic;
}
table
{
border-spacing: 0;
border: 0;
border-collapse: collapse;
}
td, th
{
border: 1px solid #ddd;
margin: 0px;
text-align: left;
vertical-align: top;
padding: 4px 6px;
display: table-cell;
}
thead tr
{
background-color: #ddd;
font-weight: bold;
}
th { border-right: 1px solid #aaa; }
tr > th:last-child { border-right: 1px solid #ddd; }
.ancestors { color: #999; }
.ancestors a
{
color: #999 !important;
text-decoration: none;
}
.clear
{
clear: both;
}
.important
{
font-weight: bold;
color: #950B02;
}
.yes-def {
text-indent: -1000px;
}
.type-signature {
color: #aaa;
}
.name, .signature {
font-family: Consolas, Monaco, 'Andale Mono', monospace;
}
.details { margin-top: 14px; border-left: 2px solid #DDD; }
.details dt { width: 120px; float: left; padding-left: 10px; padding-top: 6px; }
.details dd { margin-left: 70px; }
.details ul { margin: 0; }
.details ul { list-style-type: none; }
.details li { margin-left: 30px; padding-top: 6px; }
.details pre.prettyprint { margin: 0 }
.details .object-value { padding-top: 0; }
.description {
margin-bottom: 1em;
margin-top: 1em;
}
.code-caption
{
font-style: italic;
font-size: 107%;
margin: 0;
}
.prettyprint
{
border: 1px solid #ddd;
width: 80%;
overflow: auto;
}
.prettyprint.source {
width: inherit;
}
.prettyprint code
{
font-size: 100%;
line-height: 18px;
display: block;
padding: 4px 12px;
margin: 0;
background-color: #fff;
color: #4D4E53;
}
.prettyprint code span.line
{
display: inline-block;
}
.prettyprint.linenums
{
padding-left: 70px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.prettyprint.linenums ol
{
padding-left: 0;
}
.prettyprint.linenums li
{
border-left: 3px #ddd solid;
}
.prettyprint.linenums li.selected,
.prettyprint.linenums li.selected *
{
background-color: lightyellow;
}
.prettyprint.linenums li *
{
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.params .name, .props .name, .name code {
color: #4D4E53;
font-family: Consolas, Monaco, 'Andale Mono', monospace;
font-size: 100%;
}
.params td.description > p:first-child,
.props td.description > p:first-child
{
margin-top: 0;
padding-top: 0;
}
.params td.description > p:last-child,
.props td.description > p:last-child
{
margin-bottom: 0;
padding-bottom: 0;
}
.disabled {
color: #454545;
}

View file

@ -0,0 +1,111 @@
/* JSDoc prettify.js theme */
/* plain text */
.pln {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* string content */
.str {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a keyword */
.kwd {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a comment */
.com {
font-weight: normal;
font-style: italic;
}
/* a type name */
.typ {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* a literal value */
.lit {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* punctuation */
.pun {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* lisp open bracket */
.opn {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* lisp close bracket */
.clo {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a markup tag name */
.tag {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a markup attribute name */
.atn {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a markup attribute value */
.atv {
color: #006400;
font-weight: normal;
font-style: normal;
}
/* a declaration */
.dec {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* a variable name */
.var {
color: #000000;
font-weight: normal;
font-style: normal;
}
/* a function name */
.fun {
color: #000000;
font-weight: bold;
font-style: normal;
}
/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin-top: 0;
margin-bottom: 0;
}

View file

@ -0,0 +1,132 @@
/* Tomorrow Theme */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Pretty printing styles. Used with prettify.js. */
/* SPAN elements with the classes below are added by prettyprint. */
/* plain text */
.pln {
color: #4d4d4c; }
@media screen {
/* string content */
.str {
color: #718c00; }
/* a keyword */
.kwd {
color: #8959a8; }
/* a comment */
.com {
color: #8e908c; }
/* a type name */
.typ {
color: #4271ae; }
/* a literal value */
.lit {
color: #f5871f; }
/* punctuation */
.pun {
color: #4d4d4c; }
/* lisp open bracket */
.opn {
color: #4d4d4c; }
/* lisp close bracket */
.clo {
color: #4d4d4c; }
/* a markup tag name */
.tag {
color: #c82829; }
/* a markup attribute name */
.atn {
color: #f5871f; }
/* a markup attribute value */
.atv {
color: #3e999f; }
/* a declaration */
.dec {
color: #f5871f; }
/* a variable name */
.var {
color: #c82829; }
/* a function name */
.fun {
color: #4271ae; } }
/* Use higher contrast and text-weight for printable form. */
@media print, projection {
.str {
color: #060; }
.kwd {
color: #006;
font-weight: bold; }
.com {
color: #600;
font-style: italic; }
.typ {
color: #404;
font-weight: bold; }
.lit {
color: #044; }
.pun, .opn, .clo {
color: #440; }
.tag {
color: #006;
font-weight: bold; }
.atn {
color: #404; }
.atv {
color: #060; } }
/* Style */
/*
pre.prettyprint {
background: white;
font-family: Consolas, Monaco, 'Andale Mono', monospace;
font-size: 12px;
line-height: 1.5;
border: 1px solid #ccc;
padding: 10px; }
*/
/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin-top: 0;
margin-bottom: 0; }
/* IE indents via margin-left */
li.L0,
li.L1,
li.L2,
li.L3,
li.L4,
li.L5,
li.L6,
li.L7,
li.L8,
li.L9 {
/* */ }
/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 {
/* */ }

49
api/index.html Normal file
View file

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../images/favicon.ico">
<title>API</title>
<!-- Bootstrap core CSS-->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="../css/main.css" rel="stylesheet">
</head>
<body>
<header class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="#" class="navbar-brand"><img src="../images/logo.svg"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="../">Home</a></li>
<li><a href="../getting_started/">Getting Started</a></li>
<li><a href="../examples/">Examples</a></li>
<li><a href="https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions">FAQ</a></li>
<li class="active"><a href="../api/">API</a></li>
</ul>
</div>
</div>
</header>
<div class="container">
<div class="starter-template">
<section class="content"><h1 id="api"><span class="caps">API</span></h1>
<p>Were currently working on <a href="draft/index.html">better <span class="caps">API</span> docs</a>, but the <span class="caps">API</span> is well documented in <a href="https://github.com/mozilla/pdf.js/blob/master/src/display/api.js">api.js</a>.</p>
</section>
</div>
</div>
<div class="container">
<footer>
<p>&copy;Mozilla and individual contributors</p><p>PDF.js is licensed under <a href="https://github.com/mozilla/pdf.js/blob/master/LICENSE">Apache</a>,
documentation is licensed under <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a></p>
</footer>
</div>
<!-- Bootstrap core JavaScript-->
<script src="../js/jquery-2.1.0.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

9895
build/pdf.js Normal file

File diff suppressed because it is too large Load diff

51088
build/pdf.worker.js vendored Normal file

File diff suppressed because it is too large Load diff

7
css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

119
css/main.css Normal file
View file

@ -0,0 +1,119 @@
body {
}
.starter-template {
padding: 0 15px;
}
.navbar-brand {
padding: 4px 15px;
}
.navbar-brand img {
height: 42px;
}
.navbar {
border-color: #e5e7e8;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
background-color: #fff;
border: 1px solid #e5e7e8;
border-width: 0 1px;
position: relative;
top: 1px;
}
footer {
padding-top: 40px;
padding-bottom: 40px;
margin-top: 100px;
color: #777;
text-align: center;
border-top: 1px solid #E5E5E5;
}
/* code styling */
code {
font-family: 'Anonymous Pro', monospace;
font-size: 0.85em;
color: #000;
}
pre code {
display: block;
line-height: 1.1;
}
p code {
padding: 0.1em 0.3em 0.2em;
border-radius: 0.3em;
position: relative;
top: -0.15em;
background: #444;
color: #fff;
white-space: nowrap;
}
/* syntax hl stuff */
code.lang-markdown {
color: #424242;
}
code.lang-markdown .header,
code.lang-markdown .strong {
font-weight: bold;
}
code.lang-markdown .emphasis {
font-style: italic;
}
code.lang-markdown .horizontal_rule,
code.lang-markdown .link_label,
code.lang-markdown .code,
code.lang-markdown .header,
code.lang-markdown .link_url {
color: #555;
}
code.lang-markdown .blockquote,
code.lang-markdown .bullet {
color: #bbb;
}
/* Tomorrow Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #8e908c;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #c82829;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #f5871f;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #eab700;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #718c00;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #3e999f;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #4271ae;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #8959a8;
}

101
examples/index.html Normal file
View file

@ -0,0 +1,101 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../images/favicon.ico">
<title>Examples</title>
<!-- Bootstrap core CSS-->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="../css/main.css" rel="stylesheet">
</head>
<body>
<header class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="#" class="navbar-brand"><img src="../images/logo.svg"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="../">Home</a></li>
<li><a href="../getting_started/">Getting Started</a></li>
<li class="active"><a href="../examples/">Examples</a></li>
<li><a href="https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions">FAQ</a></li>
<li><a href="../api/">API</a></li>
</ul>
</div>
</div>
</header>
<div class="container">
<div class="starter-template">
<section class="content"><h2 id="hello-world-walkthrough">Hello World Walkthrough</h2>
<p><a href="https://github.com/mozilla/pdf.js/tree/master/examples/helloworld">Full source</a></p>
<p><span class="caps">PDF</span>.js heavily relies on the use of <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promises</a>. If promises are new to you, its recommended you become familiar with them before continuing<span class="widont">&nbsp;</span>on.</p>
<h3 id="document">Document</h3>
<p>The object structure of <span class="caps">PDF</span>.js loosely follows the structure of an actual <span class="caps">PDF</span>. At the top level there is a document object. From the document, more information and individual pages can be fetched. To get the<span class="widont">&nbsp;</span>document:</p>
<pre><code class="lang-js">PDFJS.getDocument(<span class="string">'helloworld.pdf'</span>)
</code></pre>
<p>Remember though that <span class="caps">PDF</span>.js uses promises, so the above will return a promise that is resolved with the document<span class="widont">&nbsp;</span>object.</p>
<pre><code class="lang-js">PDFJS.getDocument(<span class="string">'helloworld.pdf'</span>).then(<span class="function"><span class="keyword">function</span>(<span class="params">pdf</span>) </span>{
<span class="comment">// you can now use *pdf* here</span>
});
</code></pre>
<h3 id="page">Page</h3>
<p>Now that we have the document, we can get a page. Again, this uses<span class="widont">&nbsp;</span>promises.</p>
<pre><code class="lang-js">pdf.getPage(<span class="number">1</span>).then(<span class="function"><span class="keyword">function</span>(<span class="params">page</span>) </span>{
<span class="comment">// you can now use *page* here</span>
});
</code></pre>
<h3 id="rendering-the-page">Rendering the Page</h3>
<p>Each <span class="caps">PDF</span> page has its own viewport which defines the size in pixels(<span class="caps">72DPI</span>) and initial rotation. By default the viewport is scaled to the original size of the <span class="caps">PDF</span>, but this can be changed by modifying the viewport. When the viewport is created an initial transformation matrix will also be created that takes into account the desired scale, rotation, and it transforms the coordinate system (the 0,0 point in <span class="caps">PDF</span> documents the bottom-left whereas canvas 0,0 is<span class="widont">&nbsp;</span>top-left).</p>
<pre><code class="lang-js"><span class="keyword">var</span> scale = <span class="number">1.5</span>;
<span class="keyword">var</span> viewport = page.getViewport(scale);
<span class="keyword">var</span> canvas = <span class="built_in">document</span>.getElementById(<span class="string">'the-canvas'</span>);
<span class="keyword">var</span> context = canvas.getContext(<span class="string">'2d'</span>);
canvas.height = viewport.height;
canvas.width = viewport.width;
<span class="keyword">var</span> renderContext = {
<span class="attr">canvasContext</span>: context,
<span class="attr">viewport</span>: viewport
};
page.render(renderContext);
</code></pre>
<p>Alternatively, if you want the canvas to render to a certain pixel size you could do the<span class="widont">&nbsp;</span>following:</p>
<pre><code class="lang-js"><span class="keyword">var</span> desiredWidth = <span class="number">100</span>;
<span class="keyword">var</span> viewport = page.getViewport(<span class="number">1</span>);
<span class="keyword">var</span> scale = desiredWidth / viewport.width;
<span class="keyword">var</span> scaledViewport = page.getViewport(scale);
</code></pre>
<h2 id="interactive-examples">Interactive examples</h2>
<h3 id="hello-world-with-document-load-error-handling">Hello World with document load error<span class="widont">&nbsp;</span>handling</h3>
<p>The example demonstrates how promises can be used to handle errors during loading.
It also demonstrates how to wait until page loaded and<span class="widont">&nbsp;</span>rendered.</p>
<script async src="//jsfiddle.net/pdfjs/9engc9mw/embed/js,html,result/"></script>
<h3 id="hello-world-using-base64-encoded-pdf">Hello World using base64 encoded<span class="widont">&nbsp;</span><span class="caps">PDF</span></h3>
<p>The <span class="caps">PDF</span>.js can accept any decoded base64 data as an<span class="widont">&nbsp;</span>array.</p>
<script async src="//jsfiddle.net/pdfjs/cq0asLqz/embed/js,html,result/"></script>
<h3 id="previous-next-example">Previous/Next example</h3>
<p>The same canvas cannot be used to perform to draw two pages at the same time
the example demonstrate how to wait on previous operation to be<span class="widont">&nbsp;</span>complete.</p>
<script async src="//jsfiddle.net/pdfjs/wagvs9Lf/embed/js,html,result/"></script>
</section>
</div>
</div>
<div class="container">
<footer>
<p>&copy;Mozilla and individual contributors</p><p>PDF.js is licensed under <a href="https://github.com/mozilla/pdf.js/blob/master/LICENSE">Apache</a>,
documentation is licensed under <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a></p>
</footer>
</div>
<!-- Bootstrap core JavaScript-->
<script src="../js/jquery-2.1.0.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

View file

@ -0,0 +1,252 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>viewer@pdf.js</em:id>
<em:localized>
<Description>
<em:locale>ar</em:locale>
<em:name>عارض PDF</em:name>
<em:description>يستخدم HTML5 لعرض ملفات PDF مباشره من خلال Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>bn-BD</em:locale>
<em:name>পিডিএফ ভিউয়ার</em:name>
<em:description>ফায়ারফক্স এ সরাসরি পিডিএফ দেখানোর জন্যে HTML5 ব্যাবহার করে।</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ca</em:locale>
<em:name>Visor d'arxius PDF</em:name>
<em:description>HTML5 per veure documents</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>cs</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Používá HTML5 pro zobrazení PDF souborů přímo ve Firefoxu.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>cy</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Yn defnyddio HTML5 i arddangos ffeiliau PDF yn uniongyrchol yn Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>da</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Benytter HTML5 til at vise PDF-filer direkte i Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>de</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Nutzt HTML5, um PDFs direkt in Firefox anzuzeigen.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>el</em:locale>
<em:name>Πρόγραμμα ανάγνωσης PDF</em:name>
<em:description>Χρήση HTML5 για εμφάνιση αρχείων PDF κατευθείαν μέσα στο Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>en-US</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Uses HTML5 to display PDF files directly in Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fa</em:locale>
<em:name>نمایش‌دهندهٔ پی‌دی‌اف</em:name>
<em:description>از اچ‌تی‌ام‌ال۵ برای نمایش پرونده‌های پی‌دی‌اف به‌صورت مستقیم در فایرفاکس استفاده می‌کند.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fi</em:locale>
<em:name>PDF Lukuohjelma</em:name>
<em:description>Näyttää PDF tiedostot suoraan Firefox:ssa HTML5:n avulla.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fr</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Utilise HTML5 pour afficher les documents PDF directement dans Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>he</em:locale>
<em:name>קורא PDF</em:name>
<em:description>הצגת קבצי PDF ישירות ב־Firefox באמצעות HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>it</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Usa HTML5 per visualizzare i file PDF direttamente in Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ja</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>HTML5を使用して、Firefoxで直接PDFファイルを表示します。</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ko</em:locale>
<em:name>PDF 뷰어</em:name>
<em:description>Firefox가 PDF 파일을 HTML5를 이용하여 직접 보여줍니다.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>lt</em:locale>
<em:name>PDF peržiūros programa</em:name>
<em:description>PDF bylos vaizduojamos tiesiogiai, naudojant HTML5 Firefox naršyklėje.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>nl</em:locale>
<em:name>PDF-viewer</em:name>
<em:description>Gebruikt HTML5 om PDF-bestanden direct in Firefox te openen.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>pl</em:locale>
<em:name>Przeglądarka PDF</em:name>
<em:description>Używa HTML5 do wyświetlania plików PDF bezpośrednio w Firefoksie.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>pt-BR</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Aprensenta PDFs no browser usando a tecnologia HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ro</em:locale>
<em:name>Cititor PDF</em:name>
<em:description>Afișează fișierele PDF direct în Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ru</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Показывает файлы PDF непосредственно в Firefox используя HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>sr</em:locale>
<em:name>ПДФ читач</em:name>
<em:description>Користи ХТМЛ5 да би приказао ПДФ датотеке директно у Фајерфоксу.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>sv</em:locale>
<em:name>PDF-läsare</em:name>
<em:description>Använder HTML5 för att visa PDF-filer direkt i Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>tr</em:locale>
<em:name>PDF Gösterici</em:name>
<em:description>Firefox içerisinde PDFleri göstermek için HTML5 kullanır.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>vi-VN</em:locale>
<em:name>Trình Xem PDF</em:name>
<em:description>Dùng HTML5 để hiện thị PDF trực tiếp trên FireFox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>zh-CN</em:locale>
<em:name>PDF 查看器</em:name>
<em:description>使用 HTML5 来支持在 Firefox 中直接显示 PDF 文件。</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>zh-TW</em:locale>
<em:name>PDF 瀏覽器</em:name>
<em:description>利用 HTML5 技術在 Firefox 中直接顯示 PDF 格式檔案。</em:description>
</Description>
</em:localized>
<em:name>PDF Viewer</em:name>
<em:version>1.7.365</em:version>
<!-- Firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- SeaMonkey -->
<em:targetApplication>
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
<em:minVersion>2.46</em:minVersion>
<em:maxVersion>2.51a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Android -->
<em:targetApplication>
<Description>
<em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Conkeror -->
<em:targetApplication>
<Description>
<em:id>{a79fe89b-6662-4ff4-8e88-09950ad4dfde}</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>9.9</em:maxVersion>
</Description>
</em:targetApplication>
<em:bootstrap>true</em:bootstrap>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:creator>Mozilla</em:creator>
<em:description>Uses HTML5 to display PDF files directly in Firefox.</em:description>
<em:homepageURL>https://github.com/mozilla/pdf.js/</em:homepageURL>
<em:type>2</em:type>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateURL>https://github.com/mozilla/pdf.js/raw/gh-pages/extensions/firefox/update.rdf</em:updateURL>
</Description>
</RDF>

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<RDF:Description about="urn:mozilla:extension:viewer@pdf.js">
<em:updates>
<RDF:Seq>
<RDF:li>
<RDF:Description>
<em:version>1.7.365</em:version>
<!-- Firefox -->
<em:targetApplication>
<RDF:Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateLink>https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi</em:updateLink>
</RDF:Description>
</em:targetApplication>
<!-- Android -->
<em:targetApplication>
<RDF:Description>
<em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateLink>https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi</em:updateLink>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</em:updates>
</RDF:Description>
</RDF:RDF>

View file

@ -0,0 +1,252 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>viewer@pdf.js</em:id>
<em:localized>
<Description>
<em:locale>ar</em:locale>
<em:name>عارض PDF</em:name>
<em:description>يستخدم HTML5 لعرض ملفات PDF مباشره من خلال Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>bn-BD</em:locale>
<em:name>পিডিএফ ভিউয়ার</em:name>
<em:description>ফায়ারফক্স এ সরাসরি পিডিএফ দেখানোর জন্যে HTML5 ব্যাবহার করে।</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ca</em:locale>
<em:name>Visor d'arxius PDF</em:name>
<em:description>HTML5 per veure documents</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>cs</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Používá HTML5 pro zobrazení PDF souborů přímo ve Firefoxu.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>cy</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Yn defnyddio HTML5 i arddangos ffeiliau PDF yn uniongyrchol yn Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>da</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Benytter HTML5 til at vise PDF-filer direkte i Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>de</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Nutzt HTML5, um PDFs direkt in Firefox anzuzeigen.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>el</em:locale>
<em:name>Πρόγραμμα ανάγνωσης PDF</em:name>
<em:description>Χρήση HTML5 για εμφάνιση αρχείων PDF κατευθείαν μέσα στο Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>en-US</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Uses HTML5 to display PDF files directly in Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fa</em:locale>
<em:name>نمایش‌دهندهٔ پی‌دی‌اف</em:name>
<em:description>از اچ‌تی‌ام‌ال۵ برای نمایش پرونده‌های پی‌دی‌اف به‌صورت مستقیم در فایرفاکس استفاده می‌کند.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fi</em:locale>
<em:name>PDF Lukuohjelma</em:name>
<em:description>Näyttää PDF tiedostot suoraan Firefox:ssa HTML5:n avulla.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>fr</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Utilise HTML5 pour afficher les documents PDF directement dans Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>he</em:locale>
<em:name>קורא PDF</em:name>
<em:description>הצגת קבצי PDF ישירות ב־Firefox באמצעות HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>it</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Usa HTML5 per visualizzare i file PDF direttamente in Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ja</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>HTML5を使用して、Firefoxで直接PDFファイルを表示します。</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ko</em:locale>
<em:name>PDF 뷰어</em:name>
<em:description>Firefox가 PDF 파일을 HTML5를 이용하여 직접 보여줍니다.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>lt</em:locale>
<em:name>PDF peržiūros programa</em:name>
<em:description>PDF bylos vaizduojamos tiesiogiai, naudojant HTML5 Firefox naršyklėje.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>nl</em:locale>
<em:name>PDF-viewer</em:name>
<em:description>Gebruikt HTML5 om PDF-bestanden direct in Firefox te openen.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>pl</em:locale>
<em:name>Przeglądarka PDF</em:name>
<em:description>Używa HTML5 do wyświetlania plików PDF bezpośrednio w Firefoksie.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>pt-BR</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Aprensenta PDFs no browser usando a tecnologia HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ro</em:locale>
<em:name>Cititor PDF</em:name>
<em:description>Afișează fișierele PDF direct în Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>ru</em:locale>
<em:name>PDF Viewer</em:name>
<em:description>Показывает файлы PDF непосредственно в Firefox используя HTML5.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>sr</em:locale>
<em:name>ПДФ читач</em:name>
<em:description>Користи ХТМЛ5 да би приказао ПДФ датотеке директно у Фајерфоксу.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>sv</em:locale>
<em:name>PDF-läsare</em:name>
<em:description>Använder HTML5 för att visa PDF-filer direkt i Firefox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>tr</em:locale>
<em:name>PDF Gösterici</em:name>
<em:description>Firefox içerisinde PDFleri göstermek için HTML5 kullanır.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>vi-VN</em:locale>
<em:name>Trình Xem PDF</em:name>
<em:description>Dùng HTML5 để hiện thị PDF trực tiếp trên FireFox.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>zh-CN</em:locale>
<em:name>PDF 查看器</em:name>
<em:description>使用 HTML5 来支持在 Firefox 中直接显示 PDF 文件。</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>zh-TW</em:locale>
<em:name>PDF 瀏覽器</em:name>
<em:description>利用 HTML5 技術在 Firefox 中直接顯示 PDF 格式檔案。</em:description>
</Description>
</em:localized>
<em:name>PDF Viewer</em:name>
<em:version>1.7.365</em:version>
<!-- Firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- SeaMonkey -->
<em:targetApplication>
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
<em:minVersion>2.46</em:minVersion>
<em:maxVersion>2.51a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Android -->
<em:targetApplication>
<Description>
<em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Conkeror -->
<em:targetApplication>
<Description>
<em:id>{a79fe89b-6662-4ff4-8e88-09950ad4dfde}</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>9.9</em:maxVersion>
</Description>
</em:targetApplication>
<em:bootstrap>true</em:bootstrap>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:creator>Mozilla</em:creator>
<em:description>Uses HTML5 to display PDF files directly in Firefox.</em:description>
<em:homepageURL>https://github.com/mozilla/pdf.js/</em:homepageURL>
<em:type>2</em:type>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateURL>https://github.com/mozilla/pdf.js/raw/gh-pages/extensions/firefox/update.rdf</em:updateURL>
</Description>
</RDF>

Binary file not shown.

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<RDF:Description about="urn:mozilla:extension:viewer@pdf.js">
<em:updates>
<RDF:Seq>
<RDF:li>
<RDF:Description>
<em:version>1.7.365</em:version>
<!-- Firefox -->
<em:targetApplication>
<RDF:Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateLink>https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi</em:updateLink>
</RDF:Description>
</em:targetApplication>
<!-- Android -->
<em:targetApplication>
<RDF:Description>
<em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
<em:minVersion>45.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
<!-- Use the raw link for updates so we we can use SSL. -->
<em:updateLink>https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi</em:updateLink>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</em:updates>
</RDF:Description>
</RDF:RDF>

116
features/index.html Normal file
View file

@ -0,0 +1,116 @@
<!DOCTYPE html>
<!--
Copyright 2012 Mozilla Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<meta charset="utf-8">
<title>Required features testing for PDF.js</title>
<style>
body { font-family: sans-serif; }
#tests { width: 920px; border-collapse:collapse; margin: 20px 0; }
#tests td, #tests th { border: 1px solid black; }
.name { text-align: left; }
.test, .emu, .impact, .area { text-align: center; }
.test-Skipped { background-color: #C0C0C0; }
.test-Success { background-color: #C0FFC0; }
.test-Failed { background-color: #FFC0C0; }
.test-Failed.emu-Yes { background-color: #FFFFC0; }
</style>
<style id="fontFaces">
@font-face { font-family: 'plus'; src: url(data:font/opentype;base64,AAEAAAAOAIAAAwBgRkZUTWNJJVkAAAZEAAAAHEdERUYANQAkAAAGHAAAAChPUy8yVkDi7gAAAWgAAABgY21hcPAZ92QAAAHcAAABUmN2dCAAIQJ5AAADMAAAAARnYXNw//8AAwAABhQAAAAIZ2x5Zk7Cd0UAAANEAAAA8GhlYWT8fgSnAAAA7AAAADZoaGVhBuoD7QAAASQAAAAkaG10eAwCALUAAAHIAAAAFGxvY2EA5gCyAAADNAAAAA5tYXhwAEoAPQAAAUgAAAAgbmFtZWDR73sAAAQ0AAABnnBvc3RBBJyBAAAF1AAAAD4AAQAAAAEAAPbZ2E5fDzz1AB8D6AAAAADM3+BPAAAAAMzf4E8AIQAAA2sDJAAAAAgAAgAAAAAAAAABAAADJAAAAFoD6AAAAAADawABAAAAAAAAAAAAAAAAAAAABAABAAAABgAMAAIAAAAAAAIAAAABAAEAAABAAC4AAAAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAARAAAAAAAAAAAAAAAFBmRWQAwABg8DADIP84AFoDJAAAgAAAAQAAAAAAAAAAAAAAIAABA+gAIQAAAAAD6AAAA+gASgBKAEoAAAADAAAAAwAAABwAAQAAAAAATAADAAEAAAAcAAQAMAAAAAgACAACAAAAYPAA8DD//wAAAGDwAPAw////oxAED9UAAQAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqAEQAXgB4AAAAAgAhAAABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6MfHApr9ZiECWAAAAQBKAAADawMkAAsAAAEzESEVBREjEQU1IQGakwE+/sKT/rABUAMk/qeHAv6+AUIBigAAAAEASgAAA2sDJAALAAABMxEhFQURIxEFNSEBmpMBPv7Ck/6wAVADJP6nhwL+vgFCAYoAAAABAEoAAANrAyQACwAAATMRIRUFESMRBTUhAZqTAT7+wpP+sAFQAyT+p4cC/r4BQgGKAAAAAAAOAK4AAQAAAAAAAAAHABAAAQAAAAAAAQAEACIAAQAAAAAAAgAGADUAAQAAAAAAAwAgAH4AAQAAAAAABAAEAKkAAQAAAAAABQAQANAAAQAAAAAABgAEAOsAAwABBAkAAAAOAAAAAwABBAkAAQAIABgAAwABBAkAAgAMACcAAwABBAkAAwBAADwAAwABBAkABAAIAJ8AAwABBAkABQAgAK4AAwABBAkABgAIAOEATQBvAHoAaQBsAGwAYQAATW96aWxsYQAAcABsAHUAcwAAcGx1cwAATQBlAGQAaQB1AG0AAE1lZGl1bQAARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABwAGwAdQBzACAAOgAgADEALQAxADIALQAyADAAMQAyAABGb250Rm9yZ2UgMi4wIDogcGx1cyA6IDEtMTItMjAxMgAAcABsAHUAcwAAcGx1cwAAVgBlAHIAcwBpAG8AbgAgADAAMAAxAC4AMAAwADAAIAAAVmVyc2lvbiAwMDEuMDAwIAAAcABsAHUAcwAAcGx1cwAAAAACAAAAAAAA/4MAMgAAAAEAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAIAQwECAQMHdW5pRjAwMAd1bmlGMDMwAAAAAAAB//8AAgABAAAADgAAABgAIAAAAAIAAQABAAUAAQAEAAAAAgAAAAEAAAABAAAAAAABAAAAAMmJbzEAAAAAzN/V8gAAAADM3+A1); }
</style>
<script src="tests.js"></script>
</head>
<body>
<h1>Required Features for PDF.js</h1>
<div>User Agent: <span id="userAgent"></span></div>
<script>
document.getElementById('userAgent').innerHTML = navigator.userAgent;
</script>
<table id="tests">
<caption>Tests Results</caption>
<thead>
<tr><th class="name">Name</th><th class="test">Test</th><th class="impact">Impact</th><th class="area">Area</th><th class="emu">Emulated</th><th></th></tr>
</thead>
<tbody id="output">
</tbody>
</table>
<div id="canvasHolder" style="display: none;">
</div>
<div id="plusfontusage" style="font-family: plus; visibility: hidden;">`</div>
<script>
var wikiPageBase = 'https://github.com/mozilla/pdf.js/wiki/Required-Browser-Features#user-content-';
var output = document.getElementById('output');
// for some browser textContent is absent using innerHTML :/
for (var i = 0; i < tests.length; i++) {
var test = tests[i];
var row = document.createElement('tr');
row.id = 'test-results-' + test.id;
var nameTd = document.createElement('td');
nameTd.className = 'name';
nameTd.innerHTML = test.name;
row.appendChild(nameTd);
var testTd = document.createElement('td');
testTd.className = 'test';
testTd.innerHTML = 'Running...';
row.appendChild(testTd);
var impactTd = document.createElement('td');
impactTd.className = 'impact';
impactTd.innerHTML = test.impact;
row.appendChild(impactTd);
var areaTd = document.createElement('td');
areaTd.className = 'area';
areaTd.innerHTML = test.area;
row.appendChild(areaTd);
var emulatedTd = document.createElement('td');
emulatedTd.className = 'emu';
row.appendChild(emulatedTd);
output.appendChild(row);
var infoTd = document.createElement('td');
infoTd.className = 'emu';
var infoA = document.createElement('a');
infoA.href = wikiPageBase + test.id;
infoA.innerHTML = 'info';
infoTd.appendChild(infoA);
row.appendChild(infoTd);
output.appendChild(row);
var publish = (function(row, testTd, emulatedTd) {
return function (result) {
row.className = 'test-' + result.output + ' emu-' + result.emulated;
testTd.innerHTML = result.output;
emulatedTd.innerHTML = result.emulated;
};
})(row, testTd, emulatedTd);
var result;
try {
result = test.run();
} catch (e) {
console.error('test run failed: ' + e);
result = { output: 'Failed', emulated: '?' };
}
if (result.then)
result.then(publish);
else
publish(result);
}
</script>
</body>
</html>

656
features/tests.js Normal file
View file

@ -0,0 +1,656 @@
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// simple and incomplete implementation of promises
function Promise() {}
Promise.prototype = {
then: function (callback) {
this.callback = callback;
if ('result' in this) callback(this.result);
},
resolve: function (result) {
if ('result' in this) return;
this.result = result;
if ('callback' in this) this.callback(result);
}
};
var isCanvasSupported = (function () {
try {
document.createElement('canvas').getContext('2d').fillStyle = '#FFFFFF';
return true;
} catch (e) {
return false;
}
})();
var tests = [
{
id: 'canvas',
name: 'CANVAS element is present',
run: function () {
if (isCanvasSupported) {
return { output: 'Success', emulated: '' };
} else {
return { output: 'Failed', emulated: 'No' };
}
},
impact: 'Critical',
area: 'Core'
},
{
id: 'get-literal',
name: 'get-literal properties',
run: function () {
try {
var Test = eval('var Test = { get t() { return {}; } }; Test');
Test.t.test = true;
return { output: 'Success', emulated: '' };
} catch (e) {
return { output: 'Failed', emulated: 'No' };
}
},
impact: 'Critical',
area: 'Core'
},
{
id: 'addEventListener',
name: 'addEventListener() is present',
run: function () {
var div = document.createElement('div');
if (div.addEventListener)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'No' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Uint8Array',
name: 'Uint8Array is present',
run: function () {
if (typeof Uint8Array !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Uint16Array',
name: 'Uint16Array is present',
run: function () {
if (typeof Uint16Array !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Int32Array',
name: 'Int32Array is present',
run: function () {
if (typeof Int32Array !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Float32Array',
name: 'Float32Array is present',
run: function () {
if (typeof Float32Array !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Float64Array',
name: 'Float64Array is present',
run: function () {
if (typeof Float64Array !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Object-create',
name: 'Object.create() is present',
run: function () {
if (Object.create instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Object-defineProperty',
name: 'Object.defineProperty() is present',
run: function () {
if (Object.defineProperty instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Object-defineProperty-DOM',
name: 'Object.defineProperty() can be used on DOM objects',
run: function () {
if (!(Object.defineProperty instanceof Function))
return { output: 'Skipped', emulated: '' };
try {
// some browsers (e.g. safari) cannot use defineProperty() on DOM objects
// and thus the native version is not sufficient
Object.defineProperty(new Image(), 'id', { value: 'test' });
return { output: 'Success', emulated: '' };
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Important',
area: 'Viewer'
},
{
id: 'get-literal-redefine',
name: 'Defined via get-literal properties can be redefined',
run: function () {
if (!(Object.defineProperty instanceof Function))
return { output: 'Skipped', emulated: '' };
try {
var TestGetter = eval('var Test = function () {}; Test.prototype = { get id() { } }; Test');
Object.defineProperty(new TestGetter(), 'id',
{ value: '', configurable: true, enumerable: true, writable: false });
return { output: 'Success', emulated: '' };
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Object-keys',
name: 'Object.keys() is present',
run: function () {
if (Object.keys instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'FileReader',
name: 'FileReader is present',
run: function () {
if (typeof FileReader !== 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'No' };
},
impact: 'Normal',
area: 'Demo'
},
{
id: 'FileReader-readAsArrayBuffer',
name: 'FileReader.prototype.readAsArrayBuffer() is present',
run: function () {
if (typeof FileReader === 'undefined')
return { output: 'Skipped', emulated: '' };
if (FileReader.prototype.readAsArrayBuffer instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Normal',
area: 'Demo'
},
{
id: 'XMLHttpRequest-overrideMimeType',
name: 'XMLHttpRequest.prototype.overrideMimeType() is present',
run: function () {
if (XMLHttpRequest.prototype.overrideMimeType instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Important',
area: 'Viewer'
},
{
id: 'XMLHttpRequest-response',
name: 'XMLHttpRequest.prototype.response is present',
run: function () {
var xhr = new XMLHttpRequest();
if ('response' in xhr)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'bota',
name: 'btoa() is present',
run: function () {
if ('btoa' in window)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'atob',
name: 'atob() is present',
run: function () {
if ('atob' in window)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'Function-bind',
name: 'Function.prototype.bind is present',
run: function () {
if (Function.prototype.bind instanceof Function)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'dataset',
name: 'dataset is present for HTML element',
run: function () {
var div = document.createElement('div');
if ('dataset' in div)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Important',
area: 'Viewer'
},
{
id: 'classList',
name: 'classList is present for HTML element',
run: function () {
var div = document.createElement('div');
if ('classList' in div)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Important',
area: 'Viewer'
},
{
id: 'console',
name: 'console object is present',
run: function () {
if ('console' in window)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'console-log-bind',
name: 'console.log is a bind-able function',
run: function () {
if (!('console' in window))
return { output: 'Skipped', emulated: '' };
if ('bind' in console.log)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Critical',
area: 'Core'
},
{
id: 'navigator-language',
name: 'navigator.language is present',
run: function () {
if ('language' in navigator)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'Yes' };
},
impact: 'Important',
area: 'Viewer'
},
{
id: 'fillRule-evenodd',
name: 'evenodd fill rule is supported',
run: function () {
if (!isCanvasSupported)
return { output: 'Skipped', emulated: '' };
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
ctx.rect(1, 1, 50, 50);
ctx.rect(5, 5, 41, 41);
ctx.fill('evenodd');
var data = ctx.getImageData(0, 0, 50, 50).data;
var isEvenOddFill = data[20 * 4 + 20 * 200 + 3] == 0 &&
data[2 * 4 + 2 * 200 + 3] != 0;
if (isEvenOddFill)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'No' };
},
impact: 'Important',
area: 'Core'
},
{
id: 'dash-array',
name: 'dashed line style is supported',
run: function () {
if (!isCanvasSupported)
return { output: 'Skipped', emulated: '' };
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
ctx.moveTo(0,5);
ctx.lineTo(50, 5);
ctx.lineWidth = 10;
if ('setLineDash' in ctx) {
ctx.setLineDash([10, 10]);
ctx.lineDashOffset = 0;
}
ctx.stroke();
var data = ctx.getImageData(0, 0, 50, 50).data;
var isDashed = data[5 * 4 + 5 * 200 + 3] != 0 &&
data[15 * 4 + 5 * 200 + 3] == 0;
if (isDashed)
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'No' };
},
impact: 'Important',
area: 'Core'
},
{
id: 'font-face',
name: '@font-face is supported/enabled',
run: function () {
if (!isCanvasSupported)
return { output: 'Skipped', emulated: '' };
var promise = new Promise();
setTimeout(function() {
if (checkCanvas('plus'))
promise.resolve({ output: 'Success', emulated: '' });
else
promise.resolve({ output: 'Failed', emulated: 'No' });
}, 2000);
return promise;
},
impact: 'Important',
area: 'Core'
},
{
id: 'font-face-sync',
name: '@font-face loading completion detection',
run: function () {
if (!isCanvasSupported)
return { output: 'Skipped', emulated: '' };
// Add the font-face rule to the document
var rule = '@font-face { font-family: \'plus-loaded\'; src: url(data:font/opentype;base64,AAEAAAAOAIAAAwBgRkZUTWNJJVkAAAZEAAAAHEdERUYANQAkAAAGHAAAAChPUy8yVkDi7gAAAWgAAABgY21hcPAZ92QAAAHcAAABUmN2dCAAIQJ5AAADMAAAAARnYXNw//8AAwAABhQAAAAIZ2x5Zk7Cd0UAAANEAAAA8GhlYWT8fgSnAAAA7AAAADZoaGVhBuoD7QAAASQAAAAkaG10eAwCALUAAAHIAAAAFGxvY2EA5gCyAAADNAAAAA5tYXhwAEoAPQAAAUgAAAAgbmFtZWDR73sAAAQ0AAABnnBvc3RBBJyBAAAF1AAAAD4AAQAAAAEAAPbZ2E5fDzz1AB8D6AAAAADM3+BPAAAAAMzf4E8AIQAAA2sDJAAAAAgAAgAAAAAAAAABAAADJAAAAFoD6AAAAAADawABAAAAAAAAAAAAAAAAAAAABAABAAAABgAMAAIAAAAAAAIAAAABAAEAAABAAC4AAAAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAARAAAAAAAAAAAAAAAFBmRWQAwABg8DADIP84AFoDJAAAgAAAAQAAAAAAAAAAAAAAIAABA+gAIQAAAAAD6AAAA+gASgBKAEoAAAADAAAAAwAAABwAAQAAAAAATAADAAEAAAAcAAQAMAAAAAgACAACAAAAYPAA8DD//wAAAGDwAPAw////oxAED9UAAQAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqAEQAXgB4AAAAAgAhAAABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6MfHApr9ZiECWAAAAQBKAAADawMkAAsAAAEzESEVBREjEQU1IQGakwE+/sKT/rABUAMk/qeHAv6+AUIBigAAAAEASgAAA2sDJAALAAABMxEhFQURIxEFNSEBmpMBPv7Ck/6wAVADJP6nhwL+vgFCAYoAAAABAEoAAANrAyQACwAAATMRIRUFESMRBTUhAZqTAT7+wpP+sAFQAyT+p4cC/r4BQgGKAAAAAAAOAK4AAQAAAAAAAAAHABAAAQAAAAAAAQAEACIAAQAAAAAAAgAGADUAAQAAAAAAAwAgAH4AAQAAAAAABAAEAKkAAQAAAAAABQAQANAAAQAAAAAABgAEAOsAAwABBAkAAAAOAAAAAwABBAkAAQAIABgAAwABBAkAAgAMACcAAwABBAkAAwBAADwAAwABBAkABAAIAJ8AAwABBAkABQAgAK4AAwABBAkABgAIAOEATQBvAHoAaQBsAGwAYQAATW96aWxsYQAAcABsAHUAcwAAcGx1cwAATQBlAGQAaQB1AG0AAE1lZGl1bQAARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABwAGwAdQBzACAAOgAgADEALQAxADIALQAyADAAMQAyAABGb250Rm9yZ2UgMi4wIDogcGx1cyA6IDEtMTItMjAxMgAAcABsAHUAcwAAcGx1cwAAVgBlAHIAcwBpAG8AbgAgADAAMAAxAC4AMAAwADAAIAAAVmVyc2lvbiAwMDEuMDAwIAAAcABsAHUAcwAAcGx1cwAAAAACAAAAAAAA/4MAMgAAAAEAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAIAQwECAQMHdW5pRjAwMAd1bmlGMDMwAAAAAAAB//8AAgABAAAADgAAABgAIAAAAAIAAQABAAUAAQAEAAAAAgAAAAEAAAABAAAAAAABAAAAAMmJbzEAAAAAzN/V8gAAAADM3+A1AA==); }';
var styleElement = document.getElementById('fontFaces');
var styleSheet = styleElement.sheet;
styleSheet.insertRule(rule, styleSheet.cssRules.length);
// checking if data urls are loaded synchronously
if (checkCanvas('plus-loaded'))
return { output: 'Success', emulated: '' };
// TODO checking if data urls are loaded asynchronously
var usageElement = document.createElement('div');
usageElement.setAttribute('style', 'font-family: plus-loaded; visibility: hidden;');
usageElement.textContent = '`';
document.body.appendChild(usageElement);
// verify is font is loaded
var promise = new Promise();
setTimeout(function() {
if (checkCanvas('plus-loaded'))
promise.resolve({ output: 'Failed', emulated: 'Yes' });
else
promise.resolve({ output: 'Failed', emulated: 'No' });
}, 2000);
return promise;
},
impact: 'Important',
area: 'Core'
},
{
id: 'Worker',
name: 'Worker is present',
run: function () {
if (typeof Worker != 'undefined')
return { output: 'Success', emulated: '' };
else
return { output: 'Failed', emulated: 'No' };
},
impact: 'Important',
area: 'Core'
},
{
id: 'Worker-Uint8Array',
name: 'Worker can receive/send typed arrays',
run: function () {
if (typeof Worker == 'undefined')
return { output: 'Skipped', emulated: '' };
try {
var worker = new Worker('worker-stub.js');
var promise = new Promise();
var timeout = setTimeout(function () {
promise.resolve({ output: 'Failed', emulated: '?' });
}, 5000);
worker.addEventListener('message', function (e) {
var data = e.data;
if (data.action == 'test' && data.result)
promise.resolve({ output: 'Success', emulated: '' });
else
promise.resolve({ output: 'Failed', emulated: 'Yes' });
}, false);
worker.postMessage({action: 'test',
data: new Uint8Array(60000000)}); // 60MB
return promise;
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Important',
area: 'Core'
},
{
id: 'Worker-transfers',
name: 'Worker can use transfers for postMessage',
run: function () {
if (typeof Worker == 'undefined')
return { output: 'Skipped', emulated: '' };
try {
var worker = new Worker('worker-stub.js');
var promise = new Promise();
var timeout = setTimeout(function () {
promise.resolve({ output: 'Failed', emulated: '?' });
}, 5000);
worker.addEventListener('message', function (e) {
var data = e.data;
if (data.action == 'test-transfers' && data.result)
promise.resolve({ output: 'Success', emulated: '' });
else
promise.resolve({ output: 'Failed', emulated: 'Yes' });
}, false);
var testObj = new Uint8Array([255]);
worker.postMessage({action: 'test-transfers',
data: testObj}, [testObj.buffer]);
return promise;
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Normal',
area: 'Core'
},
{
id: 'Worker-xhr-response',
name: 'XMLHttpRequest supports the response property in web workers',
run: function () {
if (typeof Worker == 'undefined')
return { output: 'Skipped', emulated: '' };
try {
var worker = new Worker('worker-stub.js');
var promise = new Promise();
var timeout = setTimeout(function () {
promise.resolve({ output: 'Failed', emulated: '?' });
}, 5000);
worker.addEventListener('message', function (e) {
var data = e.data;
if (data.action == 'xhr' && data.result)
promise.resolve({ output: 'Success', emulated: '' });
else
promise.resolve({ output: 'Failed', emulated: 'Yes' });
}, false);
worker.postMessage({action: 'xhr'});
return promise;
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Important',
area: 'Core'
},
{
id: 'Canvas Blend Mode',
name: 'Canvas supports extended blend modes',
run: function () {
var fail = { output: 'Failed', emulated: 'No' };
var ctx = document.createElement('canvas').getContext('2d');
ctx.canvas.width = 1;
ctx.canvas.height = 1;
var mode = 'difference';
ctx.globalCompositeOperation = mode;
if (ctx.globalCompositeOperation !== mode) {
return fail;
}
// Chrome supports setting the value, but it may not actually be
// implemented, so we have to actually test the blend mode.
ctx.fillStyle = 'red';
ctx.fillRect(0, 0, 1, 1);
ctx.fillStyle = 'blue';
ctx.fillRect(0, 0, 1, 1);
var pix = ctx.getImageData(0, 0, 1, 1).data;
if (pix[0] !== 255 || pix[1] !== 0 || pix[2] !== 255) {
return fail;
}
return { output: 'Success', emulated: '' };
},
impact: 'Important',
area: 'Core'
}
];
function checkCanvas(font) {
var canvas = document.createElement('canvas');
var canvasHolder = document.getElementById('canvasHolder');
canvasHolder.appendChild(canvas);
var ctx = canvas.getContext('2d');
ctx.font = '40px \'' + font + '\'';
ctx.fillText('\u0060', 0, 40);
var data = ctx.getImageData(0, 0, 40, 40).data;
canvasHolder.removeChild(canvas);
// detects plus figure
var minx = 40, maxx = 0, miny = 40, maxy = 0;
for (var y = 0; y < 40; y++) {
for (var x = 0; x < 40; x++) {
if (data[x * 4 + y * 160 + 3] == 0) continue; // no color
minx = Math.min(minx, x); miny = Math.min(miny, y);
maxx = Math.max(maxx, x); maxy = Math.max(maxy, y);
}
}
var colors = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
var counts = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
for (var y = miny; y <= maxy; y++) {
for (var x = minx; x <= maxx; x++) {
var i = Math.floor((x - minx) * 3 / (maxx - minx + 1));
var j = Math.floor((y - miny) * 3 / (maxy - miny + 1));
counts[i][j]++;
if (data[x * 4 + y * 160 + 3] != 0)
colors[i][j]++;
}
}
var isPlus =
colors[0][0] * 3 < counts[0][0] &&
colors[0][1] * 3 > counts[0][1] &&
colors[0][2] * 3 < counts[0][2] &&
colors[1][0] * 3 > counts[1][0] &&
colors[1][1] * 3 > counts[1][1] &&
colors[1][2] * 3 > counts[1][2] &&
colors[2][0] * 3 < counts[2][0] &&
colors[2][1] * 3 > counts[2][1] &&
colors[2][2] * 3 < counts[2][2];
return isPlus;
}

37
features/worker-stub.js Normal file
View file

@ -0,0 +1,37 @@
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
onmessage = function (e) {
var data = e.data;
switch (data.action) {
case 'test':
postMessage({action: 'test', result: data.data instanceof Uint8Array});
break;
case 'test-transfers':
postMessage({action: 'test-transfers', result: data.data[0] === 255});
break;
case 'xhr':
var xhr = new XMLHttpRequest();
var responseExists = 'response' in xhr;
// check if the property is actually implemented
try {
var dummy = xhr.responseType;
} catch (e) {
responseExists = false;
}
postMessage({action: 'xhr', result: responseExists});
break;
}
};

139
getting_started/index.html Normal file
View file

@ -0,0 +1,139 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../images/favicon.ico">
<title>Getting Started</title>
<!-- Bootstrap core CSS-->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="../css/main.css" rel="stylesheet">
</head>
<body>
<header class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="#" class="navbar-brand"><img src="../images/logo.svg"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="../">Home</a></li>
<li class="active"><a href="../getting_started/">Getting Started</a></li>
<li><a href="../examples/">Examples</a></li>
<li><a href="https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions">FAQ</a></li>
<li><a href="../api/">API</a></li>
</ul>
</div>
</div>
</header>
<div class="container">
<div class="starter-template">
<section class="content"><h1 id="getting-started">Getting Started</h1>
<p>An introduction to <span class="caps">PDF</span>.js with<span class="widont">&nbsp;</span>examples.</p>
<h2 id="introduction">Introduction</h2>
<p>Before downloading <span class="caps">PDF</span>.js please take a moment to understand the different layers of the <span class="caps">PDF</span>.js<span class="widont">&nbsp;</span>project.</p>
<table class="table">
<thead>
<tr>
<th>Layer</th>
<th>About</th>
</tr>
</thead>
<tbody>
<tr>
<td>Core</td>
<td>The core layer is where a binary <span class="caps">PDF</span> is parsed and interpreted. This layer is the foundation for all subsequent layers. It is not documented here because using it directly is considered an advanced usage and the <span class="caps">API</span> is likely to change. For an example of using the core layer see the <a href="https://github.com/brendandahl/pdf.js.utils/tree/master/browser"><span class="caps">PDF</span> Object Browser</a>
</td>
</tr>
<tr>
<td>Display</td>
<td>The display layer takes the core layer and exposes an easier to use <span class="caps">API</span> to render PDFs and get other information out of a document. This <span class="caps">API</span> is what the version number is based on.</td>
</tr>
<tr>
<td>Viewer</td>
<td>The viewer is built on the display layer and is the <span class="caps">UI</span> for <span class="caps">PDF</span> viewer in Firefox and the other browser extensions within the project. It can be a good starting point for building your own viewer. <em>However, we do ask if you plan to embed the viewer in your own site, that it not just be an unmodified version. Please re-skin it or build upon it.</em></td>
</tr>
</tbody>
</table>
<h2 id="download">Download</h2>
<div class="row">
<div class="col-md-6">
<h3>Pre-built</h3>
<p>
Includes the generic build of <span class="caps">PDF</span>.js and the<span class="widont">&nbsp;</span>viewer.
</p>
<span class="btn-group-vertical centered">
<a type="button" class="btn btn-primary" href="https://github.com/mozilla/pdf.js/releases/download/v1.6.210/pdfjs-1.6.210-dist.zip">Stable (v1.6.210)</a>
<a type="button" class="btn btn-warning" href="https://github.com/mozilla/pdf.js/releases/download/v1.7.225/pdfjs-1.7.225-dist.zip">Beta (v1.7.225)</a>
</span>
</div>
<div class="col-md-6">
<h3>Source</h3>
To get a local copy of the current code, clone it using git:
<pre><code>$ git clone git://github.com/mozilla/pdf.js.git
$ cd pdf.js
</code></pre>
</div>
</div>
<h2 id="file-layout-overview">File Layout Overview</h2>
<h3 id="prebuilt">Prebuilt</h3>
<pre><code>├── LICENSE
├── build/
│ ├── pdf.js - display layer
│ └── pdf.worker.js - core layer
└── web/
├── cmaps/ - character maps(required by core)
├── compatibility.js - polyfills for missing features
├── compressed.tracemonkey-pldi-09.pdf - test pdf
├── debugger.js - helpful pdf debugging features
├── images/ - images for the viewer and annotation icons
├── l10n.js - localization
├── locale/ - translation files
├── viewer.css - viewer style sheet
├── viewer.html - viewer html
└── viewer.js - viewer layer
</code></pre><h3 id="source">Source</h3>
<pre><code>├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── build/ - output of build steps (empty)
├── docs/ - this
├── examples/ - bare bones examples
├── extensions/ - various browser extensions
├── external/ - third party code
├── l10n/ - translation files
├── make.js - build script
├── package.json
├── src/
│ ├── core/ - core layer
│ ├── display/ - display layer
│ ├── images/
│ ├── pdf.js - wrapper file that everything is bundled into
│ ├── shared/ - shared code between core and display layers
│ └── worker_loader.js - used for developer builds to load worker files
├── test/ - reference, unit, and font tests
└── web/ - viewer layer
</code></pre><h2 id="trying-the-viewer">Trying the Viewer</h2>
<p>With the prebuilt or source version open <code>web/viewer.html</code> in a browser and the test pdf should load. Note: the worker is not enabled for file:// urls, so use a server. If youre using the source build and have node, you can run <code>gulp server</code>.</p>
<h2 id="more-information">More Information</h2>
<p>For a further walkthrough of a minimal viewer see the hello world example. More documentation can be found in our <a href="https://github.com/mozilla/pdf.js/wiki">wiki</a><span class="widont">&nbsp;</span>too.</p>
</section>
</div>
</div>
<div class="container">
<footer>
<p>&copy;Mozilla and individual contributors</p><p>PDF.js is licensed under <a href="https://github.com/mozilla/pdf.js/blob/master/LICENSE">Apache</a>,
documentation is licensed under <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a></p>
</footer>
</div>
<!-- Bootstrap core JavaScript-->
<script src="../js/jquery-2.1.0.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

BIN
images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

41
images/logo.svg Normal file
View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64">
<path
d="M 4.8364028,0.4891005 32.096378,4.5726641 59.163597,0.4891005 54.680408,57.805097 32.096378,63.510899 8.3116209,57.805097 z"
style="fill:#e5e7e8;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc" />
<path
d="M 32.096378,10.745857 53.925414,6.8301117 51.016574,53.81906 32.096378,58.517955 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<rect
width="34.027256"
height="19.136194"
x="3.7557135"
y="22.431904"
style="fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<rect
width="23.480518"
height="19.136194"
x="36.763767"
y="22.431904"
style="fill:#ff501a;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<g transform="matrix(0.42778543,0,0,0.42778543,58.617711,9.6737064)">
<path
d="m -120.53125,34.59375 0,35.1875 6.53125,0 0,-5.9375 0,-5.96875 8.875,0 4.15625,-3.71875 0,-7.71875 0,-7.71875 -4.21875,-4.125 -15.34375,0 z m 6.53125,6.8125 6.21875,0 0,10.21875 -6.21875,0 0,-10.21875 z"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m -98.125,34.59375 0,35.1875 16.125,0 3.75,-3.625 0,-27.96875 -3.96875,-3.59375 -15.90625,0 z m 6.8125,6.8125 6.8125,0 0,21.5625 -6.8125,0 0,-21.5625 z" id="path3056"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m -74.856072,34.602929 c 5.485697,0 10.971394,0 16.457091,0 0,2.269943 0,4.539887 0,6.80983 -3.404915,0 -6.809831,0 -10.214746,0 0,2.472069 0,4.944138 0,7.416206 2.93201,0.110496 5.864021,-0.110494 8.796031,0 l 0,3.366025 0,3.375914 c -2.93201,0.110495 -5.864021,-0.110495 -8.796031,0 l 0,7.146446 0,7.069702 c -2.080782,0 -4.161563,0 -6.242345,0 0,-11.728041 0,-23.456082 0,-35.184123 z"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m -42.8813,67.942723 -2.181762,-1.844329 c 0,-1.986871 0,-3.973742 0,-5.960613 2.175363,6.7e-4 4.350725,0.0013 6.526088,0.002 0,0.94581 0,1.891619 0,2.837429 1.891619,0 3.783239,0 5.674858,0 0,-9.458098 0,-18.916195 0,-28.374293 2.175363,-1.26e-4 4.350725,-2.52e-4 6.526088,-3.78e-4 0,10.498614 0,20.997229 0,31.495843 -1.454508,1.229554 -2.909019,2.459106 -4.363529,3.688658 -3.333325,0 -6.666651,0 -9.999976,0 -0.727237,-0.614768 -1.454563,-1.229595 -2.181767,-1.844308 z"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m -21.316836,67.942723 -2.109122,-1.844329 0,-5.978379 c 2.061011,0 4.392437,0.01978 6.453448,0.01978 0,0.94581 0,1.891619 0,2.837429 2.269943,0 4.539887,0 6.80983,0 0,-2.459105 0,-4.918211 0,-7.377316 -3.196954,0 -6.393909,0 -9.590863,0 l -3.745055,-3.688659 0,-6.80983 0,-6.80983 3.745055,-3.688658 c 3.863156,0 7.726313,0 11.5894692,0 l 4.2511106,3.688658 c -0.00204,1.797039 -0.00472,3.594077 -0.00737,5.391115 -2.0807816,0 -4.1615632,0 -6.2423448,0 0,-0.756648 0,-1.513295 0,-2.269943 -2.269943,0 -4.539887,0 -6.80983,0 0,2.459105 0,4.918211 0,7.377316 2.990126,0 5.980253,0 8.9703792,0 1.3605964,1.204585 4.0817956,3.613749 4.0817956,3.613749 0,4.555246 0,9.110492 0,13.665738 l -2.0892845,1.858745 -2.0892901,1.858745 -5.5180792,0 -5.51808,0 z"
style="fill:#ffffff;fill-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

55
index.html Normal file
View file

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="images/favicon.ico">
<title>PDF.js</title>
<!-- Bootstrap core CSS-->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/main.css" rel="stylesheet">
</head>
<body>
<header class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="#" class="navbar-brand"><img src="images/logo.svg"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="">Home</a></li>
<li><a href="getting_started/">Getting Started</a></li>
<li><a href="examples/">Examples</a></li>
<li><a href="https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions">FAQ</a></li>
<li><a href="api/">API</a></li>
</ul>
</div>
</div>
</header>
<div class="container">
<div class="starter-template">
<section class="content"><p><h1 class="text-center"><span class="caps">PDF</span>.js</h1></p>
<p class="text-center" style="font-size: 20px">A general-purpose, web standards-based platform for parsing and rendering<span class="widont">&nbsp;</span>PDFs.
</p>
<p class="text-center">
<a type="button" class="btn btn-lg btn-default" href="getting_started/#download">Download</a>
<a type="button" class="btn btn-lg btn-default" href="web/viewer.html">Demo</a>
<a type="button" class="btn btn-lg btn-default" href="https://github.com/mozilla/pdf.js">GitHub<span class="widont">&nbsp;</span>Project</a>
</p>
</section>
</div>
</div>
<div class="container">
<footer>
<p>&copy;Mozilla and individual contributors</p><p>PDF.js is licensed under <a href="https://github.com/mozilla/pdf.js/blob/master/LICENSE">Apache</a>,
documentation is licensed under <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a></p>
</footer>
</div>
<!-- Bootstrap core JavaScript-->
<script src="js/jquery-2.1.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

6
js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
js/jquery-2.1.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long

BIN
web/cmaps/78-EUC-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78-EUC-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78-RKSJ-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78ms-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/78ms-RKSJ-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/83pv-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/90ms-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/90ms-RKSJ-V.bcmap Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
web/cmaps/90pv-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/90pv-RKSJ-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Add-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Add-RKSJ-H.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Add-RKSJ-V.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Add-V.bcmap Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-0.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-1.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-2.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-3.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-4.bcmap Normal file

Binary file not shown.

BIN
web/cmaps/Adobe-GB1-5.bcmap Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more