From 670604ec46ec563ac3ba3f330c7c519cdad5666a Mon Sep 17 00:00:00 2001 From: "Sergey.Konovalov" Date: Wed, 5 Nov 2014 11:51:15 +0000 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=20ConvertDocxToDoct,ConvertDoctToDocx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@59438 954022d7-b5bf-4e40-9824-e11837661b57 --- .../DocWrapper/DocxSerializer.cpp | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ASCOfficeDocxFile2/DocWrapper/DocxSerializer.cpp b/ASCOfficeDocxFile2/DocWrapper/DocxSerializer.cpp index e4a7beebce..17bc8cc5ef 100644 --- a/ASCOfficeDocxFile2/DocWrapper/DocxSerializer.cpp +++ b/ASCOfficeDocxFile2/DocWrapper/DocxSerializer.cpp @@ -20,14 +20,16 @@ BinDocxRW::CDocxSerializer::CDocxSerializer() bool BinDocxRW::CDocxSerializer::ConvertDocxToDoct(const CString& sSrcFileName, const CString& sDstFileName, const CString& sTmpDir, const CString& sXMLOptions) { std::wstring strDirSrc = NSSystemPath::Combine(string2std_string(sTmpDir), _T("from")); - std::wstring strEditorBin = NSSystemPath::Combine(strDirSrc, _T("Editor.bin")); std::wstring strDirDst = NSSystemPath::Combine(string2std_string(sTmpDir), _T("to")); + std::wstring strEditorBin = NSSystemPath::Combine(strDirDst, _T("Editor.bin")); + NSDirectory::CreateDirectory(strDirSrc); + NSDirectory::CreateDirectory(strDirDst); CString sDirSrc = std_string2string(strDirSrc); CString sEditorBin = std_string2string(strEditorBin); COfficeUtils oCOfficeUtils(NULL); - if(oCOfficeUtils.ExtractToDirectory(string2std_string(sSrcFileName), strDirSrc, NULL, 0)) - if(saveToFile(sDirSrc, sEditorBin, sXMLOptions)) - if(oCOfficeUtils.CompressFileOrDirectory(strDirDst, string2std_string(sDstFileName), -1)) + if(S_OK == oCOfficeUtils.ExtractToDirectory(string2std_string(sSrcFileName), strDirSrc, NULL, 0)) + if(saveToFile(sEditorBin, sDirSrc, sXMLOptions)) + if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, string2std_string(sDstFileName), -1)) return true; return false; } @@ -36,12 +38,14 @@ bool BinDocxRW::CDocxSerializer::ConvertDoctToDocx(const CString& sSrcFileName, std::wstring strDirSrc = NSSystemPath::Combine(string2std_string(sTmpDir), _T("from")); std::wstring strEditorBin = NSSystemPath::Combine(strDirSrc, _T("Editor.bin")); std::wstring strDirDst = NSSystemPath::Combine(string2std_string(sTmpDir), _T("to")); - CString sDirSrc = std_string2string(strDirSrc); + NSDirectory::CreateDirectory(strDirSrc); + NSDirectory::CreateDirectory(strDirDst); CString sEditorBin = std_string2string(strEditorBin); + CString sDirDst = std_string2string(strDirDst); COfficeUtils oCOfficeUtils(NULL); - if(oCOfficeUtils.ExtractToDirectory(string2std_string(sSrcFileName), strDirSrc, NULL, 0)) - if(loadFromFile(sDirSrc, sEditorBin, sXMLOptions, sThemePath, sMediaPath)) - if(oCOfficeUtils.CompressFileOrDirectory(strDirDst, string2std_string(sDstFileName), -1)) + if(S_OK == oCOfficeUtils.ExtractToDirectory(string2std_string(sSrcFileName), strDirSrc, NULL, 0)) + if(loadFromFile(sEditorBin, sDirDst, sXMLOptions, sThemePath, sMediaPath)) + if(S_OK == oCOfficeUtils.CompressFileOrDirectory(strDirDst, string2std_string(sDstFileName), -1)) return true; return false; }