428 lines
18 KiB
Plaintext
428 lines
18 KiB
Plaintext
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>ONLYOFFICE PDF Editor</title>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=IE8"/>
|
||
<meta name="description" content="" />
|
||
<meta name="keywords" content="" />
|
||
<link rel="icon" href="resources/img/favicon.ico" type="image/x-icon" />
|
||
|
||
<!-- splash -->
|
||
|
||
<style type="text/css">
|
||
.loadmask {
|
||
--sk-height-toolbar-controls:84px;
|
||
--sk-layout-padding-toolbar:0 10px;
|
||
--sk-layout-padding-header: 0 10px;
|
||
--sk-shadow-toolbar: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
|
||
--sk-border-radius-toolbar: 8px;
|
||
--sk-background-toolbar: #f3f3f3;
|
||
--sk-background-toolbar-controls: #fff;
|
||
--sk-canvas-background: #f3f3f3;
|
||
--sk-background-toolbar-header-pdf: #f3f3f3;
|
||
--sk-background-toolbar-tab: #eaeaea;
|
||
--sk-background-toolbar-button: #f9f9f9;
|
||
--sk-layout-padding-toolbar-controls: 0 8px;
|
||
--sk-canvas-content-background: #fff;
|
||
--sk-canvas-page-border: #dde0e5;
|
||
--sk-canvas-line: rgba(0,0,0,.05);
|
||
}
|
||
|
||
.theme-night .loadmask {
|
||
--sk-height-toolbar-controls: 84px;
|
||
--sk-layout-padding-toolbar: 0 10px;
|
||
--sk-border-radius-toolbar: 8px;
|
||
|
||
/* --shadow-toolbar: 0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06) */
|
||
--sk-shadow-toolbar: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
|
||
|
||
/* --toolbar-header-document: #222222 */
|
||
--sk-background-toolbar-header-pdf: #222222;
|
||
|
||
/* --toolbar-header-document: #222222 */
|
||
--sk-background-toolbar: #222222;
|
||
|
||
/* --background-toolbar: #404040; */
|
||
--sk-background-toolbar-controls: #404040;
|
||
|
||
/* --highlight-header-button-hover: #585858; */
|
||
--sk-background-toolbar-tab: #585858;
|
||
|
||
/* --highlight-button-hover: #585858 */
|
||
--sk-background-toolbar-button: #585858;
|
||
|
||
--sk-layout-padding-toolbar-controls: 0 8px;
|
||
--sk-layout-padding-header: 0 10px;
|
||
|
||
/* --canvas-background: #222222; */
|
||
--sk-canvas-background: #222222;
|
||
|
||
/* --canvas-content-background: #fff; */
|
||
--sk-canvas-content-background: #fff;
|
||
|
||
--sk-canvas-page-border: #555;
|
||
--sk-canvas-line: rgba(0,0,0,.05);
|
||
}
|
||
|
||
.loadmask {
|
||
left: 0;
|
||
top: 0;
|
||
position: absolute;
|
||
height: 100%;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
border: none;
|
||
background: #e2e2e2;
|
||
background: var(--sk-canvas-background, #eee);
|
||
z-index: 1002;
|
||
}
|
||
|
||
.loadmask > .brendpanel {
|
||
min-height: 28px;
|
||
background: #AA5252;
|
||
background: var(--sk-background-toolbar-header-pdf);
|
||
padding: var(--sk-layout-padding-header);
|
||
}
|
||
|
||
.loadmask > .brendpanel .underline {
|
||
background: #f1f1f1;
|
||
background: var(--sk-background-toolbar-header-pdf);
|
||
}
|
||
|
||
.loadmask > .brendpanel > div {
|
||
display: flex;
|
||
align-items: center;
|
||
height: 28px;
|
||
}
|
||
|
||
.loadmask > .brendpanel .spacer {
|
||
flex-grow: 1;
|
||
}
|
||
|
||
.loadmask > .brendpanel .rect {
|
||
vertical-align: middle;
|
||
width: 50px;
|
||
height: 12px;
|
||
border-radius: 3px;
|
||
margin: 0 10px;
|
||
background: rgba(0,0,0,.15);
|
||
background: var(--sk-background-toolbar-tab);
|
||
}
|
||
|
||
.loadmask > .brendpanel .underline .rect {
|
||
background: #d8dadc;
|
||
background: var(--sk-background-toolbar-tab);
|
||
opacity: 0.4;
|
||
}
|
||
|
||
.loadmask > .sktoolbar {
|
||
background: #f1f1f1;
|
||
padding: 0;
|
||
padding: var(--sk-layout-padding-toolbar, 0);
|
||
box-sizing: content-box;
|
||
background-color: var(--sk-background-toolbar, #f7f7f7);
|
||
}
|
||
|
||
.loadmask > .sktoolbar > .box-controls {
|
||
background: var(--sk-background-toolbar-controls, #f7f7f7);
|
||
border-radius: var(--sk-border-radius-toolbar, 0);
|
||
padding: var(--sk-layout-padding-toolbar-controls);
|
||
box-shadow: var(--sk-shadow-toolbar);
|
||
height: 66px;
|
||
height: var(--sk-height-toolbar-controls);
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
}
|
||
|
||
.loadmask > .sktoolbar ul {
|
||
margin: 0;
|
||
padding: 0;
|
||
white-space: nowrap;
|
||
position: relative;
|
||
height: 20px;
|
||
}
|
||
|
||
.loadmask > .sktoolbar ul:first-child {
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.loadmask > .sktoolbar li {
|
||
background: #d8dadc;
|
||
background: var(--sk-background-toolbar-button, #d8dadc);
|
||
border-radius: 3px;
|
||
width: 20px;
|
||
height: 20px;
|
||
display: inline-block;
|
||
margin-right: 6px;
|
||
}
|
||
|
||
.loadmask > .sktoolbar li.space {
|
||
background: none;
|
||
width: 0;
|
||
}
|
||
|
||
.loadmask > .sktoolbar li.big {
|
||
width: 40px;
|
||
height: 46px;
|
||
margin-top: -46px;
|
||
}
|
||
|
||
.loadmask > .sktoolbar li.fat {
|
||
position: absolute;
|
||
right: 0;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 587px;
|
||
width: inherit;
|
||
height: 44px;
|
||
}
|
||
|
||
.loadmask > .placeholder {
|
||
box-sizing: border-box;
|
||
background: #fff;
|
||
background: var(--sk-canvas-content-background, #fff);
|
||
width: 794px;
|
||
margin: 19px auto 46px;
|
||
height: 1123px;
|
||
border: 1px solid #bbbec2;
|
||
border: var(--scaled-one-px-value, 1px) solid var(--sk-canvas-page-border, #bbbec2);
|
||
padding-top: 50px;
|
||
}
|
||
|
||
.loadmask > .placeholder > .line {
|
||
height: 15px;
|
||
margin: 30px 80px;
|
||
background: var(--sk-canvas-line, rgba(0,0,0,.05));
|
||
overflow: hidden;
|
||
position: relative;
|
||
|
||
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
|
||
-moz-animation: flickerAnimation 2s infinite ease-in-out;
|
||
-o-animation: flickerAnimation 2s infinite ease-in-out;
|
||
animation: flickerAnimation 2s infinite ease-in-out;
|
||
}
|
||
|
||
@keyframes flickerAnimation {
|
||
0% { opacity:0.5; }
|
||
50% { opacity:1; }
|
||
100% { opacity:0.5; }
|
||
}
|
||
@-o-keyframes flickerAnimation{
|
||
0% { opacity:0.5; }
|
||
50% { opacity:1; }
|
||
100% { opacity:0.5; }
|
||
}
|
||
@-moz-keyframes flickerAnimation{
|
||
0% { opacity:0.5; }
|
||
50% { opacity:1; }
|
||
100% { opacity:0.5; }
|
||
}
|
||
@-webkit-keyframes flickerAnimation{
|
||
0% { opacity:0.5; }
|
||
50% { opacity:1; }
|
||
100% { opacity:0.5; }
|
||
}
|
||
</style>
|
||
|
||
<script>
|
||
// don't add zoom for mobile devices
|
||
// if (!(/android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera)))
|
||
// document.getElementsByTagName('html')[0].setAttribute('style', 'zoom: ' + 1 / (window.devicePixelRatio < 2 ? window.devicePixelRatio : window.devicePixelRatio / 2) + ';');
|
||
|
||
var userAgent = navigator.userAgent.toLowerCase(),
|
||
check = function(regex){ return regex.test(userAgent); },
|
||
stopLoading = false,
|
||
isIEBrowser = !check(/opera/) && (check(/msie/) || check(/trident/)),
|
||
ieVer = /msie (\d+\.\d+)/.exec(userAgent);
|
||
if (isIEBrowser) {
|
||
if (ieVer && parseFloat(ieVer[1]) < 10.0) {
|
||
document.write('<div class="app-error-panel">' +
|
||
'<div class="message-block">' +
|
||
'<div class="message-inner">' +
|
||
'<div class="title">Your browser is not supported.</div>' +
|
||
'<div class="text">Sorry, PDF Editor is currently only supported in the latest versions of the Chrome, Firefox, Safari or Internet Explorer web browsers.</div>' +
|
||
'</div>' +
|
||
'</div></div>');
|
||
stopLoading = true;
|
||
}
|
||
} else
|
||
if (check(/windows\snt/i)) {
|
||
var re = /chrome\/(\d+)/i.exec(userAgent);
|
||
if (!!re && !!re[1] && !(re[1] > 49)) {
|
||
setTimeout(function () {
|
||
document.getElementsByTagName('html')[0].className += "winxp";
|
||
},0);
|
||
}
|
||
}
|
||
|
||
function getUrlParams() {
|
||
var e,
|
||
a = /\+/g, // Regex for replacing addition symbol with a space
|
||
r = /([^&=]+)=?([^&]*)/g,
|
||
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
|
||
q = window.location.search.substring(1),
|
||
urlParams = {};
|
||
|
||
while (e = r.exec(q))
|
||
urlParams[d(e[1])] = d(e[2]);
|
||
|
||
return urlParams;
|
||
}
|
||
|
||
function encodeUrlParam(str) {
|
||
return str.replace(/"/g, '"')
|
||
.replace(/'/g, ''')
|
||
.replace(/</g, '<')
|
||
.replace(/>/g, '>');
|
||
}
|
||
|
||
function isDarkColor(str) {
|
||
str = str.substring(1);
|
||
let rgb = parseInt(str, 16),
|
||
r = (rgb >> 16) & 0xff,
|
||
g = (rgb >> 8) & 0xff,
|
||
b = (rgb >> 0) & 0xff;
|
||
return Math.sqrt(0.299 * (r * r) + 0.587 * (g * g) + 0.114 * (b * b))<140;
|
||
}
|
||
|
||
var params = getUrlParams(),
|
||
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
||
isForm = params["isForm"];
|
||
|
||
window.frameEditorId = params["frameEditorId"];
|
||
window.parentOrigin = params["parentOrigin"];
|
||
</script>
|
||
|
||
<script src="../../../../../apps/common/main/lib/util/desktopinit.js?__inline=true"></script>
|
||
<script src="../../../../../apps/common/main/lib/util/themeinit.js?__inline=true"></script>
|
||
</head>
|
||
<body role="application">
|
||
<div class="inlined-svg"></div>
|
||
<script src="../../../../../apps/common/main/lib/util/htmlutils.js?__inline=true"></script>
|
||
<script src="../../../../../apps/common/main/lib/util/docserviceworker.js?__inline=true"></script>
|
||
|
||
<div id="loading-mask" class="loadmask"><div class="brendpanel" style="display: none;"><div><div class="spacer"></div></div><div><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span></div></div><div class="sktoolbar" style="display: none;"><section class="box-controls"><ul><li class="compact" style="width: 30px;display: none;"></li><li class="compact space" style="display: none;"></li><li class="compact" style="width: 90px;display: none;"></li><li class="not-compact" style="width: 63px;"></li><li class="space" style="width: 144px;"></li><li style="width: 105px;"></li><li class="space"></li><li style="width: 160px;"></li></ul><ul><li class="compact" style="width: 30px;display: none;"></li><li class="compact space" style="display: none;"></li><li class="compact" style="width: 90px;display: none;"></li><li class="not-compact" style="width: 63px;"></li><li class="space"></li><li class="big"/><li class="big"/><li class="big"/><li class="space"></li><li style="width: 105px;"></li><li class="space"></li><li style="width: 160px;"></li></ul></section></div><div class="placeholder" style="display: none;"><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div><div class="line"></div></div></div>
|
||
<div id="viewport" role="main"></div>
|
||
|
||
<script>
|
||
var params = getUrlParams(),
|
||
notoolbar = params["toolbar"] == 'false',
|
||
compact = params["compact"] == 'true',
|
||
view = params["mode"] == 'view',
|
||
tabBackground = params["tabBackground"],
|
||
visible = true;
|
||
|
||
if (compact || view || notoolbar) {
|
||
let child = document.querySelector('.brendpanel > :nth-child(2)');
|
||
child && child.parentNode && child.parentNode.removeChild(child);
|
||
}
|
||
|
||
if ( !tabBackground || /-ls$/.test(tabBackground)) {// try get tab background from localstorage
|
||
tabBackground = checkLocalStorage && localStorage.getItem("settings-tab-background") !== null ? localStorage.getItem("settings-tab-background") : tabBackground ? tabBackground.match(/(.*?)-ls/)[1] : 'header';
|
||
}
|
||
|
||
if (compact || view) {
|
||
if (notoolbar) {
|
||
let child = document.querySelector('.brendpanel > :nth-child(1)');
|
||
child && child.parentNode && child.parentNode.removeChild(child);
|
||
visible = false;
|
||
} else {
|
||
document.querySelector('.brendpanel > :nth-child(1)').style.height = '32px';
|
||
(tabBackground==='toolbar') && document.querySelector('.brendpanel > :nth-child(1)').classList.add('underline');
|
||
}
|
||
} else if (notoolbar) {
|
||
document.querySelector('.brendpanel > :nth-child(1)').style.height = '28px';
|
||
} else {
|
||
(tabBackground==='toolbar') && document.querySelector('.brendpanel > :nth-child(2)').classList.add('underline');
|
||
}
|
||
|
||
if (compact) {
|
||
var elements = document.querySelectorAll('.not-compact');
|
||
for (let i = 0; i < elements.length; i++) {
|
||
elements[i].parentNode.removeChild(elements[i]);
|
||
}
|
||
elements = document.querySelectorAll('.compact');
|
||
for (let i = 0; i < elements.length; i++) {
|
||
elements[i].style.display = 'inline-block';
|
||
}
|
||
}
|
||
|
||
visible && (document.querySelector('.brendpanel').style.display = 'block');
|
||
!(view && (params["toolbar"] !== 'true') || notoolbar) && (document.querySelector('.sktoolbar').style.display = 'block');
|
||
view && (document.querySelector('.placeholder').style.marginTop = '19px');
|
||
document.querySelector('.placeholder').style.display = 'block';
|
||
|
||
if (stopLoading) {
|
||
document.body.removeChild(document.getElementById('loading-mask'));
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
window.requireTimeourError = function(){
|
||
var reqerr;
|
||
|
||
if ( lang == 'de') reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
|
||
else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
|
||
else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
|
||
else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
|
||
else if ( lang == 'tr') reqerr = 'Bağlantı çok yavaş, bileşenlerin bazıları yüklenemedi. Lütfen sayfayı yenileyin.';
|
||
else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';
|
||
|
||
return reqerr;
|
||
};
|
||
|
||
var requireTimeoutID = setTimeout(function(){
|
||
window.alert(window.requireTimeourError());
|
||
window.location.reload();
|
||
}, 30000);
|
||
|
||
var require = {
|
||
waitSeconds: 30,
|
||
callback: function(){
|
||
clearTimeout(requireTimeoutID);
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<inline src="../../common/main/resources/img/header/icons.svg" />
|
||
<inline src="../../common/main/resources/img/toolbar/shapetypes.svg" />
|
||
<inline src="../../common/main/resources/img/toolbar/charttypes.svg" />
|
||
<inline src="../../common/main/resources/img/toolbar/equationicons.svg" />
|
||
<inline src="../../common/main/resources/img/right-panels/arrows.svg" />
|
||
<inline src="../../common/main/resources/img/combo-border-size/BorderSize.svg" />
|
||
<script src="../../../../../../sdkjs/common/device_scale.js?__inline=true"></script>
|
||
<script src="../../../../../apps/common/checkExtendedPDF.js?__inline=true"></script>
|
||
<script>
|
||
function startApp() {
|
||
var script = document.createElement("script");
|
||
script.src = "../../../vendor/requirejs/require.js";
|
||
|
||
if (isIEBrowser === true) {
|
||
(document.write('<script src="../../common/main/lib/util/fix-ie-compat.js"><\/script>'),
|
||
document.write('<script src="../../../../sdkjs/vendor/string.js"><\/script>'));
|
||
|
||
setTimeout(function(){
|
||
script.setAttribute("data-main", "ie/app");
|
||
document.body.appendChild(script);
|
||
},0);
|
||
} else {
|
||
script.setAttribute("data-main", "app");
|
||
document.body.appendChild(script);
|
||
}
|
||
}
|
||
if (isForm===undefined) {
|
||
listenApiMsg(function (isform) {
|
||
window.isPDFForm = !!isform;
|
||
startApp();
|
||
});
|
||
} else {
|
||
window.isPDFForm = isForm==='true';
|
||
startApp();
|
||
}
|
||
</script>
|
||
<link rel="stylesheet" href="../../../apps/pdfeditor/main/resources/css/app.css" media="print" onload="this.media='all'">
|
||
</body>
|
||
</html>
|