mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-16 15:19:06 +00:00
improved pdf-view
This commit is contained in:
@@ -699,7 +699,8 @@ table img {
|
|||||||
border:1px solid #eee;
|
border:1px solid #eee;
|
||||||
}
|
}
|
||||||
#docu-view,
|
#docu-view,
|
||||||
#svg-view {
|
#svg-view,
|
||||||
|
#pdf-view {
|
||||||
background:#fff;
|
background:#fff;
|
||||||
}
|
}
|
||||||
#svg-view {
|
#svg-view {
|
||||||
|
@@ -1,16 +1,11 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html dir="ltr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
<title>pdf full view</title>
|
<title></title>
|
||||||
<link rel="stylesheet" href="{{ MEDIA_URL }}pdf_full_view/viewer.css"/>
|
<link rel="stylesheet" href="{{ MEDIA_URL }}pdf_full_view/viewer.css"/>
|
||||||
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/compatibility.js"></script>
|
|
||||||
<link rel="resource" type="application/l10n" href="{{ MEDIA_URL }}pdf_full_view/locale.properties"/>
|
<link rel="resource" type="application/l10n" href="{{ MEDIA_URL }}pdf_full_view/locale.properties"/>
|
||||||
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/l10n.js"></script>
|
|
||||||
<script type="text/javascript" src="{{ MEDIA_URL }}js/pdf.js"></script>
|
|
||||||
<script type="text/javascript">PDFJS.workerSrc = "{{ MEDIA_URL }}js/pdf.js";</script>
|
|
||||||
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/debugger.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body data="{{ file_src }}">
|
<body data="{{ file_src }}">
|
||||||
@@ -144,6 +139,11 @@
|
|||||||
|
|
||||||
</div> <!-- outerContainer -->
|
</div> <!-- outerContainer -->
|
||||||
<div id="printContainer"></div>
|
<div id="printContainer"></div>
|
||||||
|
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/compatibility.js"></script>
|
||||||
|
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/l10n.js"></script>
|
||||||
|
<script type="text/javascript" src="{{ MEDIA_URL }}js/pdf.js"></script>
|
||||||
|
<script type="text/javascript">PDFJS.workerSrc = "{{ MEDIA_URL }}js/pdf.js";</script>
|
||||||
|
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/debugger.js"></script>
|
||||||
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/view.js"></script>
|
<script type="text/javascript" src="{{ MEDIA_URL }}pdf_full_view/view.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
} else if (filetype == 'PDF') {
|
} else if (filetype == 'PDF') {
|
||||||
$.getScript('{{MEDIA_URL}}js/pdf.js', function() {
|
$.getScript('{{MEDIA_URL}}js/pdf.js', function() {
|
||||||
PDFJS.workerSrc = '{{MEDIA_URL}}js/pdf.js';
|
PDFJS.workerSrc = '{{MEDIA_URL}}js/pdf.js';
|
||||||
$('#file-view').html('<div id="pdf-op-bar"><button id="prev">Prev</button> <button id="next">Next</button><label for="page-number">Page:</label><input type="number" id="page-number" value="1" min="1"></input> of <span id="page-nums"></span><button id="full-screen">Full Screen</button></div><canvas data="{{ raw_path }}" id="pdf-view"></canvas>').css({'text-align':'center', 'padding':'30px 0'});
|
$('#file-view').html('<div id="pdf-op-bar" class="vh"><button id="prev">Prev</button> <button id="next">Next</button><label for="page-number">Page:</label><input type="number" id="page-number" value="1" min="1"></input> of <span id="page-nums"></span><button id="full-screen">Full Screen</button></div><canvas data="{{ raw_path }}" id="pdf-view" class="vh"></canvas>').css({'text-align':'center', 'padding':'30px 0'});
|
||||||
var seahub_getPage = function (pdf, page_number) {
|
var seahub_getPage = function (pdf, page_number) {
|
||||||
pdf.getPage(page_number).then(function(page) {
|
pdf.getPage(page_number).then(function(page) {
|
||||||
var scale = 1.5;
|
var scale = 1.5;
|
||||||
@@ -41,6 +41,7 @@
|
|||||||
$('#page-nums').html(pdf.numPages);
|
$('#page-nums').html(pdf.numPages);
|
||||||
$('#page-number').attr('max', pdf.numPages).css('width', String(pdf.numPages).length * 6 + 10);
|
$('#page-number').attr('max', pdf.numPages).css('width', String(pdf.numPages).length * 6 + 10);
|
||||||
seahub_getPage(pdf, 1);
|
seahub_getPage(pdf, 1);
|
||||||
|
$('#pdf-op-bar, #pdf-view').removeClass('vh');
|
||||||
|
|
||||||
$('#page-number').change(function() {
|
$('#page-number').change(function() {
|
||||||
seahub_getPage(pdf, $(this).val());
|
seahub_getPage(pdf, $(this).val());
|
||||||
@@ -65,11 +66,9 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#full-screen').click(function() {
|
$('#full-screen').click(function() {
|
||||||
window.open('{{ SITE_ROOT }}pdf_full_view/?file_src=' + e($('#pdf-view').attr('data')));
|
window.open('{{ SITE_ROOT }}pdf_full_view/?repo_id={{ repo.id }}&obj_id={{obj_id}}&file_name=' + e('{{ file_name }}'));
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
$('#pdf-view').css('background', '#fff');
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
$('#file-view').html('<p>该类型文件无法在线查看。<a href="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=download">下载</a></p>');
|
$('#file-view').html('<p>该类型文件无法在线查看。<a href="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name }}&op=download">下载</a></p>');
|
||||||
|
9
views.py
9
views.py
@@ -944,7 +944,14 @@ def repo_file_get(request, repo_id):
|
|||||||
|
|
||||||
|
|
||||||
def pdf_full_view(request):
|
def pdf_full_view(request):
|
||||||
file_src = request.GET.get('file_src', '')
|
repo_id = request.GET.get('repo_id', '')
|
||||||
|
obj_id = request.GET.get('obj_id', '')
|
||||||
|
file_name = request.GET.get('file_name', '')
|
||||||
|
|
||||||
|
token = gen_token()
|
||||||
|
seafserv_rpc.web_save_access_token(token, repo_id, obj_id,
|
||||||
|
'view', request.user.username)
|
||||||
|
file_src = gen_file_get_url(token, file_name)
|
||||||
return render_to_response('pdf_full_view.html', {
|
return render_to_response('pdf_full_view.html', {
|
||||||
'file_src': file_src,
|
'file_src': file_src,
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
Reference in New Issue
Block a user