Fix OpenDocument and PDF export in new OO apps

pull/1/head
yflory 3 years ago
parent db5d2cbfc8
commit 0718e0fc1b

@ -1790,7 +1790,16 @@ define([
if (ext === 'ods') { return 259; } if (ext === 'ods') { return 259; }
if (ext === 'csv') { return 260; } if (ext === 'csv') { return 260; }
if (ext === 'pdf') { return 513; } if (ext === 'pdf') { return 513; }
return; // Docs
if (ext === 'docx') { return 65; }
if (ext === 'doc') { return 66; }
if (ext === 'odt') { return 67; }
if (ext === 'txt') { return 69; }
if (ext === 'html') { return 70; }
// Slides
if (ext === 'pptx') { return 129; }
if (ext === 'ppt') { return 130; }
if (ext === 'odp') { return 131; }
}; };
var getFromId = function (ext) { var getFromId = function (ext) {
var id = getFormatId(ext); var id = getFormatId(ext);
@ -1878,24 +1887,24 @@ define([
var type = common.getMetadataMgr().getPrivateData().ooType; var type = common.getMetadataMgr().getPrivateData().ooType;
var title = md.title || md.defaultTitle || type; var title = md.title || md.defaultTitle || type;
var blob = new Blob([xlsData], {type: "application/pdf"}); var blob = new Blob([xlsData], {type: "application/pdf"});
//var url = URL.createObjectURL(blob, { type: "application/pdf" }); if (privateData.app !== "sheet") {
UI.removeModals();
var url = URL.createObjectURL(blob, { type: "application/pdf" });
cb({
"type":"save",
"status":"ok",
"data": url
});
saveAs(blob, title+'.pdf');
return;
}
saveAs(blob, title+'.pdf'); saveAs(blob, title+'.pdf');
//window.open(url);
cb({ cb({
"type":"save", "type":"save",
"status":"ok", "status":"ok",
//"data":url + "?disposition=inline&ooname=output.pdf"
}); });
/*
ooChannel.send({
"type":"documentOpen",
"data": {
"type":"save",
"status":"ok",
"data":url + "?disposition=inline&ooname=output.pdf"
}
});
*/
} }
}); });
}; };
@ -1903,10 +1912,10 @@ define([
var x2tSaveAndConvertDataInternal = function(x2t, data, filename, extension, finalFilename) { var x2tSaveAndConvertDataInternal = function(x2t, data, filename, extension, finalFilename) {
var type = common.getMetadataMgr().getPrivateData().ooType; var type = common.getMetadataMgr().getPrivateData().ooType;
var xlsData; var xlsData;
var e = getEditor();
// PDF // PDF
if (type === "sheet" && extension === "pdf") { if (type === "sheet" && extension === "pdf") {
var e = getEditor();
var d = e.asc_nativePrint(undefined, undefined, 0x101).ImData; var d = e.asc_nativePrint(undefined, undefined, 0x101).ImData;
xlsData = x2tConvertDataInternal(x2t, { xlsData = x2tConvertDataInternal(x2t, {
buffer: d.data, buffer: d.data,
@ -1919,15 +1928,9 @@ define([
} }
return; return;
} }
if (type === "sheet" && extension !== 'xlsx') { if (extension === "pdf") {
xlsData = x2tConvertDataInternal(x2t, data, filename, 'xlsx'); return void e.asc_Print({
filename += '.xlsx'; });
} else if (type === "presentation" && extension !== "pptx") {
xlsData = x2tConvertDataInternal(x2t, data, filename, 'pptx');
filename += '.pptx';
} else if (type === "doc" && extension !== "docx") {
xlsData = x2tConvertDataInternal(x2t, data, filename, 'docx');
filename += '.docx';
} }
xlsData = x2tConvertDataInternal(x2t, data, filename, extension); xlsData = x2tConvertDataInternal(x2t, data, filename, extension);
if (xlsData) { if (xlsData) {
@ -1952,9 +1955,9 @@ define([
var type = common.getMetadataMgr().getPrivateData().ooType; var type = common.getMetadataMgr().getPrivateData().ooType;
var warning = ''; var warning = '';
if (type==="presentation") { if (type==="presentation") {
ext = ['.pptx', /*'.odp',*/ '.bin']; ext = ['.pptx', '.odp', '.bin', '.pdf'];
} else if (type==="doc") { } else if (type==="doc") {
ext = ['.docx', /*'.odt',*/ '.bin']; ext = ['.docx', '.odt', '.bin', '.pdf'];
} }
if (!supportsXLSX()) { if (!supportsXLSX()) {

Loading…
Cancel
Save