Commit 2ec1cbe1 authored by Igor.Zotov's avatar Igor.Zotov Committed by Alexander.Trofimov

copy/paste графических объектов(pp - excel, pp - word, word - pp, excel - pp)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@59823 954022d7-b5bf-4e40-9824-e11837661b57
parent 832dd52a
......@@ -152,7 +152,15 @@
"../../PowerPoint/Editor/Format/GraphicFrame.js",
"../../PowerPoint/api-all.js",
"../../PowerPoint/Build/Log/apiExport.js"
"../../PowerPoint/Build/Log/apiExport.js",
"../../Excel/utils/utils.js",
"../../Excel/model/CellComment.js",
"../../Excel/model/Serialize.js",
"../../Excel/model/WorkbookElems.js",
"../../Excel/model/Workbook.js",
"../../Excel/model/CellInfo.js",
"../../Excel/model/AdvancedOptions.js"
],
"dst": "../../PowerPoint/sdk-all.js",
"externs": [
......
......@@ -2960,13 +2960,13 @@ PasteProcessor.prototype =
}
else
{
var base64 = null, base64FromExcel = null,classNode, aContent, aContentExcel, pasteFromBinary = false;
var base64 = null, base64FromExcel = null, base64FromPresentation,classNode, aContent, aContentExcel, pasteFromBinary = false;
if(node.children[0] && node.children[0].getAttribute("class") != null && (node.children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].getAttribute("class").indexOf("docData;") > -1))
if(node.children[0] && node.children[0].getAttribute("class") != null && (node.children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].getAttribute("class");
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("docData;") > -1))
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].children[0].getAttribute("class");
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].children[0] && node.children[0].children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("docData;") > -1))
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].children[0] && node.children[0].children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].children[0].children[0].getAttribute("class");
if( classNode != null ){
......@@ -2980,8 +2980,12 @@ PasteProcessor.prototype =
{
base64 = cL[i].split('docData;')[1];
}
else if(cL[i].indexOf("pptData;") > -1)
{
base64FromPresentation = cL[i].split('pptData;')[1];
}
}
}
};
//если находимся внутри шейп, вставляем html
if(this.oDocument.Parent && this.oDocument.Parent instanceof CShape)
......@@ -3099,7 +3103,64 @@ PasteProcessor.prototype =
oThis.api.pre_Paste(aContent.fonts, aContent.images, fPrepasteCallback);
return;
}
};
else if(base64FromPresentation)
{
var fPrepasteCallback = function(){
if(false == oThis.bNested)
{
oThis.InsertInDocument();
if(nodeDisplay)
{
nodeDisplay.blur();
nodeDisplay.style.display = ELEMENT_DISPAY_STYLE;
}
if(aContent.bAddNewStyles)
oThis.api.GenerateStyles();
}
}
window.global_pptx_content_loader.Clear();
var _stream = CreateBinaryReader(base64FromPresentation, 0, base64FromPresentation.length);
var stream = new FileStream(_stream.data, _stream.size);
var p_url = stream.GetString2();
var p_width = stream.GetULong()/100000;
var p_height = stream.GetULong()/100000;
//var kw = presentation.Width/p_width;
//var kh = presentation.Height/p_height;
var fonts = [];
var first_string = stream.GetString2();
switch(first_string)
{
case "Content":
{
var docContent = this.ReadPresentationText(stream);
var aContent = [];
for(var i = 0; i < docContent.length; i++)
{
aContent[i] = docContent[i].Element;
}
this.aContent = aContent;
oThis.api.pre_Paste(aContent.fonts, aContent.images, fPrepasteCallback);
return;
}
case "Drawings":
{
var objects = this.ReadPresentationShapes(stream);
var arr_shapes = objects.arrShapes;
var aContent = oThis._convertExcelBinary(null, arr_shapes);
this.aContent = aContent.content;
oThis.api.pre_Paste(aContent.fonts, aContent.images, fPrepasteCallback);
return;
}
}
}
}
var presentation = editor.WordControl.m_oLogicDocument;
this.oRootNode = node;
......@@ -3155,7 +3216,7 @@ PasteProcessor.prototype =
var presentation = editor.WordControl.m_oLogicDocument;
if(copyPasteUseBinary)
{
var base64 = null;
var base64 = null, base64FromWord = null, base64FromExcel = null;
var classNode;
if(node.children[0] && node.children[0].getAttribute("class") != null)
classNode = node.children[0].getAttribute("class");
......@@ -3167,10 +3228,18 @@ PasteProcessor.prototype =
if(cL[i].indexOf("pptData;") > -1)
{
base64 = cL[i].split('pptData;')[1];
}
else if(cL[i].indexOf("docData;") > -1)
{
base64FromWord = cL[i].split('docData;')[1];
}
else if(cL[i].indexOf("xslData;") > -1)
{
base64FromExcel = cL[i].split('xslData;')[1];
}
}
}
if(typeof base64 === "string")
if(typeof base64 === "string")//вставляем в презентации из презентаций
{
window.global_pptx_content_loader.Clear();
......@@ -3262,7 +3331,7 @@ PasteProcessor.prototype =
nodeDisplay.blur();
nodeDisplay.style.display = ELEMENT_DISPAY_STYLE;
}
};
}
var oImagesToDownload = {};
if(objects.arrImages.length > 0)
......@@ -3694,6 +3763,216 @@ PasteProcessor.prototype =
}
}
}
else if(base64FromWord)//вставляем в презентации из документов
{
var trueDocument = this.oDocument;
//создаём темповый CDocumentContent
this.oDocument = new CDocumentContent(trueDocument, this.oDocument.DrawingDocument, 0 , 0, 0, 0, false, false);
var aContent = ExecuteNoHistory(this.ReadFromBinary, this, [base64FromWord]);
this.oDocument = trueDocument;
var presentationSelectedContent = new PresentationSelectedContent();
presentationSelectedContent.DocContent = new CSelectedContent();
var elements = [], selectedElement, element, drawings, pDrawings = [], drawingCopyObject;
for(var i = 0; i < aContent.content.length; ++i)
{
selectedElement = new CSelectedElement();
element = aContent.content[i];
//drawings
drawings = element.Get_AllDrawingObjects();
if(drawings && drawings.length)
{
for(var j = 0; j < drawings.length; j++)
{
drawingCopyObject = new DrawingCopyObject();
drawingCopyObject.Drawing = drawings[j].GraphicObj.convertToPPTX(this.oDocument.DrawingDocument);
pDrawings.push(drawingCopyObject);
}
}
else if(type_Paragraph == element.GetType())//paragraph
{
selectedElement.Element = ConvertParagraphToPPTX(element);
elements.push(selectedElement);
}
else if(type_Table == element.GetType())//table
{
selectedElement.Element = ConvertParagraphToPPTX(element);
elements.push(selectedElement);
}
}
presentationSelectedContent.DocContent.Elements = elements;
presentationSelectedContent.Drawings = pDrawings;
var font_map = {};
var images = [];
//shape.getAllFonts(font_map);
//перебираем шрифты
var fonts = [];
for(var i in font_map)
fonts.push(new CFont(i, 0, "", 0));
/*if(shape.getAllImages)
shape.getAllImages(images);*/
var presentation = editor.WordControl.m_oLogicDocument;
oThis = this;
//вставка
var paste_callback = function()
{
if(false == oThis.bNested)
{
presentation.Insert_Content(presentationSelectedContent);
presentation.Recalculate();
presentation.Document_UpdateInterfaceState();
nodeDisplay.blur();
nodeDisplay.style.display = ELEMENT_DISPAY_STYLE;
}
}
var oPrepeareImages = {};
this.api.pre_Paste(fonts, oPrepeareImages, paste_callback);
return;
}
else if(base64FromExcel)//вставляем в презентации из таблиц
{
var aContentExcel = this._readFromBinaryExcel(base64FromExcel);
//если есть шейпы, то вставляем их их excel
if(aContentExcel && aContentExcel.aWorksheets && aContentExcel.aWorksheets[0] && aContentExcel.aWorksheets[0].Drawings)
{
var arr_shapes = aContentExcel.aWorksheets[0].Drawings;
var arrImages = [];
var shape;
for(var i = 0; i < arr_shapes.length; ++i)
{
shape = arr_shapes[i].graphicObject;
/*if(shape.txBody.content.Content.length > 1)
{
shape.txBody.content.Internal_Content_Remove(0, 1);
}
var w = shape.txBody.getRectWidth(presentation.Width*2/3);
var h = shape.txBody.content.Get_SummaryHeight();
CheckSpPrXfrm(shape);
shape.spPr.xfrm.setExtX(w);
shape.spPr.xfrm.setExtY(h);
shape.spPr.xfrm.setOffX(0);
shape.spPr.xfrm.setOffY(0);*/
shape.worksheet = null;
shape.drawingBase = null;
arr_shapes[i] = new DrawingCopyObject(shape, 0, 0, 0, 0);
}
//var arrTransforms = objects.arrTransforms;
var presentation = editor.WordControl.m_oLogicDocument;
oThis = this;
var font_map = {};
var images = [];
for(var i = 0; i < arr_shapes.length; ++i)
{
if(arr_shapes[i].Drawing.getAllFonts)
arr_shapes[i].Drawing.getAllFonts(font_map);
if(arr_shapes[i].Drawing.getAllImages)
arr_shapes[i].Drawing.getAllImages(images);
}
var paste_callback = function()
{
if(false == oThis.bNested)
{
var presentationSelectedContent = new PresentationSelectedContent();
presentationSelectedContent.Drawings = arr_shapes;
presentation.Insert_Content(presentationSelectedContent);
presentation.Recalculate();
presentation.Document_UpdateInterfaceState();
nodeDisplay.blur();
nodeDisplay.style.display = ELEMENT_DISPAY_STYLE;
}
}
var oImagesToDownload = {};
if(arrImages.length > 0)
{
for(var i = 0, length = arrImages.length; i < length; ++i)
{
var imageElem = arrImages[i];
var src = imageElem.Url;
//TODO!!!!!!!!!!
//if(false == (0 == src.indexOf("data:") || 0 == src.indexOf(documentOrigin + this.api.DocumentUrl) || 0 == src.indexOf(this.api.DocumentUrl)))
oImagesToDownload[src] = 1;
}
}
//грузим картинки и фонты
for(var i in font_map)
fonts.push(new CFont(i, 0, "", 0));
var aImagesToDownload = [];
for(var i in oImagesToDownload)
aImagesToDownload.push(i);
if(aImagesToDownload.length > 0)
{
var rData = {"id":documentId, "c":"imgurls", "vkey": documentVKey, "data": JSON.stringify(aImagesToDownload)};
sendCommand( this.api, function(incomeObject){
if(incomeObject && "imgurls" == incomeObject.type)
{
var oFromTo = JSON.parse(incomeObject.data);
var arr_images =[];
var image_map = {};
for(var i = 0, length = arrImages.length; i < length; ++i)
{
var sFrom = arrImages[i].Url;
var sTo = oFromTo[sFrom];
if(sTo)
arr_images.push(sTo);
}
for(var i = 0, length = arrImages.length; i < length; ++i)
{
var imageElem = arrImages[i];
if(null != imageElem)
{
var sNewSrc = oFromTo[imageElem.Url];
if(null != sNewSrc)
{
image_map[sNewSrc] = sNewSrc;
imageElem.SetUrl(sNewSrc);
}
else
{
image_map[imageElem.Url] = imageElem.Url;
}
}
}
}
oThis.api.pre_Paste(fonts, image_map, paste_callback);
}, rData );
}
else
{
var im_arr = [];
for(var key in images)
im_arr.push(key);
this.api.pre_Paste(fonts, im_arr, paste_callback);
}
return;
}
}
}
this.oRootNode = node;
......@@ -3786,14 +4065,14 @@ PasteProcessor.prototype =
}
},
_convertExcelBinary: function(aContentExcel)
_convertExcelBinary: function(aContentExcel, pDrawings)
{
//пока только распознаём только графические объекты
var aContent = null;
var aPastedImages = [];
var imageUrl, images = [];
var drawings = aContentExcel.aWorksheets[0].Drawings;
var drawings = pDrawings ? pDrawings : aContentExcel.aWorksheets[0].Drawings;
if(drawings && drawings.length)
{
var drawing, graphicObj, paraRun, tempParaRun;
......@@ -3806,8 +4085,8 @@ PasteProcessor.prototype =
//из excel в word они вставляются в один параграф
for(var i = 0; i < drawings.length; i++)
{
drawing = drawings[i];
graphicObj = drawing.graphicObject.convertToWord(this.oLogicDocument);
drawing = drawings[i] && drawings[i].Drawing ? drawings[i].Drawing : drawings[i];
graphicObj = drawing.graphicObject ? drawing.graphicObject.convertToWord(this.oLogicDocument) : drawing.convertToWord(this.oLogicDocument) ;
tempParaRun = new ParaRun();
tempParaRun.Paragraph = null;
......@@ -3832,7 +4111,6 @@ PasteProcessor.prototype =
{
imageUrl = graphicObj.spPr.Fill.fill.RasterImageId;
//aPastedImages[aPastedImages.length] = new CBuilderImages(graphicObj.blipFill, imageUrl);
images[images.length] = imageUrl;
}
else if(graphicObj.isGroup() && graphicObj.spTree && graphicObj.spTree.length)
......@@ -3846,7 +4124,7 @@ PasteProcessor.prototype =
}
}
}
};
}
aContent = [];
aContent[0] = tempParagraph;
......@@ -3884,6 +4162,9 @@ PasteProcessor.prototype =
var oBinaryFileReader = new Asc.BinaryFileReader(null, true);
var tempWorkbook = new Workbook();
tempWorkbook.theme = this.oDocument.theme ? this.oDocument.theme : this.oLogicDocument.theme;
if(!tempWorkbook.theme && this.oLogicDocument.themes && this.oLogicDocument.themes[0])
tempWorkbook.theme = this.oLogicDocument.themes[0];
Asc.getBinaryOtherTableGVar(tempWorkbook);
oBinaryFileReader.Read(base64, tempWorkbook);
......@@ -3897,7 +4178,13 @@ PasteProcessor.prototype =
loader.stream = stream;
loader.presentation = editor.WordControl.m_oLogicDocument;
var presentation = editor.WordControl.m_oLogicDocument;
var shape = new CShape(presentation.Slides[presentation.CurPage]);
var shape;
if(presentation.Slides)
shape = new CShape(presentation.Slides[presentation.CurPage]);
else
shape = new CShape(presentation);
shape.setTxBody(new CTextBody(shape));
var count = stream.GetULong() / 100000;
......@@ -3932,7 +4219,7 @@ PasteProcessor.prototype =
for(var i = 0; i < count; ++i)
{
loader.TempMainObject = presentation.Slides[presentation.CurPage];
loader.TempMainObject = presentation && presentation.Slides ? presentation.Slides[presentation.CurPage] : presentation;
var style_index = null;
if(!loader.stream.GetBool())
{
......@@ -3949,7 +4236,11 @@ PasteProcessor.prototype =
var extX = stream.GetULong()/100000;
var extY = stream.GetULong()/100000;
if(presentation.Slides)
arr_shapes[i] = new DrawingCopyObject();
else
arr_shapes[i] = {};
arr_shapes[i].Drawing = drawing;
arr_shapes[i].X = x;
arr_shapes[i].Y = y;
......
......@@ -1655,7 +1655,7 @@
_pasteFromBinary: function(worksheet, node, onlyFromLocalStorage, isIntoShape)
{
var base64 = null, base64FromWord = null, t = this;
var base64 = null, base64FromWord = null, base64FromPresentation = null, t = this;
if(onlyFromLocalStorage)
{
......@@ -1680,11 +1680,11 @@
else//find class xslData or docData
{
var classNode;
if(node.children[0] && node.children[0].getAttribute("class") != null && (node.children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].getAttribute("class").indexOf("docData;") > -1))
if(node.children[0] && node.children[0].getAttribute("class") != null && (node.children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].getAttribute("class");
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("docData;") > -1))
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].children[0].getAttribute("class");
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].children[0] && node.children[0].children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("docData;") > -1))
else if(node.children[0] && node.children[0].children[0] && node.children[0].children[0].children[0] && node.children[0].children[0].children[0].getAttribute("class") != null && (node.children[0].children[0].children[0].getAttribute("class").indexOf("xslData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("docData;") > -1 || node.children[0].children[0].children[0].getAttribute("class").indexOf("pptData;") > -1))
classNode = node.children[0].children[0].children[0].getAttribute("class");
if( classNode != null ){
......@@ -1698,6 +1698,10 @@
{
base64FromWord = cL[i].split('docData;')[1];
}
else if(cL[i].indexOf("pptData;") > -1)
{
base64FromPresentation = cL[i].split('pptData;')[1];
}
}
}
};
......@@ -1742,11 +1746,130 @@
window.GlobalPasteFlagCounter = 0;
return true;
};
}
else if(base64FromPresentation)
{
window.global_pptx_content_loader.Clear();
var _stream = CreateBinaryReader(base64FromPresentation, 0, base64FromPresentation.length);
var stream = new FileStream(_stream.data, _stream.size);
var p_url = stream.GetString2();
var p_width = stream.GetULong()/100000;
var p_height = stream.GetULong()/100000;
var fonts = [];
var first_string = stream.GetString2();
switch(first_string)
{
case "Content":
{
//пока вставляем через html
return false;
//TODO вставка через бинарник требует переконвертировать контент в вордовский, либо сделать парсинг из презентационных параграфов
var docContent = this.ReadPresentationText(stream, worksheet);
var pasteFromBinaryWord = new Asc.pasteFromBinaryWord(this, worksheet);
pasteFromBinaryWord._paste(worksheet, {DocumentContent: docContent});
window.GlobalPasteFlag = false;
window.GlobalPasteFlagCounter = 0;
return true;
}
case "Drawings":
{
var objects = this.ReadPresentationShapes(stream, worksheet);
var arr_shapes = objects.arrShapes;
if(arr_shapes && arr_shapes.length)
{
if(!(window["Asc"]["editor"] && window["Asc"]["editor"].isChartEditor))
t._insertImagesFromBinary(worksheet, {Drawings: arr_shapes}, isIntoShape);
}
window.GlobalPasteFlag = false;
window.GlobalPasteFlagCounter = 0;
return true;
}
case "SlideObjects":
{
break;
}
}
}
return false;
},
ReadPresentationShapes: function(stream, worksheet)
{
var loader = new BinaryPPTYLoader();
loader.presentation = worksheet.model;
loader.Start_UseFullUrl();
loader.stream = stream;
//loader.presentation = editor.WordControl.m_oLogicDocument;
//var presentation = editor.WordControl.m_oLogicDocument;
var count = stream.GetULong();
var arr_shapes = [];
var arr_transforms = [];
for(var i = 0; i < count; ++i)
{
//loader.TempMainObject = presentation.Slides[presentation.CurPage];
var style_index = null;
if(!loader.stream.GetBool())
{
if(loader.stream.GetBool())
{
style_index = stream.GetULong();
}
}
var drawing = loader.ReadGraphicObject();
var x = stream.GetULong()/100000;
var y = stream.GetULong()/100000;
var extX = stream.GetULong()/100000;
var extY = stream.GetULong()/100000;
arr_shapes[i] = worksheet.objectRender.createDrawingObject();
arr_shapes[i].graphicObject = drawing;
/*arr_shapes[i].Drawing = drawing;
arr_shapes[i].X = x;
arr_shapes[i].Y = y;
arr_shapes[i].ExtX = extX;
arr_shapes[i].ExtY = extY;*/
}
return {arrShapes: arr_shapes, arrImages: loader.End_UseFullUrl(), arrTransforms: arr_transforms};
},
ReadPresentationText: function(stream, worksheet)
{
var loader = new BinaryPPTYLoader();
loader.Start_UseFullUrl();
loader.stream = stream;
loader.presentation = worksheet.model;
var count = stream.GetULong() / 100000;
//читаем контент, здесь только параграфы
//var newDocContent = new CDocumentContent(shape.txBody, editor.WordControl.m_oDrawingDocument, 0 , 0, 0, 0, false, false);
var elements = [], paragraph, selectedElement;
for(var i = 0; i < count; ++i)
{
loader.stream.Skip2(1); // must be 0
paragraph = loader.ReadParagraph(worksheet.model);
elements.push(paragraph);
}
return elements;
},
_pasteInShape: function(worksheet, node, onlyFromLocalStorage, targetDocContent)
{
targetDocContent.DrawingDocument.m_oLogicDocument = null;
......
......@@ -209,6 +209,17 @@
<script type="text/javascript" src="../../../../OfficeWeb/Word/Math/accent.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Word/Math/borderBox.js"></script>
<!--for copy/paste from excel-->
<script type="text/javascript" src="../../../../OfficeWeb/Excel/utils/utils.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/CellComment.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/Serialize.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/WorkbookElems.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/Workbook.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/CellInfo.js"></script>
<script type="text/javascript" src="../../../../OfficeWeb/Excel/model/AdvancedOptions.js"></script>
<script src="../../../../OfficeWeb/Word/Editor/FlowObjects.js"></script>
<script src="../../../../OfficeWeb/Word/Editor/Paragraph.js"></script>
<script src="../../../../OfficeWeb/Word/Editor/Paragraph_Recalculate.js"></script>
......
......@@ -5288,14 +5288,27 @@ function BinaryFileReader(doc, openParams)
bInBlock = true;
//создаем список используемых шрифтов
var AllFonts = {};
if(this.Document.Numbering)
this.Document.Numbering.Document_Get_AllFontNames(AllFonts);
if(this.Document.Styles)
this.Document.Styles.Document_Get_AllFontNames(AllFonts);
for (var Index = 0, Count = aContent.length; Index < Count; Index++)
aContent[Index].Document_Get_AllFontNames(AllFonts);
var aPrepeareFonts = [];
var oDocument = this.Document && this.Document.LogicDocument ? this.Document.LogicDocument : this.Document;
checkThemeFonts(AllFonts, oDocument.theme.themeElements.fontScheme)
var fontScheme;
var m_oLogicDocument = editor.WordControl.m_oLogicDocument;
//для презентаций находим fontScheme
if(m_oLogicDocument && m_oLogicDocument.slideMasters && m_oLogicDocument.slideMasters[0] && m_oLogicDocument.slideMasters[0].Theme && m_oLogicDocument.slideMasters[0].Theme.themeElements)
fontScheme = m_oLogicDocument.slideMasters[0].Theme.themeElements.fontScheme;
else
fontScheme = oDocument.theme.themeElements.fontScheme;
checkThemeFonts(AllFonts, fontScheme);
for (var i in AllFonts)
aPrepeareFonts.push(new CFont(i, 0, "", 0));
......
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