mirror of
https://github.com/pdf2htmlEX/pdf2htmlEX.git
synced 2024-12-22 04:50:09 +00:00
[js]add a default config object
This commit is contained in:
parent
9657dc09f3
commit
01188c8ac7
3
TODO
3
TODO
@ -1,6 +1,3 @@
|
|||||||
move pdf2htmlEX.Viewer's contstants outside
|
|
||||||
default config object
|
|
||||||
|
|
||||||
- dots issue
|
- dots issue
|
||||||
- AdobeXML*.pdf
|
- AdobeXML*.pdf
|
||||||
- font issue
|
- font issue
|
||||||
|
@ -42,12 +42,7 @@ $css
|
|||||||
"""
|
"""
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
try{
|
try{
|
||||||
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({
|
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer();
|
||||||
container_id : 'page-container',
|
|
||||||
sidebar_id : 'sidebar',
|
|
||||||
outline_id : 'outline',
|
|
||||||
loading_indicator_cls : 'loading-indicator',
|
|
||||||
});
|
|
||||||
}catch(e){}
|
}catch(e){}
|
||||||
</script>
|
</script>
|
||||||
"""
|
"""
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
/* The namespace */
|
/* The namespace */
|
||||||
var pdf2htmlEX = (function(){
|
var pdf2htmlEX = (function(){
|
||||||
|
var pdf2htmlEX = new Object();
|
||||||
|
|
||||||
var CSS_CLASS_NAMES = {
|
var CSS_CLASS_NAMES = {
|
||||||
page_frame : '@CSS_PAGE_FRAME_CN@',
|
page_frame : '@CSS_PAGE_FRAME_CN@',
|
||||||
page_decoration : '@CSS_PAGE_DECORATION_CN@',
|
page_decoration : '@CSS_PAGE_DECORATION_CN@',
|
||||||
@ -20,16 +22,24 @@ var pdf2htmlEX = (function(){
|
|||||||
__dummy__ : 'no comma'
|
__dummy__ : 'no comma'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var DEFAULT_CONFIG = {
|
||||||
|
// id of the element to put the pages in
|
||||||
|
container_id : 'container_id',
|
||||||
|
// id of the element for sidebar (to open and close)
|
||||||
|
sidebar_id : 'sidebar_id',
|
||||||
|
// id of the element for outline
|
||||||
|
outline_id : 'outline_id',
|
||||||
|
// class for the loading indicator
|
||||||
|
loading_indicator_cls : 'loading_indicator_cls',
|
||||||
// How many page shall we preload that are below the last visible page
|
// How many page shall we preload that are below the last visible page
|
||||||
var DEFAULT_PAGES_TO_PRELOAD = 3;
|
preload_pages : 3,
|
||||||
|
// Smooth zoom is enabled when the number of pages shown is less than the threshold
|
||||||
// Smooth zoom is enabled when the number of pages shown is less then SMOOTH_ZOOM_THRESHOLD.
|
|
||||||
// Otherwise page content is hidden and redrawn after a delay (function schedule_render).
|
// Otherwise page content is hidden and redrawn after a delay (function schedule_render).
|
||||||
var SMOOTH_ZOOM_THRESHOLD = 4; // 0: disable smooth zoom optimizations (less CPU usage but flickering on zoom)
|
// 0: disable smooth zoom optimizations (less CPU usage but flickering on zoom)
|
||||||
|
smooth_zoom_threshold : 4,
|
||||||
|
|
||||||
|
__dummy__ : 'no comma'
|
||||||
|
};
|
||||||
var pdf2htmlEX = new Object();
|
|
||||||
|
|
||||||
var EPS = 1e-6;
|
var EPS = 1e-6;
|
||||||
var invert = function(ctm) {
|
var invert = function(ctm) {
|
||||||
@ -140,11 +150,7 @@ var pdf2htmlEX = (function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
pdf2htmlEX.Viewer = function(config) {
|
pdf2htmlEX.Viewer = function(config) {
|
||||||
this.container_id = config['container_id'];
|
this.config = $.extend({}, DEFAULT_CONFIG, config);
|
||||||
this.sidebar_id = config['sidebar_id'];
|
|
||||||
this.outline_id = config['outline_id'];
|
|
||||||
this.loading_indicator_cls = config['loading_indicator_cls'];
|
|
||||||
this.pages_to_preload = config['pages_to_preload'] || DEFAULT_PAGES_TO_PRELOAD;
|
|
||||||
this.pages_loading = {};
|
this.pages_loading = {};
|
||||||
this.init_before_loading_content();
|
this.init_before_loading_content();
|
||||||
|
|
||||||
@ -164,10 +170,10 @@ var pdf2htmlEX = (function(){
|
|||||||
},
|
},
|
||||||
|
|
||||||
init_after_loading_content : function() {
|
init_after_loading_content : function() {
|
||||||
this.$sidebar = $('#'+this.sidebar_id);
|
this.$sidebar = $('#'+this.config['sidebar_id']);
|
||||||
this.$outline = $('#'+this.outline_id);
|
this.$outline = $('#'+this.config['outline_id']);
|
||||||
this.$container = $('#'+this.container_id);
|
this.$container = $('#'+this.config['container_id']);
|
||||||
this.$loading_indicator = $('.'+this.loading_indicator_cls);
|
this.$loading_indicator = $('.'+this.config['loading_indicator_cls']);
|
||||||
|
|
||||||
// Open the outline if nonempty
|
// Open the outline if nonempty
|
||||||
if(this.$outline.children().length > 0) {
|
if(this.$outline.children().length > 0) {
|
||||||
@ -253,7 +259,7 @@ var pdf2htmlEX = (function(){
|
|||||||
}
|
}
|
||||||
// Concurrent prefetch of the next pages
|
// Concurrent prefetch of the next pages
|
||||||
if (pages_to_preload === undefined)
|
if (pages_to_preload === undefined)
|
||||||
pages_to_preload = this.pages_to_preload;
|
pages_to_preload = this.config['preload_pages'];
|
||||||
|
|
||||||
if (--pages_to_preload > 0)
|
if (--pages_to_preload > 0)
|
||||||
_.load_page(idx+1, pages_to_preload);
|
_.load_page(idx+1, pages_to_preload);
|
||||||
@ -359,7 +365,7 @@ var pdf2htmlEX = (function(){
|
|||||||
var pl = this.pages;
|
var pl = this.pages;
|
||||||
|
|
||||||
var prerendering_enabled = false;
|
var prerendering_enabled = false;
|
||||||
if (SMOOTH_ZOOM_THRESHOLD > 0) {
|
if (this.config['smooth_zoom_threshold'] > 0) {
|
||||||
// Immediate rendering optimizations enabled to improve reactiveness while zooming
|
// Immediate rendering optimizations enabled to improve reactiveness while zooming
|
||||||
// Find out which pages are visible
|
// Find out which pages are visible
|
||||||
var min_visible, max_visible;
|
var min_visible, max_visible;
|
||||||
@ -370,7 +376,7 @@ var pdf2htmlEX = (function(){
|
|||||||
-- max_visible;
|
-- max_visible;
|
||||||
|
|
||||||
// If less then the threshold, enable prerendering on selected pages
|
// If less then the threshold, enable prerendering on selected pages
|
||||||
if (max_visible - min_visible + 1 < SMOOTH_ZOOM_THRESHOLD)
|
if (max_visible - min_visible + 1 < this.config['smooth_zoom_threshold'])
|
||||||
prerendering_enabled = true;
|
prerendering_enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user