1
0
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:
llj
2012-07-23 14:58:54 +08:00
parent 48ca6c87df
commit d0ac9405d1
4 changed files with 152 additions and 145 deletions

View File

@@ -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 {

View File

@@ -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>

View File

@@ -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>');

View File

@@ -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))