Added hwp format to x2t

This commit is contained in:
Green
2025-01-03 21:16:03 +03:00
parent 0f3852ab1e
commit d4619c5786
6 changed files with 58 additions and 2 deletions

View File

@ -905,6 +905,10 @@ bool COfficeFileFormatChecker::isOfficeFile(const std::wstring &_fileName)
nFileType = AVS_OFFICESTUDIO_FILE_SPREADSHEET_NUMBERS;
else if (0 == sExt.compare(L".key"))
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_KEY;
else if (0 == sExt.compare(L".hwp"))
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_HWP;
else if (0 == sExt.compare(L".hwpx"))
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_HWPX;
if (nFileType != AVS_OFFICESTUDIO_FILE_UNKNOWN)
return true;

View File

@ -57,6 +57,8 @@
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCXF AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0016
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_OFORM_PDF AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0017
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_PAGES AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0018
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_HWP AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0019
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_HWPX AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0020
#define AVS_OFFICESTUDIO_FILE_DOCUMENT_XML AVS_OFFICESTUDIO_FILE_DOCUMENT + 0x0030

View File

@ -97,7 +97,9 @@ HEADERS += \
../../src/lib/pdf_image.h \
../../src/lib/pdf_oform.h \
\
../../src/lib/iwork.h
../../src/lib/iwork.h \
\
../../src/lib/hwp.h
#vbaformat
LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lVbaFormatLib
@ -129,7 +131,7 @@ LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib
#All dynamic libs
ADD_DEPENDENCY(graphics, kernel, UnicodeConverter, kernel_network, Fb2File, PdfFile, HtmlFile2, EpubFile, XpsFile, DjVuFile, HtmlRenderer, doctrenderer, DocxRenderer, IWorkFile)
ADD_DEPENDENCY(graphics, kernel, UnicodeConverter, kernel_network, Fb2File, PdfFile, HtmlFile2, EpubFile, XpsFile, DjVuFile, HtmlRenderer, doctrenderer, DocxRenderer, IWorkFile, HWPFile)
#####################################################

View File

@ -54,6 +54,8 @@
#include "lib/iwork.h"
#include "lib/hwp.h"
#include "../../DesktopEditor/doctrenderer/docbuilder.h"
#include "../../MsBinaryFile/Common/Vba/VbaReader.h"
@ -672,6 +674,10 @@ namespace NExtractTools
{
nRes = pdfoform2docx_dir(sFrom, sDocxDir, params, convertParams);
}
else if (AVS_OFFICESTUDIO_FILE_DOCUMENT_HWP == nFormatFrom)
{
nRes = hwp2docx_dir(sFrom, sDocxDir, params, convertParams);
}
else
nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS;

View File

@ -274,6 +274,10 @@ namespace NExtractTools
DECLARE_CONVERT_FUNC(numbers2odf);
DECLARE_CONVERT_FUNC(key2odf);
//HWP
DECLARE_CONVERT_FUNC(hwp2docx);
DECLARE_CONVERT_FUNC(hwp2docx_dir);
//-------------------------------------------------------------------------------------------------------------------------------------------------
_UINT32 convertmailmerge(const InputParamsMailMerge& oMailMergeSend, const std::wstring& sFrom, const std::wstring& sTo, InputParams& params, ConvertParams& convertParams);

View File

@ -0,0 +1,38 @@
#ifndef HWP_H
#define HWP_H
#include "../../../HwpFile/HWPFile.h"
#include "common.h"
namespace NExtractTools
{
_UINT32 hwp2docx(const std::wstring& sFrom, const std::wstring& sTo, InputParams& params, ConvertParams& convertParams)
{
CHWPFile oFile(sFrom);
oFile.SetTempDirectory(convertParams.m_sTempDir);
if (!oFile.Open() || !oFile.ConvertToOOXML(sTo))
{
oFile.Close();
return AVS_FILEUTILS_ERROR_CONVERT;
}
return 0;
}
_UINT32 hwp2docx_dir(const std::wstring& sFrom, const std::wstring& sTo, InputParams& params, ConvertParams& convertParams)
{
CHWPFile oFile(sFrom);
if (!oFile.Open() || !oFile.ConvertToOOXML_Dir(sTo))
{
oFile.Close();
return AVS_FILEUTILS_ERROR_CONVERT;
}
return 0;
}
}
#endif // HWP_H