更新tiff预览

pull/54/MERGE
陈精华 2022-12-13 16:40:10 +08:00
parent 1261e6aa03
commit e7930a2442
No known key found for this signature in database
GPG Key ID: 30BDC970902B755D
3 changed files with 1700 additions and 3219 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,40 +4,90 @@
<meta charset="utf-8"/> <meta charset="utf-8"/>
<title>Tiff </title> <title>Tiff </title>
<link rel="stylesheet" href="css/viewer.min.css"> <link rel="stylesheet" href="css/viewer.min.css">
<script src="js/tiff.min.js"></script> <script src="js/UTIF.js"></script>
<#include "*/commonHeader.ftl"> <#include "*/commonHeader.ftl">
<style> <#if currentUrl?contains("http://") || currentUrl?contains("https://") || currentUrl?contains("file://")|| currentUrl?contains("ftp://")>
body { <#assign finalUrl="${currentUrl}">
background-color: #404040; <#else>
} <#assign finalUrl="${baseUrl}${currentUrl}">
</#if>
#tiff {
position: fixed;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
/*#dowebok li img { width: 200%;}*/
</style>
</head> </head>
<style type="text/css">
body{ text-align:center}
img{max-width: 100%;
margin:0 auto;
border: 2px solid #ddd;
}
</style>
<body> <body>
<input hidden id="currentUrl" value="${currentUrl}"/> <#if "false" == pdfDownloadDisable>
<div id="tiff"> <!--endprint-->
</div> <button type="button" onclick="doPrint()"></button>
<!--startprint-->
</#if>
<div id="tiff"></div>
<script> <script>
var xhr = new XMLHttpRequest(); let pages;
let p;
let resp;
function loadOne(e) {
UTIF.decodeImage(resp, pages[p]);
const rgba = UTIF.toRGBA8(pages[p]);
const canvas = document.createElement('canvas');
canvas.width = pages[p].width;
canvas.height = pages[p].height;
const ctx = canvas.getContext('2d');
const imageData = ctx.createImageData(canvas.width, canvas.height);
for (let i = 0; i < rgba.length; i++) {
imageData.data[i] = rgba[i];
}
ctx.putImageData(imageData, 0, 0);
const imgObj = document.createElement('img');
imgObj.src = canvas.toDataURL('image/png');
if (++p < pages.length) {
imgObj.onload = loadOne;
}
var myp = document.getElementById('tiff');
myp.appendChild(imgObj);
}
function imgLoaded(e) {
resp = e.target.response;
pages = UTIF.decode(resp);
p = 0;
loadOne();
}
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
initWaterMark();
window.print();
}
String.prototype.startsWithh = function(str) {
var reg = new RegExp("^" + str);
return reg.test(this);
}
String.prototype.endsWithh = function(str) {
var reg = new RegExp(str + "$");
return reg.test(this);
}
var url = '${finalUrl}';
var baseUrl = '${baseUrl}'.endsWithh('/') ? '${baseUrl}' : '${baseUrl}' + '/';
if (!url.startsWithh(baseUrl)) {
url = baseUrl + 'getCorsFile?urlPath=' + encodeURIComponent(url);
}
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'arraybuffer'; xhr.responseType = 'arraybuffer';
xhr.open('GET', $("#currentUrl").val()); xhr.onload = imgLoaded;
var config = {};
config.TOTAL_MEMORY = ${initializeMemorySize};
Tiff.initialize(config)
xhr.onload = function (e) {
var tiff = new Tiff({buffer: xhr.response});
var canvas = tiff.toCanvas();
$("#tiff").append(canvas)
};
xhr.send(); xhr.send();
/*初始化水印*/ /*初始化水印*/
@ -46,5 +96,4 @@
} }
</script> </script>
</body> </body>
</html> </html>