x2t - add convertation from open office template

This commit is contained in:
ElenaSubbotina
2018-03-15 14:49:10 +03:00
parent eade6a9377
commit 140b511c7e
4 changed files with 30 additions and 6 deletions

View File

@ -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);

View File

@ -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;
} }

View File

@ -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

View File

@ -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")) ||