Files
DocumentServer-v-9.2.0/core/HwpFile/HWPFile.cpp
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

86 lines
1.8 KiB
C++

#include "HWPFile.h"
#include "HwpDoc/Common/WriterContext.h"
#include "../DesktopEditor/common/File.h"
#include "HwpDoc/Conversion/Converter2OOXML.h"
CHWPFile::CHWPFile()
: m_pInternal(new HWP::CWriterContext())
{}
CHWPFile::~CHWPFile()
{
if (nullptr != m_pInternal)
delete m_pInternal;
}
void CHWPFile::SetTempDirectory(const std::wstring& wsTempDirectory)
{
m_wsTempDirectory = wsTempDirectory;
}
bool CHWPFile::OpenHWP(const std::wstring& wsFilePath)
{
if (nullptr == m_pInternal)
return false;
return m_pInternal->Open(wsFilePath, HWP::EHanType::HWP);
}
bool CHWPFile::OpenHWPX(const std::wstring& wsFilePath)
{
if (nullptr == m_pInternal)
return false;
return m_pInternal->Open(wsFilePath, HWP::EHanType::HWPX);
}
bool CHWPFile::OpenHWPML(const std::wstring &wsFilePath)
{
if (nullptr == m_pInternal)
return false;
return m_pInternal->Open(wsFilePath, HWP::EHanType::HWPML);
}
void CHWPFile::Close()
{
if (nullptr != m_pInternal)
m_pInternal->Close();
}
bool CHWPFile::ConvertToOOXML(const std::wstring& wsFilePath)
{
HWP::CConverter2OOXML oConverter;
oConverter.SetContext(m_pInternal);
oConverter.SetTempDirectory(m_wsTempDirectory);
return oConverter.ConvertToFile(wsFilePath);
}
bool CHWPFile::ConvertToOOXML_Dir(const std::wstring& wsDirectoryPath)
{
HWP::CConverter2OOXML oConverter;
oConverter.SetContext(m_pInternal);
return oConverter.ConvertToDir(wsDirectoryPath);
}
bool CHWPFile::IsHWPFormat(const std::wstring& wsFilePath)
{
return HWP::EHanType::HWP == HWP::CWriterContext::DetectHancom(wsFilePath);
}
bool CHWPFile::IsHWPXFormat(const std::wstring& wsFilePath)
{
return HWP::EHanType::HWPX == HWP::CWriterContext::DetectHancom(wsFilePath);
}
bool CHWPFile::IsHWPMLFormat(const std::wstring &wsFilePath)
{
return HWP::EHanType::HWPML == HWP::CWriterContext::DetectHancom(wsFilePath);
}