Commit c234f362 by Brian Wilson

add full version of pdf.js, and main files for jquery-pdfdoc

parent 0d3b566d
div.h-pdf-container {
width: 100%;
height: 100%;
text-align: center;
background: #444 url("images/texture.png");
font: 11px verdana;
}
.h-pdf-toolbar {
background-image: url("images/texture.png"), -moz-linear-gradient(rgba(81, 81, 81, 0.99), rgba(68, 68, 68, 0.95));
border-left: 1px solid rgba(0, 0, 0, 0.5);
box-shadow: 1px 0 0 rgba(255, 255, 255, 0.08) inset, 0 1px 1px rgba(0, 0, 0, 0.15) inset, 0 -1px 0 rgba(255, 255, 255, 0.05) inset, 0 1px 0 rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.1);
height: 32px;
position: relative;
}
.h-pdf-toolbar-left {
}
.h-pdf-toolbar-right {
float: right;
}
.h-pdf-toolbar-center-outer {
position: relative;
float: right;
right: 50%;
}
.h-pdf-toolbar-center {
position: relative;
float: right;
right: -50%;
}
.h-pdf-toolbar-group {
padding: 0px;
margin: 3px;
border: 1px outset transparent;
display: inline-block;
float: left;
line-height: 8px;
}
.h-pdf-toolbar-group .h-pdf-button:last-child {
border-left: 1px inset rgba(0,0,0,0.2);
}
.h-pdf-toolbar-group:hover {
border-color: rgba(0,0,0,0.3);
border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05);
}
.h-pdf-button {
width: 16px;
height: 16px;
padding: 4px;
display: inline-block;
background-repeat: no-repeat;
background-position: 4px 4px;
}
.h-pdf-button:hover {
background-color: rgba(0,0,0,0.1);
}
.h-pdf-button:active {
background-color: rgba(255,255,255,0.1);
}
.h-pdf-next {
background-image: url("images/toolbarButton-pageDown.png");
}
.h-pdf-prev {
background-image: url("images/toolbarButton-pageUp.png");
}
.h-pdf-pagetext, .h-pdf-pageinput, .h-pdf-pagecount {
position: relative;
float: left;
margin-left: 10px;
line-height: 30px;
}
.h-pdf-pagetext, .h-pdf-pagecount {
color: #d8d8d8;
}
.h-pdf-pageinput {
position: relative;
margin-top: 5px;
width: 50px;
background-color: rgba(255, 255, 255, 0.09);
background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
border-radius: 2px 2px 2px 2px;
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(255, 255, 255, 0.05);
color: #F2F2F2;
text-align: right;
padding: 3px 6px;
margin-left: 5px;
}
.h-pdf-pageinput:focus {
background-color: rgba(255, 255, 255, 0.15);
border-color: rgba(76, 183, 255, 0.8) rgba(76, 183, 255, 0.85) rgba(76, 183, 255, 0.9);
}
.h-pdf-zoom {
position: relative;
float: left;
margin: 4px 15px;
line-height: 22px;
width: 120px;
overflow: hidden;
border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05);
background: url("images/toolbarButton-menuArrows.png") no-repeat scroll 95% center transparent;
}
.h-pdf-zoom:hover {
background-color: rgba(0,0,0,0.2);
}
.h-pdf-zoom-select {
-moz-appearance: none;
background: none repeat scroll 0 0 transparent;
border: medium none;
color: #F2F2F2;
font-size: 12px;
margin: 0;
min-width: 140px;
padding: 0;
}
.h-pdf-download {
float: right;
display: inline-block;
margin: 3px;
border: 1px outset transparent;
background-image: url("images/toolbarButton-download.png");
}
.h-pdf-download:hover {
border-color: rgba(0,0,0,0.3);
border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05);
}
.h-pdf-canvas-container {
overflow: auto;
border-width: 0px 1px 1px;
border-style: solid;
border-color: rgba(150,150,150,0.1);
position: absolute;
right: 0px;
bottom: 0px;
left: 0px;
}
.h-pdf-canvas {
background: #fff;
box-shadow: 4px 4px 8px rgba(0,0,0,0.2);
border: 1px solid rgba(0,0,0,0.3);
margin: 15px;
}
.h-pdf-progress, .h-pdf-progress-bar, .h-pdf-progress-bar-overlay {
border-radius: 5px;
}
.h-pdf-progress {
position: absolute;
width: 200px;
height: 25px;
border: 1px inset rgba(0,0,0,0.2);
box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
background-image: linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%);
background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%);
background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%);
background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%);
background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%);
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.25, rgba(0,0,0,0.2)),
color-stop(0.75, rgba(0,0,0,0.1))
);
}
.h-pdf-progress-bar {
height: 100%;
width: 0%;
background-image: linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%);
background-image: -o-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%);
background-image: -moz-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%);
background-image: -webkit-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%);
background-image: -ms-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%);
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.14, rgb(4,115,143)),
color-stop(0.57, rgb(0,146,179))
);
}
.h-pdf-progress-bar-overlay {
width: 100%;
height: 100%;
background-image: url("images/texture2.png");
background-position: right;
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="40"
height="40">
<path
d="M 1.5006714,23.536225 6.8925879,18.994244 14.585721,26.037937 34.019683,4.5410479 38.499329,9.2235032 14.585721,35.458952 z"
id="path4"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:1.25402856;stroke-opacity:1" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
height="40"
width="40">
<rect
style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
width="33.76017"
height="33.76017"
x="3.119915"
y="3.119915" />
<path
d="m 20.677967,8.54499 c -7.342801,0 -13.295293,4.954293 -13.295293,11.065751 0,2.088793 0.3647173,3.484376 1.575539,5.150563 L 6.0267418,31.45501 13.560595,29.011117 c 2.221262,1.387962 4.125932,1.665377 7.117372,1.665377 7.3428,0 13.295291,-4.954295 13.295291,-11.065753 0,-6.111458 -5.952491,-11.065751 -13.295291,-11.065751 z"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.93031836;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="40"
height="40">
<g
transform="translate(0,-60)"
id="layer1">
<rect
width="36.460953"
height="34.805603"
x="1.7695236"
y="62.597198"
style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.30826771;stroke-opacity:1" />
<g
transform="matrix(0.88763677,0,0,0.88763677,2.2472646,8.9890584)">
<path
d="M 20,64.526342 C 11.454135,64.526342 4.5263421,71.454135 4.5263421,80 4.5263421,88.545865 11.454135,95.473658 20,95.473658 28.545865,95.473658 35.473658,88.545865 35.473658,80 35.473658,71.454135 28.545865,64.526342 20,64.526342 z m -0.408738,9.488564 c 3.527079,0 6.393832,2.84061 6.393832,6.335441 0,3.494831 -2.866753,6.335441 -6.393832,6.335441 -3.527079,0 -6.393832,-2.84061 -6.393832,-6.335441 0,-3.494831 2.866753,-6.335441 6.393832,-6.335441 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.02768445;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
d="m 7.2335209,71.819938 4.9702591,4.161823 c -1.679956,2.581606 -1.443939,6.069592 0.159325,8.677725 l -5.1263071,3.424463 c 0.67516,1.231452 3.0166401,3.547686 4.2331971,4.194757 l 3.907728,-4.567277 c 2.541952,1.45975 5.730694,1.392161 8.438683,-0.12614 l 3.469517,6.108336 c 1.129779,-0.44367 4.742234,-3.449633 5.416358,-5.003859 l -5.46204,-4.415541 c 1.44319,-2.424098 1.651175,-5.267515 0.557303,-7.748623 l 5.903195,-3.833951 C 33.14257,71.704996 30.616217,69.018606 29.02952,67.99296 l -4.118813,4.981678 C 22.411934,71.205099 18.900853,70.937534 16.041319,72.32916 l -3.595408,-5.322091 c -1.345962,0.579488 -4.1293881,2.921233 -5.2123901,4.812869 z m 8.1010311,3.426672 c 2.75284,-2.446266 6.769149,-2.144694 9.048998,0.420874 2.279848,2.56557 2.113919,6.596919 -0.638924,9.043185 -2.752841,2.446267 -6.775754,2.13726 -9.055604,-0.428308 -2.279851,-2.565568 -2.107313,-6.589485 0.64553,-9.035751 z"
style="fill:#000000;fill-opacity:1;stroke:none" />
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64">
<path
d="M 32.003143,1.4044602 57.432701,62.632577 6.5672991,62.627924 z"
style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:1.00493038;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64">
<path
d="M 25.470843,9.4933766 C 25.30219,12.141818 30.139101,14.445969 34.704831,13.529144 40.62635,12.541995 41.398833,7.3856498 35.97505,5.777863 31.400921,4.1549155 25.157674,6.5445892 25.470843,9.4933766 z M 4.5246282,17.652051 C 4.068249,11.832873 9.2742983,5.9270407 18.437379,3.0977088 29.751911,-0.87185184 45.495663,1.4008022 53.603953,7.1104009 c 9.275765,6.1889221 7.158128,16.2079421 -3.171076,21.5939521 -1.784316,1.635815 -6.380222,1.21421 -7.068351,3.186186 -1.04003,0.972427 -1.288046,2.050158 -1.232864,3.168203 1.015111,2.000108 -3.831548,1.633216 -3.270553,3.759574 0.589477,5.264544 -0.179276,10.53738 -0.362842,15.806257 -0.492006,2.184998 1.163456,4.574232 -0.734888,6.610642 -2.482919,2.325184 -7.30604,2.189143 -9.193497,-0.274767 -2.733688,-1.740626 -8.254447,-3.615254 -6.104247,-6.339626 3.468112,-1.708686 -2.116197,-3.449897 0.431242,-5.080274 5.058402,-1.39256 -2.393215,-2.304318 -0.146889,-4.334645 3.069198,-0.977415 2.056986,-2.518352 -0.219121,-3.540397 1.876567,-1.807151 1.484149,-4.868919 -2.565455,-5.942205 0.150866,-1.805474 2.905737,-4.136876 -1.679967,-5.20493 C 10.260902,27.882167 4.6872697,22.95045 4.5245945,17.652051 z"
id="path604"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:1.72665179;stroke-opacity:1" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64">
<path
d="M 32.003143,10.913072 57.432701,53.086929 6.567299,53.083723 z"
id="path2985"
style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:0.83403099;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="40"
height="40">
<rect
width="36.075428"
height="31.096582"
x="1.962286"
y="4.4517088"
id="rect4"
style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.23004246;stroke-opacity:1" />
<rect
width="27.96859"
height="1.5012145"
x="6.0157046"
y="10.285"
id="rect6"
style="fill:#000000;fill-opacity:1;stroke:none" />
<rect
width="27.96859"
height="0.85783684"
x="6.0157056"
y="23.21689"
id="rect8"
style="fill:#000000;fill-opacity:1;stroke:none" />
<rect
width="27.96859"
height="0.85783684"
x="5.8130345"
y="28.964394"
id="rect10"
style="fill:#000000;fill-opacity:1;stroke:none" />
<rect
width="27.96859"
height="0.85783684"
x="6.0157046"
y="17.426493"
id="rect12"
style="fill:#000000;fill-opacity:1;stroke:none" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="40"
height="40">
<rect
width="33.76017"
height="33.76017"
x="3.119915"
y="3.119915"
style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
d="m 17.692678,34.50206 0,-16.182224 c -1.930515,-0.103225 -3.455824,-0.730383 -4.57593,-1.881473 -1.12011,-1.151067 -1.680164,-2.619596 -1.680164,-4.405591 0,-1.992435 0.621995,-3.5796849 1.865988,-4.7617553 1.243989,-1.1820288 3.06352,-1.7730536 5.458598,-1.7730764 l 9.802246,0 0,2.6789711 -2.229895,0 0,26.3251486 -2.632515,0 0,-26.3251486 -3.45324,0 0,26.3251486 z"
style="font-size:29.42051125px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.07795751;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
</svg>
/**
* jQuery PDF-DOC Plugin
*
* LICENSE
*
* This source file is subject to the Apache Licence, Version 2.0 that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://dev.funkynerd.com/projects/hazaar/wiki/licence
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@funkynerd.com so we can send you a copy immediately.
*
* @copyright Copyright (c) 2012 Jamie Carl (http://www.funkynerd.com)
* @license http://dev.funkynerd.com/projects/hazaar/wiki/licence Apache Licence, Version 2.0
* @version 0.7
*/
//PDFJS.workerSrc = 'hazaar/js/pdf.js';
PDFJS.disableWorker = true;
(function ( $ ){
$.fn.PDFDoc = function( options ) {
renderPage = function (pdf, the_page, canvas, scale){
// Using promise to fetch the page
pdf.getPage(the_page).then(function(page) {
var viewport = page.getViewport(scale);
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
page.render( { canvasContext: context, viewport: viewport } );
$('#h-page-input').val(the_page);
});
}
var settings = $.extend( {
'page' : 1,
'scale' : 1
}, options);
if(!settings.source){
$.error('No PDF document source was given');
return this;
}
var mydoc = this;
var page_count = 0;
mydoc.addClass('h-pdf-container');
var canvas_container = $('<div>', { 'class' : 'h-pdf-canvas-container' } );
var canvas = $('<canvas>', { 'class' : 'h-pdf-canvas'});
canvas.dblclick(function(event){
var scale = mydoc.data('scale');
scale += 0.5;
mydoc.data('scale', scale);
renderPage(mydoc.data('pdf'), mydoc.data('current_page'), $(this).get()[0], scale);
$('#page-zoom').val(scale);
});
/*
*Create the toolbar layouts
*/
var toolbar = $('<div>', { 'class' : 'h-pdf-toolbar'});
var toolbar_left = $('<div>', { 'class' : 'h-pdf-toolbar-left' } );
var toolbar_right = $('<div>', { 'class' : 'h-pdf-toolbar-right' } );
var toolbar_center = $('<div>').addClass('h-pdf-toolbar-center');
toolbar.append(toolbar_left).append(toolbar_right).append(toolbar_center);
mydoc.append(toolbar);
/*
* Create the nav buttons
*/
var but_next = $('<div>', { 'class' : 'h-pdf-button h-pdf-next', 'title' : 'Next Page' } ).click(function(){
var current_page = mydoc.data('current_page');
if(current_page < page_count){
current_page++;
renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale'));
}
mydoc.data('current_page', current_page);
});
var but_prev = $('<div>', { 'class' : 'h-pdf-button h-pdf-prev', 'title' : 'Previous Page' } ).click(function(){
var current_page = mydoc.data('current_page');
if(current_page > 1){
current_page--;
renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale'));
}
mydoc.data('current_page', current_page);
});
/*
* Create the page input
*/
var page_text = $('<span>', { 'class' : 'h-pdf-pagetext', 'html' : 'Page:' } );
var page_input = $('<input>', { 'type' : 'text', 'class' : 'h-pdf-pageinput', 'value' : settings.page, 'id' : 'h-page-input' } );
page_input.keypress(function(event){
if(event.which == 13){
current_page = $(this).val();
renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale'));
mydoc.data('current_page', current_page);
}else if((event.which < 48 || event.which > 57) && ( event.which != 8 && event.which != 0)){
return false;
}
});
var of_text = $('<span>', { 'class' : 'h-pdf-pagetext', 'html' : 'of ' });
var pages_text = $('<span>', { 'class' : 'h-pdf-pagecount', 'html' : page_count, 'id' : 'pagecount' });
/*
* Create the zoom droplist
*/
var zoomModes = { 3 : '300%', 2 : '200%', 1.5 : '150%', 1 : 'Actual Size', 0.5 : 'Half Size', 0.25 : '25%', 0.1 : '10%' };
var zoom = $('<span>', { 'class' : 'h-pdf-zoom' } );
var zoom_select = $('<select>', { 'class' : 'h-pdf-zoom-select', 'id' : 'page-zoom' } );
zoom.append(zoom_select);
$.each( zoomModes, function(key, value) {
var op = zoom_select.append($("<option></option>").attr("value",key).text(value));
});
zoom_select.change(function(){
var scale = parseFloat($(this).val());
renderPage(mydoc.data('pdf'), mydoc.data('current_page'), canvas.get()[0], scale);
mydoc.data('scale', scale);
}).val(settings.scale);
/*
* Add the nav buttons, page input and zoom droplist to the center toolbar
*/
toolbar_center.append($('<div>', { 'class' : 'h-pdf-toolbar-group' } ).append(but_prev).append(but_next))
.append(page_text)
.append(page_input)
.append(of_text)
.append(pages_text)
.append(zoom);
toolbar.append($('<div>', { 'class' : 'h-pdf-toolbar-center-outer' } ).append(toolbar_center));
/*
* Create the direct download button
*/
var but_dl = $('<div>', { 'class' : 'h-pdf-button h-pdf-download' } );
but_dl.click(function(){
var delim = '?';
if( url =~ /\?/){
delim = '&';
}
var url = settings.source + delim + "action=download";
window.open(url, '_parent');
});
toolbar_right.append(but_dl);
var resize_canvas = function(){
canvas_container.css('height', mydoc.height() - toolbar.height());
}
resize_canvas();
mydoc.append(canvas_container.append(progress));
var progress = $('<div>', { 'class' : 'h-pdf-progress' } );
progress.css( { top : (canvas_container.height() / 2) - (progress.height() / 2), left : (canvas_container.width() / 2) - (progress.width() / 2) } );
progress.append($('<div>', { 'class' : 'h-pdf-progress-bar' } ).append($('<div>', { 'class' : 'h-pdf-progress-bar-overlay' } )));
canvas_container.append(progress);
PDFJS.getDocument(settings.source).then(
function getDocumentCallback(pdf) {
canvas_container.html(canvas);
page_count = pdf.numPages;
$('#pagecount').html(page_count);
mydoc.data('pdf', pdf);
renderPage(pdf, settings.page, canvas.get()[0], settings.scale);
},
function getDocumentError(message, exception) {
},
function getDocumentProgress(progressData) {
var pct = 100 * (progressData.loaded / progressData.total);
progress.children('div').css('width', pct + '%');
}
);
this.data('current_page', settings.page);
this.data('scale', settings.scale);
$(window).resize(function(){
resize_canvas();
});
return this;
};
})( jQuery );
14bab45163f93a24ad55d82faafc3e56bce0a222
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment