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)
|
||||
{
|
||||
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_SPREADSHEET_ODS:
|
||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS:
|
||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT: dstPath += L"-my.xlsx"; break;
|
||||
|
||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
|
||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP:
|
||||
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT: dstPath += L"-my.pptx"; break;
|
||||
|
||||
default:
|
||||
@ -77,7 +80,10 @@ HRESULT convert_single(std::wstring srcFileName)
|
||||
|
||||
if (fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT ||
|
||||
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);
|
||||
|
||||
|
||||
@ -508,7 +508,10 @@ bool COfficeFileFormatChecker::isOpenOfficeFormatFile(const std::wstring & fileN
|
||||
const char *odtFormatLine = "application/vnd.oasis.opendocument.text";
|
||||
const char *odsFormatLine = "application/vnd.oasis.opendocument.spreadsheet";
|
||||
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);
|
||||
|
||||
@ -523,18 +526,27 @@ bool COfficeFileFormatChecker::isOpenOfficeFormatFile(const std::wstring & fileN
|
||||
{
|
||||
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT;
|
||||
}
|
||||
|
||||
else if ( NULL != strstr((char*)pBuffer, odsFormatLine) )
|
||||
{
|
||||
nFileType = AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS;
|
||||
}
|
||||
|
||||
else if ( NULL != strstr((char*)pBuffer, odpFormatLine) )
|
||||
{
|
||||
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP;
|
||||
}
|
||||
|
||||
else if ( NULL != strstr((char*)pBuffer, epubFormatLine) )
|
||||
else if ( NULL != strstr((char*)pBuffer, ottFormatLine) )
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
@ -48,6 +48,7 @@
|
||||
#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_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_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_POTM AVS_OFFICESTUDIO_FILE_PRESENTATION + 0x0008
|
||||
#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_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_XLTM AVS_OFFICESTUDIO_FILE_SPREADSHEET + 0x0007
|
||||
#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_PDF AVS_OFFICESTUDIO_FILE_CROSSPLATFORM + 0x0001
|
||||
|
||||
@ -268,6 +268,9 @@ namespace NExtractTools
|
||||
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
|
||||
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
|
||||
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;
|
||||
else if (0 == sExt2.compare(_T(".doct")) ||
|
||||
|
||||
Reference in New Issue
Block a user