im/public/static/js/pdfobject.js

130 lines
3.3 KiB
JavaScript
Raw Normal View History

2023-09-26 18:09:46 +08:00
var PDFObject = function (y) {
if (!y || !y.url) {
return false;
}
var w = "1.2", b = y.id || false, i = y.width || "100%", z = y.height || "100%", r = y.pdfOpenParams, a, x;
var v = function () {
var c = null;
if (window.ActiveXObject) {
c = new ActiveXObject("AcroPDF.PDF");
if (!c) {
c = new ActiveXObject("PDF.PdfCtrl");
}
if (c !== null) {
return true;
}
}
return false;
};
var u = function () {
var c, f = navigator.plugins, d = f.length, e = /Adobe Reader|Adobe PDF|Acrobat/gi;
for (c = 0; c < d; c++) {
if (e.test(f[c].name)) {
return true;
}
}
return false;
};
var t = function () {
var c = navigator.mimeTypes["application/pdf"];
return (c && c.enabledPlugin);
};
var s = function () {
var c = null;
if (u() || v()) {
c = "Adobe";
} else {
if (t()) {
c = "generic";
}
}
return c;
};
var q = function () {
var e = document.getElementsByTagName("html");
if (!e) {
return false;
}
var c = e[0].style, d = document.body.style;
console.log(c);
c.height = "100%";
c.overflow = "hidden";
d.margin = "0";
d.padding = "0";
d.height = "100%";
d.overflow = "hidden";
};
var p = function (d) {
var c = "", e;
if (!d) {
return c;
}
for (e in d) {
if (d.hasOwnProperty(e)) {
c += e + "=";
if (e === "search") {
c += encodeURI(d[e]);
} else {
c += d[e];
}
c += "&";
}
}
return c.slice(0, c.length - 1);
};
var o = function (d) {
var c = null;
switch (d) {
case"url":
c = a;
break;
case"id":
c = b;
break;
case"width":
c = i;
break;
case"height":
c = z;
break;
case"pdfOpenParams":
c = r;
break;
case"pluginTypeFound":
c = x;
break;
case"pdfobjectversion":
c = w;
break;
}
return c;
};
var n = function (d) {
if (!x) {
return false;
}
var c = null;
if (d) {
c = (d.nodeType && d.nodeType === 1) ? d : document.getElementById(d);
if (!c) {
return false;
}
} else {
c = document.body;
q();
i = "100%";
z = "100%";
}
c.innerHTML = '<object data="' + a + '" type="application/pdf" width="' + i + '" height="' + z + '"></object>';
return c.getElementsByTagName("object")[0];
};
a = encodeURI(y.url) + "#" + p(r);
x = s();
this.get = function (c) {
return o(c);
};
this.embed = function (c) {
return n(c);
};
return this;
};