mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
x2t - add convertation from open office template
This commit is contained in:
@ -57,12 +57,15 @@ HRESULT convert_single(std::wstring srcFileName)
|
|||||||
switch(fileChecker.nFileType)
|
switch(fileChecker.nFileType)
|
||||||
{
|
{
|
||||||
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
|
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT:
|
||||||
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT: dstPath += L"-my.docx"; break;
|
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT: dstPath += L"-my.docx"; break;
|
||||||
|
|
||||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
|
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS:
|
||||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT: dstPath += L"-my.xlsx"; break;
|
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT: dstPath += L"-my.xlsx"; break;
|
||||||
|
|
||||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
|
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP:
|
||||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT: dstPath += L"-my.pptx"; break;
|
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT: dstPath += L"-my.pptx"; break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -77,7 +80,10 @@ HRESULT convert_single(std::wstring srcFileName)
|
|||||||
|
|
||||||
if (fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT ||
|
if (fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT ||
|
||||||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS ||
|
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS ||
|
||||||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP)
|
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP ||
|
||||||
|
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT ||
|
||||||
|
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS ||
|
||||||
|
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP)
|
||||||
{
|
{
|
||||||
srcTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
|
srcTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
|
||||||
|
|
||||||
|
|||||||
@ -508,7 +508,10 @@ bool COfficeFileFormatChecker::isOpenOfficeFormatFile(const std::wstring & fileN
|
|||||||
const char *odtFormatLine = "application/vnd.oasis.opendocument.text";
|
const char *odtFormatLine = "application/vnd.oasis.opendocument.text";
|
||||||
const char *odsFormatLine = "application/vnd.oasis.opendocument.spreadsheet";
|
const char *odsFormatLine = "application/vnd.oasis.opendocument.spreadsheet";
|
||||||
const char *odpFormatLine = "application/vnd.oasis.opendocument.presentation";
|
const char *odpFormatLine = "application/vnd.oasis.opendocument.presentation";
|
||||||
const char *epubFormatLine = "application/epub+zip";
|
const char *ottFormatLine = "application/vnd.oasis.opendocument.text-template";
|
||||||
|
const char *otsFormatLine = "application/vnd.oasis.opendocument.spreadsheet-template";
|
||||||
|
const char *otpFormatLine = "application/vnd.oasis.opendocument.presentation-template";
|
||||||
|
const char *epubFormatLine = "application/epub+zip";
|
||||||
|
|
||||||
COfficeUtils OfficeUtils(NULL);
|
COfficeUtils OfficeUtils(NULL);
|
||||||
|
|
||||||
@ -523,18 +526,27 @@ bool COfficeFileFormatChecker::isOpenOfficeFormatFile(const std::wstring & fileN
|
|||||||
{
|
{
|
||||||
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT;
|
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ( NULL != strstr((char*)pBuffer, odsFormatLine) )
|
else if ( NULL != strstr((char*)pBuffer, odsFormatLine) )
|
||||||
{
|
{
|
||||||
nFileType = AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS;
|
nFileType = AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ( NULL != strstr((char*)pBuffer, odpFormatLine) )
|
else if ( NULL != strstr((char*)pBuffer, odpFormatLine) )
|
||||||
{
|
{
|
||||||
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP;
|
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP;
|
||||||
}
|
}
|
||||||
|
else if ( NULL != strstr((char*)pBuffer, ottFormatLine) )
|
||||||
else if ( NULL != strstr((char*)pBuffer, epubFormatLine) )
|
{
|
||||||
|
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_OTT;
|
||||||
|
}
|
||||||
|
else if ( NULL != strstr((char*)pBuffer, otsFormatLine) )
|
||||||
|
{
|
||||||
|
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_OTS;
|
||||||
|
}
|
||||||
|
else if ( NULL != strstr((char*)pBuffer, otpFormatLine) )
|
||||||
|
{
|
||||||
|
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP;
|
||||||
|
}
|
||||||
|
else if ( NULL != strstr((char*)pBuffer, epubFormatLine) )
|
||||||
{
|
{
|
||||||
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_EPUB;
|
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_EPUB;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,7 @@
|
|||||||
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000c
|
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000c
|
||||||
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000d
|
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000d
|
||||||
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000e
|
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000e
|
||||||
|
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x000f
|
||||||
|
|
||||||
#define AVS_OFFICESTUDIO_FILE_PRESENTATION 0x0080
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION 0x0080
|
||||||
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0001
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0001
|
||||||
@ -59,6 +60,7 @@
|
|||||||
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_POTX AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0007
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_POTX AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0007
|
||||||
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0008
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0008
|
||||||
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0009
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0009
|
||||||
|
#define AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0010
|
||||||
|
|
||||||
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET 0x0100
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET 0x0100
|
||||||
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0001
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0001
|
||||||
@ -69,6 +71,7 @@
|
|||||||
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0006
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0006
|
||||||
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0007
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0007
|
||||||
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0008
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0008
|
||||||
|
#define AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0009
|
||||||
|
|
||||||
#define AVS_OFFICESTUDIO_FILE_CROSSPLATFORM 0x0200
|
#define AVS_OFFICESTUDIO_FILE_CROSSPLATFORM 0x0200
|
||||||
#define AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF AVS_OFFICESTUDIO_FILE_CROSSPLATFORM + 0x0001
|
#define AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF AVS_OFFICESTUDIO_FILE_CROSSPLATFORM + 0x0001
|
||||||
|
|||||||
@ -268,6 +268,9 @@ namespace NExtractTools
|
|||||||
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
|
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
|
||||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
|
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
|
||||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
|
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS:
|
||||||
|
case AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP:
|
||||||
{
|
{
|
||||||
if (0 == sExt2.compare(_T(".bin"))) res = TCD_ODF2OOT_BIN;
|
if (0 == sExt2.compare(_T(".bin"))) res = TCD_ODF2OOT_BIN;
|
||||||
else if (0 == sExt2.compare(_T(".doct")) ||
|
else if (0 == sExt2.compare(_T(".doct")) ||
|
||||||
|
|||||||
Reference in New Issue
Block a user