Commit 3e86bf76 authored by konovalovsergey's avatar konovalovsergey

docm->docx with params.xml

parent d6cd7c30
...@@ -2622,10 +2622,20 @@ namespace NExtractTools ...@@ -2622,10 +2622,20 @@ namespace NExtractTools
std::wstring sDocxDir = sTemp + FILE_SEPARATOR_STR + _T("docx_unpacked"); std::wstring sDocxDir = sTemp + FILE_SEPARATOR_STR + _T("docx_unpacked");
NSDirectory::CreateDirectory(sDocxDir); NSDirectory::CreateDirectory(sDocxDir);
if (AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX == nFormatFrom || if (AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX == nFormatFrom)
AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCM == nFormatFrom)
{ {
nRes = zip2dir(sFrom, sDocxDir); nRes = zip2dir(sFrom, sDocxDir);
}
else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCM == nFormatFrom)
{
if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX == nFormatTo || AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX == nFormatTo)
{
nRes = docm2docx_dir(sFrom, sDocxDir, params);
}
else
{
nRes = zip2dir(sFrom, sDocxDir);
}
} }
else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX == nFormatFrom)
{ {
...@@ -2633,7 +2643,14 @@ namespace NExtractTools ...@@ -2633,7 +2643,14 @@ namespace NExtractTools
} }
else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM == nFormatFrom)
{ {
nRes = dotm2docm_dir(sFrom, sDocxDir, params); if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX == nFormatTo || AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTX == nFormatTo)
{
nRes = dotm2docm_dir(sFrom, sDocxDir, params);
}
else
{
nRes = dotm2docm_dir(sFrom, sDocxDir, params);
}
} }
else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOC == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_DOCUMENT_DOC == nFormatFrom)
{ {
...@@ -2799,23 +2816,41 @@ namespace NExtractTools ...@@ -2799,23 +2816,41 @@ namespace NExtractTools
std::wstring sXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked"); std::wstring sXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
NSDirectory::CreateDirectory(sXlsxDir); NSDirectory::CreateDirectory(sXlsxDir);
bool isSavedXFile = false; bool isSavedXFile = false;
if (AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatFrom || if ((AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatFrom || AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSM == nFormatFrom ||
AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSM == nFormatFrom) AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX == nFormatFrom || AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM == nFormatFrom) && params.getSaveXFile())
{
NSFile::CFileBinary::Copy(sFrom, NSSystemPath::GetDirectoryName(sTo) + FILE_SEPARATOR_STR + _T("Editor.xlsx"));
isSavedXFile = true;
}
if (AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatFrom)
{ {
nRes = zip2dir(sFrom, sXlsxDir); nRes = zip2dir(sFrom, sXlsxDir);
if (SUCCEEDED_X2T(nRes) && params.getSaveXFile()) }
else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSM == nFormatFrom)
{
if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatTo || AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX == nFormatTo)
{ {
NSFile::CFileBinary::Copy(sFrom, NSSystemPath::GetDirectoryName(sTo) + FILE_SEPARATOR_STR + _T("Editor.xlsx")); nRes = xlsm2xlsx_dir(sFrom, sXlsxDir, params);
isSavedXFile = true;
} }
} else
{
nRes = zip2dir(sFrom, sXlsxDir);
}
}
else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX == nFormatFrom)
{ {
nRes = xltx2xlsx_dir(sFrom, sXlsxDir, params); nRes = xltx2xlsx_dir(sFrom, sXlsxDir, params);
} }
else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM == nFormatFrom)
{ {
nRes = xltm2xlsm_dir(sFrom, sXlsxDir, params); if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatTo || AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTX == nFormatTo)
{
nRes = xltm2xlsm_dir(sFrom, sXlsxDir, params);
}
else
{
nRes = xltm2xlsm_dir(sFrom, sXlsxDir, params);
}
} }
else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLS == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLS == nFormatFrom)
{ {
...@@ -2936,11 +2971,21 @@ namespace NExtractTools ...@@ -2936,11 +2971,21 @@ namespace NExtractTools
int nRes = 0; int nRes = 0;
std::wstring sPptxDir = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked"); std::wstring sPptxDir = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
NSDirectory::CreateDirectory(sPptxDir); NSDirectory::CreateDirectory(sPptxDir);
if (AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX == nFormatFrom || if (AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX == nFormatFrom)
AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTM == nFormatFrom)
{ {
nRes = zip2dir(sFrom, sPptxDir); nRes = zip2dir(sFrom, sPptxDir);
} }
else if(AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTM == nFormatFrom)
{
if (AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX == nFormatTo || AVS_OFFICESTUDIO_FILE_PRESENTATION_POTX == nFormatTo)
{
nRes = pptm2pptx_dir(sFrom, sPptxDir, params);
}
else
{
nRes = zip2dir(sFrom, sPptxDir);
}
}
else if(AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT == nFormatFrom)
{ {
nRes = ppt2pptx_dir(sFrom, sPptxDir, sTemp, params); nRes = ppt2pptx_dir(sFrom, sPptxDir, sTemp, params);
...@@ -2959,7 +3004,14 @@ namespace NExtractTools ...@@ -2959,7 +3004,14 @@ namespace NExtractTools
} }
else if(AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM == nFormatFrom)
{ {
nRes = potm2pptm_dir(sFrom, sPptxDir, params); if (AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX == nFormatTo || AVS_OFFICESTUDIO_FILE_PRESENTATION_POTX == nFormatTo)
{
nRes = potm2pptm_dir(sFrom, sPptxDir, params);
}
else
{
nRes = potm2pptm_dir(sFrom, sPptxDir, params);
}
} }
else else
nRes = AVS_FILEUTILS_ERROR_CONVERT; nRes = AVS_FILEUTILS_ERROR_CONVERT;
......
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