Commit 700d62f8 authored by Alexander.Trofimov's avatar Alexander.Trofimov

Пернес fitToWidth и fitToHeight в PagePrintOptions

parent 1906aba4
/* /*
* *
* (c) Copyright Ascensio System Limited 2010-2016 * (c) Copyright Ascensio System Limited 2010-2016
* *
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU * This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html). * General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that * In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights. * Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
* *
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html * FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
* *
* You can contact Ascensio System SIA by email at sales@onlyoffice.com * You can contact Ascensio System SIA by email at sales@onlyoffice.com
* *
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display * The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3. * Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
* *
* Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains * Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
* relevant author attributions when distributing the software. If the display of the logo in its graphic * relevant author attributions when distributing the software. If the display of the logo in its graphic
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE" * form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
* in every copy of the program you distribute. * in every copy of the program you distribute.
* Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks. * Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks.
* *
*/ */
"use strict"; "use strict";
var editor; var editor;
...@@ -856,9 +856,9 @@ var editor; ...@@ -856,9 +856,9 @@ var editor;
oAdditionalData["userid"] = this.documentUserId; oAdditionalData["userid"] = this.documentUserId;
oAdditionalData["vkey"] = this.documentVKey; oAdditionalData["vkey"] = this.documentVKey;
oAdditionalData["outputformat"] = sFormat; oAdditionalData["outputformat"] = sFormat;
oAdditionalData["title"] = changeFileExtention(this.documentTitle, getExtentionByFormat(sFormat)); oAdditionalData["title"] = changeFileExtention(this.documentTitle, getExtentionByFormat(sFormat));
if (DownloadType.Print === options.downloadType) { if (DownloadType.Print === options.downloadType) {
oAdditionalData["inline"] = 1; oAdditionalData["inline"] = 1;
} }
if (c_oAscFileType.PDF === sFormat) { if (c_oAscFileType.PDF === sFormat) {
var printPagesData = this.wb.calcPagesPrint(this.adjustPrint); var printPagesData = this.wb.calcPagesPrint(this.adjustPrint);
...@@ -3184,11 +3184,14 @@ var editor; ...@@ -3184,11 +3184,14 @@ var editor;
var _adjustPrint = window.AscDesktopEditor_PrintData ? window.AscDesktopEditor_PrintData : new asc_CAdjustPrint(); var _adjustPrint = window.AscDesktopEditor_PrintData ? window.AscDesktopEditor_PrintData : new asc_CAdjustPrint();
window.AscDesktopEditor_PrintData = undefined; window.AscDesktopEditor_PrintData = undefined;
if (1 == _param) if (1 == _param) {
{ var countWorksheets = _adjustPrint.asc_setPrintType(c_oAscPrintType.EntireWorkbook), printOptions;
_adjustPrint.asc_setPrintType(c_oAscPrintType.EntireWorkbook); this.wbModel.getWorksheetCount();
_adjustPrint.asc_setFitToWidth(true); for (var j = 0; j < countWorksheets; ++j) {
_adjustPrint.asc_setFitToHeight(true); printOptions = this.wbModel.getWorksheet(j).PagePrintOptions;
printOptions.asc_setFitToWidth(true);
printOptions.asc_setFitToHeight(true);
}
} }
var _printPagesData = this.wb.calcPagesPrint(_adjustPrint); var _printPagesData = this.wb.calcPagesPrint(_adjustPrint);
......
/* /*
* *
* (c) Copyright Ascensio System Limited 2010-2016 * (c) Copyright Ascensio System Limited 2010-2016
* *
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU * This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html). * General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that * In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights. * Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
* *
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html * FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
* *
* You can contact Ascensio System SIA by email at sales@onlyoffice.com * You can contact Ascensio System SIA by email at sales@onlyoffice.com
* *
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display * The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3. * Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
* *
* Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains * Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
* relevant author attributions when distributing the software. If the display of the logo in its graphic * relevant author attributions when distributing the software. If the display of the logo in its graphic
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE" * form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
* in every copy of the program you distribute. * in every copy of the program you distribute.
* Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks. * Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks.
* *
*/ */
"use strict"; "use strict";
// Используем [] вместо new Array() для ускорения (http://jsperf.com/creation-array) // Используем [] вместо new Array() для ускорения (http://jsperf.com/creation-array)
...@@ -251,11 +251,6 @@ var c_oAscPrintType = { ...@@ -251,11 +251,6 @@ var c_oAscPrintType = {
EntireWorkbook: 1, // Всю книгу EntireWorkbook: 1, // Всю книгу
Selection: 2 // Выделенный фрагмент Selection: 2 // Выделенный фрагмент
}; };
// Тип печати
var c_oAscLayoutPageType = {
FitToWidth: 0, // На всю ширину
ActualSize: 1 // По реальным размерам
};
/** @enum */ /** @enum */
var c_oAscCustomAutoFilter = { var c_oAscCustomAutoFilter = {
......
...@@ -2352,7 +2352,8 @@ function asc_ReadAdjustPrint(s, p) { ...@@ -2352,7 +2352,8 @@ function asc_ReadAdjustPrint(s, p) {
} }
case 1: case 1:
{ {
adjustPrint.asc_setLayoutPageType(s[p.pos++]); // ToDo что-то тут нужно поправить...Теперь нет asc_setLayoutPageType
//adjustPrint.asc_setLayoutPageType(s[p.pos++]);
break; break;
} }
case 255: case 255:
......
/* /*
* *
* (c) Copyright Ascensio System Limited 2010-2016 * (c) Copyright Ascensio System Limited 2010-2016
* *
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU * This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html). * General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that * In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights. * Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
* *
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html * FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
* *
* You can contact Ascensio System SIA by email at sales@onlyoffice.com * You can contact Ascensio System SIA by email at sales@onlyoffice.com
* *
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display * The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3. * Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
* *
* Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains * Pursuant to Section 7  3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
* relevant author attributions when distributing the software. If the display of the logo in its graphic * relevant author attributions when distributing the software. If the display of the logo in its graphic
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE" * form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
* in every copy of the program you distribute. * in every copy of the program you distribute.
* Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks. * Pursuant to Section 7  3(e) we decline to grant you any rights under trademark law for use of our trademarks.
* *
*/ */
"use strict"; "use strict";
/* Utils.js /* Utils.js
...@@ -1079,33 +1079,26 @@ ...@@ -1079,33 +1079,26 @@
asc_CPageMargins.prototype.asc_setTop = function (val) { this.top = val; }; asc_CPageMargins.prototype.asc_setTop = function (val) { this.top = val; };
asc_CPageMargins.prototype.asc_setBottom = function (val) { this.bottom = val; }; asc_CPageMargins.prototype.asc_setBottom = function (val) { this.bottom = val; };
/** @constructor */ /** @constructor */
function asc_CPageSetup (obj) { function asc_CPageSetup () {
if ( !(this instanceof asc_CPageSetup) ) { this.orientation = c_oAscPrintDefaultSettings.PageOrientation;
return new asc_CPageSetup(obj); this.width = c_oAscPrintDefaultSettings.PageWidth;
} this.height = c_oAscPrintDefaultSettings.PageHeight;
if (obj) { this.fitToWidth = false; //ToDo can be a number
this.orientation = obj.orientation; this.fitToHeight = false; //ToDo can be a number
this.width = obj.width;
this.height = obj.height;
}
return this; return this;
} }
asc_CPageSetup.prototype.init = function () {
if (null == this.orientation)
this.orientation = c_oAscPrintDefaultSettings.PageOrientation;
if (null == this.width)
this.width = c_oAscPrintDefaultSettings.PageWidth;
if (null == this.height)
this.height = c_oAscPrintDefaultSettings.PageHeight;
};
asc_CPageSetup.prototype.asc_getOrientation = function () { return this.orientation; }; asc_CPageSetup.prototype.asc_getOrientation = function () { return this.orientation; };
asc_CPageSetup.prototype.asc_getWidth = function () { return this.width; }; asc_CPageSetup.prototype.asc_getWidth = function () { return this.width; };
asc_CPageSetup.prototype.asc_getHeight = function () { return this.height; }; asc_CPageSetup.prototype.asc_getHeight = function () { return this.height; };
asc_CPageSetup.prototype.asc_setOrientation = function (val) { this.orientation = val; }; asc_CPageSetup.prototype.asc_setOrientation = function (val) { this.orientation = val; };
asc_CPageSetup.prototype.asc_setWidth = function (val) { this.width = val; }; asc_CPageSetup.prototype.asc_setWidth = function (val) { this.width = val; };
asc_CPageSetup.prototype.asc_setHeight = function (val) { this.height = val; }; asc_CPageSetup.prototype.asc_setHeight = function (val) { this.height = val; };
asc_CPageSetup.prototype.getFitToWidth = function () { return this.fitToWidth; };
asc_CPageSetup.prototype.getFitToHeight = function () { return this.fitToHeight; };
asc_CPageSetup.prototype.asc_setFitToWidth = function (val) { this.fitToWidth = val; };
asc_CPageSetup.prototype.asc_setFitToHeight = function (val) { this.fitToHeight = val; };
/** @constructor */ /** @constructor */
function asc_CPageOptions (obj) { function asc_CPageOptions (obj) {
...@@ -1186,30 +1179,14 @@ ...@@ -1186,30 +1179,14 @@
} }
/** @constructor */ /** @constructor */
function asc_CAdjustPrint () { function asc_CAdjustPrint () {
if ( !(this instanceof asc_CAdjustPrint) ) {
return new asc_CAdjustPrint();
}
// Вид печати // Вид печати
this.printType = c_oAscPrintType.ActiveSheets; this.printType = c_oAscPrintType.ActiveSheets;
// Вид печати // ToDo сюда же start и end page index
this.layoutPageType = c_oAscLayoutPageType.ActualSize;
// По ширине
this.fitToWidth = false;
// По высоте
this.fitToHeight = false;
return this; return this;
} }
asc_CAdjustPrint.prototype.asc_getPrintType = function () { return this.printType; }; asc_CAdjustPrint.prototype.asc_getPrintType = function () { return this.printType; };
asc_CAdjustPrint.prototype.asc_getLayoutPageType = function () { return this.layoutPageType; };
asc_CAdjustPrint.prototype.asc_setPrintType = function (val) { this.printType = val; }; asc_CAdjustPrint.prototype.asc_setPrintType = function (val) { this.printType = val; };
asc_CAdjustPrint.prototype.asc_setLayoutPageType = function (val) { this.layoutPageType = val; };
asc_CAdjustPrint.prototype.getFitToWidth = function () { return this.fitToWidth; };
asc_CAdjustPrint.prototype.getFitToHeight = function () { return this.fitToHeight; };
asc_CAdjustPrint.prototype.asc_setFitToWidth = function (val) { this.fitToWidth = val; };
asc_CAdjustPrint.prototype.asc_setFitToHeight = function (val) { this.fitToHeight = val; };
/** @constructor */ /** @constructor */
function asc_CLockInfo () { function asc_CLockInfo () {
...@@ -1688,6 +1665,8 @@ ...@@ -1688,6 +1665,8 @@
prot["asc_setOrientation"] = prot.asc_setOrientation; prot["asc_setOrientation"] = prot.asc_setOrientation;
prot["asc_setWidth"] = prot.asc_setWidth; prot["asc_setWidth"] = prot.asc_setWidth;
prot["asc_setHeight"] = prot.asc_setHeight; prot["asc_setHeight"] = prot.asc_setHeight;
prot["asc_setFitToWidth"] = prot.asc_setFitToWidth;
prot["asc_setFitToHeight"] = prot.asc_setFitToHeight;
window["Asc"]["asc_CPageOptions"] = window["Asc"].asc_CPageOptions = asc_CPageOptions; window["Asc"]["asc_CPageOptions"] = window["Asc"].asc_CPageOptions = asc_CPageOptions;
prot = asc_CPageOptions.prototype; prot = asc_CPageOptions.prototype;
...@@ -1706,11 +1685,7 @@ ...@@ -1706,11 +1685,7 @@
window["Asc"]["asc_CAdjustPrint"] = window["Asc"].asc_CAdjustPrint = asc_CAdjustPrint; window["Asc"]["asc_CAdjustPrint"] = window["Asc"].asc_CAdjustPrint = asc_CAdjustPrint;
prot = asc_CAdjustPrint.prototype; prot = asc_CAdjustPrint.prototype;
prot["asc_getPrintType"] = prot.asc_getPrintType; prot["asc_getPrintType"] = prot.asc_getPrintType;
prot["asc_getLayoutPageType"] = prot.asc_getLayoutPageType;
prot["asc_setPrintType"] = prot.asc_setPrintType; prot["asc_setPrintType"] = prot.asc_setPrintType;
prot["asc_setLayoutPageType"] = prot.asc_setLayoutPageType;
prot["asc_setFitToWidth"] = prot.asc_setFitToWidth;
prot["asc_setFitToHeight"] = prot.asc_setFitToHeight;
window["Asc"].asc_CLockInfo = asc_CLockInfo; window["Asc"].asc_CLockInfo = asc_CLockInfo;
......
...@@ -2387,19 +2387,19 @@ ...@@ -2387,19 +2387,19 @@
var activeWs; var activeWs;
var printPagesData = new asc_CPrintPagesData(); var printPagesData = new asc_CPrintPagesData();
var printType = adjustPrint.asc_getPrintType(); var printType = adjustPrint.asc_getPrintType();
// var layoutPageType = adjustPrint.asc_getLayoutPageType(); if (printType === c_oAscPrintType.ActiveSheets) {
var bFitToWidth = adjustPrint.getFitToWidth();
var bFitToHeight = adjustPrint.getFitToHeight();
if (printType == c_oAscPrintType.ActiveSheets) {
activeWs = wb.getActive(); activeWs = wb.getActive();
ws = this.getWorksheet(); ws = this.getWorksheet();
printPagesData.arrPages = ws.calcPagesPrint(wb.getWorksheet(activeWs).PagePrintOptions, /*printOnlySelection*/false, /*indexWorksheet*/activeWs, bFitToWidth, bFitToHeight); printPagesData.arrPages =
} else if (printType == c_oAscPrintType.EntireWorkbook) { ws.calcPagesPrint(wb.getWorksheet(activeWs).PagePrintOptions, /*printOnlySelection*/false, /*indexWorksheet*/
activeWs);
} else if (printType === c_oAscPrintType.EntireWorkbook) {
// Колличество листов // Колличество листов
var countWorksheets = this.model.getWorksheetCount(); var countWorksheets = this.model.getWorksheetCount();
for (var i = 0; i < countWorksheets; ++i) { for (var i = 0; i < countWorksheets; ++i) {
ws = this.getWorksheet(i); ws = this.getWorksheet(i);
var arrPages = ws.calcPagesPrint(wb.getWorksheet(i).PagePrintOptions, /*printOnlySelection*/false, /*indexWorksheet*/i, bFitToWidth, bFitToHeight); var arrPages = ws.calcPagesPrint(wb.getWorksheet(i).PagePrintOptions, /*printOnlySelection*/false,
/*indexWorksheet*/i);
if (null !== arrPages) { if (null !== arrPages) {
if (null === printPagesData.arrPages) { if (null === printPagesData.arrPages) {
printPagesData.arrPages = []; printPagesData.arrPages = [];
...@@ -2407,10 +2407,12 @@ ...@@ -2407,10 +2407,12 @@
printPagesData.arrPages = printPagesData.arrPages.concat(arrPages); printPagesData.arrPages = printPagesData.arrPages.concat(arrPages);
} }
} }
} else if (printType == c_oAscPrintType.Selection) { } else if (printType === c_oAscPrintType.Selection) {
activeWs = wb.getActive(); activeWs = wb.getActive();
ws = this.getWorksheet(); ws = this.getWorksheet();
printPagesData.arrPages = ws.calcPagesPrint(wb.getWorksheet(activeWs).PagePrintOptions, /*printOnlySelection*/true, /*indexWorksheet*/activeWs, bFitToWidth, bFitToHeight); printPagesData.arrPages =
ws.calcPagesPrint(wb.getWorksheet(activeWs).PagePrintOptions, /*printOnlySelection*/true, /*indexWorksheet*/
activeWs);
} }
return printPagesData; return printPagesData;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment